diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/SimHelper.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/SimHelper.kt
index 7002f8c..92b61df 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/SimHelper.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/SimHelper.kt
@@ -24,16 +24,14 @@ object SimHelper {
if (intent?.action.equals("android.intent.action.SIM_STATE_CHANGED")) {
val tm = context!!.getSystemService(Service.TELEPHONY_SERVICE) as TelephonyManager
mSimState = tm.simState
+ callbacks.forEach {
+ it.onEnable(mSimState == TelephonyManager.SIM_STATE_READY)
+ }
}
Log.i(
this@SimHelper.javaClass.name,
- "onReceive action = ${intent?.action}, mSimState = $mSimState, mRssi = $mRssi"
+ "onReceive action = ${intent?.action}, mSimState = $mSimState"
)
- callbacks.forEach {
- it.onLevel(
- mSimState == TelephonyManager.SIM_STATE_READY, mRssi
- )
- }
}
}
@@ -45,22 +43,20 @@ object SimHelper {
private fun watchSimRssi(context: Context) {
val tm = context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
//获取指定卡槽的信号强度
- val info = getNewerSlotSubscriptionInfo(context, 0)
- info?.let {
- val mTelephonyManagerForSubscriptionId =
- tm.createForSubscriptionId(info!!.subscriptionId)
- mTelephonyManagerForSubscriptionId.listen(object : PhoneStateListener() {
- override fun onSignalStrengthsChanged(signalStrength: SignalStrength) {
- super.onSignalStrengthsChanged(signalStrength)
- mRssi = signalStrength.level
- callbacks.forEach {
- it.onLevel(
- mSimState == TelephonyManager.SIM_STATE_READY, mRssi
- )
- }
+// val mTelephonyManagerForSubscriptionId =
+// tm.createForSubscriptionId(SubscriptionManager.getDefaultSubscriptionId())
+ tm.listen(object : PhoneStateListener() {
+ override fun onSignalStrengthsChanged(signalStrength: SignalStrength) {
+ super.onSignalStrengthsChanged(signalStrength)
+ mRssi = signalStrength.level
+ callbacks.forEach {
+ it.onLevel(mRssi)
}
- }, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS)
- }
+ Log.i(
+ this@SimHelper.javaClass.name, "onSignalStrengthsChanged mRssi = $mRssi"
+ )
+ }
+ }, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS)
}
private fun watchSimState(context: Context) {
@@ -71,7 +67,10 @@ object SimHelper {
fun addCallBack(callBack: OnSimLevelCallback) {
callbacks.add(callBack)
if (mSimState != -1) {
- callBack.onLevel(mSimState == TelephonyManager.SIM_STATE_READY, mRssi)
+ callBack.onEnable(mSimState == TelephonyManager.SIM_STATE_READY)
+ }
+ if (mRssi != -1) {
+ callBack.onLevel(mRssi)
}
}
@@ -85,7 +84,8 @@ object SimHelper {
}
interface OnSimLevelCallback {
- fun onLevel(enable: Boolean, level: Int)
+ fun onEnable(enable: Boolean)
+ fun onLevel(level: Int)
}
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/WifiHelper.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/WifiHelper.kt
index d61d4c7..46a28e7 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/WifiHelper.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/WifiHelper.kt
@@ -17,19 +17,20 @@ object WifiHelper {
if (intent?.action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
val wifiState = intent?.getIntExtra(WifiManager.EXTRA_WIFI_STATE, -1)
mWifiState = wifiState!!
+ callbacks.forEach {
+ it.onEnable(mWifiState == WifiManager.WIFI_STATE_ENABLED)
+ }
} else if (intent?.action.equals(WifiManager.RSSI_CHANGED_ACTION)) {
val rssi = intent?.getIntExtra(WifiManager.EXTRA_NEW_RSSI, -1)
mRssi = WifiManager.calculateSignalLevel(rssi!!, 5)
+ callbacks.forEach {
+ it.onLevel(mRssi)
+ }
}
Log.i(
this@WifiHelper.javaClass.name,
"onReceive action = ${intent?.action}, wifiState = $mWifiState, mRssi = $mRssi"
)
- callbacks.forEach {
- it.onLevel(
- mWifiState == WifiManager.WIFI_STATE_ENABLED, mRssi
- )
- }
}
}
@@ -46,7 +47,10 @@ object WifiHelper {
fun addCallBack(callBack: OnWifiLevelCallback) {
callbacks.add(callBack)
if (mWifiState != -1) {
- callBack.onLevel(mWifiState == WifiManager.WIFI_STATE_ENABLED, mRssi)
+ callBack.onEnable(mWifiState == WifiManager.WIFI_STATE_ENABLED)
+ }
+ if (mRssi != -1) {
+ callBack.onLevel(mRssi)
}
}
@@ -60,6 +64,7 @@ object WifiHelper {
}
interface OnWifiLevelCallback {
- fun onLevel(enable: Boolean, level: Int)
+ fun onEnable(enable: Boolean)
+ fun onLevel(level: Int)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/view/CommonTopBar.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/view/CommonTopBar.kt
index 6a21283..47ff2d2 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/view/CommonTopBar.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/view/CommonTopBar.kt
@@ -43,6 +43,11 @@ class CommonTopBar : LinearLayout {
}
}
+ // 默认满信号
+ mBinding?.battery?.setImageLevel(100)
+ mBinding?.wifi?.setImageLevel(100)
+ mBinding?.fourG?.setImageLevel(100)
+
post {
// watch battery
watchBattery()
@@ -54,7 +59,7 @@ class CommonTopBar : LinearLayout {
private val batteryCallback = object : BatteryHelper.OnBatteryLevelCallback {
override fun onLevel(level: Int) {
Log.i(this@CommonTopBar.javaClass.name, "batteryCallback onLevel = $level")
- mBinding?.battery?.visibility = if (level > 80) VISIBLE else GONE
+ mBinding?.battery?.setImageLevel(level)
}
}
@@ -63,17 +68,20 @@ class CommonTopBar : LinearLayout {
}
private val wifiCallback = object : WifiHelper.OnWifiLevelCallback {
- override fun onLevel(enable: Boolean, level: Int) {
- Log.i(
- this@CommonTopBar.javaClass.name,
- "wifiCallback onEnable = $enable , level = $level"
- )
+ override fun onEnable(enable: Boolean) {
+ Log.i(this@CommonTopBar.javaClass.name, "wifiCallback onEnable = $enable")
if (enable) {
mBinding?.wifi?.visibility = VISIBLE
} else {
mBinding?.wifi?.visibility = GONE
}
}
+
+ override fun onLevel(level: Int) {
+ Log.i(this@CommonTopBar.javaClass.name, "wifiCallback onLevel = $level")
+ val showLevel = (level + 1) * 20
+ mBinding?.wifi?.setImageLevel(showLevel)
+ }
}
private fun watchWifi() {
@@ -82,17 +90,20 @@ class CommonTopBar : LinearLayout {
private val simCallback = object : SimHelper.OnSimLevelCallback {
- override fun onLevel(enable: Boolean, level: Int) {
- Log.i(
- this@CommonTopBar.javaClass.name,
- "simCallback onEnable = $enable , level = $level"
- )
+ override fun onEnable(enable: Boolean) {
+ Log.i(this@CommonTopBar.javaClass.name, "simCallback onEnable = $enable")
if (enable) {
mBinding?.fourG?.visibility = VISIBLE
} else {
mBinding?.fourG?.visibility = GONE
}
}
+
+ override fun onLevel(level: Int) {
+ Log.i(this@CommonTopBar.javaClass.name, "simCallback onLevel = $level")
+ val showLevel = (level + 1) * 20
+ mBinding?.fourG?.setImageLevel(showLevel)
+ }
}
private fun watchSim() {
@@ -138,11 +149,12 @@ class CommonTopBar : LinearLayout {
class Option(val type: Int, val title: String)
- private var mOpListener:OpClickListener?=null
+ private var mOpListener: OpClickListener? = null
- fun setOpClickListener(opClickListener: OpClickListener){
+ fun setOpClickListener(opClickListener: OpClickListener) {
mOpListener = opClickListener;
}
+
interface OpClickListener {
fun onClick(type: Int, target: View)
}
diff --git a/app/src/main/res/drawable-hdpi/battery_0.png b/app/src/main/res/drawable-hdpi/battery_0.png
new file mode 100644
index 0000000..0a05c18
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/battery_0.png differ
diff --git a/app/src/main/res/drawable-hdpi/battery_100.png b/app/src/main/res/drawable-hdpi/battery_100.png
new file mode 100644
index 0000000..1a87a2e
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/battery_100.png differ
diff --git a/app/src/main/res/drawable-hdpi/battery_20.png b/app/src/main/res/drawable-hdpi/battery_20.png
new file mode 100644
index 0000000..8fe1d6f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/battery_20.png differ
diff --git a/app/src/main/res/drawable-hdpi/battery_40.png b/app/src/main/res/drawable-hdpi/battery_40.png
new file mode 100644
index 0000000..e0f5b52
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/battery_40.png differ
diff --git a/app/src/main/res/drawable-hdpi/battery_60.png b/app/src/main/res/drawable-hdpi/battery_60.png
new file mode 100644
index 0000000..af5f1c1
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/battery_60.png differ
diff --git a/app/src/main/res/drawable-hdpi/battery_80.png b/app/src/main/res/drawable-hdpi/battery_80.png
new file mode 100644
index 0000000..33a52af
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/battery_80.png differ
diff --git a/app/src/main/res/drawable-hdpi/net_1.png b/app/src/main/res/drawable-hdpi/net_1.png
new file mode 100644
index 0000000..3511870
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/net_1.png differ
diff --git a/app/src/main/res/drawable-hdpi/net_2.png b/app/src/main/res/drawable-hdpi/net_2.png
new file mode 100644
index 0000000..d6db46f
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/net_2.png differ
diff --git a/app/src/main/res/drawable-hdpi/net_3.png b/app/src/main/res/drawable-hdpi/net_3.png
new file mode 100644
index 0000000..388d08c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/net_3.png differ
diff --git a/app/src/main/res/drawable-hdpi/net_4.png b/app/src/main/res/drawable-hdpi/net_4.png
new file mode 100644
index 0000000..0b99d7d
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/net_4.png differ
diff --git a/app/src/main/res/drawable-hdpi/net_5.png b/app/src/main/res/drawable-hdpi/net_5.png
new file mode 100644
index 0000000..43415f0
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/net_5.png differ
diff --git a/app/src/main/res/drawable-hdpi/wifi_1.png b/app/src/main/res/drawable-hdpi/wifi_1.png
new file mode 100644
index 0000000..66b5988
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/wifi_1.png differ
diff --git a/app/src/main/res/drawable-hdpi/wifi_2.png b/app/src/main/res/drawable-hdpi/wifi_2.png
new file mode 100644
index 0000000..fdd5908
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/wifi_2.png differ
diff --git a/app/src/main/res/drawable-hdpi/wifi_3.png b/app/src/main/res/drawable-hdpi/wifi_3.png
new file mode 100644
index 0000000..b29f6ad
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/wifi_3.png differ
diff --git a/app/src/main/res/drawable/battery.xml b/app/src/main/res/drawable/battery.xml
new file mode 100644
index 0000000..c6899c2
--- /dev/null
+++ b/app/src/main/res/drawable/battery.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/net.xml b/app/src/main/res/drawable/net.xml
new file mode 100644
index 0000000..d2f45b6
--- /dev/null
+++ b/app/src/main/res/drawable/net.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/wifi.xml b/app/src/main/res/drawable/wifi.xml
new file mode 100644
index 0000000..2b61f58
--- /dev/null
+++ b/app/src/main/res/drawable/wifi.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_topbar.xml b/app/src/main/res/layout/layout_topbar.xml
index e6d001e..7806f65 100644
--- a/app/src/main/res/layout/layout_topbar.xml
+++ b/app/src/main/res/layout/layout_topbar.xml
@@ -15,7 +15,7 @@
@@ -52,24 +52,26 @@
+ android:src="@drawable/battery"/>
+ android:src="@drawable/wifi"
+ android:visibility="gone"/>
+ android:src="@drawable/net"
+ android:visibility="gone"/>
50px
186px
90px
+ 33px
+ 37px
+ 27px
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d752ae9..ce1f488 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -14,7 +14,7 @@
传感器设置
云平台
网络参数设置
- 传感器回复出厂设置
+ 恢复出厂设置
同步传感器数据
同步报警数据
同步视频
diff --git a/buildCommon/commonLibConfig.gradle b/buildCommon/commonLibConfig.gradle
index 5ef6240..2892488 100644
--- a/buildCommon/commonLibConfig.gradle
+++ b/buildCommon/commonLibConfig.gradle
@@ -11,7 +11,7 @@ project.ext {
]
versions = [
- compileSdkVersion : 33,
+ compileSdkVersion : 31,
buildToolsVersion : "33.0.3",
minSdkVersion : 24,
targetSdkVersion : 28,