扫描二维码,连接配网1

This commit is contained in:
fengjignqi
2026-06-12 17:30:12 +08:00
parent 56af585524
commit 4d4df82c6e
22 changed files with 327 additions and 58 deletions

View File

@@ -1,10 +1,8 @@
package com.ckkj.water.device;
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
@@ -35,7 +33,6 @@ import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
import no.nordicsemi.android.ble.BleManager;
import pub.devrel.easypermissions.EasyPermissions;
/**
@@ -190,7 +187,7 @@ public class AddDeviceActivity extends BaseActivity<AddDeviceLayoutBinding, Devi
}
@Override
public void addDeviceSuccess(BaseBean bean) {
public void addDeviceSuccess(WaterDeviceEntity bean) {
}

View File

@@ -7,28 +7,24 @@ import android.Manifest;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothManager;
import android.bluetooth.le.BluetoothLeScanner;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.drawable.AnimationDrawable;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.ParcelUuid;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.core.content.ContextCompat;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ckkj.water.BuildConfig;
import com.ckkj.water.ConstantUtil;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity;
@@ -50,14 +46,12 @@ import com.maning.mlkitscanner.scan.callback.act.MNScanCallback;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import no.nordicsemi.android.ble.observer.ConnectionObserver;
import no.nordicsemi.android.support.v18.scanner.BluetoothLeScannerCompat;
import no.nordicsemi.android.support.v18.scanner.ScanCallback;
import no.nordicsemi.android.support.v18.scanner.ScanFilter;
@@ -430,7 +424,7 @@ public class AddDeviceActivity_copy extends BaseActivity<AddDeviceLayoutBinding,
}
@Override
public void addDeviceSuccess(BaseBean bean) {
public void addDeviceSuccess(WaterDeviceEntity bean) {
}

View File

@@ -1,7 +1,6 @@
package com.ckkj.water.device;
import static android.view.View.GONE;
import static android.view.View.INVISIBLE;
import static android.view.View.VISIBLE;
import android.graphics.drawable.AnimationDrawable;
@@ -134,8 +133,8 @@ public class DeviceConnectActivity extends BaseActivity<DeviceConnectLayoutBindi
@Override
public void run() {
Bundle bundle = new Bundle();
bundle.putString("wifi_name", mWifiName);
bundle.putString("wifi_password", mWifiPassword);
mBleDeviceEntity.setWifiName(mWifiName);
mBleDeviceEntity.setWifiPassword(mWifiPassword);
bundle.putSerializable("ble_device_entity", mBleDeviceEntity);
goTo(mContext, DeviceReNameActivity.class, bundle);
finish();
@@ -254,7 +253,7 @@ public class DeviceConnectActivity extends BaseActivity<DeviceConnectLayoutBindi
}
@Override
public void addDeviceSuccess(BaseBean bean) {
public void addDeviceSuccess(WaterDeviceEntity bean) {
}

View File

@@ -11,7 +11,6 @@ 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.base.BaseFragment;
import com.ckkj.water.custom.GridSpacingItemDecoration;
import com.ckkj.water.custom.view.CustomBubbleAttachPopup;
import com.ckkj.water.databinding.DeviceControlLayoutBinding;
@@ -21,7 +20,6 @@ import com.ckkj.water.device.mvp.DeviceImpl;
import com.ckkj.water.device.mvp.DevicePresenter;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
import com.ckkj.water.utils.manager.PowerIconManage;
import com.ckkj.water.utils.manager.ThemeManager;
import com.ckkj.water.utils.show.ToastUtil;
@@ -61,15 +59,27 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
showLoadingDialog();
mPresenter.getDeviceDetailInfo(mDeviceEntity.getDeviceNo());
viewBinding.includedTitle.tvTitle.setText(mDeviceEntity.getDeviceName());
if(mDeviceEntity.getWorkStatus().equals("1")){
viewBinding.tvDeviceStatus.setText(getString(R.string.device_status_working));
viewBinding.tvDeviceStatus.setTextColor(mContext.getResources().getColor(R.color.color_zhu));
viewBinding.tvConfirm.setText(getString(R.string.device_control_stop));
if(mDeviceEntity.getStatus().equals("1") || mDeviceEntity.getStatus().equals("2")){
if(mDeviceEntity.getWorkStatus().equals("1")){
viewBinding.tvDeviceStatus.setText(getString(R.string.device_status_working));
viewBinding.tvDeviceStatus.setTextColor(mContext.getResources().getColor(R.color.color_zhu));
viewBinding.tvConfirm.setText(getString(R.string.device_control_stop));
}else{
viewBinding.tvDeviceStatus.setText(getString(R.string.device_status_not_working));
viewBinding.tvDeviceStatus.setTextColor(mContext.getResources().getColor(R.color.color_999999));
viewBinding.tvConfirm.setText(getString(R.string.device_control_start));
}
viewBinding.linearWifi.setBackground(mContext.getResources().getDrawable(R.drawable.shape_device_ctrl_green_cor12));
viewBinding.imgWifiLogo.setImageResource(R.mipmap.icon_ctrl_wifi_white);
}else{
viewBinding.tvDeviceStatus.setText(getString(R.string.device_status_not_working));
viewBinding.tvDeviceStatus.setText(getString(R.string.device_status_offline));
viewBinding.tvDeviceStatus.setTextColor(mContext.getResources().getColor(R.color.color_999999));
viewBinding.tvConfirm.setText(getString(R.string.device_control_start));
viewBinding.tvConfirm.setEnabled(false);
viewBinding.tvConfirm.setBackgroundColor(mContext.getResources().getColor(R.color.color_999999));
viewBinding.linearWifi.setBackground(mContext.getResources().getDrawable(R.drawable.shape_device_ctrl_white_cor12));
viewBinding.imgWifiLogo.setImageResource(R.mipmap.icon_ctrl_wifi_green);
}
}
}
mTimeList.add("1min");
@@ -307,7 +317,7 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
}
@Override
public void addDeviceSuccess(BaseBean bean) {
public void addDeviceSuccess(WaterDeviceEntity bean) {
}

View File

@@ -19,6 +19,9 @@ import com.gyf.immersionbar.ImmersionBar;
*/
public class DeviceInfoActivity extends BaseActivity<DeviceInfoLayoutBinding, DevicePresenter>
implements DeviceContract.DeviceView {
private WaterDeviceEntity mDeviceEntity;
@Override
public DevicePresenter createPresenter() {
return new DevicePresenter(new DeviceImpl());
@@ -27,7 +30,14 @@ public class DeviceInfoActivity extends BaseActivity<DeviceInfoLayoutBinding, De
@Override
public void initData(Bundle savedInstanceState) {
super.initData(savedInstanceState);
Bundle bundle = getIntent().getExtras();
if(bundle != null){
mDeviceEntity = (WaterDeviceEntity) bundle.getSerializable("device_entity");
viewBinding.tvDevCode.setText(mDeviceEntity.getDeviceNo());
viewBinding.tvDevMod.setText(mDeviceEntity.getDeviceEm());
viewBinding.tvDeviceSerial.setText(mDeviceEntity.getDeviceSn());
viewBinding.tvDevVersion.setText(mDeviceEntity.getFwVer());
}
ImmersionBar.with(this)
.statusBarDarkFont(ThemeManager.isAppThemeLight(mContext)) // 白色状态栏图标
.navigationBarColor(R.color.mainBackgroundColor)
@@ -69,7 +79,7 @@ public class DeviceInfoActivity extends BaseActivity<DeviceInfoLayoutBinding, De
}
@Override
public void addDeviceSuccess(BaseBean bean) {
public void addDeviceSuccess(WaterDeviceEntity bean) {
}

View File

@@ -38,9 +38,11 @@ public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBindin
super.initData(savedInstanceState);
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
mWifiName = bundle.getString("wifi_name", "");
mWifiPassword = bundle.getString("wifi_password", "");
mBleDeviceEntity = (WaterDeviceEntity) bundle.getSerializable("ble_device_entity");
if(mBleDeviceEntity != null){
mWifiName = mBleDeviceEntity.getWifiName();
mWifiPassword = mBleDeviceEntity.getWifiPassword();
}
}
ImmersionBar.with(this)
@@ -86,7 +88,7 @@ public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBindin
* @param bean
*/
@Override
public void addDeviceSuccess(BaseBean bean) {
public void addDeviceSuccess(WaterDeviceEntity bean) {
hideDialogLoading();
ToastUtil.showShort(mContext,"设备保存成功");
ActivityManager.removeActivityByTag(ConstantUtil.ADD_DEVICE_FLAG);
@@ -94,7 +96,7 @@ public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBindin
@Override
public void run() {
Bundle bundle = new Bundle();
bundle.putSerializable("device_info",mBleDeviceEntity);
bundle.putSerializable("device_info",bean);
goTo(mContext,DeviceControlActivity.class,bundle);
finish();
}

View File

@@ -107,7 +107,9 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
break;
case R.id.rl_dev_info:
goTo(mContext, DeviceInfoActivity.class,null);
Bundle bundleDev = new Bundle();
bundleDev.putSerializable("device_entity",mDeviceEntity);
goTo(mContext, DeviceInfoActivity.class,bundleDev);
break;
case R.id.rl_dev_wifi_manager:
@@ -205,7 +207,7 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
}
@Override
public void addDeviceSuccess(BaseBean bean) {
public void addDeviceSuccess(WaterDeviceEntity bean) {
}

View File

@@ -365,7 +365,7 @@ public class SelectWifiActivity extends BaseActivity<DeviceResetWifiBinding, Dev
}
@Override
public void addDeviceSuccess(BaseBean bean) {
public void addDeviceSuccess(WaterDeviceEntity bean) {
}

View File

@@ -320,7 +320,7 @@ public class SelectWifiActivity_copy extends BaseActivity<DeviceResetWifiBinding
}
@Override
public void addDeviceSuccess(BaseBean bean) {
public void addDeviceSuccess(WaterDeviceEntity bean) {
}

View File

@@ -33,7 +33,7 @@ public class DeviceContract {
public interface DeviceView extends IView {
//添加设备成功g
void addDeviceSuccess(BaseBean bean);
void addDeviceSuccess(WaterDeviceEntity bean);
void getDeviceDetailInfo(WaterDeviceEntity bean);
void editDeviceInfoSuccess(BaseBean bean);
void deleteDeviceSuccess(BaseBean bean);

View File

@@ -59,15 +59,15 @@ public class DeviceImpl implements DeviceContract.DataModel{
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseBean>() {
.subscribe(new Observer<BaseBean<WaterDeviceEntity>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseBean bean) {
public void onNext(@NonNull BaseBean<WaterDeviceEntity> bean) {
if (bean.getCode() == 200) {
callBack.success(bean,0);
callBack.success(bean.getData(),0);
} else {
callBack.fail(bean.getMessage());
}

View File

@@ -36,9 +36,9 @@ public class DevicePresenter extends BasePresenter<DeviceContract.DeviceView> {
// json.put("deviceEm","213123123123");
// json.put("deviceSn","sdfsd32423gdfgdf3");
// json.put("fwVer","fwVer-56565644");
impl.addDevice(json, new IndexContract.CallBack<BaseBean>() {
impl.addDevice(json, new IndexContract.CallBack<WaterDeviceEntity>() {
@Override
public void success(BaseBean bean,int total) {
public void success(WaterDeviceEntity bean,int total) {
if(DevicePresenter.this.getView() != null){
DevicePresenter.this.getView().addDeviceSuccess(bean);
}