Skip to content

Commit 386a58c

Browse files
fix settings crashes
Signed-off-by: androidacy-user <[email protected]>
1 parent 8a9068d commit 386a58c

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

app/proguard-rules.pro

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,16 @@
211211
-keep class com.topjohnwu.superuser.Shell$Result
212212
-keep class com.topjohnwu.superuser.Shell
213213

214-
# keep settings fragments Appearance, Credits, Debug, Info, Privacy, Repo, Security, and Update
215-
-keep,allowobfuscation class com.fox2code.mmm.settings.* { *; }
214+
# keep settings fragments Appearance, Credits, Debug, Info, Privacy, Repo, Security, and Update. they all extend preferencefragmentcompat
215+
-keep class com.fox2code.mmm.settings.RepoFragment
216+
-keep class com.fox2code.mmm.settings.AppearanceFragment
217+
-keep class com.fox2code.mmm.settings.CreditsFragment
218+
-keep class com.fox2code.mmm.settings.DebugFragment
219+
-keep class com.fox2code.mmm.settings.InfoFragment
220+
-keep class com.fox2code.mmm.settings.PrivacyFragment
221+
-keep class com.fox2code.mmm.settings.SecurityFragment
222+
-keep class com.fox2code.mmm.settings.UpdateFragment
223+
216224
# dontwarn
217225
-dontwarn android.os.SystemProperties
218226
-dontwarn android.view.ThreadedRenderer

app/src/main/kotlin/com/fox2code/mmm/settings/SettingsActivity.kt

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ class SettingsActivity : FoxActivity(), LanguageActivity {
139139
val masterKey: MasterKey
140140
val preferenceManager = preferenceManager
141141
val dataStore: SharedPreferenceDataStore
142-
val editor: SharedPreferences.Editor
143142
try {
144143
masterKey =
145144
MasterKey.Builder(context!!).setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
@@ -155,7 +154,6 @@ class SettingsActivity : FoxActivity(), LanguageActivity {
155154
)
156155
preferenceManager!!.preferenceDataStore = dataStore
157156
preferenceManager.sharedPreferencesName = "mmm"
158-
editor = dataStore.sharedPreferences.edit()
159157
} catch (e: Exception) {
160158
Timber.e(e, "Failed to create encrypted shared preferences")
161159
throw RuntimeException(getString(R.string.error_encrypted_shared_preferences))
@@ -195,26 +193,32 @@ class SettingsActivity : FoxActivity(), LanguageActivity {
195193
Preference.OnPreferenceClickListener { p: Preference ->
196194
versionClicks++
197195
Timber.d("Version clicks: %d", versionClicks)
198-
// if it's been 3 clicks, toast "yer a wizard, harry" or "keep tapping to enter hogwarts"
199-
if (versionClicks == 3) {
196+
if (versionClicks == 7) {
197+
versionClicks = 0
198+
openUrl(p.context, "https://www.youtube.com/watch?v=dQw4w9WgXcQ")
199+
}
200+
// enable dev mode if it's disabled otherwise disable it
201+
val editor = dataStore.sharedPreferences.edit()
202+
if (dataStore.sharedPreferences.getBoolean("developer", false)) {
203+
editor.putBoolean("developer", false)
200204
Toast.makeText(
201205
p.context,
202-
R.string.keep_tapping_to_enter_hogwarts,
206+
R.string.dev_mode_disabled,
207+
Toast.LENGTH_SHORT
208+
).show()
209+
} else {
210+
Toast.makeText(
211+
p.context,
212+
R.string.dev_mode_enabled,
203213
Toast.LENGTH_SHORT
204214
).show()
205215
}
206-
if (versionClicks == 7) {
207-
versionClicks = 0
208-
openUrl(p.context, "https://www.youtube.com/watch?v=dQw4w9WgXcQ")
209-
}
210-
// enable dev mode
211-
editor.putBoolean("developer", true)
212216
editor.apply()
213217
// toast yer a wizard harry
214218
if (versionClicks == 3) {
215219
Toast.makeText(
216220
p.context,
217-
R.string.yer_a_wizard_harry,
221+
R.string.keep_tapping_to_enter_hogwarts,
218222
Toast.LENGTH_LONG
219223
).show()
220224
}

0 commit comments

Comments
 (0)