diff --git a/app/src/main/java/com/ckkj/water/AppConfig.java b/app/src/main/java/com/ckkj/water/AppConfig.java index dc65f61..9cc599d 100644 --- a/app/src/main/java/com/ckkj/water/AppConfig.java +++ b/app/src/main/java/com/ckkj/water/AppConfig.java @@ -21,8 +21,8 @@ public class AppConfig { // public static boolean IS_TEST_REQUEST = true; /**************************本地*******************************/ -// public static String BASE_URL = "http://192.168.1.217:8081/";//后端本地测试 - public static String BASE_URL = "http://47.97.217.123:8081/";//服务器测试 + public static String BASE_URL = "http://192.168.1.217:8081/";//后端本地测试 +// public static String BASE_URL = "http://47.97.217.123:8081/";//服务器测试 public static String BASE_URL_TWO = BASE_URL;//测试 public static String BASE_URL_THREE = BASE_URL;//测试 public static boolean IS_TEST_REQUEST = true; diff --git a/app/src/main/java/com/ckkj/water/base/BaseActivity.java b/app/src/main/java/com/ckkj/water/base/BaseActivity.java index 67df836..9ef4c2f 100644 --- a/app/src/main/java/com/ckkj/water/base/BaseActivity.java +++ b/app/src/main/java/com/ckkj/water/base/BaseActivity.java @@ -1202,6 +1202,7 @@ public abstract class BaseActivity editText.setInputType( InputType.TYPE_CLASS_NUMBER ); + editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(4)}); break; case INPUT_TYPE_LETTER: diff --git a/app/src/main/java/com/ckkj/water/device/DeviceReNameActivity.java b/app/src/main/java/com/ckkj/water/device/DeviceReNameActivity.java index f8eee3d..c2f4aaf 100644 --- a/app/src/main/java/com/ckkj/water/device/DeviceReNameActivity.java +++ b/app/src/main/java/com/ckkj/water/device/DeviceReNameActivity.java @@ -8,6 +8,7 @@ import android.view.View; import com.ckkj.water.ConstantUtil; import com.ckkj.water.R; import com.ckkj.water.base.BaseActivity; +import com.ckkj.water.base.BaseFragment; import com.ckkj.water.databinding.SetDeviceNameLayoutBinding; import com.ckkj.water.device.mvp.DeviceContract; import com.ckkj.water.device.mvp.DeviceImpl; @@ -90,7 +91,7 @@ public class DeviceReNameActivity extends BaseActivity - implements DeviceContract.DeviceView { - - private WifiManager wifiManager; - private WifiListAdapter wifiListAdapter; - private WifiScanReceiver wifiScanReceiver; - //100 来自设备添加, 200 来自设备信息 - private int WITCH_FROM_CODE = 100; - - private String mWifiName = ""; - - private WaterDeviceEntity mBleDeviceEntity; - private EspProvisionManager espProvisionManager; - private boolean isBleConnecting = false; - private boolean isBleConnected = false; - - @Override - public DevicePresenter createPresenter() { - return new DevicePresenter(new DeviceImpl()); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); - wifiScanReceiver = new WifiScanReceiver(); - ActivityManager.addActivity(this,getClass().getSimpleName() + "_" + ConstantUtil.ADD_DEVICE_FLAG); - } - - @Override - protected void onResume() { - super.onResume(); - registerReceiver(wifiScanReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); - } - - @Override - protected void onPause() { - super.onPause(); - unregisterReceiver(wifiScanReceiver); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - if (WITCH_FROM_CODE == 100 && espProvisionManager != null) { - espProvisionManager.disconnect(); - espProvisionManager.setCallback(null); - } - } - - @Override - public void initData(Bundle savedInstanceState) { - super.initData(savedInstanceState); - Bundle bundle = getIntent().getExtras(); - if(bundle != null){ - WITCH_FROM_CODE = bundle.getInt(ConstantUtil.ACTIVITY_NAVIGATE_FLAG); - mBleDeviceEntity = (WaterDeviceEntity) bundle.getSerializable("ble_device_entity"); - } - - ImmersionBar.with(this) - .statusBarColor(R.color.color_gray_theme) - .statusBarDarkFont(ThemeManager.isAppThemeLight(mContext)) - .titleBar(viewBinding.rlTitle) - .init(); - if(WITCH_FROM_CODE == 200){ - viewBinding.tvNext.setText(getString(R.string.confirm_text)); - } - viewBinding.includedTitle.tvTitle.setText(R.string.select_wifi_tip); - - initListener(); - initWifiList(); - if (WITCH_FROM_CODE == 100) { - initEspProvision(); - connectBleDevice(); - } - } - - private void initWifiList() { - wifiListAdapter = new WifiListAdapter(mContext); - viewBinding.rvWifiList.setAdapter(wifiListAdapter); - wifiListAdapter.setOnWifiItemClickListener(wifiName -> { - mWifiName = wifiName; - viewBinding.etWifiName.setText(wifiName); - viewBinding.rvWifiList.setVisibility(View.GONE); - viewBinding.linearWifiInfo.setVisibility(View.VISIBLE); - viewBinding.tvNext.setVisibility(View.VISIBLE); - }); - } - - private void initListener() { - setClick(viewBinding.includedTitle.imgBack); - setClick(viewBinding.tvSelectWifi); - setClick(viewBinding.tvNext); - } - - private void setClick(View view) { - view.setOnClickListener(this::onClick); - } - - public void onClick(View view){ - switch (view.getId()){ - case R.id.img_back: - finish(); - break; - - case R.id.tv_select_wifi: - String[] permission = { - Manifest.permission.ACCESS_FINE_LOCATION - }; - boolean hasPermission = hasRecordPermission(permission); - if(!hasPermission){ - goTo(mContext, PermissionActivity.class,null); - }else{ - } - scanWifi(); - break; - - case R.id.tv_next: - if(TextUtils.isEmpty(mWifiName)){ - ToastUtil.showShort(mContext,getString(R.string.toast_select_wifi_tip)); - return; - } - if(TextUtils.isEmpty(viewBinding.etInputPsd.getText().toString())){ - ToastUtil.showShort(mContext,getString(R.string.toast_select_wifi_psd_tip)); - return; - } - if(WITCH_FROM_CODE == 100){ - provisionWifi(); - }else{ - Intent intent = new Intent(); - intent.putExtra("wifi_name",mWifiName); - intent.putExtra("wifi_psd",viewBinding.etInputPsd.getText().toString()); - setResult(RESULT_OK,intent); - finish(); - } - break; - } - } - - /** - * 配置网络 - */ - private void provisionWifi() { - if (espProvisionManager == null) { - ToastUtil.showShort(mContext, "设备连接未初始化"); - return; - } - if (!isBleConnected) { - if (!isBleConnecting) { - connectBleDevice(); - } - ToastUtil.showShort(mContext, "设备连接中,请稍后再试"); - return; - } - showProgressLoadingDialog(0); - espProvisionManager.provisionWifi(mWifiName, viewBinding.etInputPsd.getText().toString()); -// goTo(mContext,DeviceConnectActivity.class,null); - } - - private void initEspProvision() { - espProvisionManager = EspProvisionManager.init(mContext).setCallback(new ProvisionCallback() { - @Override - public void onConnecting() { - isBleConnecting = true; - isBleConnected = false; - Log.i("TEST","onConnecting"); - } - - @Override - public void onConnected() { - isBleConnecting = false; - isBleConnected = true; - Log.i("TEST","onConnected设备连接成功"); - } - - @Override - public void onProvisioning(int progress) { - Log.i("TEST","WIFI连接进度 == " + progress); - mProgressLoadingDialog.setProgress(progress); - } - - @Override - public void onSuccess(String deviceName, String deviceType) { - Log.i("TEST","deviceName:" + deviceName + "连接成功"); - ToastUtil.showShort(mContext, deviceName + "连接成功"); - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - hideDialogLoading(); - } - }, 800); - } - - @Override - public void onFailed(int errorCode, String message) { - isBleConnecting = false; - if (errorCode != 0) { - isBleConnected = espProvisionManager != null && espProvisionManager .isConnected(); - } - Log.i("TEST","errorCode == " + errorCode + " message == " + message); - ToastUtil.showShort(mContext, message); - hideDialogLoading(); - } - - @Override - public void onDisconnected() { - isBleConnecting = false; - isBleConnected = false; - hideDialogLoading(); - Log.i("TEST","onDisconnected"); - } - - @Override - public void onWifiListReceived(String[] wifiList) { - - } - - @Override - public void onWifiListFailed(String message) { - Log.i("TEST","onWifiListFailed-Msg==" + message); - } - - @Override - public void onProvisioningRejected() { - Log.i("TEST","onProvisioningRejected"); - } - }); - } - - /** - * 连接设备 - */ - private void connectBleDevice() { - if (WITCH_FROM_CODE != 100 || mBleDeviceEntity == null || espProvisionManager == null) { - return; - } - if (isBleConnected || isBleConnecting) { - return; - } - espProvisionManager.connect(mBleDeviceEntity.getMacAddress(), mBleDeviceEntity.getDeviceName()); - } - - private void scanWifi() { - showLoadingDialog(); - viewBinding.tvNext.setVisibility(View.GONE); - if (wifiManager != null && wifiManager.isWifiEnabled()) { - wifiManager.startScan(); - } else { - ToastUtil.showShort(mContext, getString(R.string.wifi_not_enabled)); - hideDialogLoading(); - } - } - - private void displayWifiList(List scanResults) { - Set wifiSet = new HashSet<>(); - List wifiNameList = new ArrayList<>(); - - for (ScanResult result : scanResults) { - String wifiName = result.SSID; - if (wifiName != null && !wifiName.isEmpty() && !wifiSet.contains(wifiName)) { - wifiSet.add(wifiName); - wifiNameList.add(wifiName); - } - } - hideDialogLoading(); - - if (wifiNameList.isEmpty()) { - ToastUtil.showShort(mContext, getString(R.string.no_wifi_found)); - viewBinding.linearWifiInfo.setVisibility(View.VISIBLE); - viewBinding.rvWifiList.setVisibility(View.GONE); - } else { - wifiListAdapter.setData(wifiNameList); - viewBinding.linearWifiInfo.setVisibility(View.GONE); - viewBinding.rvWifiList.setVisibility(View.VISIBLE); - } - } - - @Override - public void addDeviceSuccess(WaterDeviceEntity bean) { - - } - - @Override - public void getDeviceDetailInfo(WaterDeviceEntity bean) { - - } - - @Override - public void editDeviceInfoSuccess(BaseBean bean) { - - } - - @Override - public void deleteDeviceSuccess(BaseBean bean) { - - } - - @Override - public void turnOnOffDeviceSuccess(BaseBean bean, String status) { - - } - - @Override - public void queryDeviceBindStatusSuccess(WaterDeviceEntity bean) { - - } - - @Override - public void queryDeviceWorkTimeSuccess(WaterDeviceEntity bean) { - - } - - private class WifiScanReceiver extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(intent.getAction())) { - boolean success = intent.getBooleanExtra(WifiManager.EXTRA_RESULTS_UPDATED, false); - if (success) { - if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { - // TODO: Consider calling - // ActivityCompat#requestPermissions - // here to request the missing permissions, and then overriding - // public void onRequestPermissionsResult(int requestCode, String[] permissions, - // int[] grantResults) - // to handle the case where the user grants the permission. See the documentation - // for ActivityCompat#requestPermissions for more details. - return; - } - List results = wifiManager.getScanResults(); - displayWifiList(results); - } else { - ToastUtil.showShort(mContext, getString(R.string.wifi_scan_failed)); - } - } - } - } - - @Override - public int getLayoutResId(Bundle savedInstanceState) { - return 0; - } - - @Override - public void showError(String message) { - ToastUtil.showShort(mContext,message); - } - - @Override - public void logOut(BaseBean bean) { - - } -} diff --git a/app/src/main/java/com/ckkj/water/network/NetWorkManager.java b/app/src/main/java/com/ckkj/water/network/NetWorkManager.java index 8eebab0..59717e7 100644 --- a/app/src/main/java/com/ckkj/water/network/NetWorkManager.java +++ b/app/src/main/java/com/ckkj/water/network/NetWorkManager.java @@ -1,6 +1,7 @@ package com.ckkj.water.network; import android.content.Context; +import android.text.TextUtils; import android.util.Log; import android.widget.Toast; @@ -388,7 +389,9 @@ public class NetWorkManager { public static Map getToken() { Map map = new HashMap<>(); try { - map.put("Authorization", "Bearer " + AppConfig.USER_TOKEN); + if(!TextUtils.isEmpty(AppConfig.USER_TOKEN)){ + map.put("Authorization", "Bearer " + AppConfig.USER_TOKEN); + } map.put("clientId", AppConfig.APP_CLIENT_ID); map.put("content-language", LanguageManager.getCurrentRequestLanguage()); } catch (Exception e) { diff --git a/app/src/main/res/layout/set_device_name_layout.xml b/app/src/main/res/layout/set_device_name_layout.xml index 59917c0..651afb4 100644 --- a/app/src/main/res/layout/set_device_name_layout.xml +++ b/app/src/main/res/layout/set_device_name_layout.xml @@ -38,6 +38,7 @@ android:layout_height="match_parent" android:layout_marginLeft="@dimen/dp_5" android:background="@null" + android:maxLength="20" android:textSize="14sp" android:textColor="@color/color_222222" android:hint="@string/input_device_name_hint"/> diff --git a/app/src/main/res/layout/water_config_fragment_layout_copy.xml b/app/src/main/res/layout/water_config_fragment_layout_copy.xml index 908406a..2e5f574 100644 --- a/app/src/main/res/layout/water_config_fragment_layout_copy.xml +++ b/app/src/main/res/layout/water_config_fragment_layout_copy.xml @@ -41,7 +41,8 @@ android:textColor="@color/textPrimaryColor" android:background="@null" android:layout_marginLeft="@dimen/dp_10" - android:hint="@string/input_plan_name"/> + android:hint="@string/input_plan_name" + android:maxLength="20"/> Battery: Last Updated: + Device saved successfully diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d28c7db..05fe965 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -305,6 +305,8 @@ 更新时间: + 设备保存成功 +