Browse Source

privileged: Disable slot mapping support for pre-T

Fixes #15.
Peter Cai 1 year ago
parent
commit
f046d40f2c

+ 5 - 0
app/src/main/java/im/angry/openeuicc/service/OpenEuiccService.kt

@@ -1,5 +1,6 @@
 package im.angry.openeuicc.service
 package im.angry.openeuicc.service
 
 
+import android.os.Build
 import android.service.euicc.*
 import android.service.euicc.*
 import android.telephony.UiccSlotMapping
 import android.telephony.UiccSlotMapping
 import android.telephony.euicc.DownloadableSubscription
 import android.telephony.euicc.DownloadableSubscription
@@ -34,6 +35,10 @@ class OpenEuiccService : EuiccService(), OpenEuiccContextMarker {
         lpa.profiles.any { it.iccid == iccid }
         lpa.profiles.any { it.iccid == iccid }
 
 
     private fun ensurePortIsMapped(slotId: Int, portId: Int) {
     private fun ensurePortIsMapped(slotId: Int, portId: Int) {
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
+            return
+        }
+
         val mappings = telephonyManager.simSlotMapping.toMutableList()
         val mappings = telephonyManager.simSlotMapping.toMutableList()
 
 
         mappings.firstOrNull { it.physicalSlotIndex == slotId && it.portIndex == portId }?.let {
         mappings.firstOrNull { it.physicalSlotIndex == slotId && it.portIndex == portId }?.let {

+ 5 - 0
app/src/main/java/im/angry/openeuicc/ui/PrivilegedMainActivity.kt

@@ -1,5 +1,6 @@
 package im.angry.openeuicc.ui
 package im.angry.openeuicc.ui
 
 
+import android.os.Build
 import android.view.Menu
 import android.view.Menu
 import android.view.MenuItem
 import android.view.MenuItem
 import android.widget.Toast
 import android.widget.Toast
@@ -11,6 +12,10 @@ class PrivilegedMainActivity : MainActivity() {
         super.onCreateOptionsMenu(menu)
         super.onCreateOptionsMenu(menu)
         menuInflater.inflate(R.menu.activity_main_privileged, menu)
         menuInflater.inflate(R.menu.activity_main_privileged, menu)
 
 
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
+            menu.findItem(R.id.slot_mapping).isVisible = false
+        }
+
         if (tm.supportsDSDS) {
         if (tm.supportsDSDS) {
             val dsds = menu.findItem(R.id.dsds)
             val dsds = menu.findItem(R.id.dsds)
             dsds.isVisible = true
             dsds.isVisible = true