首页设备列表,添加设备
This commit is contained in:
@@ -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;
|
||||
/***************权限相关*******************/
|
||||
|
||||
@@ -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<AddDeviceLayoutBinding, Devi
|
||||
@Override
|
||||
public void initData(Bundle savedInstanceState) {
|
||||
super.initData(savedInstanceState);
|
||||
ActivityManager.addActivity(this,getClass().getSimpleName() + "_" + ConstantUtil.ADD_DEVICE_FLAG);
|
||||
ImmersionBar.with(this)
|
||||
.statusBarColor(R.color.mainBackgroundColor) // 设置状态栏颜色
|
||||
.statusBarDarkFont(ThemeManager.isAppThemeLight(mContext)) // 设置状态栏字体为黑色
|
||||
@@ -185,4 +187,24 @@ public class AddDeviceActivity extends BaseActivity<AddDeviceLayoutBinding, Devi
|
||||
public void onPermissionsDenied(int requestCode, @NonNull List<String> 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) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<DeviceConnectLayoutBindi
|
||||
@Override
|
||||
public void initData(Bundle savedInstanceState) {
|
||||
super.initData(savedInstanceState);
|
||||
ActivityManager.addActivity(this,getClass().getSimpleName() + "_" + ConstantUtil.ADD_DEVICE_FLAG);
|
||||
ImmersionBar.with(this)
|
||||
.statusBarColor(R.color.color_F9F9F9)
|
||||
.statusBarDarkFont(true)
|
||||
@@ -94,4 +97,24 @@ public class DeviceConnectActivity extends BaseActivity<DeviceConnectLayoutBindi
|
||||
public void logOut(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void turnOnOffDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,4 +131,24 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
public void logOut(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void turnOnOffDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,4 +65,24 @@ public class DeviceInfoActivity extends BaseActivity<DeviceInfoLayoutBinding, De
|
||||
public void logOut(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void turnOnOffDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.ckkj.water.device;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
||||
import com.ckkj.water.ConstantUtil;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseActivity;
|
||||
import com.ckkj.water.databinding.SetDeviceNameLayoutBinding;
|
||||
@@ -11,6 +13,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;
|
||||
|
||||
@@ -56,12 +59,33 @@ public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBindin
|
||||
ToastUtil.showShort(mContext,getString(R.string.input_device_name_hint));
|
||||
return;
|
||||
}
|
||||
ToastUtil.showShort(mContext,"名称保存成功");
|
||||
goTo(mContext,DeviceControlActivity.class,null);
|
||||
// ToastUtil.showShort(mContext,"名称保存成功");
|
||||
// goTo(mContext,DeviceControlActivity.class,null);
|
||||
showLoadingDialog();
|
||||
mPresenter.addDevice();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加设备成功
|
||||
* @param bean
|
||||
*/
|
||||
@Override
|
||||
public void addDeviceSuccess(BaseBean bean) {
|
||||
hideDialogLoading();
|
||||
ToastUtil.showShort(mContext,"设备保存成功");
|
||||
ActivityManager.removeActivityByTag(ConstantUtil.ADD_DEVICE_FLAG);
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
goTo(mContext,DeviceControlActivity.class,null);
|
||||
finish();
|
||||
}
|
||||
},800);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getLayoutResId(Bundle savedInstanceState) {
|
||||
return 0;
|
||||
@@ -76,4 +100,20 @@ public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBindin
|
||||
public void logOut(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void turnOnOffDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,4 +140,24 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
|
||||
public void logOut(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void turnOnOffDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.ckkj.water.device.mvp.DeviceImpl;
|
||||
import com.ckkj.water.device.mvp.DevicePresenter;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.permission.PermissionActivity;
|
||||
import com.ckkj.water.utils.manager.ActivityManager;
|
||||
import com.ckkj.water.utils.manager.ThemeManager;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
import com.ckkj.water.utils.text.TextUtil;
|
||||
@@ -56,7 +57,7 @@ public class SelectWifiActivity extends BaseActivity<DeviceResetWifiBinding, Dev
|
||||
super.onCreate(savedInstanceState);
|
||||
wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
|
||||
wifiScanReceiver = new WifiScanReceiver();
|
||||
|
||||
ActivityManager.addActivity(this,getClass().getSimpleName() + "_" + ConstantUtil.ADD_DEVICE_FLAG);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -190,6 +191,26 @@ public class SelectWifiActivity extends BaseActivity<DeviceResetWifiBinding, Dev
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void turnOnOffDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
private class WifiScanReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
package com.ckkj.water.device.mvp;
|
||||
|
||||
import com.ckkj.water.base.IView;
|
||||
import com.ckkj.water.index.mvp.IndexContract;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class DeviceContract {
|
||||
public interface CallBack<T> {
|
||||
@@ -8,8 +14,27 @@ public class DeviceContract {
|
||||
void fail(String msg);
|
||||
}
|
||||
public interface DataModel{
|
||||
|
||||
//查询设备信息
|
||||
void getDeviceInfomation(Map<String,String> 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<String, String> 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<BaseBean>() {
|
||||
@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) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<DeviceContract.DeviceView> {
|
||||
private DeviceImpl impl;
|
||||
@@ -8,4 +15,33 @@ public class DevicePresenter extends BasePresenter<DeviceContract.DeviceView> {
|
||||
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<BaseBean>() {
|
||||
@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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<IndexFragmentLayoutBinding, Inde
|
||||
|
||||
@Override
|
||||
public void initData(@Nullable Bundle savedInstanceState) {
|
||||
IndexDeviceEntity entity = new IndexDeviceEntity("智能浇水设备A1","YA226641000101","工作中",100);
|
||||
IndexDeviceEntity entity2 = new IndexDeviceEntity("智能浇水设备B1","YA22664100000","工作中",80);
|
||||
IndexDeviceEntity entity3 = new IndexDeviceEntity("智能浇水设备C5","YA234534000101","工作中",70);
|
||||
IndexDeviceEntity entity4 = new IndexDeviceEntity("智能浇水设备D6","YA2266678543101","工作中",50);
|
||||
devList.add(entity);
|
||||
devList.add(entity2);
|
||||
devList.add(entity3);
|
||||
devList.add(entity4);
|
||||
// 设置自定义刷新头
|
||||
RefreshHeader header = new CustomRefreshHeader(mContext);
|
||||
viewBinding.refresh.setRefreshHeader(header);
|
||||
viewBinding.refresh.setRefreshFooter(new ClassicsFooter(mContext));
|
||||
viewBinding.refresh.setOnRefreshListener(layout -> {
|
||||
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<IndexFragmentLayoutBinding, Inde
|
||||
* 获取设备列表成功
|
||||
*/
|
||||
@Override
|
||||
public void getDeviceListSuccess() {
|
||||
public void getDeviceListSuccess(List<IndexDeviceEntity> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -27,10 +27,10 @@ public class DeviceAdapter extends BaseQuickAdapter<IndexDeviceEntity, BaseViewH
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder holder, IndexDeviceEntity item) {
|
||||
holder.setText(R.id.tv_device_name,item.getDeviceNames());
|
||||
holder.setText(R.id.tv_device_serial,item.getDeviceSerials());
|
||||
holder.setText(R.id.tv_device_status,item.getDeviceStatuses());
|
||||
holder.setText(R.id.tv_battery_level,item.getBatteryLevels() + "");
|
||||
holder.setText(R.id.tv_device_name,item.getDeviceName());
|
||||
holder.setText(R.id.tv_device_serial,item.getDeviceSn());
|
||||
holder.setText(R.id.tv_device_status,"工作中");
|
||||
holder.setText(R.id.tv_battery_level,"80");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2,48 +2,44 @@ package com.ckkj.water.index.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class IndexDeviceEntity implements Serializable {
|
||||
private String deviceNames;
|
||||
private String deviceSerials;
|
||||
private String deviceStatuses;
|
||||
private int batteryLevels;
|
||||
|
||||
public IndexDeviceEntity(String deviceNames, String deviceSerials, String deviceStatuses, int batteryLevels) {
|
||||
this.deviceNames = deviceNames;
|
||||
this.deviceSerials = deviceSerials;
|
||||
this.deviceStatuses = deviceStatuses;
|
||||
this.batteryLevels = batteryLevels;
|
||||
}
|
||||
/**
|
||||
* id : 2056638783822123010
|
||||
* deviceNo : 1779175872972
|
||||
* userId : 2056543507514097665
|
||||
* deviceName : 50号设备
|
||||
* deviceImg : null
|
||||
* status : 0
|
||||
* powerLevel : null
|
||||
* powerLevelUpdatatime : null
|
||||
* wifiName : 橙空科技WiFi
|
||||
* wifiPassword : 12321212
|
||||
* deviceEm : 213123123123
|
||||
* deviceSn : sdfsd32423gdfgdf3
|
||||
* fwVer : fwVer-56565644
|
||||
* macAddress : 2E:8H:00:KK:N7
|
||||
* expirationTime : null
|
||||
*/
|
||||
|
||||
public String getDeviceNames() {
|
||||
return deviceNames;
|
||||
}
|
||||
|
||||
public void setDeviceNames(String deviceNames) {
|
||||
this.deviceNames = deviceNames;
|
||||
}
|
||||
|
||||
public String getDeviceSerials() {
|
||||
return deviceSerials;
|
||||
}
|
||||
|
||||
public void setDeviceSerials(String deviceSerials) {
|
||||
this.deviceSerials = deviceSerials;
|
||||
}
|
||||
|
||||
public String getDeviceStatuses() {
|
||||
return deviceStatuses;
|
||||
}
|
||||
|
||||
public void setDeviceStatuses(String deviceStatuses) {
|
||||
this.deviceStatuses = deviceStatuses;
|
||||
}
|
||||
|
||||
public int getBatteryLevels() {
|
||||
return batteryLevels;
|
||||
}
|
||||
|
||||
public void setBatteryLevels(int batteryLevels) {
|
||||
this.batteryLevels = batteryLevels;
|
||||
}
|
||||
private String id;
|
||||
private String deviceNo;
|
||||
private String userId;
|
||||
private String deviceName;
|
||||
private Object deviceImg;
|
||||
private String status;
|
||||
private Object powerLevel;
|
||||
private Object powerLevelUpdatatime;
|
||||
private String wifiName;
|
||||
private String wifiPassword;
|
||||
private String deviceEm;
|
||||
private String deviceSn;
|
||||
private String fwVer;
|
||||
private String macAddress;
|
||||
private Object expirationTime;
|
||||
}
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.ckkj.water.index.mvp;
|
||||
|
||||
import com.ckkj.water.base.IView;
|
||||
import com.ckkj.water.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.login.entity.LoginEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -16,7 +18,7 @@ import java.util.Map;
|
||||
|
||||
public class IndexContract {
|
||||
public interface CallBack<T> {
|
||||
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<String,String> map,CallBack callBack);
|
||||
|
||||
//查询设备信息
|
||||
void getDeviceInfomation(Map<String,String> 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<IndexDeviceEntity> list,int total);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<BaseBean>() {
|
||||
.subscribe(new Observer<BaseBean<List<IndexDeviceEntity>>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseBean bean) {
|
||||
public void onNext(@NonNull BaseBean<List<IndexDeviceEntity>> 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<String, String> 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) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<IndexContract.IndexView>{
|
||||
|
||||
@@ -17,12 +17,13 @@ public class IndexPresenter extends BasePresenter<IndexContract.IndexView>{
|
||||
/**
|
||||
* 查询设备列表
|
||||
*/
|
||||
public void getDevicesList() {
|
||||
mImpl.getDeviceList(new HashMap<>(), new IndexContract.CallBack<BaseBean>() {
|
||||
public void getDevicesList(int mCurrentPage) {
|
||||
mImpl.getDeviceList(new HashMap<>(), new IndexContract.CallBack<List<IndexDeviceEntity>>() {
|
||||
|
||||
@Override
|
||||
public void success(BaseBean bean) {
|
||||
public void success(List<IndexDeviceEntity> list, int total) {
|
||||
if(IndexPresenter.this.getView() != null){
|
||||
IndexPresenter.this.getView().getDeviceListSuccess();
|
||||
IndexPresenter.this.getView().getDeviceListSuccess(list,total);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ public class MainActivity extends BaseActivity<MainActivityLayoutBinding, MainPr
|
||||
@Override
|
||||
public void initData(Bundle savedInstanceState) {
|
||||
super.initData(savedInstanceState);
|
||||
mPresenter.checkNewVersion();
|
||||
// mPresenter.checkNewVersion();
|
||||
// 清空Fragment列表,避免状态恢复问题
|
||||
mFragmentList.clear();
|
||||
mFragmentList.add(new IndexFragment());
|
||||
|
||||
@@ -20,6 +20,8 @@ public class BaseBean<T> 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<T> implements Serializable {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public T getRows() {
|
||||
return rows;
|
||||
}
|
||||
|
||||
public T getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -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<BaseBean> getIndexDeviceList(@HeaderMap Map<String, String> headMap);
|
||||
Observable<BaseBean<List<IndexDeviceEntity>>> getIndexDeviceList(@HeaderMap Map<String, String> headMap);
|
||||
//添加设备
|
||||
@POST("app/v1/addDevice")
|
||||
Observable<BaseBean> addDevice(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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<String, Activity> tempMap =
|
||||
new HashMap<>(activitys);
|
||||
|
||||
for (Map.Entry<String, Activity> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user