首页设备列表,添加设备

This commit is contained in:
fengjignqi
2026-05-19 16:40:34 +08:00
parent 182289f82d
commit 99e0ee56a5
24 changed files with 496 additions and 188 deletions

View File

@@ -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) {
}
}

View File

@@ -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) {
}
}

View File

@@ -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) {
}
}

View File

@@ -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) {
}
}

View File

@@ -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) {
}
}

View File

@@ -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) {
}
}

View File

@@ -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) {

View File

@@ -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);
}
}

View File

@@ -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) {
}
}

View File

@@ -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);
}
}
}