ソースを参照

fix: crash with disable com.android.stk app (#60)

```console
pm disable-user com.android.stk
```

after running this command, the app will crash when launched

Reviewed-on: https://gitea.angry.im/PeterCxy/OpenEUICC/pulls/60
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
septs 1 年間 前
コミット
071304349a

+ 10 - 7
app-unpriv/src/main/java/im/angry/openeuicc/util/SIMToolkit.kt

@@ -34,13 +34,16 @@ class SIMToolkit(private val context: Context) {
         null
         null
     }
     }
 
 
-    private fun getActivities(packageName: String) = try {
-        val pm = context.packageManager
-        val packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES)
-        packageInfo.activities!!.filter { it.exported }
-            .map { ComponentName(it.packageName, it.name) }
-    } catch (_: PackageManager.NameNotFoundException) {
-        emptyList()
+    private fun getActivities(packageName: String): List<ComponentName> {
+        return try {
+            val pm = context.packageManager
+            val packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES)
+            val activities = packageInfo.activities
+            if (activities.isNullOrEmpty()) return emptyList()
+            activities.filter { it.exported }.map { ComponentName(it.packageName, it.name) }
+        } catch (_: PackageManager.NameNotFoundException) {
+            emptyList()
+        }
     }
     }
 
 
     private fun getComponentNames(@ArrayRes id: Int) =
     private fun getComponentNames(@ArrayRes id: Int) =