浏览代码

refactor: remove euicc memory reset preference (#266)

Reviewed-on: https://gitea.angry.im/PeterCxy/OpenEUICC/pulls/266
Co-authored-by: septs <github@septs.pw>
Co-committed-by: septs <github@septs.pw>
septs 2 月之前
父节点
当前提交
755499e878

+ 3 - 1
app-common/src/main/java/im/angry/openeuicc/ui/EuiccManagementFragment.kt

@@ -63,6 +63,7 @@ open class EuiccManagementFragment : Fragment(), EuiccProfilesChangedListener,
     private lateinit var profileList: RecyclerView
     private var logicalSlotId: Int = -1
     private lateinit var eid: String
+    private var enabledProfile: LocalProfileInfo? = null
 
     private val adapter = EuiccProfileAdapter()
 
@@ -146,7 +147,7 @@ open class EuiccManagementFragment : Fragment(), EuiccProfilesChangedListener,
         menu.findItem(R.id.euicc_info).isVisible =
             logicalSlotId != -1
         menu.findItem(R.id.euicc_memory_reset).isVisible =
-            runBlocking { preferenceRepository.euiccMemoryResetFlow.first() }
+            enabledProfile == null
     }
 
     override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
@@ -214,6 +215,7 @@ open class EuiccManagementFragment : Fragment(), EuiccProfilesChangedListener,
         val profiles = withEuiccChannel { channel ->
             logicalSlotId = channel.logicalSlotId
             eid = channel.lpa.eID
+            enabledProfile = channel.lpa.profiles.enabled
             euiccChannelManager.notifyEuiccProfilesChanged(channel.logicalSlotId)
             if (unfilteredProfileListFlow.value)
                 channel.lpa.profiles

+ 0 - 3
app-common/src/main/java/im/angry/openeuicc/ui/SettingsFragment.kt

@@ -81,9 +81,6 @@ open class SettingsFragment: PreferenceFragmentCompat() {
         requirePreference<CheckBoxPreference>("pref_developer_refresh_after_switch")
             .bindBooleanFlow(preferenceRepository.refreshAfterSwitchFlow)
 
-        requirePreference<CheckBoxPreference>("pref_developer_euicc_memory_reset")
-            .bindBooleanFlow(preferenceRepository.euiccMemoryResetFlow)
-
         requirePreference<ListPreference>("pref_developer_es10x_mss")
             .bindIntFlow(preferenceRepository.es10xMssFlow, 63)
 

+ 0 - 2
app-common/src/main/java/im/angry/openeuicc/util/PreferenceUtils.kt

@@ -37,7 +37,6 @@ internal object PreferenceKeys {
     val REFRESH_AFTER_SWITCH = booleanPreferencesKey("refresh_after_switch")
     val UNFILTERED_PROFILE_LIST = booleanPreferencesKey("unfiltered_profile_list")
     val IGNORE_TLS_CERTIFICATE = booleanPreferencesKey("ignore_tls_certificate")
-    val EUICC_MEMORY_RESET = booleanPreferencesKey("euicc_memory_reset")
     val ISDR_AID_LIST = stringPreferencesKey("isdr_aid_list")
     val ES10X_MSS = intPreferencesKey("es10x_mss")
 }
@@ -91,7 +90,6 @@ open class PreferenceRepository(private val context: Context) {
     val developerOptionsEnabledFlow = bindFlow(PreferenceKeys.DEVELOPER_OPTIONS_ENABLED, false)
     val unfilteredProfileListFlow = bindFlow(PreferenceKeys.UNFILTERED_PROFILE_LIST, false)
     val ignoreTLSCertificateFlow = bindFlow(PreferenceKeys.IGNORE_TLS_CERTIFICATE, false)
-    val euiccMemoryResetFlow = bindFlow(PreferenceKeys.EUICC_MEMORY_RESET, false)
     val isdrAidListFlow = bindFlow(
         PreferenceKeys.ISDR_AID_LIST,
         PreferenceConstants.DEFAULT_AID_LIST,

+ 0 - 2
app-common/src/main/res/values-ja/strings.xml

@@ -183,8 +183,6 @@
     <string name="pref_developer_unfiltered_profile_list_desc">非運用のプロファイルも含めるようにします。</string>
     <string name="pref_developer_ignore_tls_certificate">SM-DP+ TLS 証明書を無視する</string>
     <string name="pref_developer_ignore_tls_certificate_desc">RSP サーバーで使用される TLS 証明書を受け入れます。</string>
-    <string name="pref_developer_euicc_memory_reset">eSIM の初期化を許可</string>
-    <string name="pref_developer_euicc_memory_reset_desc">これは危険な操作であり、デフォルトでは非表示になっています。代わりとしてすべてのプロファイルを手動で削除することもできます。</string>
     <string name="pref_developer_es10x_mss_desc">グローバル ES10x MSS を設定します。</string>
     <string-array name="pref_developer_es10x_entry_keys">
         <item>高効率</item>

+ 0 - 2
app-common/src/main/res/values-zh-rCN/strings.xml

@@ -166,8 +166,6 @@
     <string name="euicc_memory_reset_hint_text">请在此处输入「%s」以确认</string>
     <string name="euicc_memory_reset_confirm_text">我确认擦除 EID 以 %s 结尾的芯片,并了解此操作不可逆</string>
     <string name="euicc_memory_reset_invoke_button">擦除</string>
-    <string name="pref_developer_euicc_memory_reset">允许擦除 eSIM</string>
-    <string name="pref_developer_euicc_memory_reset_desc">此操作是默认隐藏的危险操作。作为替代方案,您可以手动删除所有配置文件。</string>
     <string name="pref_developer_refresh_after_switch">向基带发送刷新命令</string>
     <string name="pref_developer_isdr_aid_list">自定义 ISD-R AID 列表</string>
     <string name="isdr_aid_list_restore_defaults">重置</string>

+ 0 - 2
app-common/src/main/res/values-zh-rTW/strings.xml

@@ -162,8 +162,6 @@
     <string name="euicc_memory_reset_hint_text">請在此輸入「%s」以確認</string>
     <string name="euicc_memory_reset_confirm_text">我確認擦除 EID 以 %s 結尾的晶片,並了解此操作不可逆</string>
     <string name="euicc_memory_reset_invoke_button">擦除</string>
-    <string name="pref_developer_euicc_memory_reset">允許擦除 eSIM</string>
-    <string name="pref_developer_euicc_memory_reset_desc">此操作是預設隱藏的危險操作。作為替代方案,您可以手動刪除所有設定檔。</string>
     <string name="pref_developer_refresh_after_switch">向基頻發送重新整理命令</string>
     <string name="pref_developer_isdr_aid_list">自訂 ISD-R AID 列表</string>
     <string name="isdr_aid_list_restore_defaults">重置列表為預設</string>

+ 0 - 2
app-common/src/main/res/values/strings.xml

@@ -217,8 +217,6 @@
     <string name="pref_developer_unfiltered_profile_list_desc">Include non-production profiles in the list</string>
     <string name="pref_developer_ignore_tls_certificate">Ignore SM-DP+ TLS certificate</string>
     <string name="pref_developer_ignore_tls_certificate_desc">Accept any TLS certificate used by the RSP server</string>
-    <string name="pref_developer_euicc_memory_reset">Allow erasing eSIM</string>
-    <string name="pref_developer_euicc_memory_reset_desc">This is a dangerous operation and hidden by default. As an alternative, you can delete all profiles manually.</string>
     <string name="pref_developer_es10x_mss" translatable="false">ES10x MSS</string>
     <string name="pref_developer_es10x_mss_desc">Global ES10x MSS</string>
     <string-array name="pref_developer_es10x_entry_keys">

+ 0 - 6
app-common/src/main/res/xml/pref_settings.xml

@@ -75,12 +75,6 @@
             app:summary="@string/pref_developer_ignore_tls_certificate_desc"
             app:title="@string/pref_developer_ignore_tls_certificate" />
 
-        <CheckBoxPreference
-            app:iconSpaceReserved="false"
-            app:key="pref_developer_euicc_memory_reset"
-            app:summary="@string/pref_developer_euicc_memory_reset_desc"
-            app:title="@string/pref_developer_euicc_memory_reset" />
-
         <ListPreference
             app:iconSpaceReserved="false"
             app:key="pref_developer_es10x_mss"