Disable settings until they have been loaded

In practise, this is not noticeable in the UI.
Only when the database is congested, it should become visible and
prevent a crash when the sound setting is clicked.
This commit is contained in:
Torsten Grote
2018-03-07 15:20:09 -03:00
parent 809b9f8919
commit 03b4907311

View File

@@ -128,6 +128,8 @@ public class SettingsFragment extends PreferenceFragmentCompat
"pref_key_notify_lock_screen");
notifySound = findPreference("pref_key_notify_sound");
setSettingsEnabled(false);
enableBluetooth.setOnPreferenceChangeListener(this);
torNetwork.setOnPreferenceChangeListener(this);
notifyPrivateMessages.setOnPreferenceChangeListener(this);
@@ -248,9 +250,22 @@ public class SettingsFragment extends PreferenceFragmentCompat
text = getString(R.string.notify_sound_setting_disabled);
}
notifySound.setSummary(text);
setSettingsEnabled(true);
});
}
private void setSettingsEnabled(boolean enabled) {
enableBluetooth.setEnabled(enabled);
torNetwork.setEnabled(enabled);
notifyPrivateMessages.setEnabled(enabled);
notifyGroupMessages.setEnabled(enabled);
notifyForumPosts.setEnabled(enabled);
notifyBlogPosts.setEnabled(enabled);
notifyVibration.setEnabled(enabled);
notifyLockscreen.setEnabled(enabled);
notifySound.setEnabled(enabled);
}
private void triggerFeedback() {
androidExecutor.runOnBackgroundThread(() -> ACRA.getErrorReporter()
.handleException(new UserFeedback(), false));