管灌系统巡查员智能手机App
zuoxiao
2025-01-13 50f9b82ac862652e88444d727a32e0da1d824e9e
1.分水房相关
2.删除极光推送相关配置
3.优化图片显示相关
9个文件已修改
6个文件已添加
735 ■■■■■ 已修改文件
app/build.gradle 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/MyAppGlideModule.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/activity/IssueDetailActivity.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java 213 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/bean/net/AddIssueRequest.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/bean/net/DivideListResult.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/bean/net/DivideResult.java 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/dao/AppDatabase.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/dao/DivideDao.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/tool/BigimageUtils.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/dayu/pipirrapp/utils/CleanDataUtils.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle
@@ -130,48 +130,12 @@
    //定位
    implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.3.7'
//    //推送相关
//    // 此处以JPush 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'
//    // 接入荣耀厂商
//    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'
    //阿里的RocketMQ
//    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请使用kapt
    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'
app/src/main/java/com/dayu/pipirrapp/MyAppGlideModule.java
New file
@@ -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);
        // 替换底层网络框架为okhttp3
        registry.replace(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory((Call.Factory) ProgressManager.getOkHttpClient()));
    }
}
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();
        // 添加标志,允许窗口绘制系统栏背景
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        // 设置状态栏颜色
        window.setStatusBarColor(getResources().getColor(R.color.title_color));
    }
    public void layoutFinish(RefreshLayout refreshLayout, boolean isRefresh) {
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);
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);
            }
app/src/main/java/com/dayu/pipirrapp/bean/db/DivideBean.java
New file
@@ -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;
    /**
     * 分水房ID
     */
    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;
    }
}
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;//巡检员ID
    String content;//结果内容
    //工单ID
    String workOrderId;
    //巡检员ID
    String inspectorId;
    //结果内容
    String content;
    List<ImageRequest> images = new ArrayList<>();
    List<ImageRequest> videos = new ArrayList<>();
    String completeTime;//任务完成时间
    //任务完成时间
    String completeTime;
    String lng;
    String lat;
app/src/main/java/com/dayu/pipirrapp/bean/net/DivideListResult.java
New file
@@ -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;
    }
}
app/src/main/java/com/dayu/pipirrapp/bean/net/DivideResult.java
New file
@@ -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;
    /**
     * 分水房ID
     */
    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;
    }
}
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();
}
app/src/main/java/com/dayu/pipirrapp/dao/DivideDao.java
New file
@@ -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();
}
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() {
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();
app/src/main/java/com/dayu/pipirrapp/tool/BigimageUtils.java
New file
@@ -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();
    }
}
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);
    }