diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/LogsActivity.kt b/app-common/src/main/java/im/angry/openeuicc/ui/LogsActivity.kt index 599e9d3..c6ba256 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/LogsActivity.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/LogsActivity.kt @@ -1,7 +1,6 @@ package im.angry.openeuicc.ui import android.icu.text.SimpleDateFormat -import android.os.Build import android.os.Bundle import android.view.Menu import android.view.MenuItem @@ -33,19 +32,9 @@ class LogsActivity : AppCompatActivity() { SimpleDateFormat.getDateTimeInstance().format(Date()) ) }, - getLogText = ::buildLogText + getLogText = { logStr } ) - private fun buildLogText() = buildString { - appendLine("Manufacturer: ${Build.MANUFACTURER}") - appendLine("Brand: ${Build.BRAND}") - appendLine("Model: ${Build.MODEL}") - appendLine("SDK Version: ${Build.VERSION.SDK_INT}") - appendLine("App Version: $selfAppVersion") - appendLine("-".repeat(10)) - appendLine(logStr) - } - override fun onCreate(savedInstanceState: Bundle?) { enableEdgeToEdge() super.onCreate(savedInstanceState) diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/SettingsFragment.kt b/app-common/src/main/java/im/angry/openeuicc/ui/SettingsFragment.kt index fab680f..ef4ef8b 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/SettingsFragment.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/SettingsFragment.kt @@ -29,7 +29,7 @@ open class SettingsFragment: PreferenceFragmentCompat() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.pref_settings, rootKey) - developerPref = requirePreference("pref_developer") + developerPref = findPreference("pref_developer")!! // Show / hide developer preference based on whether it is enabled lifecycleScope.launch { @@ -38,14 +38,14 @@ open class SettingsFragment: PreferenceFragmentCompat() { .collect() } - requirePreference("pref_info_app_version").apply { + findPreference("pref_info_app_version")?.apply { summary = requireContext().selfAppVersion // Enable developer options when this is clicked for 7 times setOnPreferenceClickListener(::onAppVersionClicked) } - requirePreference("pref_advanced_language").apply { + findPreference("pref_advanced_language")?.apply { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) return@apply isVisible = true intent = Intent(Settings.ACTION_APP_LOCALE_SETTINGS).apply { @@ -53,35 +53,32 @@ open class SettingsFragment: PreferenceFragmentCompat() { } } - requirePreference("pref_advanced_logs").apply { + findPreference("pref_advanced_logs")?.apply { intent = Intent(requireContext(), LogsActivity::class.java) } - requirePreference("pref_notifications_download") - .bindBooleanFlow(preferenceRepository.notificationDownloadFlow) + findPreference("pref_notifications_download") + ?.bindBooleanFlow(preferenceRepository.notificationDownloadFlow) - requirePreference("pref_notifications_delete") - .bindBooleanFlow(preferenceRepository.notificationDeleteFlow) + findPreference("pref_notifications_delete") + ?.bindBooleanFlow(preferenceRepository.notificationDeleteFlow) - requirePreference("pref_notifications_switch") - .bindBooleanFlow(preferenceRepository.notificationSwitchFlow) + findPreference("pref_notifications_switch") + ?.bindBooleanFlow(preferenceRepository.notificationSwitchFlow) - requirePreference("pref_advanced_disable_safeguard_removable_esim") - .bindBooleanFlow(preferenceRepository.disableSafeguardFlow) + findPreference("pref_advanced_disable_safeguard_removable_esim") + ?.bindBooleanFlow(preferenceRepository.disableSafeguardFlow) - requirePreference("pref_advanced_verbose_logging") - .bindBooleanFlow(preferenceRepository.verboseLoggingFlow) + findPreference("pref_advanced_verbose_logging") + ?.bindBooleanFlow(preferenceRepository.verboseLoggingFlow) - requirePreference("pref_developer_unfiltered_profile_list") - .bindBooleanFlow(preferenceRepository.unfilteredProfileListFlow) + findPreference("pref_developer_unfiltered_profile_list") + ?.bindBooleanFlow(preferenceRepository.unfilteredProfileListFlow) - requirePreference("pref_developer_ignore_tls_certificate") - .bindBooleanFlow(preferenceRepository.ignoreTLSCertificateFlow) + findPreference("pref_ignore_tls_certificate") + ?.bindBooleanFlow(preferenceRepository.ignoreTLSCertificateFlow) } - protected fun requirePreference(key: CharSequence) = - findPreference(key)!! - override fun onStart() { super.onStart() setupRootViewInsets(requireView().requireViewById(R.id.recycler_view)) @@ -136,8 +133,8 @@ open class SettingsFragment: PreferenceFragmentCompat() { } protected fun mergePreferenceOverlay(overlayKey: String, targetKey: String) { - val overlayCat = requirePreference(overlayKey) - val targetCat = requirePreference(targetKey) + val overlayCat = findPreference(overlayKey)!! + val targetCat = findPreference(targetKey)!! val prefs = buildList { for (i in 0.. + android:hint="@string/profile_download_code"> + android:hint="@string/profile_download_confirmation_code"> ("pref_info_ara_m").apply { + findPreference("pref_info_ara_m")?.apply { summary = firstSigner.encodeHex() setOnPreferenceClickListener { requireContext().getSystemService(ClipboardManager::class.java)!!