diff --git a/gradle.properties b/gradle.properties index 3765239c3..586cb6b9c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -26,5 +26,5 @@ android.enableJetifier=true android.useAndroidX=true android.useDeprecatedNdk=true -versionCode=50 -versionName=4.11.10 \ No newline at end of file +versionCode=51 +versionName=4.11.11 \ No newline at end of file diff --git a/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java b/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java index 9cd15fada..1cfb5a2d3 100644 --- a/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java +++ b/iFish7/src/main/java/com/ifish/activity/MainTabActivity.java @@ -120,7 +120,7 @@ public class MainTabActivity extends BaseFragmentActivity { onParseIntent(); initView(); init(); - StartWifiChangeTimer(); +// StartWifiChangeTimer(); //** //* 注意: 即使您已经在AndroidManifest.xml中配置过appkey和channel值,也需要在App代码中调 @@ -262,14 +262,20 @@ public class MainTabActivity extends BaseFragmentActivity { finish(); } + User user; @Override protected void onResume() { super.onResume(); - StartWifiChangeTimer(); + user = Commons.USER; + if (user!=null){ + StartWifiChangeTimer(user.getUserId()); + } } - private void StartWifiChangeTimer() { - if (timer == null) { + private void StartWifiChangeTimer(String userId) { + + L.i("jjia--------wifi--切换了---"); + if (timer == null && !TextUtils.isEmpty(userId)) { timer = new CountDownTimer(1000, 1000) { @Override public void onTick(long millisUntilFinished) { @@ -300,7 +306,8 @@ public class MainTabActivity extends BaseFragmentActivity { public void finish() { } - }, Commons.USER.getUserId()); + }, userId); +// }, Commons.USER.getUserId()); } catch (Exception e) { e.printStackTrace(); } diff --git a/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java b/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java index d0696d97e..5ffe3c585 100644 --- a/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java +++ b/iFish7/src/main/java/com/ifish/activity/newbind/NewBindDeviceActivity.java @@ -68,11 +68,13 @@ import com.ifish.tcp.OrderDeviceConnectModel; import com.ifish.tcp.OrderModel; import com.ifish.tcp.QueryTempeSettingModel; import com.ifish.tcp.ResetDeviceModel; +import com.ifish.utils.ActivityManager; import com.ifish.utils.AnimationUtil; import com.ifish.utils.BlueToothUtil; import com.ifish.utils.ByteUtil; import com.ifish.utils.ClickUtil; import com.ifish.utils.Commons; +import com.ifish.utils.DialogUtil; import com.ifish.utils.HttpListener; import com.ifish.utils.HttpManager; import com.ifish.utils.L; @@ -130,6 +132,7 @@ public class NewBindDeviceActivity extends AppCompatActivity { setContentView(R.layout.activity_new_bind_device_choice); + ActivityManager.getInstance().addActivity(this); sp=SPUtil.getInstance(this); act = this; @@ -293,7 +296,7 @@ public class NewBindDeviceActivity extends AppCompatActivity { * 根据连接类型切换UI * todo 这里的提示应该根据连接类型有不同的提示 * - * @param connectType + * @param */ private void changeView(boolean blue){ @@ -430,7 +433,8 @@ public class NewBindDeviceActivity extends AppCompatActivity { if (TextUtils.isEmpty(type)){ blueScan(); }else { - showProgressDialogCancelble("开始连接蓝牙设备"); + DialogUtil.Companion.showLoadingDialog(true,"开始连接蓝牙设备"); +// showProgressDialogCancelble("开始连接蓝牙设备"); connectBle(); } }else { @@ -478,14 +482,16 @@ public class NewBindDeviceActivity extends AppCompatActivity { connectBle(); }else { ToastUtil.show(NewBindDeviceActivity.this,"扫描结束,没有搜索到可用设备"); - dismissProgressDialogCancelble(); +// dismissProgressDialogCancelble(); + DialogUtil.Companion.setLoadingDialogDismiss(); } } @Override public void onScanStarted(boolean success) { // ToastUtil.show(NewBindDeviceActivity.this,"开始扫描"); - showProgressDialogCancelble("正在搜索附近设备,请确保设备处于配网状态"); + DialogUtil.Companion.showLoadingDialog(true,"正在搜索附近设备,请确保设备处于配网状态"); +// showProgressDialogCancelble("正在搜索附近设备,请确保设备处于配网状态"); } @SuppressLint("MissingPermission") @@ -593,7 +599,8 @@ public class NewBindDeviceActivity extends AppCompatActivity { @Override public void onNotifyFailure(BleException exception) { - dismissProgressDialogCancelble(); +// dismissProgressDialogCancelble(); + DialogUtil.Companion.setLoadingDialogDismiss(); } @Override @@ -613,25 +620,20 @@ public class NewBindDeviceActivity extends AppCompatActivity { String status = ByteUtil.toHex(model.getStatus()); device_mac = ByteUtil.bytesToHexString(model.getSrc()); + DialogUtil.Companion.setLoadingDialogDismiss(); - checkoutMac(device_mac); - switch (nofity_type){ - case 1: - break; - - case 2: - - break; - - default: - L.i(status+"jjia-------"+device_mac); - - break; + if (!TextUtils.isEmpty(device_mac)){ +// dismissProgressDialogCancelble(); + DialogUtil.Companion.setLoadingDialogDismiss(); +// showProgressDialogCancelble("正在绑定设备,请稍等..."); + DialogUtil.Companion.showLoadingDialog(true,"正在绑定设备..."); + connectDevice.cancel(); + connectDevice.start(); } - - +// checkoutMac(device_mac); } else { - dismissProgressDialogCancelble(); + DialogUtil.Companion.setLoadingDialogDismiss(); +// dismissProgressDialogCancelble(); // BackFunctionCode7_11 model = (BackFunctionCode7_11) object; // String status = ByteUtil.toHex(model.getStatus()); // if ("01".equals(status)) { @@ -646,54 +648,54 @@ public class NewBindDeviceActivity extends AppCompatActivity { }); } - private void checkoutMac(String mac){ - - if (!TextUtils.isEmpty(mac)){ - boolean isSameName = false; - devicePosition = 0; - try { - if (Commons.DEVICE != null) { - if (Commons.DEVICE.size() != 0) { - for (int i = 0; i < Commons.DEVICE.size(); i++) { - if (mac.equals(Commons.DEVICE.get(i).getMacAddress())) { - devicePosition = i; - isSameName = true; - break; - } - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - - - if (isSameName){ - L.i("jjia-------------不包含"); - runOnUiThread(new Runnable() { - @Override - public void run() { - resetDevice(1); - } - }); - }else { - L.i("jjia-------------不包含"); - runOnUiThread(new Runnable() { - @Override - public void run() { - isContinue = true; - resetDevice(2); - } - }); - } - }else { - dismissProgressDialogCancelble(); - } - - - - - } +// private void checkoutMac(String mac){ +// +// if (!TextUtils.isEmpty(mac)){ +// boolean isSameName = false; +// devicePosition = 0; +// try { +// if (Commons.DEVICE != null) { +// if (Commons.DEVICE.size() != 0) { +// for (int i = 0; i < Commons.DEVICE.size(); i++) { +// if (mac.equals(Commons.DEVICE.get(i).getMacAddress())) { +// devicePosition = i; +// isSameName = true; +// break; +// } +// } +// } +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// +// +// if (isSameName){ +// L.i("jjia-------------不包含"); +// runOnUiThread(new Runnable() { +// @Override +// public void run() { +// resetDevice(1); +// } +// }); +// }else { +// L.i("jjia-------------不包含"); +// runOnUiThread(new Runnable() { +// @Override +// public void run() { +// isContinue = true; +// resetDevice(2); +// } +// }); +// } +// }else { +// dismissProgressDialogCancelble(); +// } +// +// +// +// +// } int devicePosition = 0; private void sendBleData(){ @@ -735,8 +737,7 @@ public class NewBindDeviceActivity extends AppCompatActivity { }); } private void resetDevice(int type){ - - dismissProgressDialogCancelble(); + DialogUtil.Companion.setLoadingDialogDismiss(); if (1==type){ toDevice(); }else if (2==type){ @@ -776,24 +777,24 @@ public class NewBindDeviceActivity extends AppCompatActivity { BleManager.getInstance().connect(currentDevice, new BleGattCallback() { @Override public void onStartConnect() { - setMessage("开始连接蓝牙设备"); + DialogUtil.Companion.showLoadingDialog(true,"开始连接蓝牙设备"); } @Override public void onConnectFail(BleDevice bleDevice, BleException exception) { ToastUtil.show(NewBindDeviceActivity.this,"连接蓝牙设备失败,请重试"); - dismissProgressDialogCancelble(); + DialogUtil.Companion.setLoadingDialogDismiss(); } @Override public void onConnectSuccess(BleDevice bleDevice, BluetoothGatt gatt, int status) { // ToastUtil.show(NewBindDeviceActivity.this,"蓝牙连接成功"); - setMessage("蓝牙连接成功"); +// setMessage("蓝牙连接成功"); BleManager.getInstance().setMtu(bleDevice, 512, new BleMtuChangedCallback() { @Override public void onSetMTUFailure(BleException exception) { L.i("jjia-------MTU--"+exception.toString()); - dismissProgressDialogCancelble(); + DialogUtil.Companion.setLoadingDialogDismiss(); } @Override @@ -901,7 +902,7 @@ public class NewBindDeviceActivity extends AppCompatActivity { @Override public void onTick(long millisUntilFinished) { - long sum = millisUntilFinished / 1000 % 2; + long sum = millisUntilFinished / 1000; if (sum == 0) { if (!act.isFinishing() && isContinue) { isNetWorkAvailable("www.baidu.com", new Comparable() { @@ -927,6 +928,8 @@ public class NewBindDeviceActivity extends AppCompatActivity { public void onFinish() { if (isContinue) { // dismissProgressDialog(); +// dismissProgressDialogCancelble(); + DialogUtil.Companion.setLoadingDialogDismiss(); } } } @@ -1038,16 +1041,19 @@ public class NewBindDeviceActivity extends AppCompatActivity { @Override public void finish() { + DialogUtil.Companion.setLoadingDialogDismiss(); deviceIsNullHandler.sendEmptyMessage(result); } @Override public void error(Exception e, String msg) { + DialogUtil.Companion.setLoadingDialogDismiss(); result = Commons.NetWork.ERROR; } }, deviceObj.getDeviceId(), Commons.USER.getUserId()); } catch (Exception e) { e.printStackTrace(); + DialogUtil.Companion.setLoadingDialogDismiss(); } } }; @@ -1070,12 +1076,28 @@ public class NewBindDeviceActivity extends AppCompatActivity { if (deviceIsNull) {//当服务器返回的设备控制器数和定时器数为null的时候 不跳转进入主界面 return; } - Commons.DEVICE.add(deviceObj); - try { - sp.putInt(Commons.LoginSPKey.Position, Commons.DEVICE.size() - 1); - Commons.DevicePosition = Commons.DEVICE.size() - 1; - } catch (Exception e) { + + List allDevices = Commons.DEVICE; + Boolean isHasDev = false; + if (deviceObj!=null && deviceObj.getMacAddress()!=null && allDevices!=null && allDevices.size()>0){ + for (int i = 0;i deviceList; diff --git a/iFish7/src/main/java/com/ifish/utils/DialogUtil.kt b/iFish7/src/main/java/com/ifish/utils/DialogUtil.kt new file mode 100644 index 000000000..a0207d48e --- /dev/null +++ b/iFish7/src/main/java/com/ifish/utils/DialogUtil.kt @@ -0,0 +1,43 @@ +package com.ifish.utils + +/** + * Created by achang on 2018/10/6. + */ + +class DialogUtil { + companion object { + var mLoadingDialog: LoadingDialog? = null + var showDialog:Boolean=false + var hint:String?="正在加载中,请稍等片刻..." + fun showLoadingDialog(showDialog:Boolean,hint:String?="正在加载中,请稍等片刻..."): LoadingDialog { + this.showDialog= showDialog + if (mLoadingDialog == null&& ActivityManager.getInstance().lastActivity()!=null) { + mLoadingDialog = LoadingDialog(ActivityManager.getInstance().lastActivity()!!,hint) + if (!mLoadingDialog!!.isShowing && ActivityManager.getInstance().lastActivity() != null && !ActivityManager.getInstance().lastActivity()!!.isFinishing) { + mLoadingDialog!!.show() + } + } else { + if (!mLoadingDialog!!.isShowing && ActivityManager.getInstance().lastActivity() != null && !ActivityManager.getInstance().lastActivity()!!.isFinishing) { + mLoadingDialog!!.show() + } + } + /* mLoadingDialog?.apply { + LogUtil.logD(isShowing.toString()+"======="+ AppManagerUtil.lastActivity.toString()+"==="+(mLoadingDialog==null)) + }*/ + return mLoadingDialog!! + } + + fun setLoadingDialogDismiss() { + mLoadingDialog?.apply { + if (this.isShowing ) { + ActivityManager.getInstance().lastActivity()?.apply { + if (!this.isFinishing) + mLoadingDialog!!.dismiss() + mLoadingDialog = null + } + } + } + // LogUtil.logD("setLoadingDialogDismiss===========") + } + } +} diff --git a/iFish7/src/main/java/com/ifish/utils/LoadingDialog.kt b/iFish7/src/main/java/com/ifish/utils/LoadingDialog.kt new file mode 100644 index 000000000..eb1a4da78 --- /dev/null +++ b/iFish7/src/main/java/com/ifish/utils/LoadingDialog.kt @@ -0,0 +1,37 @@ +package com.ifish.utils + +import android.app.Activity +import android.app.Dialog +import android.text.TextUtils +import android.view.View +import android.widget.LinearLayout +import android.widget.TextView +import com.ifish.activity.R +import com.ifish.utils.Commons.Text + +/** + * @创建者 肖天长 + * @创建时间 2018/7/6 0006 11:59 + * @描述 ${TODO} + * @更新者 $Author$ + * @更新时间 2018/7/6 0006$ + * @更新描述 ${TODO} + */ + +class LoadingDialog(context: Activity,hint:String?) : Dialog(context, R.style.BaseDialogStyle) { + + init { + val inflate = View.inflate(context, R.layout.dialog_loading, null) + val mParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT) + setContentView(inflate, mParams) + var view =findViewById(R.id.tv_hint) + view.text = hint + if (TextUtils.isEmpty(hint)){ + + } + + window!!.setDimAmount(0f) //去除阴影遮罩效果 + setCanceledOnTouchOutside(false) + // setCancelable(false) + } +} diff --git a/iFish7/src/main/res/drawable/dialog_loading.png b/iFish7/src/main/res/drawable/dialog_loading.png new file mode 100644 index 000000000..ffb19f523 Binary files /dev/null and b/iFish7/src/main/res/drawable/dialog_loading.png differ diff --git a/iFish7/src/main/res/drawable/shape_loading_anim.xml b/iFish7/src/main/res/drawable/shape_loading_anim.xml new file mode 100644 index 000000000..b92ec523f --- /dev/null +++ b/iFish7/src/main/res/drawable/shape_loading_anim.xml @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/iFish7/src/main/res/drawable/shape_white_radius15.xml b/iFish7/src/main/res/drawable/shape_white_radius15.xml new file mode 100644 index 000000000..83fe57a48 --- /dev/null +++ b/iFish7/src/main/res/drawable/shape_white_radius15.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/iFish7/src/main/res/layout/dialog_loading.xml b/iFish7/src/main/res/layout/dialog_loading.xml new file mode 100644 index 000000000..f3d523482 --- /dev/null +++ b/iFish7/src/main/res/layout/dialog_loading.xml @@ -0,0 +1,38 @@ + + + + + + + + + + \ No newline at end of file diff --git a/iFish7/src/main/res/values/styles.xml b/iFish7/src/main/res/values/styles.xml index 3c3ece265..3130e8099 100644 --- a/iFish7/src/main/res/values/styles.xml +++ b/iFish7/src/main/res/values/styles.xml @@ -268,5 +268,37 @@ @anim/bottom_dialog_in @anim/bottom_dialog_out - +