From ceb4f4ec56fd8df393e2fd969f6723bae4cae1cc Mon Sep 17 00:00:00 2001 From: septs Date: Mon, 7 Jul 2025 04:47:15 +0800 Subject: [PATCH 1/2] chore: improve marker --- .../openeuicc/ui/QuickAvailabilityCheckActivity.kt | 8 ++++---- .../im/angry/openeuicc/util/UnprivilegedUtils.kt | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 app-unpriv/src/main/java/im/angry/openeuicc/util/UnprivilegedUtils.kt diff --git a/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityCheckActivity.kt b/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityCheckActivity.kt index 340eac7..62ce198 100644 --- a/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityCheckActivity.kt +++ b/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityCheckActivity.kt @@ -15,6 +15,7 @@ import im.angry.easyeuicc.R import im.angry.openeuicc.di.UnprivilegedCustomizableTextProvider import im.angry.openeuicc.util.EUICC_DEFAULT_ISDR_AID import im.angry.openeuicc.util.OpenEuiccContextMarker +import im.angry.openeuicc.util.UnprivilegedEuiccContextMarker import im.angry.openeuicc.util.connectSEService import im.angry.openeuicc.util.decodeHex import im.angry.openeuicc.util.isSIM @@ -23,7 +24,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking -class QuickAvailabilityCheckActivity : AppCompatActivity(), OpenEuiccContextMarker { +class QuickAvailabilityCheckActivity : AppCompatActivity(), UnprivilegedEuiccContextMarker { companion object { const val EXTRA_FROM = "from_quick_availability" @@ -79,9 +80,8 @@ class QuickAvailabilityCheckActivity : AppCompatActivity(), OpenEuiccContextMark suspend fun onCompatibilityUpdate() { val result = getCompatibilityCheckResult() - conclusion.text = - (appContainer.customizableTextProvider as UnprivilegedCustomizableTextProvider) - .formatQuickAvailabilityConclusion(result.compatibility === Compatibility.COMPATIBLE) + conclusion.text = appContainer.customizableTextProvider + .formatQuickAvailabilityConclusion(result.compatibility === Compatibility.COMPATIBLE) if (result.compatibility != Compatibility.COMPATIBLE) return resultSlots.isVisible = true resultSlots.text = getString( diff --git a/app-unpriv/src/main/java/im/angry/openeuicc/util/UnprivilegedUtils.kt b/app-unpriv/src/main/java/im/angry/openeuicc/util/UnprivilegedUtils.kt new file mode 100644 index 0000000..f6e0937 --- /dev/null +++ b/app-unpriv/src/main/java/im/angry/openeuicc/util/UnprivilegedUtils.kt @@ -0,0 +1,14 @@ +package im.angry.openeuicc.util + +import im.angry.openeuicc.di.AppContainer +import im.angry.openeuicc.di.UnprivilegedCustomizableTextProvider + +interface UnprivilegedEuiccContextMarker : OpenEuiccContextMarker { + override val appContainer: UnprivilegedAppContainer + get() = super.appContainer as UnprivilegedAppContainer +} + +interface UnprivilegedAppContainer : AppContainer { + override val customizableTextProvider: UnprivilegedCustomizableTextProvider + get() = super.customizableTextProvider as UnprivilegedCustomizableTextProvider +} \ No newline at end of file From 5b30916350f801b414de5df0469d55910718472a Mon Sep 17 00:00:00 2001 From: septs Date: Mon, 7 Jul 2025 04:47:15 +0800 Subject: [PATCH 2/2] chore: improve marker --- .../angry/openeuicc/ui/QuickAvailabilityCheckActivity.kt | 8 ++++---- .../java/im/angry/openeuicc/util/UnprivilegedUtils.kt | 8 ++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 app-unpriv/src/main/java/im/angry/openeuicc/util/UnprivilegedUtils.kt diff --git a/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityCheckActivity.kt b/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityCheckActivity.kt index 340eac7..3939224 100644 --- a/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityCheckActivity.kt +++ b/app-unpriv/src/main/java/im/angry/openeuicc/ui/QuickAvailabilityCheckActivity.kt @@ -15,6 +15,7 @@ import im.angry.easyeuicc.R import im.angry.openeuicc.di.UnprivilegedCustomizableTextProvider import im.angry.openeuicc.util.EUICC_DEFAULT_ISDR_AID import im.angry.openeuicc.util.OpenEuiccContextMarker +import im.angry.openeuicc.util.UnprivilegedEuiccContextMarker import im.angry.openeuicc.util.connectSEService import im.angry.openeuicc.util.decodeHex import im.angry.openeuicc.util.isSIM @@ -23,7 +24,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking -class QuickAvailabilityCheckActivity : AppCompatActivity(), OpenEuiccContextMarker { +class QuickAvailabilityCheckActivity : AppCompatActivity(), UnprivilegedEuiccContextMarker { companion object { const val EXTRA_FROM = "from_quick_availability" @@ -79,9 +80,8 @@ class QuickAvailabilityCheckActivity : AppCompatActivity(), OpenEuiccContextMark suspend fun onCompatibilityUpdate() { val result = getCompatibilityCheckResult() - conclusion.text = - (appContainer.customizableTextProvider as UnprivilegedCustomizableTextProvider) - .formatQuickAvailabilityConclusion(result.compatibility === Compatibility.COMPATIBLE) + conclusion.text = customizableTextProvider + .formatQuickAvailabilityConclusion(result.compatibility === Compatibility.COMPATIBLE) if (result.compatibility != Compatibility.COMPATIBLE) return resultSlots.isVisible = true resultSlots.text = getString( diff --git a/app-unpriv/src/main/java/im/angry/openeuicc/util/UnprivilegedUtils.kt b/app-unpriv/src/main/java/im/angry/openeuicc/util/UnprivilegedUtils.kt new file mode 100644 index 0000000..1c4a393 --- /dev/null +++ b/app-unpriv/src/main/java/im/angry/openeuicc/util/UnprivilegedUtils.kt @@ -0,0 +1,8 @@ +package im.angry.openeuicc.util + +import im.angry.openeuicc.di.UnprivilegedCustomizableTextProvider + +interface UnprivilegedEuiccContextMarker : OpenEuiccContextMarker { + val customizableTextProvider: UnprivilegedCustomizableTextProvider + get() = appContainer.customizableTextProvider as UnprivilegedCustomizableTextProvider +}