From 99e0ee56a546e9221d5f217c0705248b04b213b4 Mon Sep 17 00:00:00 2001 From: fengjignqi <15192412330@163.com> Date: Tue, 19 May 2026 16:40:34 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E8=AE=BE=E5=A4=87=E5=88=97?= =?UTF-8?q?=E8=A1=A8,=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ckkj/water/ConstantUtil.java | 67 +--------------- .../ckkj/water/device/AddDeviceActivity.java | 22 ++++++ .../water/device/DeviceConnectActivity.java | 23 ++++++ .../water/device/DeviceControlActivity.java | 20 +++++ .../ckkj/water/device/DeviceInfoActivity.java | 20 +++++ .../water/device/DeviceReNameActivity.java | 44 ++++++++++- .../water/device/DeviceSettingsActivity.java | 20 +++++ .../ckkj/water/device/SelectWifiActivity.java | 23 +++++- .../ckkj/water/device/mvp/DeviceContract.java | 25 ++++++ .../com/ckkj/water/device/mvp/DeviceImpl.java | 73 +++++++++++++++++ .../water/device/mvp/DevicePresenter.java | 36 +++++++++ .../com/ckkj/water/index/IndexFragment.java | 55 ++++++++++--- .../water/index/adapter/DeviceAdapter.java | 8 +- .../water/index/entity/IndexDeviceEntity.java | 78 +++++++++---------- .../ckkj/water/index/mvp/IndexContract.java | 19 +---- .../com/ckkj/water/index/mvp/IndexImpl.java | 32 ++------ .../ckkj/water/index/mvp/IndexPresenter.java | 13 ++-- .../water/main/activity/MainActivity.java | 2 +- .../java/com/ckkj/water/network/BaseBean.java | 6 ++ .../java/com/ckkj/water/network/Request.java | 6 +- .../water/utils/manager/ActivityManager.java | 35 +++++++++ .../res/layout/index_device_list_item.xml | 4 +- .../main/res/layout/index_fragment_layout.xml | 51 +++++++++--- .../main/res/layout/view_refresh_header.xml | 2 +- 24 files changed, 496 insertions(+), 188 deletions(-) diff --git a/app/src/main/java/com/ckkj/water/ConstantUtil.java b/app/src/main/java/com/ckkj/water/ConstantUtil.java index 77c1046..620f630 100644 --- a/app/src/main/java/com/ckkj/water/ConstantUtil.java +++ b/app/src/main/java/com/ckkj/water/ConstantUtil.java @@ -7,9 +7,9 @@ package com.ckkj.water; */ public class ConstantUtil { + public static final String ADD_DEVICE_FLAG = "add_device_flag"; //页面跳转来源 public static final String ACTIVITY_NAVIGATE_FLAG = "activity_navigate_flag"; - public static final String SHARE_PRE_NAME = "mingdengbazi_pre"; public static final String FIRST_ENTER_APP_AGREEMENT_TIPS = "first_enter_app_agreement_tips"; public static final String FIRST_ENTER_APP_FLAG = "first_enter_app_flag"; @@ -20,47 +20,12 @@ public class ConstantUtil { public static final String USER_ID = "user_id"; public static final String USER_RONGCLOUD_ID = "user_rongcloud_id"; public static final String USER_INFO_JSON_CONTENT = "user_info_json_content"; - public static final String SEARCH_HISTORY = "search_history"; - public static final String USER_CONFIRM_UPLOAD_INFO = "user_confirm_upload_info"; - public static final String GROUP_LAST_TIME = "group_last_time"; //用户是否同意隐私政策 public static final String PRIVACY_POLICY_AGREED = "privacy_policy_agreed"; - //App访问验证code - public static final String APP_ENTER_CODE_VALUE = "app_enter_code_value"; - //用户是否允许定位授权 - public static final String USER_AUTH_LOCATION = "user_auth_location"; - //用户是否请求过定位权限 - public static final String USER_REQUEST_LOCATION_PERMISSION = "user_request_location_permission"; - //用户是否请求过文件访问权限 - public static final String USER_REQUEST_READ_WRITE_PERMISSION = "user_request_read_write_permission"; - //用户是否请求过麦克风权限 - public static final String USER_REQUEST_RECORD_AUDIO_PERMISSION = "user_request_record_audio_permission"; - //用户是否请求过相机权限 - public static final String USER_REQUEST_CAMERA_PERMISSION = "user_request_camera_permission"; //用户当前定位省份 public static final String USER_LOCATION_PROVICE_NAME = "user_location_provice_name"; //用户当前定位城市 public static final String USER_LOCATION_CITY_NAME = "user_location_city_name"; - //用户当前定位县区 - public static final String USER_LOCATION_COUNTY_NAME = "user_location_county_name"; - - public static final String USER_SELECT_PROVICE_NAME = "user_select_provice_name"; - //用户当前定位城市 - public static final String USER_SELECT_CITY_NAME = "user_select_city_name"; - //用户当前定位县区 - public static final String USER_SELECT_COUNTY_NAME = "user_select_county_name"; - //首页用户定位code - public static final String INDEX_LOCATION_PROVINCE_CODE = "index_location_province_code"; - //用户当前定位县区 - public static final String INDEX_LOCATION_CITY_CODE = "index_location_city_code"; - //首页用户定位code - public static final String INDEX_SELECT_PROVINCE_CODE = "index_select_province_code"; - //用户当前定位县区 - public static final String INDEX_SELECT_CITY_CODE = "index_select_city_code"; - //用户提交的企业会员认证结果 - public static final String USER_REVIEW_STATUS_CODE = "user_review_status_code"; - //用户是否为企业会员 - public static final String USER_IS_VIP_FLAG = "user_is_vip_flag"; //用户资料中的个人手机号码 public static final String USER_INFO_PHONE_NUMBER = "user_info_phone_number"; //用户资料中头像 @@ -69,36 +34,6 @@ public class ConstantUtil { public static final String USER_NICKNAME = "user_nickname"; //企业名称 public static final String USER_UPLOAD_COMPANY_NAME = "user_upload_company_name"; - //单位名称 - public static final String GOODS_UNIT_JSON = "goods_unit_json"; - //运费json - public static final String TRANS_COST_JSON = "trans_cost_json"; - //品牌名称json - public static final String GOODS_BRAND_JSON = "goods_brand_json"; - //所有字典 - public static final String MRO_BRAND_DICT_JSON = "mro_dict_json"; - /********************大宗相关*********************/ - public static final String DICT_DATAS_JSON = "dict_datas_json"; - //生成订单来自何处 100商品详情 200购物车 - public static final int CREAT_ORDER_FROM_PRODUCT_CODE = 100; - public static final int CREAT_ORDER_FROM_SHOPCAR_CODE = 200; - /********************订单相关*********************/ - public static final int ORDER_ALLCODE = -1;//全部 - public static final int ORDER_DAIZHIFU = 0;//待支付 - public static final int ORDER_WEIFAHUO = 1;//未发货 - public static final int ORDER_DAISHOUHUO = 2;//待收货 - public static final int ORDER_YIWANCHENG = 3;//已完成 - public static final int ORDER_CANCELED = 4; - public static final int ORDER_SHOUHOU = 5;//待收货 - public static final int ORDER_BUFENFAHUO = 7;//待收货 - public static final int ORDER_DAIQUEREN = 8;//待确认 - public static final int ORDER_JIESUANZHONG = 9;//结算中 - public static final int ORDER_CHULIZHONG = 0;//处理中 - - /*******询价单********/ - public static final int XJ_BAOJIAZHONG_CODE = 0;//报价中 - public static final int XJ_YIBAOJIA_CODE = 1;//已报价 - public static final int XJ_YICHEXIAO_CODE = 2;//已撤销 //权限申请请求 public static final int PERMISSION_QUEST = 500; /***************权限相关*******************/ diff --git a/app/src/main/java/com/ckkj/water/device/AddDeviceActivity.java b/app/src/main/java/com/ckkj/water/device/AddDeviceActivity.java index df8883c..4122a72 100644 --- a/app/src/main/java/com/ckkj/water/device/AddDeviceActivity.java +++ b/app/src/main/java/com/ckkj/water/device/AddDeviceActivity.java @@ -21,6 +21,7 @@ import com.ckkj.water.device.mvp.DeviceContract; import com.ckkj.water.device.mvp.DeviceImpl; import com.ckkj.water.device.mvp.DevicePresenter; import com.ckkj.water.network.BaseBean; +import com.ckkj.water.utils.manager.ActivityManager; import com.ckkj.water.utils.manager.ThemeManager; import com.ckkj.water.utils.show.ToastUtil; import com.gyf.immersionbar.ImmersionBar; @@ -48,6 +49,7 @@ public class AddDeviceActivity extends BaseActivity perms) { } + + @Override + public void addDeviceSuccess(BaseBean bean) { + + } + + @Override + public void editDeviceInfoSuccess(BaseBean bean) { + + } + + @Override + public void deleteDeviceSuccess(BaseBean bean) { + + } + + @Override + public void turnOnOffDeviceSuccess(BaseBean bean) { + + } } diff --git a/app/src/main/java/com/ckkj/water/device/DeviceConnectActivity.java b/app/src/main/java/com/ckkj/water/device/DeviceConnectActivity.java index 0ba19ae..e1ce968 100644 --- a/app/src/main/java/com/ckkj/water/device/DeviceConnectActivity.java +++ b/app/src/main/java/com/ckkj/water/device/DeviceConnectActivity.java @@ -8,6 +8,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; +import com.ckkj.water.ConstantUtil; import com.ckkj.water.R; import com.ckkj.water.base.BaseActivity; import com.ckkj.water.databinding.DeviceConnectLayoutBinding; @@ -15,6 +16,7 @@ import com.ckkj.water.device.mvp.DeviceContract; import com.ckkj.water.device.mvp.DeviceImpl; import com.ckkj.water.device.mvp.DevicePresenter; import com.ckkj.water.network.BaseBean; +import com.ckkj.water.utils.manager.ActivityManager; import com.ckkj.water.utils.show.ToastUtil; import com.gyf.immersionbar.ImmersionBar; @@ -36,6 +38,7 @@ public class DeviceConnectActivity extends BaseActivity { @@ -8,8 +14,27 @@ public class DeviceContract { void fail(String msg); } public interface DataModel{ + + //查询设备信息 + void getDeviceInfomation(Map map, IndexContract.CallBack callBack); + //添加设备 + void addDevice(JSONObject json, IndexContract.CallBack callBack); + + //修改设备信息 + void editDeviceInfo(JSONObject json, IndexContract.CallBack callBack); + + //删除设备信息 + void deleteDevice(JSONObject json, IndexContract.CallBack callBack); + + //手动开启关闭设备 + void turnOnOffDevice(JSONObject json, IndexContract.CallBack callBack); } public interface DeviceView extends IView { + //添加设备成功g + void addDeviceSuccess(BaseBean bean); + void editDeviceInfoSuccess(BaseBean bean); + void deleteDeviceSuccess(BaseBean bean); + void turnOnOffDeviceSuccess(BaseBean bean); } } diff --git a/app/src/main/java/com/ckkj/water/device/mvp/DeviceImpl.java b/app/src/main/java/com/ckkj/water/device/mvp/DeviceImpl.java index 208f4d2..68d052b 100644 --- a/app/src/main/java/com/ckkj/water/device/mvp/DeviceImpl.java +++ b/app/src/main/java/com/ckkj/water/device/mvp/DeviceImpl.java @@ -1,5 +1,78 @@ package com.ckkj.water.device.mvp; +import com.ckkj.water.index.mvp.IndexContract; +import com.ckkj.water.network.BaseBean; +import com.ckkj.water.network.NetWorkManager; + +import org.json.JSONObject; + +import java.util.Map; + +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.annotations.NonNull; +import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; + public class DeviceImpl implements DeviceContract.DataModel{ + @Override + public void getDeviceInfomation(Map map, IndexContract.CallBack callBack) { + + } + + /** + * 添加设备 + * @param json + * @param callBack + */ + @Override + public void addDevice(JSONObject json, IndexContract.CallBack callBack) { + try { + NetWorkManager.getRequest().addDevice(NetWorkManager.getToken(), NetWorkManager.toRequestBody(json)) + .subscribeOn(Schedulers.io()) + .unsubscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + } + + @Override + public void onNext(@NonNull BaseBean bean) { + if (bean.getCode() == 200) { + callBack.success(bean,0); + } else { + callBack.fail(bean.getMessage()); + } + } + + @Override + public void onError(@NonNull Throwable e) { + callBack.fail(e.getMessage()); + } + + @Override + public void onComplete() { + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + public void editDeviceInfo(JSONObject json, IndexContract.CallBack callBack) { + + } + + @Override + public void deleteDevice(JSONObject json, IndexContract.CallBack callBack) { + + } + + @Override + public void turnOnOffDevice(JSONObject json, IndexContract.CallBack callBack) { + + } } diff --git a/app/src/main/java/com/ckkj/water/device/mvp/DevicePresenter.java b/app/src/main/java/com/ckkj/water/device/mvp/DevicePresenter.java index 5146d77..f5572e6 100644 --- a/app/src/main/java/com/ckkj/water/device/mvp/DevicePresenter.java +++ b/app/src/main/java/com/ckkj/water/device/mvp/DevicePresenter.java @@ -1,6 +1,13 @@ package com.ckkj.water.device.mvp; import com.ckkj.water.base.BasePresenter; +import com.ckkj.water.index.mvp.IndexContract; +import com.ckkj.water.network.BaseBean; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.Random; public class DevicePresenter extends BasePresenter { private DeviceImpl impl; @@ -8,4 +15,33 @@ public class DevicePresenter extends BasePresenter { public DevicePresenter(DeviceImpl impl) { this.impl = impl; } + + public void addDevice() { + try { + JSONObject json = new JSONObject(); + json.put("deviceNo",System.currentTimeMillis() + ""); + json.put("deviceName",new Random().nextInt(99) + "号设备"); + json.put("wifiName","橙空科技WiFi"); + json.put("wifiPassword","12321212"); + json.put("deviceEm","213123123123"); + json.put("deviceSn","sdfsd32423gdfgdf3"); + json.put("fwVer","fwVer-56565644"); + json.put("macAddress","2E:8H:00:KK:N7"); + impl.addDevice(json, new IndexContract.CallBack() { + @Override + public void success(BaseBean bean,int total) { + if(DevicePresenter.this.getView() != null){ + DevicePresenter.this.getView().addDeviceSuccess(bean); + } + } + + @Override + public void fail(String msg) { + + } + }); + } catch (JSONException e) { + throw new RuntimeException(e); + } + } } diff --git a/app/src/main/java/com/ckkj/water/index/IndexFragment.java b/app/src/main/java/com/ckkj/water/index/IndexFragment.java index 894a424..bcfbf5a 100644 --- a/app/src/main/java/com/ckkj/water/index/IndexFragment.java +++ b/app/src/main/java/com/ckkj/water/index/IndexFragment.java @@ -10,6 +10,7 @@ import androidx.annotation.Nullable; import com.ckkj.water.R; import com.ckkj.water.base.BaseFragment; +import com.ckkj.water.custom.view.CustomRefreshHeader; import com.ckkj.water.databinding.IndexFragmentLayoutBinding; import com.ckkj.water.device.AddDeviceActivity; import com.ckkj.water.device.DeviceControlActivity; @@ -23,6 +24,8 @@ import com.ckkj.water.permission.PermissionActivity; import com.ckkj.water.utils.show.ToastUtil; import com.maning.mlkitscanner.scan.MNScanManager; import com.maning.mlkitscanner.scan.callback.act.MNScanCallback; +import com.scwang.smart.refresh.footer.ClassicsFooter; +import com.scwang.smart.refresh.layout.api.RefreshHeader; import java.util.ArrayList; import java.util.List; @@ -42,16 +45,21 @@ public class IndexFragment extends BaseFragment { + mCurrentPage = 1; + mPresenter.getDevicesList(mCurrentPage); + }); + viewBinding.refresh.setOnLoadMoreListener(layout -> { + mCurrentPage++; + mPresenter.getDevicesList(mCurrentPage); + }); showLoadingDialog(); - mPresenter.getDevicesList(); + mPresenter.getDevicesList(mCurrentPage); + } @Override @@ -136,8 +144,35 @@ public class IndexFragment extends BaseFragment list,int total) { hideDialogLoading(); + viewBinding.refresh.finishRefresh(300); + viewBinding.refresh.finishLoadMore(300); + if (mCurrentPage == 1) { + devList.clear(); // 只在刷新时清除 + devList = list; + } else { + devList.addAll(list); + } + deviceAdapter.setNewData(devList); + // 4. 判断是否还有更多数据 + if (total == deviceAdapter.getItemCount() || list == null || list.size() == 0) { + // ✅ 告诉 SmartRefreshLayout 没有更多数据了 + viewBinding.refresh.setNoMoreData(true); + viewBinding.relNoMore.setVisibility(View.VISIBLE); // 自定义底部提示“暂无更多数据” + } else { + viewBinding.refresh.setNoMoreData(false); // 重置状态 + viewBinding.relNoMore.setVisibility(View.GONE); + } + + // 5. 控制空布局和内容显示 + if (deviceAdapter.getItemCount() != 0) { + viewBinding.refresh.setVisibility(View.VISIBLE); + viewBinding.relNoresult.setVisibility(View.GONE); + } else { + viewBinding.refresh.setVisibility(View.GONE); + viewBinding.relNoresult.setVisibility(View.VISIBLE); + } } diff --git a/app/src/main/java/com/ckkj/water/index/adapter/DeviceAdapter.java b/app/src/main/java/com/ckkj/water/index/adapter/DeviceAdapter.java index 896d6d4..2566266 100644 --- a/app/src/main/java/com/ckkj/water/index/adapter/DeviceAdapter.java +++ b/app/src/main/java/com/ckkj/water/index/adapter/DeviceAdapter.java @@ -27,10 +27,10 @@ public class DeviceAdapter extends BaseQuickAdapter { - void success(T msg); + void success(T msg,int total); void fail(String msg); } public interface DataModel{ @@ -24,22 +26,9 @@ public class IndexContract { //获取设备列表 void getDeviceList(Map map,CallBack callBack); - //查询设备信息 - void getDeviceInfomation(Map map,CallBack callBack); - //添加设备 - void addDevice(JSONObject json,CallBack callBack); - - //修改设备信息 - void editDeviceInfo(JSONObject json,CallBack callBack); - - //修改设备信息 - void deleteDevice(JSONObject json,CallBack callBack); - - //手动开启关闭设备 - void turnOnOffDevice(JSONObject json,CallBack callBack); } public interface IndexView extends IView{ - void getDeviceListSuccess(); + void getDeviceListSuccess(List list,int total); } } diff --git a/app/src/main/java/com/ckkj/water/index/mvp/IndexImpl.java b/app/src/main/java/com/ckkj/water/index/mvp/IndexImpl.java index ed64a6f..e61089b 100644 --- a/app/src/main/java/com/ckkj/water/index/mvp/IndexImpl.java +++ b/app/src/main/java/com/ckkj/water/index/mvp/IndexImpl.java @@ -1,10 +1,12 @@ package com.ckkj.water.index.mvp; +import com.ckkj.water.index.entity.IndexDeviceEntity; import com.ckkj.water.network.BaseBean; import com.ckkj.water.network.NetWorkManager; import org.json.JSONObject; +import java.util.List; import java.util.Map; import io.reactivex.Observer; @@ -26,15 +28,15 @@ public class IndexImpl implements IndexContract.DataModel{ .subscribeOn(Schedulers.io()) .unsubscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { + .subscribe(new Observer>>() { @Override public void onSubscribe(@NonNull Disposable d) { } @Override - public void onNext(@NonNull BaseBean bean) { + public void onNext(@NonNull BaseBean> bean) { if (bean.getCode() == 200) { - callBack.success(bean.getData()); + callBack.success(bean.getRows(),bean.getTotal()); } } @@ -49,28 +51,4 @@ public class IndexImpl implements IndexContract.DataModel{ }); } - @Override - public void getDeviceInfomation(Map map, IndexContract.CallBack callBack) { - - } - - @Override - public void addDevice(JSONObject json, IndexContract.CallBack callBack) { - - } - - @Override - public void editDeviceInfo(JSONObject json, IndexContract.CallBack callBack) { - - } - - @Override - public void deleteDevice(JSONObject json, IndexContract.CallBack callBack) { - - } - - @Override - public void turnOnOffDevice(JSONObject json, IndexContract.CallBack callBack) { - - } } diff --git a/app/src/main/java/com/ckkj/water/index/mvp/IndexPresenter.java b/app/src/main/java/com/ckkj/water/index/mvp/IndexPresenter.java index 75f6098..554c043 100644 --- a/app/src/main/java/com/ckkj/water/index/mvp/IndexPresenter.java +++ b/app/src/main/java/com/ckkj/water/index/mvp/IndexPresenter.java @@ -1,10 +1,10 @@ package com.ckkj.water.index.mvp; import com.ckkj.water.base.BasePresenter; -import com.ckkj.water.login.mvp.LoginImpl; -import com.ckkj.water.network.BaseBean; +import com.ckkj.water.index.entity.IndexDeviceEntity; import java.util.HashMap; +import java.util.List; public class IndexPresenter extends BasePresenter{ @@ -17,12 +17,13 @@ public class IndexPresenter extends BasePresenter{ /** * 查询设备列表 */ - public void getDevicesList() { - mImpl.getDeviceList(new HashMap<>(), new IndexContract.CallBack() { + public void getDevicesList(int mCurrentPage) { + mImpl.getDeviceList(new HashMap<>(), new IndexContract.CallBack>() { + @Override - public void success(BaseBean bean) { + public void success(List list, int total) { if(IndexPresenter.this.getView() != null){ - IndexPresenter.this.getView().getDeviceListSuccess(); + IndexPresenter.this.getView().getDeviceListSuccess(list,total); } } diff --git a/app/src/main/java/com/ckkj/water/main/activity/MainActivity.java b/app/src/main/java/com/ckkj/water/main/activity/MainActivity.java index c78f953..e1f80e7 100644 --- a/app/src/main/java/com/ckkj/water/main/activity/MainActivity.java +++ b/app/src/main/java/com/ckkj/water/main/activity/MainActivity.java @@ -105,7 +105,7 @@ public class MainActivity extends BaseActivity implements Serializable { private String msg; private int code; private T data; + + private T rows; private int pages; private int total; private int size; @@ -47,6 +49,10 @@ public class BaseBean implements Serializable { this.code = code; } + public T getRows() { + return rows; + } + public T getData() { return data; } diff --git a/app/src/main/java/com/ckkj/water/network/Request.java b/app/src/main/java/com/ckkj/water/network/Request.java index f0666be..85ee3f3 100644 --- a/app/src/main/java/com/ckkj/water/network/Request.java +++ b/app/src/main/java/com/ckkj/water/network/Request.java @@ -3,6 +3,7 @@ package com.ckkj.water.network; import com.ckkj.water.base.entity.MineUserInfoBean; +import com.ckkj.water.index.entity.IndexDeviceEntity; import com.ckkj.water.login.entity.LoginEntity; import com.ckkj.water.main.entity.CheckVersionEntity; import com.ckkj.water.plate.entity.BaziResultBean; @@ -41,7 +42,10 @@ public interface Request { //首页设备列表 @GET("app/v1/deviceList") - Observable getIndexDeviceList(@HeaderMap Map headMap); + Observable>> getIndexDeviceList(@HeaderMap Map headMap); + //添加设备 + @POST("app/v1/addDevice") + Observable addDevice(@HeaderMap Map headMap, @Body RequestBody requestBody); diff --git a/app/src/main/java/com/ckkj/water/utils/manager/ActivityManager.java b/app/src/main/java/com/ckkj/water/utils/manager/ActivityManager.java index 64b0014..2c57ac5 100644 --- a/app/src/main/java/com/ckkj/water/utils/manager/ActivityManager.java +++ b/app/src/main/java/com/ckkj/water/utils/manager/ActivityManager.java @@ -82,4 +82,39 @@ public class ActivityManager { } } } + + + /** + * 关闭指定tag的所有Activity + * + * @param tag 比如 add_device_flag + */ + public static void removeActivityByTag(String tag) + { + if(activitys == null || activitys.isEmpty()){ + return; + } + + //避免遍历时ConcurrentModificationException + Map tempMap = + new HashMap<>(activitys); + + for (Map.Entry entry : tempMap.entrySet()) { + + String key = entry.getKey(); + Activity activity = entry.getValue(); + + if (key != null && key.contains(tag)) { + + if (activity != null && + !activity.isFinishing() && + !activity.isDestroyed()) { + + activity.finish(); + } + + activitys.remove(key); + } + } + } } diff --git a/app/src/main/res/layout/index_device_list_item.xml b/app/src/main/res/layout/index_device_list_item.xml index 6202bcc..e0778ef 100644 --- a/app/src/main/res/layout/index_device_list_item.xml +++ b/app/src/main/res/layout/index_device_list_item.xml @@ -10,9 +10,9 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/dp_5" - android:layout_marginVertical="@dimen/dp_5" + android:layout_marginVertical="@dimen/dp_6" app:cardCornerRadius="16dp" - app:cardElevation="4dp"> + app:cardElevation="@dimen/dp_5"> - - + android:layout_height="match_parent"> + + + + + + + + + + + + diff --git a/app/src/main/res/layout/view_refresh_header.xml b/app/src/main/res/layout/view_refresh_header.xml index 275a8de..0a74b91 100644 --- a/app/src/main/res/layout/view_refresh_header.xml +++ b/app/src/main/res/layout/view_refresh_header.xml @@ -7,5 +7,5 @@ android:id="@+id/ivRefresh" android:layout_width="30dp" android:layout_height="30dp" - android:src="@mipmap/icon_refresh_logo" /> + android:src="@mipmap/ic_launcher" /> \ No newline at end of file