From: TrillGates Date: Tue, 14 Sep 2021 09:07:13 +0000 (+0800) Subject: completed low power tips page. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=1d6408e422059c4c71beab159a01886080603c07;p=icsupport.git completed low power tips page. --- diff --git a/app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java b/app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java index b329522c..3f5fd82a 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/BatteryUtil.java @@ -26,6 +26,7 @@ import com.enqualcomm.support.service.AudioService; import com.enqualcomm.support.service.Deliver; import com.ic.protocols.protocolAPIHelper; import com.ic.protocols.protocol_s123; +import com.ic.view.battery.BatteryLowLevTipsView; import com.ic.view.battery.ChargeTipsView; import static android.os.BatteryManager.BATTERY_STATUS_CHARGING; @@ -151,7 +152,8 @@ public class BatteryUtil { mRuntime.setHaveBatteryChange(true); mRuntime.setBatteryLow(false); } else if (batLevel <= 15 && batLevel > 10) { - ChargeTipsView.getInstance().showMsgDialog(); + ChargeTipsView.getInstance().showDialog(); + BatteryLowLevTipsView.getInstance().dismiss(); ICLogger.d("on lower power please get charge..."); if (Config.LOG_TOFILE) ICLogger.logToFile("Battery", "BatteryLow less than 15%!"); checkAndSendBatteryEvent(param1Context, mRuntime); @@ -168,6 +170,7 @@ public class BatteryUtil { mRuntime.setBatteryLow(true); } else { ChargeTipsView.getInstance().dismiss(); + BatteryLowLevTipsView.getInstance().showDialog(); //这里则会显示可能会关机 ICLogger.d("on lower then 5 percent..." + batLevel); if (Config.LOG_TOFILE) ICLogger.logToFile("Battery", "BatteryLow less than 5% !"); diff --git a/app/src/main/java/com/ic/view/battery/BatteryLowLevTipsView.java b/app/src/main/java/com/ic/view/battery/BatteryLowLevTipsView.java new file mode 100644 index 00000000..5bac70ae --- /dev/null +++ b/app/src/main/java/com/ic/view/battery/BatteryLowLevTipsView.java @@ -0,0 +1,68 @@ +package com.ic.view.battery; + +import android.content.Context; +import android.view.Gravity; +import android.view.View; +import android.view.WindowManager; + +import com.enqualcomm.support.ICApplication; +import com.enqualcomm.support.R; +import com.enqualcomm.support.utils.ICLogger; + +/** + * 低电量提示的UI,提示可能会关机 + * 提示时机:电量到5%的时候 + * 消失时机,电量超过5% + */ +public class BatteryLowLevTipsView { + + private WindowManager windowManager; + private View view; + + private BatteryLowLevTipsView() { + + } + + private static BatteryLowLevTipsView sInstance; + + public static BatteryLowLevTipsView getInstance() { + if (sInstance == null) { + sInstance = new BatteryLowLevTipsView(); + } + return sInstance; + } + + private boolean isShow = false; + + public void showDialog() { + ICLogger.d("showMsgDialog..." + isShow); + if (isShow) { + return; + } + isShow = true; + Context context = ICApplication.sContext; + windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); + //设置属性 + WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(); + layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT; + layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT; + layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT; + layoutParams.packageName = context.getPackageName(); + layoutParams.gravity = Gravity.CENTER; + //加载布局 + view = View.inflate(context, R.layout.battery_low_tips_dialog_layout, null); + windowManager.addView(view, layoutParams); + } + + + public void dismiss() { + this.isShow = false; + if (windowManager != null) { + windowManager.removeView(view); + } + sInstance = null; + windowManager = null; + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/ic/view/battery/ChargeTipsView.java b/app/src/main/java/com/ic/view/battery/ChargeTipsView.java index 1fb25e26..c4920883 100644 --- a/app/src/main/java/com/ic/view/battery/ChargeTipsView.java +++ b/app/src/main/java/com/ic/view/battery/ChargeTipsView.java @@ -24,7 +24,7 @@ public class ChargeTipsView { private View btnView; private ChargeTipsView() { - //获取到数据库里的数据,显示快捷回复列表 + } private static ChargeTipsView sInstance; @@ -38,7 +38,7 @@ public class ChargeTipsView { private boolean isShow = false; - public void showMsgDialog() { + public void showDialog() { ICLogger.d("showMsgDialog..." + isShow); if (isShow) { return; diff --git a/app/src/main/java/com/ic/view/webmsgresponse/WebMsgView.java b/app/src/main/java/com/ic/view/webmsgresponse/WebMsgView.java index 0cd900e0..20576ba2 100644 --- a/app/src/main/java/com/ic/view/webmsgresponse/WebMsgView.java +++ b/app/src/main/java/com/ic/view/webmsgresponse/WebMsgView.java @@ -127,9 +127,15 @@ public class WebMsgView { public void dismiss() { this.isShow = false; - contentResolver.unregisterContentObserver(observer); - windowManager.removeView(view); - executorService.shutdown(); + if (contentResolver != null) { + contentResolver.unregisterContentObserver(observer); + } + if (windowManager != null) { + windowManager.removeView(view); + } + if (executorService != null) { + executorService.shutdown(); + } executorService = null; sInstance = null; contentResolver = null; diff --git a/app/src/main/res/layout/battery_low_tips_dialog_layout.xml b/app/src/main/res/layout/battery_low_tips_dialog_layout.xml new file mode 100644 index 00000000..d554e8a3 --- /dev/null +++ b/app/src/main/res/layout/battery_low_tips_dialog_layout.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-mdpi/battery_low_icon.png b/app/src/main/res/mipmap-mdpi/battery_low_icon.png new file mode 100644 index 00000000..9b4a032c Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/battery_low_icon.png differ diff --git a/app/src/main/res/values-de-rCH/strings.xml b/app/src/main/res/values-de-rCH/strings.xml index f072f667..6cdb52ca 100644 --- a/app/src/main/res/values-de-rCH/strings.xml +++ b/app/src/main/res/values-de-rCH/strings.xml @@ -174,4 +174,6 @@ 环境温度过低 低电,请充电 紧急呼救 + 电量过低 + 设备随时关机 diff --git a/app/src/main/res/values-fr-rCH/strings.xml b/app/src/main/res/values-fr-rCH/strings.xml index 4efcfa05..c8957bcd 100644 --- a/app/src/main/res/values-fr-rCH/strings.xml +++ b/app/src/main/res/values-fr-rCH/strings.xml @@ -174,4 +174,6 @@ 环境温度过低 低电,请充电 紧急呼救 + 电量过低 + 设备随时关机 diff --git a/app/src/main/res/values-it-rCH/strings.xml b/app/src/main/res/values-it-rCH/strings.xml index 1fe9f4b0..7d26e5b2 100644 --- a/app/src/main/res/values-it-rCH/strings.xml +++ b/app/src/main/res/values-it-rCH/strings.xml @@ -172,4 +172,6 @@ 环境温度过低 低电,请充电 紧急呼救 + 电量过低 + 设备随时关机 diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 2b75cc53..323fbf2b 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -175,5 +175,7 @@ 環境温度が低すぎる 低电,请充电 紧急呼救 + 电量过低 + 设备随时关机 diff --git a/app/src/main/res/values-w820dp/strings.xml b/app/src/main/res/values-w820dp/strings.xml index c40ed36a..d9bd37bf 100644 --- a/app/src/main/res/values-w820dp/strings.xml +++ b/app/src/main/res/values-w820dp/strings.xml @@ -8,4 +8,6 @@ 环境温度过低 低电,请充电 紧急呼救 + 电量过低 + 设备随时关机 \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 1b230005..6ee98ff9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -202,4 +202,6 @@ 环境温度过低 低电,请充电 紧急呼救 + 电量过低 + 设备随时关机 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f5a1251a..977fd697 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -205,5 +205,7 @@ 环境温度过低 低电,请充电 紧急呼救 + 电量过低 + 设备随时关机,请及时充电