From b3faf0daedf8cd9ede3dd843f3f4a2c803436afd Mon Sep 17 00:00:00 2001 From: androidacy-user Date: Tue, 5 Sep 2023 19:07:54 -0400 Subject: [PATCH] apply md3 to all frags fixes #65 Signed-off-by: androidacy-user --- .../mmm/settings/AppearanceFragment.kt | 3 +-- .../fox2code/mmm/settings/CreditsFragment.kt | 1 + .../fox2code/mmm/settings/DebugFragment.kt | 1 + .../com/fox2code/mmm/settings/InfoFragment.kt | 1 + .../fox2code/mmm/settings/PrivacyFragment.kt | 1 + .../com/fox2code/mmm/settings/RepoFragment.kt | 20 +------------------ .../fox2code/mmm/settings/SecurityFragment.kt | 1 + .../fox2code/mmm/settings/SettingsActivity.kt | 15 +++++++++++++- .../fox2code/mmm/settings/UpdateFragment.kt | 2 +- 9 files changed, 22 insertions(+), 23 deletions(-) diff --git a/app/src/main/kotlin/com/fox2code/mmm/settings/AppearanceFragment.kt b/app/src/main/kotlin/com/fox2code/mmm/settings/AppearanceFragment.kt index 420266a..5580dd4 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/settings/AppearanceFragment.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/settings/AppearanceFragment.kt @@ -54,8 +54,7 @@ class AppearanceFragment : PreferenceFragmentCompat() { throw RuntimeException(getString(R.string.error_encrypted_shared_preferences)) } setPreferencesFromResource(R.xml.theme_preferences, rootKey) - - RepoFragment.applyMaterial3(preferenceScreen) + SettingsActivity.applyMaterial3(preferenceScreen) val themePreference = findPreference("pref_theme") // If transparent theme(s) are set, disable monet if (themePreference!!.value == "transparent_light") { diff --git a/app/src/main/kotlin/com/fox2code/mmm/settings/CreditsFragment.kt b/app/src/main/kotlin/com/fox2code/mmm/settings/CreditsFragment.kt index f639577..3860428 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/settings/CreditsFragment.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/settings/CreditsFragment.kt @@ -45,6 +45,7 @@ class CreditsFragment : PreferenceFragmentCompat() { } setPreferencesFromResource(R.xml.credits_preferences, rootKey) + SettingsActivity.applyMaterial3(preferenceScreen) diff --git a/app/src/main/kotlin/com/fox2code/mmm/settings/DebugFragment.kt b/app/src/main/kotlin/com/fox2code/mmm/settings/DebugFragment.kt index c64e2be..68ab673 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/settings/DebugFragment.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/settings/DebugFragment.kt @@ -53,6 +53,7 @@ class DebugFragment : PreferenceFragmentCompat() { } setPreferencesFromResource(R.xml.debugging_preferences, rootKey) + SettingsActivity.applyMaterial3(preferenceScreen) if (!MainApplication.isDeveloper) { findPreference("pref_disable_low_quality_module_filter")!!.isVisible = false diff --git a/app/src/main/kotlin/com/fox2code/mmm/settings/InfoFragment.kt b/app/src/main/kotlin/com/fox2code/mmm/settings/InfoFragment.kt index 9c73921..f52a84f 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/settings/InfoFragment.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/settings/InfoFragment.kt @@ -45,6 +45,7 @@ class InfoFragment : PreferenceFragmentCompat() { } setPreferencesFromResource(R.xml.app_info_preferences, rootKey) + SettingsActivity.applyMaterial3(preferenceScreen) val clipboard = requireContext().getSystemService(FoxActivity.CLIPBOARD_SERVICE) as ClipboardManager diff --git a/app/src/main/kotlin/com/fox2code/mmm/settings/PrivacyFragment.kt b/app/src/main/kotlin/com/fox2code/mmm/settings/PrivacyFragment.kt index e7bf202..b8057de 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/settings/PrivacyFragment.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/settings/PrivacyFragment.kt @@ -50,6 +50,7 @@ class PrivacyFragment : PreferenceFragmentCompat() { throw RuntimeException(getString(R.string.error_encrypted_shared_preferences)) } setPreferencesFromResource(R.xml.privacy_preferences, rootKey) + SettingsActivity.applyMaterial3(preferenceScreen) // Crash reporting val crashReportingPreference = findPreference("pref_crash_reporting") diff --git a/app/src/main/kotlin/com/fox2code/mmm/settings/RepoFragment.kt b/app/src/main/kotlin/com/fox2code/mmm/settings/RepoFragment.kt index 75aa769..92c1a34 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/settings/RepoFragment.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/settings/RepoFragment.kt @@ -848,28 +848,10 @@ class RepoFragment : PreferenceFragmentCompat() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { preferenceManager.sharedPreferencesName = "mmm" setPreferencesFromResource(R.xml.repo_preferences, rootKey) - applyMaterial3(preferenceScreen) + SettingsActivity.applyMaterial3(preferenceScreen) setRepoData(RepoManager.MAGISK_ALT_REPO) setRepoData(RepoManager.ANDROIDACY_MAGISK_REPO_ENDPOINT) updateCustomRepoList(true) onCreatePreferencesAndroidacy() } - - companion object { - /** - * *says proudly*: I stole it - * - * - * namely, from [neo wellbeing](https://github.com/NeoApplications/Neo-Wellbeing/blob/9fca4136263780c022f9ec6433c0b43d159166db/app/src/main/java/org/eu/droid_ng/wellbeing/prefs/SettingsActivity.java#L101) - */ - fun applyMaterial3(p: Preference) { - if (p is PreferenceGroup) { - for (i in 0 until p.preferenceCount) { - applyMaterial3(p.getPreference(i)) - } - } - (p as? SwitchPreferenceCompat)?.widgetLayoutResource = - R.layout.preference_material_switch - } - } } \ No newline at end of file diff --git a/app/src/main/kotlin/com/fox2code/mmm/settings/SecurityFragment.kt b/app/src/main/kotlin/com/fox2code/mmm/settings/SecurityFragment.kt index 5108f4a..7bc4d99 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/settings/SecurityFragment.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/settings/SecurityFragment.kt @@ -52,6 +52,7 @@ class SecurityFragment : PreferenceFragmentCompat() { } setPreferencesFromResource(R.xml.security_preferences, rootKey) + SettingsActivity.applyMaterial3(preferenceScreen) findPreference("pref_dns_over_https")!!.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _: Preference?, v: Any? -> diff --git a/app/src/main/kotlin/com/fox2code/mmm/settings/SettingsActivity.kt b/app/src/main/kotlin/com/fox2code/mmm/settings/SettingsActivity.kt index 7f91cb1..b86c500 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/settings/SettingsActivity.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/settings/SettingsActivity.kt @@ -17,6 +17,8 @@ import android.widget.Toast import androidx.fragment.app.FragmentTransaction import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat +import androidx.preference.PreferenceGroup +import androidx.preference.SwitchPreferenceCompat import androidx.security.crypto.EncryptedSharedPreferences import androidx.security.crypto.MasterKey import com.fox2code.foxcompat.app.FoxActivity @@ -160,7 +162,7 @@ class SettingsActivity : FoxActivity(), LanguageActivity, throw RuntimeException(getString(R.string.error_encrypted_shared_preferences)) } setPreferencesFromResource(R.xml.root_preferences, rootKey) - RepoFragment.applyMaterial3(preferenceScreen) + applyMaterial3(preferenceScreen) // track all non empty values dataStore.sharedPreferences // disabled until EncryptedSharedPreferences fixes getAll() @@ -276,6 +278,17 @@ class SettingsActivity : FoxActivity(), LanguageActivity, PERFORMANCE_CLASS_HIGH } } + + + fun applyMaterial3(p: Preference) { + if (p is PreferenceGroup) { + for (i in 0 until p.preferenceCount) { + applyMaterial3(p.getPreference(i)) + } + } + (p as? SwitchPreferenceCompat)?.widgetLayoutResource = + R.layout.preference_material_switch + } } override fun onPreferenceStartFragment( diff --git a/app/src/main/kotlin/com/fox2code/mmm/settings/UpdateFragment.kt b/app/src/main/kotlin/com/fox2code/mmm/settings/UpdateFragment.kt index 388c60f..e9f9e91 100644 --- a/app/src/main/kotlin/com/fox2code/mmm/settings/UpdateFragment.kt +++ b/app/src/main/kotlin/com/fox2code/mmm/settings/UpdateFragment.kt @@ -60,7 +60,7 @@ class UpdateFragment : PreferenceFragmentCompat() { throw RuntimeException(getString(R.string.error_encrypted_shared_preferences)) } setPreferencesFromResource(R.xml.update_preferences, rootKey) - RepoFragment.applyMaterial3(preferenceScreen) + SettingsActivity.applyMaterial3(preferenceScreen) // track all non empty values val sharedPreferences = dataStore.sharedPreferences val debugNotification = findPreference("pref_background_update_check_debug")