From 50f9b82ac862652e88444d727a32e0da1d824e9e Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 13 一月 2025 15:57:06 +0800
Subject: [PATCH] 1.分水房相关 2.删除极光推送相关配置 3.优化图片显示相关
---
app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java | 2
app/src/main/java/com/dayu/pipirrapp/MyAppGlideModule.java | 36 ++
app/src/main/java/com/dayu/pipirrapp/bean/net/DivideListResult.java | 59 ++++
app/src/main/java/com/dayu/pipirrapp/tool/BigimageUtils.java | 28 ++
app/src/main/java/com/dayu/pipirrapp/dao/DivideDao.java | 53 ++++
app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java | 1
app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java | 213 ++++++++++++++++
app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java | 19
app/src/main/java/com/dayu/pipirrapp/bean/net/DivideResult.java | 208 ++++++++++++++++
app/src/main/java/com/dayu/pipirrapp/dao/AppDatabase.java | 5
app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java | 36 ++
app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java | 7
app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java | 12
app/build.gradle | 46 ---
app/src/main/java/com/dayu/pipirrapp/utils/CleanDataUtils.java | 10
15 files changed, 679 insertions(+), 56 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 054a484..e727076 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -130,48 +130,12 @@
//瀹氫綅
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.3.7'
-
-// //鎺ㄩ�佺浉鍏�
-// // 姝ゅ浠Push 5.0.0 鐗堟湰涓轰緥锛�5.0.0 鐗堟湰寮�濮嬪彲浠ヨ嚜鍔ㄦ媺鍙� JCore 鍖咃紝鏃犻渶鍙﹀閰嶇疆
-// implementation 'cn.jiguang.sdk:jpush:5.2.2'
-// //鑻ヤ笉闆嗘垚鍘傚晢閫氶亾锛屽彲鐩存帴璺宠繃浠ヤ笅渚濊禆
-// // 鏋佸厜鍘傚晢鎻掍欢鐗堟湰涓庢帴鍏� JPush 鐗堟湰淇濇寔涓�鑷达紝涓嬪悓
-// // 鎺ュ叆鍗庝负鍘傚晢
-// implementation 'com.huawei.hms:push:6.5.0.300'
-// implementation 'cn.jiguang.sdk.plugin:huawei:5.2.2'
-// // 鎺ュ叆 FCM 鍘傚晢
-// implementation 'com.google.firebase:firebase-messaging:23.0.5'
-// implementation 'cn.jiguang.sdk.plugin:fcm:5.2.2'
-// // 鎺ュ叆榄呮棌鍘傚晢
-// implementation 'cn.jiguang.sdk.plugin:meizu:5.2.2'
-// // 鎺ュ叆 VIVO 鍘傚晢
-// implementation 'cn.jiguang.sdk.plugin:vivo:5.2.2'
-// // 鎺ュ叆灏忕背鍘傚晢
-// implementation 'cn.jiguang.sdk.plugin:xiaomi:5.2.2'
-// // 鎺ュ叆 OPPO 鍘傚晢
-// implementation 'cn.jiguang.sdk.plugin:oppo:5.2.2'
-// // JPush Android SDK v4.6.0 寮�濮嬶紝闇�瑕佸崟鐙紩鍏� oppo 鍘傚晢 aar 锛岃涓嬭浇瀹樼綉 SDK 鍖呭苟鎶� jpush-android-xxx-release/third-push/oppo/libs 涓嬬殑 aar 鏂囦欢鍗曠嫭鎷疯礉涓�浠藉埌搴旂敤 module/libs 涓�
-// implementation(name: 'com.heytap.msp-push-3.1.0', ext: 'aar')
-// //浠ヤ笅涓� OPPO 3.1.0 aar闇�瑕佷緷璧�
-// implementation 'com.google.code.gson:gson:2.6.2'
-// implementation 'commons-codec:commons-codec:1.6'
-// implementation 'androidx.annotation:annotation:1.1.0'
-// // 鎺ュ叆鑽h��鍘傚晢
-// implementation 'cn.jiguang.sdk.plugin:honor:5.2.2'
-
-// apply plugin: 'com.google.gms.google-services'
-// apply plugin: 'com.huawei.agconnect'
-
-
//鍦嗗舰澶村儚
implementation 'de.hdodenhof:circleimageview:3.1.0'
//骞挎挱閫氫俊
implementation 'io.github.jeremyliao:live-event-bus-x:1.8.0'
-
- //闃块噷鐨凴ocketMQ
-// implementation 'org.apache.rocketmq:rocketmq-client:4.9.4'
-
+ //mqtt
implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5'
//room鏁版嵁搴�
@@ -182,21 +146,25 @@
implementation "androidx.room:room-rxjava3:2.3.0"
//鍥剧墖
- implementation 'com.github.bumptech.glide:glide:4.11.0'
+ implementation 'com.github.bumptech.glide:glide:4.16.0'
// PictureSelector 鍩虹 (蹇呴』鍥剧墖閫夋嫨)
implementation 'io.github.lucksiege:pictureselector:v3.11.2'
// 鍥剧墖鍘嬬缉 (鎸夐渶寮曞叆)
implementation 'io.github.lucksiege:compress:v3.11.2'
// 鍥剧墖鏌ョ湅
- implementation('com.github.SherlockGougou:BigImageViewPager:androidx-8.0.0') {
+ implementation('com.github.SherlockGougou:BigImageViewPager:androidx-8.1.3') {
exclude group: 'androidx.appcompat';
exclude group: 'com.google.android.material';
exclude group: 'androidx.core';
}
+
implementation "androidx.media3:media3-exoplayer:1.4.1"
implementation "androidx.media3:media3-exoplayer-dash:1.4.1"
implementation "androidx.media3:media3-ui:1.4.1"
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'// kotlin璇蜂娇鐢╧apt
+ implementation 'com.github.bumptech.glide:okhttp3-integration:4.16.0'
+ implementation "com.github.zjupure:webpdecoder:2.3.4.14.2"
//杩涘害鍔犺浇
implementation 'com.github.jenly1314:circleprogressview:1.1.3'
diff --git a/app/src/main/java/com/dayu/pipirrapp/MyAppGlideModule.java b/app/src/main/java/com/dayu/pipirrapp/MyAppGlideModule.java
new file mode 100644
index 0000000..3310502
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/MyAppGlideModule.java
@@ -0,0 +1,36 @@
+package com.dayu.pipirrapp;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.Registry;
+import com.bumptech.glide.annotation.GlideModule;
+import com.bumptech.glide.load.model.GlideUrl;
+import com.bumptech.glide.module.AppGlideModule;
+import com.bumptech.glide.integration.okhttp3.OkHttpUrlLoader;
+
+import java.io.InputStream;
+
+import cc.shinichi.library.glide.progress.ProgressManager;
+import okhttp3.Call;
+
+
+/**
+ * MyAppGlideModule -
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-01-13
+ */
+@GlideModule
+public class MyAppGlideModule extends AppGlideModule {
+
+ @Override
+ public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
+ super.registerComponents(context, glide, registry);
+ // 鏇挎崲搴曞眰缃戠粶妗嗘灦涓簅khttp3
+ registry.replace(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory((Call.Factory) ProgressManager.getOkHttpClient()));
+ }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java
index 4e7cecb..539459c 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java
@@ -25,9 +25,16 @@
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ // 鑾峰彇褰撳墠绐楀彛
Window window = getWindow();
+
+ // 娣诲姞鏍囧織锛屽厑璁哥獥鍙g粯鍒剁郴缁熸爮鑳屾櫙
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+
+ // 璁剧疆鐘舵�佹爮棰滆壊
window.setStatusBarColor(getResources().getColor(R.color.title_color));
+
}
public void layoutFinish(RefreshLayout refreshLayout, boolean isRefresh) {
diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java
index bc529df..3fadcc6 100644
--- a/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java
+++ b/app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java
@@ -23,6 +23,7 @@
import com.dayu.pipirrapp.net.BaseResponse;
import com.dayu.pipirrapp.net.Constants;
import com.dayu.pipirrapp.net.subscribers.SubscriberListener;
+import com.dayu.pipirrapp.tool.BigimageUtils;
import com.dayu.pipirrapp.tool.FullyGridLayoutManager;
import com.dayu.pipirrapp.utils.ToastUtil;
import com.dayu.pipirrapp.view.ConfirmDialog;
@@ -79,7 +80,7 @@
// 娣诲姞闂磋窛瑁呴グ锛岀‘淇濆浘鐗囨湁鍚堥�傜殑闂撮殧
mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(4, DensityUtil.dip2px(this, 8), false));
mAdapter = new ImageAdapter(this, images, (v, position) -> {
- ImagePreview.getInstance().with(IssueDetailActivity.this).setIndex(position).setMediaInfoList(imageInfoList).start();
+ BigimageUtils.showImages(this, position, imageInfoList);
});
mRecyclerView.setAdapter(mAdapter);
}
@@ -97,27 +98,27 @@
binding.setData(orderDetailResult);
binding.setItemclidk(IssueDetailActivity.this);
state = orderDetailResult.getStateId();
- if (!t.getContent().getImages().isEmpty()){
- for (ImageResult imageResult:t.getContent().getImages()){
- ImageBean imageBean=new ImageBean();
+ if (!t.getContent().getImages().isEmpty()) {
+ for (ImageResult imageResult : t.getContent().getImages()) {
+ ImageBean imageBean = new ImageBean();
imageBean.setId(imageResult.getId());
imageBean.setWebPath(imageResult.getWebPath());
imageBean.setType(UplodFileState.IMG_TYPE);
images.add(imageBean);
- ImageInfo info=new ImageInfo();
+ ImageInfo info = new ImageInfo();
info.setOriginUrl(imageResult.getWebPath());
info.setType(Type.IMAGE);
imageInfoList.add(info);
}
}
- if (!t.getContent().getVideos().isEmpty()){
- for (ImageResult imageResult:t.getContent().getVideos()){
- ImageBean imageBean=new ImageBean();
+ if (!t.getContent().getVideos().isEmpty()) {
+ for (ImageResult imageResult : t.getContent().getVideos()) {
+ ImageBean imageBean = new ImageBean();
imageBean.setId(imageResult.getId());
imageBean.setWebPath(imageResult.getWebPath());
imageBean.setType(UplodFileState.VIDEO_TYPE);
images.add(imageBean);
- ImageInfo info=new ImageInfo();
+ ImageInfo info = new ImageInfo();
info.setOriginUrl(imageResult.getWebPath());
info.setType(Type.VIDEO);
imageInfoList.add(info);
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java
index f826c32..94c9611 100644
--- a/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java
@@ -160,6 +160,7 @@
.centerCrop()
.placeholder(R.color.app_color_f6)
.diskCacheStrategy(DiskCacheStrategy.ALL)
+ .thumbnail(0.25f)
.into(viewHolder.mImg);
}
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java b/app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java
new file mode 100644
index 0000000..0bf6aee
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java
@@ -0,0 +1,213 @@
+package com.dayu.pipirrapp.bean.db;
+
+import androidx.room.Entity;
+import androidx.room.PrimaryKey;
+
+/**
+ * DivideBean -鍒嗘按鎴�
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-01-13
+ */
+@Entity
+public class DivideBean {
+ @PrimaryKey(autoGenerate = true)
+ public long localid;
+ /**
+ * 褰掑睘鍦�
+ */
+ private String address;
+
+ /**
+ * 鐗囧尯ID
+ */
+ private String blockId;
+
+ /**
+ * 鐗囧尯鍚嶇О
+ */
+ private String blockName;
+
+ /**
+ * 鍒嗘按鎴縄D
+ */
+ private String divideId;
+
+ /**
+ * 鍒嗘按鎴垮悕绉�
+ */
+ private String divideName;
+
+ /**
+ * 璐熻矗浜�
+ */
+ private String header;
+
+ /**
+ * 缂栧彿
+ */
+ private int id;
+
+ /**
+ * 绾害
+ */
+ private double lat;
+
+ /**
+ * 缁忓害
+ */
+ private double lng;
+
+ /**
+ * 鎿嶄綔鏃堕棿
+ */
+ private String operateDt;
+
+ /**
+ * 鎿嶄綔浜�
+ */
+ private String operator;
+
+ /**
+ * 鑱旂郴鐢佃瘽
+ */
+ private String phone;
+
+ /**
+ * 澶囨敞
+ */
+ private String remarks;
+
+ /**
+ * 瑕嗙洊鏉�
+ */
+ private String villages;
+
+ /**
+ * 瑕嗙洊闈㈢Н
+ */
+ private double area;
+
+
+ // Getters and Setters
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public double getArea() {
+ return area;
+ }
+
+ public void setArea(double area) {
+ this.area = area;
+ }
+
+ public String getBlockId() {
+ return blockId;
+ }
+
+ public void setBlockId(String blockId) {
+ this.blockId = blockId;
+ }
+
+ public String getBlockName() {
+ return blockName;
+ }
+
+ public void setBlockName(String blockName) {
+ this.blockName = blockName;
+ }
+
+ public String getDivideId() {
+ return divideId;
+ }
+
+ public void setDivideId(String divideId) {
+ this.divideId = divideId;
+ }
+
+ public String getDivideName() {
+ return divideName;
+ }
+
+ public void setDivideName(String divideName) {
+ this.divideName = divideName;
+ }
+
+ public String getHeader() {
+ return header;
+ }
+
+ public void setHeader(String header) {
+ this.header = header;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public double getLat() {
+ return lat;
+ }
+
+ public void setLat(double lat) {
+ this.lat = lat;
+ }
+
+ public double getLng() {
+ return lng;
+ }
+
+ public void setLng(double lng) {
+ this.lng = lng;
+ }
+
+ public String getOperateDt() {
+ return operateDt;
+ }
+
+ public void setOperateDt(String operateDt) {
+ this.operateDt = operateDt;
+ }
+
+ public String getOperator() {
+ return operator;
+ }
+
+ public void setOperator(String operator) {
+ this.operator = operator;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getRemarks() {
+ return remarks;
+ }
+
+ public void setRemarks(String remarks) {
+ this.remarks = remarks;
+ }
+
+ public String getVillages() {
+ return villages;
+ }
+
+ public void setVillages(String villages) {
+ this.villages = villages;
+ }
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java
index 7fd7638..00fa84d 100644
--- a/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java
@@ -12,12 +12,16 @@
* @since 2024-12-09
*/
public class AddIssueRequest extends BaseRequest {
- String workOrderId;//宸ュ崟ID
- String inspectorId;//宸℃鍛業D
- String content;//缁撴灉鍐呭
+ //宸ュ崟ID
+ String workOrderId;
+ //宸℃鍛業D
+ String inspectorId;
+ //缁撴灉鍐呭
+ String content;
List<ImageRequest> images = new ArrayList<>();
List<ImageRequest> videos = new ArrayList<>();
- String completeTime;//浠诲姟瀹屾垚鏃堕棿
+ //浠诲姟瀹屾垚鏃堕棿
+ String completeTime;
String lng;
String lat;
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/DivideListResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/DivideListResult.java
new file mode 100644
index 0000000..9282893
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/DivideListResult.java
@@ -0,0 +1,59 @@
+package com.dayu.pipirrapp.bean.net;
+
+import java.util.List;
+
+/**
+ * DivideListResult -鍒嗘按鎴�
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-01-13
+ */
+public class DivideListResult {
+ int itemTotal;
+ int pageCurr;
+ int pageSize;
+ int pageTotal;
+ List<DivideResult> obj;
+
+ public int getItemTotal() {
+ return itemTotal;
+ }
+
+ public void setItemTotal(int itemTotal) {
+ this.itemTotal = itemTotal;
+ }
+
+ public int getPageCurr() {
+ return pageCurr;
+ }
+
+ public void setPageCurr(int pageCurr) {
+ this.pageCurr = pageCurr;
+ }
+
+ public int getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(int pageSize) {
+ this.pageSize = pageSize;
+ }
+
+ public int getPageTotal() {
+ return pageTotal;
+ }
+
+ public void setPageTotal(int pageTotal) {
+ this.pageTotal = pageTotal;
+ }
+
+ public List<DivideResult> getObj() {
+ return obj;
+ }
+
+ public void setObj(List<DivideResult> obj) {
+ this.obj = obj;
+ }
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/bean/net/DivideResult.java b/app/src/main/java/com/dayu/pipirrapp/bean/net/DivideResult.java
new file mode 100644
index 0000000..960bcf3
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/bean/net/DivideResult.java
@@ -0,0 +1,208 @@
+package com.dayu.pipirrapp.bean.net;
+
+/**
+ * DivideResult -鍒嗘按鎴�
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-01-10
+ */
+public class DivideResult {
+ /**
+ * 褰掑睘鍦�
+ */
+ private String address;
+
+ /**
+ * 鐗囧尯ID
+ */
+ private String blockId;
+
+ /**
+ * 鐗囧尯鍚嶇О
+ */
+ private String blockName;
+
+ /**
+ * 鍒嗘按鎴縄D
+ */
+ private String divideId;
+
+ /**
+ * 鍒嗘按鎴垮悕绉�
+ */
+ private String divideName;
+
+ /**
+ * 璐熻矗浜�
+ */
+ private String header;
+
+ /**
+ * 缂栧彿
+ */
+ private int id;
+
+ /**
+ * 绾害
+ */
+ private double lat;
+
+ /**
+ * 缁忓害
+ */
+ private double lng;
+
+ /**
+ * 鎿嶄綔鏃堕棿
+ */
+ private String operateDt;
+
+ /**
+ * 鎿嶄綔浜�
+ */
+ private String operator;
+
+ /**
+ * 鑱旂郴鐢佃瘽
+ */
+ private String phone;
+
+ /**
+ * 澶囨敞
+ */
+ private String remarks;
+
+ /**
+ * 瑕嗙洊鏉�
+ */
+ private String villages;
+
+ /**
+ * 瑕嗙洊闈㈢Н
+ */
+ private double area;
+
+
+ // Getters and Setters
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public double getArea() {
+ return area;
+ }
+
+ public void setArea(double area) {
+ this.area = area;
+ }
+
+ public String getBlockId() {
+ return blockId;
+ }
+
+ public void setBlockId(String blockId) {
+ this.blockId = blockId;
+ }
+
+ public String getBlockName() {
+ return blockName;
+ }
+
+ public void setBlockName(String blockName) {
+ this.blockName = blockName;
+ }
+
+ public String getDivideId() {
+ return divideId;
+ }
+
+ public void setDivideId(String divideId) {
+ this.divideId = divideId;
+ }
+
+ public String getDivideName() {
+ return divideName;
+ }
+
+ public void setDivideName(String divideName) {
+ this.divideName = divideName;
+ }
+
+ public String getHeader() {
+ return header;
+ }
+
+ public void setHeader(String header) {
+ this.header = header;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public double getLat() {
+ return lat;
+ }
+
+ public void setLat(double lat) {
+ this.lat = lat;
+ }
+
+ public double getLng() {
+ return lng;
+ }
+
+ public void setLng(double lng) {
+ this.lng = lng;
+ }
+
+ public String getOperateDt() {
+ return operateDt;
+ }
+
+ public void setOperateDt(String operateDt) {
+ this.operateDt = operateDt;
+ }
+
+ public String getOperator() {
+ return operator;
+ }
+
+ public void setOperator(String operator) {
+ this.operator = operator;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getRemarks() {
+ return remarks;
+ }
+
+ public void setRemarks(String remarks) {
+ this.remarks = remarks;
+ }
+
+ public String getVillages() {
+ return villages;
+ }
+
+ public void setVillages(String villages) {
+ this.villages = villages;
+ }
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/dao/AppDatabase.java b/app/src/main/java/com/dayu/pipirrapp/dao/AppDatabase.java
index 5316560..6bf6421 100644
--- a/app/src/main/java/com/dayu/pipirrapp/dao/AppDatabase.java
+++ b/app/src/main/java/com/dayu/pipirrapp/dao/AppDatabase.java
@@ -4,6 +4,7 @@
import androidx.room.RoomDatabase;
import com.dayu.pipirrapp.bean.db.CenterPointBean;
+import com.dayu.pipirrapp.bean.db.DivideBean;
import com.dayu.pipirrapp.bean.db.InspectionBean;
import com.dayu.pipirrapp.bean.db.InspectionLocationBean;
import com.dayu.pipirrapp.bean.db.LoginBean;
@@ -17,7 +18,7 @@
* Date: 2023-11-05 16:23
* Description:
*/
-@Database(entities = {InspectionBean.class,InspectionLocationBean.class, TagBean.class, LoginBean.class, CenterPointBean.class, MarkerBean.class}, version = 1, exportSchema = false)
+@Database(entities = {DivideBean.class,InspectionBean.class,InspectionLocationBean.class, TagBean.class, LoginBean.class, CenterPointBean.class, MarkerBean.class}, version = 1, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
@@ -33,4 +34,6 @@
public abstract InspectionLocationDao inspectionLocationDao();
+ public abstract DivideDao divideDao();
+
}
diff --git a/app/src/main/java/com/dayu/pipirrapp/dao/DivideDao.java b/app/src/main/java/com/dayu/pipirrapp/dao/DivideDao.java
new file mode 100644
index 0000000..aad77d8
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/dao/DivideDao.java
@@ -0,0 +1,53 @@
+package com.dayu.pipirrapp.dao;
+
+import androidx.room.Dao;
+import androidx.room.Delete;
+import androidx.room.Insert;
+import androidx.room.OnConflictStrategy;
+import androidx.room.Query;
+import androidx.room.Update;
+
+import com.dayu.pipirrapp.bean.db.DivideBean;
+import com.dayu.pipirrapp.bean.db.MarkerBean;
+
+import java.util.List;
+
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
+
+/**
+ * DivideDao -
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-01-13
+ */
+@Dao
+public interface DivideDao {
+ @Insert(onConflict = OnConflictStrategy.REPLACE)
+ void insert(DivideBean divideBean);
+
+ @Insert(onConflict = OnConflictStrategy.REPLACE)
+ Completable insertAll(List<DivideBean> divideBeans); // 浣跨敤 Completable 杩涜寮傛鎻掑叆
+
+// @Insert(onConflict = OnConflictStrategy.REPLACE)
+// void insertAll(List<MarkerBean> markerBeans); // 浣跨敤 Completable 杩涜寮傛鎻掑叆
+
+ @Update
+ void update(DivideBean divideBean);
+
+ @Delete
+ void delete(DivideBean divideBean);
+
+ @Query("DELETE FROM DivideBean")
+ void deleteAll();
+
+ @Query("select * from DivideBean limit 1")
+ DivideBean findFirst();
+
+ @Query("select * from DivideBean")
+ List<DivideBean> findAll();
+
+ @Query("select * from DivideBean")
+ Single<List<DivideBean>> findAllToSingle();
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
index 90d36d6..2715f12 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java
@@ -31,6 +31,7 @@
import com.dayu.pipirrapp.bean.db.LatLonBean;
import com.dayu.pipirrapp.bean.db.MarkerBean;
import com.dayu.pipirrapp.bean.net.CenterPointResult;
+import com.dayu.pipirrapp.bean.net.DivideResult;
import com.dayu.pipirrapp.bean.net.InsectionResult;
import com.dayu.pipirrapp.bean.net.InspectionRequest;
import com.dayu.pipirrapp.bean.net.MarkerListResult;
@@ -756,6 +757,41 @@
});
}
+ /**
+ * 鑾峰彇鍒嗘按鎴�
+ */
+ private void getDivideList() {
+ ApiManager.getInstance().requestPost(MapFragment.this.getContext(), BASE_URL + "/project/divide/getDivides", DivideResult.class, null, new SubscriberListener<BaseResponse<DivideResult>>() {
+ @Override
+ public void onNext(BaseResponse<DivideResult> t) {
+ try {
+ if (t.isSuccess()) {
+// if (t.getContent().)
+//
+//
+// // 浣跨敤 RxJava 寮傛鎻掑叆鏁版嵁
+// DaoSingleton.getAsynchInstance(MapFragment.this.getContext()).markerDao().insertAll()
+// .subscribeOn(Schedulers.io()) // 鍦� IO 绾跨▼涓婃墽琛�
+// .observeOn(AndroidSchedulers.mainThread()) // 鍦ㄤ富绾跨▼涓婅瀵�
+// .subscribe(() -> {
+// // 鎻掑叆鎴愬姛
+// Log.i("mWebView", "鏁版嵁鎻掑叆鎴愬姛");
+// }, throwable -> {
+// // 鎻掑叆澶辫触
+// Log.e("mWebView", "鏁版嵁鎻掑叆澶辫触: " + throwable.getMessage());
+// });
+ } else {
+ ToastUtil.showToastLong(MapFragment.this.getContext(), t.getMsg());
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ CrashReport.postCatchedException(e);
+ }
+ }
+
+ });
+ }
+
@Override
public void onDestroy() {
diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java
index 28aa351..085b0f1 100644
--- a/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java
+++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java
@@ -80,7 +80,7 @@
ConfirmDialog confirmDialog = new ConfirmDialog(MyFragment.this.getActivity(), "纭畾娓呴櫎缂撳瓨鍚楋紵", (dialog, v1) -> {
try {
dialog.dismiss();
- CleanDataUtils.cleanMapData(MyFragment.this.getContext());
+ CleanDataUtils.cleanData(MyFragment.this.getContext());
ToastUtil.showToast(MyFragment.this.getActivity(), "娓呴櫎鎴愬姛");
} catch (Exception e) {
e.printStackTrace();
diff --git a/app/src/main/java/com/dayu/pipirrapp/tool/BigimageUtils.java b/app/src/main/java/com/dayu/pipirrapp/tool/BigimageUtils.java
new file mode 100644
index 0000000..3007671
--- /dev/null
+++ b/app/src/main/java/com/dayu/pipirrapp/tool/BigimageUtils.java
@@ -0,0 +1,28 @@
+package com.dayu.pipirrapp.tool;
+
+import android.app.Activity;
+
+import com.dayu.pipirrapp.activity.IssueDetailActivity;
+
+import java.util.List;
+
+import cc.shinichi.library.ImagePreview;
+import cc.shinichi.library.bean.ImageInfo;
+
+/**
+ * BigimageUtils -bigimageviewpager妗嗘灦鐨勫叕鍏辩被
+ *
+ * @author zuoxiao
+ * @version 1.0
+ * @since 2025-01-13
+ */
+public class BigimageUtils {
+
+ public static void showImages(Activity activity, int position, List<ImageInfo> imageInfoList) {
+ ImagePreview.getInstance().with(activity).setIndex(position)
+ // 鏄惁鏄剧ず涓嬭浇鎸夐挳锛屽湪椤甸潰鍙充笅瑙掋�傞粯璁ゆ樉绀�
+ .setShowDownButton(false)
+ .setMediaInfoList(imageInfoList).start();
+ }
+
+}
diff --git a/app/src/main/java/com/dayu/pipirrapp/utils/CleanDataUtils.java b/app/src/main/java/com/dayu/pipirrapp/utils/CleanDataUtils.java
index f5ec758..706c301 100644
--- a/app/src/main/java/com/dayu/pipirrapp/utils/CleanDataUtils.java
+++ b/app/src/main/java/com/dayu/pipirrapp/utils/CleanDataUtils.java
@@ -5,6 +5,8 @@
import com.dayu.pipirrapp.MyApplication;
import com.dayu.pipirrapp.dao.DaoSingleton;
+import cc.shinichi.library.glide.ImageLoader;
+
/**
* author: zuo
* Date: 2024-10-10
@@ -16,17 +18,21 @@
/**
* 娓呴櫎鍦板浘缂撳瓨
*/
- public static void cleanMapData(Context context) {
+ public static void cleanData(Context context) {
+ //娓呴櫎鍦板浘缂撳瓨
DaoSingleton.getInstance(context).markerDao().deleteAll();
+ //娓呴櫎鍥剧墖缂撳瓨
+ ImageLoader.cleanDiskCache(context);
}
/**
* 娓呴櫎鐢ㄦ埛淇℃伅缂撳瓨
+ *
* @param context
*/
public static void cleanUserData(Context context) {
DaoSingleton.getInstance(context).loginDao().deleteAll();
- MyApplication.myApplication.token="";
+ MyApplication.myApplication.token = "";
SharedPreferencesHelper.getInstance(context).delete(CommonKeyName.Token);
}
--
Gitblit v1.8.0