fix: updateStatus 添加 try-catch 防止系统关机时 DeadSystemException
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,7 @@ import com.xiaoqu.watch.util.DeviceUtil
|
||||
import com.xiaoqu.watch.util.NetworkUtil
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.coroutines.delay
|
||||
import timber.log.Timber
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.launch
|
||||
import javax.inject.Inject
|
||||
@@ -104,21 +105,25 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
/** 更新状态信息显示 */
|
||||
/** 更新状态信息显示(try-catch 保护,防止系统关机时 DeadSystemException) */
|
||||
private fun updateStatus() {
|
||||
val dateInfo = DateUtil.getDateInfo()
|
||||
val sb = StringBuilder()
|
||||
sb.appendLine("${dateInfo.date} ${dateInfo.week} ${dateInfo.time}")
|
||||
sb.appendLine("设备: ${devicePrefs.brand} ${devicePrefs.model}")
|
||||
sb.appendLine("网络: ${NetworkUtil.getNetworkTypeName(requireContext())}")
|
||||
sb.appendLine("绑定: ${if (userPrefs.isBound) "是" else "否"}")
|
||||
// 电量信息(等收到广播后更新)
|
||||
if (batteryLevel >= 0) {
|
||||
sb.appendLine("电量: ${batteryLevel}% ${if (batteryCharging) "(充电中)" else ""}")
|
||||
try {
|
||||
val dateInfo = DateUtil.getDateInfo()
|
||||
val sb = StringBuilder()
|
||||
sb.appendLine("${dateInfo.date} ${dateInfo.week} ${dateInfo.time}")
|
||||
sb.appendLine("设备: ${devicePrefs.brand} ${devicePrefs.model}")
|
||||
sb.appendLine("网络: ${NetworkUtil.getNetworkTypeName(requireContext())}")
|
||||
sb.appendLine("绑定: ${if (userPrefs.isBound) "是" else "否"}")
|
||||
// 电量信息(等收到广播后更新)
|
||||
if (batteryLevel >= 0) {
|
||||
sb.appendLine("电量: ${batteryLevel}% ${if (batteryCharging) "(充电中)" else ""}")
|
||||
}
|
||||
sb.appendLine("屏幕: ${if (screenController.isScreenOn()) "亮" else "灭"}")
|
||||
sb.appendLine("NFC: ${if (nfcController.isOpen()) "开" else "关"}")
|
||||
binding.tvStatus.text = sb.toString()
|
||||
} catch (e: Exception) {
|
||||
Timber.w(e, "更新状态信息异常")
|
||||
}
|
||||
sb.appendLine("屏幕: ${if (screenController.isScreenOn()) "亮" else "灭"}")
|
||||
sb.appendLine("NFC: ${if (nfcController.isOpen()) "开" else "关"}")
|
||||
binding.tvStatus.text = sb.toString()
|
||||
}
|
||||
|
||||
/** 绑定测试按钮 */
|
||||
|
||||
Reference in New Issue
Block a user