浏览代码

Make MainActivity permission checks clearer

Peter Cai 1 年之前
父节点
当前提交
b4f562f90b
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      app-common/src/main/java/im/angry/openeuicc/ui/MainActivity.kt

+ 4 - 1
app-common/src/main/java/im/angry/openeuicc/ui/MainActivity.kt

@@ -126,7 +126,10 @@ open class MainActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker {
     }
 
     private fun ensureNotificationPermissions() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && checkSelfPermission(android.Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
+        val needsNotificationPerms = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU;
+        val notificationPermsGranted =
+            needsNotificationPerms && checkSelfPermission(android.Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED
+        if (needsNotificationPerms && !notificationPermsGranted) {
             requestPermissions(
                 arrayOf(android.Manifest.permission.POST_NOTIFICATIONS),
                 PERMISSION_REQUEST_CODE