Compare commits
2 Commits
50912b10c9
...
c90d26afc1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c90d26afc1 | ||
|
|
dcce26edf2 |
@@ -47,7 +47,8 @@ public class ConstantUtil {
|
||||
public static final int CAMERA_AUTH_CODE = 1003;
|
||||
//快速下单,下载模板到手机
|
||||
public static final int DOWN_TEMPLATE_CODE = 1004;
|
||||
|
||||
|
||||
/***************设备相关*******************/
|
||||
//设备解绑成功广播
|
||||
public static final String DEVICE_UNBIND_SUCCESS = "device_unbind_success";
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ public class EventMessage {
|
||||
public static final String DATA_REFRESH_EVENT = "data_refresh_event";
|
||||
public static final String USER_LOGIN_LOST = "user_login_lost";
|
||||
public static final String CODE_LOGIN_LOST = "code_login_lost";
|
||||
public static final String ACTIVITY_FINISH = "activity_finish";
|
||||
public static final String WX_PAY_SUCCESS = "wx_pay_success";
|
||||
public static final String USER_LOGIN_SUCCESS = "user_login_success";
|
||||
public static final String HISTORY_SESSIONID_DELETE_SUCCESS = "history_sessionid_delete_success";
|
||||
|
||||
@@ -478,16 +478,21 @@ public abstract class BaseActivity<T extends ViewBinding, P extends IPresenter>
|
||||
*
|
||||
* @param title 标题
|
||||
* @param hint 提示内容2
|
||||
* @param content 内容
|
||||
* @param touchOutsideCancel 弹窗类型
|
||||
* @param cancelText 取消 文案
|
||||
* @param confirmText 确定 文案
|
||||
* @param click
|
||||
*/
|
||||
public void showEditDialog(String title, String hint, boolean touchOutsideCancel, String cancelText, String confirmText,
|
||||
public void showEditDialog(String title, String hint,String content, boolean touchOutsideCancel, String cancelText, String confirmText,
|
||||
final OnDialogClick click) {
|
||||
View view = getLayoutInflater().inflate(R.layout.public_dialog_input_text, null);
|
||||
EditText editText = view.findViewById(R.id.et_input);
|
||||
editText.setHint(hint);
|
||||
if(TextUtils.isEmpty(content)){
|
||||
editText.setHint(hint);
|
||||
}else{
|
||||
editText.setText(content);
|
||||
}
|
||||
setTextView(R.id.tv_title, title, view);
|
||||
if (!TextUtils.isEmpty(confirmText) && !TextUtils.isEmpty(cancelText)) {
|
||||
((TextView) view.findViewById(R.id.btnLeft)).setText(cancelText);
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.ckkj.water.databinding.AddDeviceLayoutBinding;
|
||||
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.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.utils.manager.ActivityManager;
|
||||
import com.ckkj.water.utils.manager.ThemeManager;
|
||||
@@ -193,6 +194,11 @@ public class AddDeviceActivity extends BaseActivity<AddDeviceLayoutBinding, Devi
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.ckkj.water.databinding.DeviceConnectLayoutBinding;
|
||||
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.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.utils.manager.ActivityManager;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
@@ -103,6 +104,11 @@ public class DeviceConnectActivity extends BaseActivity<DeviceConnectLayoutBindi
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package com.ckkj.water.device;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.ckkj.water.EventMessage;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseActivity;
|
||||
import com.ckkj.water.custom.GridSpacingItemDecoration;
|
||||
@@ -14,7 +18,9 @@ import com.ckkj.water.device.adapter.DeviceTimeSelectAdapter;
|
||||
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.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.lxj.xpopup.core.BasePopupView;
|
||||
@@ -22,6 +28,9 @@ import com.lxj.xpopup.core.BasePopupView;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import de.greenrobot.event.Subscribe;
|
||||
import de.greenrobot.event.ThreadMode;
|
||||
|
||||
/**
|
||||
* 设备控制页面
|
||||
*/
|
||||
@@ -29,6 +38,7 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
implements DeviceContract.DeviceView {
|
||||
|
||||
private List<String> mTimeList = new ArrayList<>();
|
||||
private IndexDeviceEntity mDeviceEntity;
|
||||
private DeviceTimeSelectAdapter mAdapter;
|
||||
@Override
|
||||
public DevicePresenter createPresenter() {
|
||||
@@ -38,6 +48,15 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
@Override
|
||||
public void initData(Bundle savedInstanceState) {
|
||||
super.initData(savedInstanceState);
|
||||
Bundle bundle = getIntent().getExtras();
|
||||
if(bundle != null){
|
||||
mDeviceEntity = (IndexDeviceEntity) bundle.getSerializable("device_info");
|
||||
if(mDeviceEntity != null){
|
||||
showLoadingDialog();
|
||||
mPresenter.getDeviceDetailInfo(mDeviceEntity.getId());
|
||||
viewBinding.includedTitle.tvTitle.setText(mDeviceEntity.getDeviceName());
|
||||
}
|
||||
}
|
||||
mTimeList.add("1min");
|
||||
mTimeList.add("2min");
|
||||
mTimeList.add("3min");
|
||||
@@ -55,8 +74,8 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
.statusBarDarkFont(true) // 设置状态栏字体为黑色
|
||||
.titleBar(viewBinding.rlTitle)
|
||||
.init();
|
||||
viewBinding.includedTitle.tvTitle.setText("设备名称");
|
||||
viewBinding.includedTitle.imgSetting.setVisibility(View.VISIBLE);
|
||||
viewBinding.includedTitle.imgSetting.setImageDrawable(getDrawable(R.mipmap.device_ctrl_setting));
|
||||
mAdapter = new DeviceTimeSelectAdapter(mContext,R.layout.device_work_time_item,mTimeList);
|
||||
viewBinding.rvTimeList.setAdapter(mAdapter);
|
||||
viewBinding.rvTimeList.addItemDecoration(new GridSpacingItemDecoration(4, 10, true));
|
||||
@@ -90,7 +109,9 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
break;
|
||||
|
||||
case R.id.img_setting:
|
||||
goTo(mContext, DeviceSettingsActivity.class,null);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("device_entity",mDeviceEntity);
|
||||
goToForResult(mContext, DeviceSettingsActivity.class,REQUEST_EVENT_CODE_10002,bundle);
|
||||
break;
|
||||
|
||||
case R.id.linear_bt:
|
||||
@@ -117,6 +138,38 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if(resultCode == RESULT_OK){
|
||||
switch (requestCode){
|
||||
case REQUEST_EVENT_CODE_10002:
|
||||
mDeviceEntity = (IndexDeviceEntity) data.getSerializableExtra("device_entity");
|
||||
viewBinding.includedTitle.tvTitle.setText(mDeviceEntity.getDeviceName());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MainThread)
|
||||
public void onGetMessage(EventMessage message) {
|
||||
switch (message.msg){
|
||||
case EventMessage.ACTIVITY_FINISH:
|
||||
finish();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取设备详情成功
|
||||
* @param bean
|
||||
*/
|
||||
@Override
|
||||
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
|
||||
hideDialogLoading();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLayoutResId(Bundle savedInstanceState) {
|
||||
return 0;
|
||||
@@ -124,7 +177,8 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
|
||||
@Override
|
||||
public void showError(String message) {
|
||||
|
||||
hideDialogLoading();
|
||||
ToastUtil.showShort(mContext,message);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -137,6 +191,8 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.ckkj.water.databinding.DeviceInfoLayoutBinding;
|
||||
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.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
|
||||
@@ -71,6 +72,11 @@ public class DeviceInfoActivity extends BaseActivity<DeviceInfoLayoutBinding, De
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.ckkj.water.databinding.SetDeviceNameLayoutBinding;
|
||||
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.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.utils.manager.ActivityManager;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
@@ -85,6 +86,11 @@ public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBindin
|
||||
},800);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getLayoutResId(Bundle savedInstanceState) {
|
||||
|
||||
@@ -2,11 +2,13 @@ package com.ckkj.water.device;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.ckkj.water.ConstantUtil;
|
||||
import com.ckkj.water.EventMessage;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseActivity;
|
||||
import com.ckkj.water.base.BaseFragment;
|
||||
@@ -14,15 +16,22 @@ import com.ckkj.water.databinding.DeviceSettingsLayoutBinding;
|
||||
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.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
import de.greenrobot.event.Subscribe;
|
||||
import de.greenrobot.event.ThreadMode;
|
||||
|
||||
/**
|
||||
* 设备控制页面
|
||||
*/
|
||||
public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBinding, DevicePresenter>
|
||||
implements DeviceContract.DeviceView {
|
||||
|
||||
private IndexDeviceEntity mDeviceEntity;
|
||||
@Override
|
||||
public DevicePresenter createPresenter() {
|
||||
return new DevicePresenter(new DeviceImpl());
|
||||
@@ -31,7 +40,13 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
|
||||
@Override
|
||||
public void initData(Bundle savedInstanceState) {
|
||||
super.initData(savedInstanceState);
|
||||
Bundle bundle = getIntent().getExtras();
|
||||
if(bundle != null){
|
||||
mDeviceEntity = (IndexDeviceEntity) bundle.getSerializable("device_entity");
|
||||
viewBinding.tvDeviceName.setText(mDeviceEntity.getDeviceName());
|
||||
viewBinding.tvWifiName.setText(mDeviceEntity.getWifiName());
|
||||
|
||||
}
|
||||
ImmersionBar.with(this)
|
||||
.statusBarColor(R.color.white) // 设置状态栏颜色
|
||||
.statusBarDarkFont(true) // 设置状态栏字体为黑色
|
||||
@@ -56,12 +71,16 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
|
||||
public void onClick(View v){
|
||||
switch (v.getId()){
|
||||
case R.id.img_back:
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("device_entity",mDeviceEntity);
|
||||
setResult(RESULT_OK,intent);
|
||||
finish();
|
||||
break;
|
||||
|
||||
case R.id.rl_dev_name:
|
||||
showEditDialog(getString(R.string.device_setting_name),
|
||||
getString(R.string.input_device_name_hint),
|
||||
mDeviceEntity.getDeviceName(),
|
||||
true,
|
||||
getString(R.string.cancel_text),
|
||||
getString(R.string.confirm_text), new OnDialogClick() {
|
||||
@@ -76,6 +95,8 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
|
||||
@Override
|
||||
public void onConfirmClisk(String content) {
|
||||
viewBinding.tvDeviceName.setText(content);
|
||||
mDeviceEntity.setDeviceName(content);
|
||||
mPresenter.updateDeviceInfo(mDeviceEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -104,7 +125,7 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
|
||||
|
||||
@Override
|
||||
public void onConfirmClick() {
|
||||
ToastUtil.showShort(mContext,"确定");
|
||||
mPresenter.unBindDevice(mDeviceEntity);
|
||||
}
|
||||
});
|
||||
break;
|
||||
@@ -112,6 +133,14 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("device_entity",mDeviceEntity);
|
||||
setResult(RESULT_OK,intent);
|
||||
super.onBackPressed();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
@@ -119,13 +148,46 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
|
||||
if (resultCode == RESULT_OK) {
|
||||
switch (requestCode) {
|
||||
case REQUEST_EVENT_CODE_10001:
|
||||
ToastUtil.showShort(mContext,data.getStringExtra("wifi_name"));
|
||||
viewBinding.tvWifiName.setText(data.getStringExtra("wifi_name"));
|
||||
mDeviceEntity.setWifiName(data.getStringExtra("wifi_name"));
|
||||
mDeviceEntity.setWifiPassword(data.getStringExtra("wifi_psd"));
|
||||
mPresenter.updateDeviceInfo(mDeviceEntity);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改设备信息成功
|
||||
* @param bean
|
||||
*/
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
hideDialogLoading();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finish() {
|
||||
|
||||
super.finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDeviceSuccess(BaseBean bean) {
|
||||
hideDialogLoading();
|
||||
ToastUtil.showShort(mContext, getString(R.string.unbind_success));
|
||||
EventBus.getDefault().post(new EventMessage(EventMessage.ACTIVITY_FINISH));
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
finish();
|
||||
}
|
||||
},500);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getLayoutResId(Bundle savedInstanceState) {
|
||||
return 0;
|
||||
@@ -147,14 +209,13 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void turnOnOffDeviceSuccess(BaseBean bean) {
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.ckkj.water.databinding.DeviceResetWifiBinding;
|
||||
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.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.permission.PermissionActivity;
|
||||
import com.ckkj.water.utils.manager.ActivityManager;
|
||||
@@ -196,6 +197,11 @@ public class SelectWifiActivity extends BaseActivity<DeviceResetWifiBinding, Dev
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editDeviceInfoSuccess(BaseBean bean) {
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ckkj.water.device.mvp;
|
||||
|
||||
import com.ckkj.water.base.IView;
|
||||
import com.ckkj.water.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.index.mvp.IndexContract;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
|
||||
@@ -24,7 +25,7 @@ public class DeviceContract {
|
||||
void editDeviceInfo(JSONObject json, IndexContract.CallBack callBack);
|
||||
|
||||
//删除设备信息
|
||||
void deleteDevice(JSONObject json, IndexContract.CallBack callBack);
|
||||
void deleteDevice(String id,JSONObject json, IndexContract.CallBack callBack);
|
||||
|
||||
//手动开启关闭设备
|
||||
void turnOnOffDevice(JSONObject json, IndexContract.CallBack callBack);
|
||||
@@ -33,6 +34,7 @@ public class DeviceContract {
|
||||
public interface DeviceView extends IView {
|
||||
//添加设备成功g
|
||||
void addDeviceSuccess(BaseBean bean);
|
||||
void getDeviceDetailInfo(IndexDeviceEntity bean);
|
||||
void editDeviceInfoSuccess(BaseBean bean);
|
||||
void deleteDeviceSuccess(BaseBean bean);
|
||||
void turnOnOffDeviceSuccess(BaseBean bean);
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.ckkj.water.device.mvp;
|
||||
|
||||
import com.ckkj.water.base.entity.MineUserInfoBean;
|
||||
import com.ckkj.water.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.index.mvp.IndexContract;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.network.NetWorkManager;
|
||||
@@ -18,7 +20,32 @@ public class DeviceImpl implements DeviceContract.DataModel{
|
||||
|
||||
@Override
|
||||
public void getDeviceInfomation(Map<String, String> map, IndexContract.CallBack callBack) {
|
||||
String deviceID = map.get("id");
|
||||
NetWorkManager.getRequest().getDeviceDetailInfo(NetWorkManager.getToken(), deviceID)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.unsubscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<BaseBean<IndexDeviceEntity>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseBean<IndexDeviceEntity> bean) {
|
||||
if (bean.getCode() == 200) {
|
||||
callBack.success(bean.getData(),0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
callBack.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -61,14 +88,84 @@ public class DeviceImpl implements DeviceContract.DataModel{
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改设备信息
|
||||
* @param json
|
||||
* @param callBack
|
||||
*/
|
||||
@Override
|
||||
public void editDeviceInfo(JSONObject json, IndexContract.CallBack callBack) {
|
||||
try {
|
||||
NetWorkManager.getRequest().updateDeviceInfo(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();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除设备
|
||||
* @param json
|
||||
* @param callBack
|
||||
*/
|
||||
@Override
|
||||
public void deleteDevice(JSONObject json, IndexContract.CallBack callBack) {
|
||||
public void deleteDevice(String devID,JSONObject json, IndexContract.CallBack callBack) {
|
||||
try {
|
||||
NetWorkManager.getRequest().unBindDevice(NetWorkManager.getToken(), devID)
|
||||
.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
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
package com.ckkj.water.device.mvp;
|
||||
|
||||
import com.ckkj.water.base.BasePresenter;
|
||||
import com.ckkj.water.index.entity.IndexDeviceEntity;
|
||||
import com.ckkj.water.index.mvp.IndexContract;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
|
||||
public class DevicePresenter extends BasePresenter<DeviceContract.DeviceView> {
|
||||
@@ -16,6 +20,9 @@ public class DevicePresenter extends BasePresenter<DeviceContract.DeviceView> {
|
||||
this.impl = impl;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加设备
|
||||
*/
|
||||
public void addDevice() {
|
||||
try {
|
||||
JSONObject json = new JSONObject();
|
||||
@@ -37,7 +44,95 @@ public class DevicePresenter extends BasePresenter<DeviceContract.DeviceView> {
|
||||
|
||||
@Override
|
||||
public void fail(String msg) {
|
||||
if(DevicePresenter.this.getView() != null){
|
||||
DevicePresenter.this.getView().showError( msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (JSONException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取设备详情信息
|
||||
* @param deviceID
|
||||
*/
|
||||
public void getDeviceDetailInfo(String deviceID) {
|
||||
Map<String,String> map = new HashMap<>();
|
||||
map.put("id",deviceID);
|
||||
impl.getDeviceInfomation(map, new IndexContract.CallBack<IndexDeviceEntity>() {
|
||||
@Override
|
||||
public void success(IndexDeviceEntity bean,int total) {
|
||||
if(DevicePresenter.this.getView() != null){
|
||||
DevicePresenter.this.getView().getDeviceDetailInfo(bean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fail(String msg) {
|
||||
if(DevicePresenter.this.getView() != null){
|
||||
DevicePresenter.this.getView().showError( msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改设备信息
|
||||
* @param mDeviceEntity
|
||||
*/
|
||||
public void updateDeviceInfo(IndexDeviceEntity mDeviceEntity) {
|
||||
try {
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("id",mDeviceEntity.getId());
|
||||
json.put("deviceName",mDeviceEntity.getDeviceName());
|
||||
json.put("wifiName",mDeviceEntity.getWifiName());
|
||||
json.put("wifiPassword",mDeviceEntity.getWifiPassword());
|
||||
impl.editDeviceInfo(json, new IndexContract.CallBack<BaseBean>() {
|
||||
@Override
|
||||
public void success(BaseBean bean,int total) {
|
||||
if(DevicePresenter.this.getView() != null){
|
||||
DevicePresenter.this.getView().editDeviceInfoSuccess(bean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fail(String msg) {
|
||||
if(DevicePresenter.this.getView() != null){
|
||||
DevicePresenter.this.getView().showError( msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (JSONException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 解绑设备
|
||||
* @param deviceEntity
|
||||
*/
|
||||
public void unBindDevice(IndexDeviceEntity deviceEntity) {
|
||||
try {
|
||||
// 构造JSON数组格式的请求体 ["2052921001527869441"]
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
jsonArray.put(deviceEntity.getId());
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("ids", jsonArray);
|
||||
impl.deleteDevice(deviceEntity.getId(),json, new IndexContract.CallBack<BaseBean>() {
|
||||
@Override
|
||||
public void success(BaseBean bean, int total) {
|
||||
if (DevicePresenter.this.getView() != null) {
|
||||
DevicePresenter.this.getView().deleteDeviceSuccess(bean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fail(String msg) {
|
||||
if (DevicePresenter.this.getView() != null) {
|
||||
DevicePresenter.this.getView().showError(msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (JSONException e) {
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.view.View;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.ckkj.water.AppConfig;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseFragment;
|
||||
import com.ckkj.water.custom.view.CustomRefreshHeader;
|
||||
@@ -43,6 +44,15 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
|
||||
protected void initArgs(Bundle bundle) {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResumeInitData() {
|
||||
super.onResumeInitData();
|
||||
if(AppConfig.USER_LOGIN){
|
||||
showLoadingDialog();
|
||||
mPresenter.getDevicesList(mCurrentPage);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initData(@Nullable Bundle savedInstanceState) {
|
||||
// 设置自定义刷新头
|
||||
@@ -57,9 +67,6 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
|
||||
mCurrentPage++;
|
||||
mPresenter.getDevicesList(mCurrentPage);
|
||||
});
|
||||
showLoadingDialog();
|
||||
mPresenter.getDevicesList(mCurrentPage);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -136,7 +143,9 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
|
||||
deviceAdapter = new DeviceAdapter(mContext,R.layout.index_device_list_item,devList);
|
||||
viewBinding.rvDevices.setAdapter(deviceAdapter);
|
||||
deviceAdapter.setOnItemClickListener((adapter, view, position) -> {
|
||||
goTo(mContext, DeviceControlActivity.class,null);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("device_info",devList.get(position));
|
||||
goTo(mContext, DeviceControlActivity.class,bundle);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -16,9 +16,13 @@ import java.util.Map;
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.RequestBody;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.DELETE;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.HTTP;
|
||||
import retrofit2.http.HeaderMap;
|
||||
import retrofit2.http.POST;
|
||||
import retrofit2.http.PUT;
|
||||
import retrofit2.http.Path;
|
||||
import retrofit2.http.QueryMap;
|
||||
|
||||
/**
|
||||
@@ -46,6 +50,19 @@ public interface Request {
|
||||
//添加设备
|
||||
@POST("app/v1/addDevice")
|
||||
Observable<BaseBean> addDevice(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||
//获取设备详细信息
|
||||
@GET("app/v1/device/{id}")
|
||||
Observable<BaseBean<IndexDeviceEntity>> getDeviceDetailInfo(@HeaderMap Map<String, String> headMap, @Path("id") String id);
|
||||
//修改更新设备信息
|
||||
@PUT("app/v1/updateDeviceInfo")
|
||||
Observable<BaseBean> updateDeviceInfo(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||
|
||||
//解绑信息
|
||||
// 示例:ids array[string]
|
||||
//["2052921001527869441"]
|
||||
@DELETE("app/v1/deleteDevice/{ids}")
|
||||
Observable<BaseBean> unBindDevice(@HeaderMap Map<String,String> headMap, @Path("ids") String id);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -102,6 +102,7 @@
|
||||
android:layout_marginRight="@dimen/dp_23"
|
||||
android:layout_alignParentRight="true"/>
|
||||
<TextView
|
||||
android:id="@+id/tv_wifi_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
<string name="device_setting_info">设备信息</string>
|
||||
<string name="device_setting_wifi_manager">WiFi管理</string>
|
||||
<string name="device_setting_unbind">解绑设备</string>
|
||||
<string name="unbind_success">设备解绑成功</string>
|
||||
<string name="settings_title">设置</string>
|
||||
<string name="confirm_text">确定</string>
|
||||
<string name="cancel_text">取消</string>
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
<string name="device_setting_info">设备信息</string>
|
||||
<string name="device_setting_wifi_manager">WiFi管理</string>
|
||||
<string name="device_setting_unbind">解绑设备</string>
|
||||
<string name="unbind_success">设备解绑成功</string>
|
||||
<string name="settings_title">设置</string>
|
||||
<string name="confirm_text">确定</string>
|
||||
<string name="cancel_text">取消</string>
|
||||
|
||||
Reference in New Issue
Block a user