diff --git a/app-common/src/main/res/xml/pref_settings.xml b/app-common/src/main/res/xml/pref_settings.xml index bbdb50a..f719ef5 100644 --- a/app-common/src/main/res/xml/pref_settings.xml +++ b/app-common/src/main/res/xml/pref_settings.xml @@ -77,6 +77,7 @@ diff --git a/app/src/main/java/im/angry/openeuicc/core/PrivilegedEuiccChannelFactory.kt b/app/src/main/java/im/angry/openeuicc/core/PrivilegedEuiccChannelFactory.kt index 6dccda9..2044c02 100644 --- a/app/src/main/java/im/angry/openeuicc/core/PrivilegedEuiccChannelFactory.kt +++ b/app/src/main/java/im/angry/openeuicc/core/PrivilegedEuiccChannelFactory.kt @@ -8,8 +8,7 @@ import im.angry.openeuicc.util.* import kotlinx.coroutines.flow.first import java.lang.IllegalArgumentException -class PrivilegedEuiccChannelFactory(context: Context) : DefaultEuiccChannelFactory(context), - PrivilegedEuiccContextMarker { +class PrivilegedEuiccChannelFactory(context: Context) : DefaultEuiccChannelFactory(context) { private val tm by lazy { (context.applicationContext as OpenEuiccApplication).appContainer.telephonyManager } @@ -23,7 +22,7 @@ class PrivilegedEuiccChannelFactory(context: Context) : DefaultEuiccChannelFacto super.tryOpenEuiccChannel(port)?.let { return it } } - if (port.card.isEuicc || preferenceRepository.removableTelephonyManagerFlow.first()) { + if (port.card.isEuicc || (context.preferenceRepository as PrivilegedPreferenceRepository).removableTelephonyManagerFlow.first()) { Log.i( DefaultEuiccChannelManager.TAG, "Trying TelephonyManager for slot ${port.card.physicalSlotIndex} port ${port.portIndex}" diff --git a/app/src/main/java/im/angry/openeuicc/ui/PrivilegedSettingsFragment.kt b/app/src/main/java/im/angry/openeuicc/ui/PrivilegedSettingsFragment.kt index c67d880..7229688 100644 --- a/app/src/main/java/im/angry/openeuicc/ui/PrivilegedSettingsFragment.kt +++ b/app/src/main/java/im/angry/openeuicc/ui/PrivilegedSettingsFragment.kt @@ -6,7 +6,7 @@ import androidx.preference.Preference import im.angry.openeuicc.R import im.angry.openeuicc.util.* -class PrivilegedSettingsFragment : SettingsFragment(), PrivilegedEuiccContextMarker { +class PrivilegedSettingsFragment : SettingsFragment() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { super.onCreatePreferences(savedInstanceState, rootKey) addPreferencesFromResource(R.xml.pref_privileged_settings) @@ -21,7 +21,7 @@ class PrivilegedSettingsFragment : SettingsFragment(), PrivilegedEuiccContextMar requirePreference("pref_advanced_language").isVisible = false // Force use TelephonyManager API - requirePreference("pref_developer_removable_telephony_manager") - .bindBooleanFlow(preferenceRepository.removableTelephonyManagerFlow) + requirePreference("pref_developer_tmapi_removable") + .bindBooleanFlow((preferenceRepository as PrivilegedPreferenceRepository).removableTelephonyManagerFlow) } } \ No newline at end of file diff --git a/app/src/main/java/im/angry/openeuicc/util/PrivilegedUtils.kt b/app/src/main/java/im/angry/openeuicc/util/PrivilegedUtils.kt index 21c8002..e295f26 100644 --- a/app/src/main/java/im/angry/openeuicc/util/PrivilegedUtils.kt +++ b/app/src/main/java/im/angry/openeuicc/util/PrivilegedUtils.kt @@ -5,23 +5,10 @@ import android.content.Context import android.content.Intent import android.content.ServiceConnection import android.os.IBinder -import androidx.fragment.app.Fragment import java.util.concurrent.Executors import kotlin.coroutines.resume import kotlin.coroutines.suspendCoroutine -interface PrivilegedEuiccContextMarker { - val privilegedEuiccMarkerContext: Context - get() = when (this) { - is Context -> this - is Fragment -> requireContext() - else -> throw RuntimeException("PrivilegedEuiccContextMarker shall only be used on Fragments or UI types that derive from Context") - } - - val preferenceRepository: PrivilegedPreferenceRepository - get() = privilegedEuiccMarkerContext.preferenceRepository as PrivilegedPreferenceRepository -} - suspend fun Context.bindServiceSuspended(intent: Intent, flags: Int): Pair Unit> = suspendCoroutine { cont -> var binder: IBinder? diff --git a/app/src/main/res/xml/pref_privileged_settings.xml b/app/src/main/res/xml/pref_privileged_settings.xml index 5279126..339233b 100644 --- a/app/src/main/res/xml/pref_privileged_settings.xml +++ b/app/src/main/res/xml/pref_privileged_settings.xml @@ -5,7 +5,7 @@ app:key="pref_developer_overlay">