Fixes crash when opening 'preferences' after upgrading from old version

Fixes #475
Closes #476
This commit is contained in:
Twaik Yont 2023-10-02 23:47:02 +03:00
parent 18b5751041
commit 4acf4b2422
2 changed files with 15 additions and 0 deletions

View File

@ -81,6 +81,14 @@ public class LoriePreferences extends AppCompatActivity {
public static class LoriePreferenceFragment extends PreferenceFragmentCompat implements OnPreferenceChangeListener, Preference.OnPreferenceClickListener {
@Override
public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
SharedPreferences p = getPreferenceManager().getSharedPreferences();
int modeValue = p == null ? 0 : Integer.parseInt(p.getString("touchMode", "1")) - 1;
if (modeValue > 2) {
SharedPreferences.Editor e = Objects.requireNonNull(p).edit();
e.putString("touchMode", "1");
e.apply();
}
addPreferencesFromResource(R.xml.preferences);
}

View File

@ -143,6 +143,13 @@ public class MainActivity extends AppCompatActivity implements View.OnApplyWindo
super.onCreate(savedInstanceState);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
int modeValue = Integer.parseInt(preferences.getString("touchMode", "1")) - 1;
if (modeValue > 2) {
SharedPreferences.Editor e = Objects.requireNonNull(preferences).edit();
e.putString("touchMode", "1");
e.apply();
}
preferences.registerOnSharedPreferenceChangeListener((sharedPreferences, key) -> onPreferencesChanged(key));
getWindow().setFlags(FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS | FLAG_KEEP_SCREEN_ON | FLAG_TRANSLUCENT_STATUS, 0);