Merge pull request #12973 from dustdfg/require_preference
Replace findPreference(getString(resId) with its null safe shortcut
This commit is contained in:
commit
830d5bf616
7 changed files with 24 additions and 34 deletions
|
|
@ -98,10 +98,9 @@ public class BackupRestoreSettingsFragment extends BasePreferenceFragment {
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
final Preference resetSettings = findPreference(getString(R.string.reset_settings));
|
final Preference resetSettings = requirePreference(R.string.reset_settings);
|
||||||
// Resets all settings by deleting shared preference and restarting the app
|
// Resets all settings by deleting shared preference and restarting the app
|
||||||
// A dialogue will pop up to confirm if user intends to reset all settings
|
// A dialogue will pop up to confirm if user intends to reset all settings
|
||||||
assert resetSettings != null;
|
|
||||||
resetSettings.setOnPreferenceClickListener(preference -> {
|
resetSettings.setOnPreferenceClickListener(preference -> {
|
||||||
// Show Alert Dialogue
|
// Show Alert Dialogue
|
||||||
final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
|
final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,8 @@ public abstract class BasePreferenceFragment extends PreferenceFragmentCompat {
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
public final Preference requirePreference(@StringRes final int resId) {
|
public final <T extends Preference> T requirePreference(@StringRes final int resId) {
|
||||||
final Preference preference = findPreference(getString(resId));
|
final T preference = findPreference(getString(resId));
|
||||||
Objects.requireNonNull(preference);
|
Objects.requireNonNull(preference);
|
||||||
return preference;
|
return preference;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,27 +22,20 @@ public class DebugSettingsFragment extends BasePreferenceFragment {
|
||||||
addPreferencesFromResourceRegistry();
|
addPreferencesFromResourceRegistry();
|
||||||
|
|
||||||
final Preference allowHeapDumpingPreference =
|
final Preference allowHeapDumpingPreference =
|
||||||
findPreference(getString(R.string.allow_heap_dumping_key));
|
requirePreference(R.string.allow_heap_dumping_key);
|
||||||
final Preference showMemoryLeaksPreference =
|
final Preference showMemoryLeaksPreference =
|
||||||
findPreference(getString(R.string.show_memory_leaks_key));
|
requirePreference(R.string.show_memory_leaks_key);
|
||||||
final Preference showImageIndicatorsPreference =
|
final Preference showImageIndicatorsPreference =
|
||||||
findPreference(getString(R.string.show_image_indicators_key));
|
requirePreference(R.string.show_image_indicators_key);
|
||||||
final Preference checkNewStreamsPreference =
|
final Preference checkNewStreamsPreference =
|
||||||
findPreference(getString(R.string.check_new_streams_key));
|
requirePreference(R.string.check_new_streams_key);
|
||||||
final Preference crashTheAppPreference =
|
final Preference crashTheAppPreference =
|
||||||
findPreference(getString(R.string.crash_the_app_key));
|
requirePreference(R.string.crash_the_app_key);
|
||||||
final Preference showErrorSnackbarPreference =
|
final Preference showErrorSnackbarPreference =
|
||||||
findPreference(getString(R.string.show_error_snackbar_key));
|
requirePreference(R.string.show_error_snackbar_key);
|
||||||
final Preference createErrorNotificationPreference =
|
final Preference createErrorNotificationPreference =
|
||||||
findPreference(getString(R.string.create_error_notification_key));
|
requirePreference(R.string.create_error_notification_key);
|
||||||
|
|
||||||
assert allowHeapDumpingPreference != null;
|
|
||||||
assert showMemoryLeaksPreference != null;
|
|
||||||
assert showImageIndicatorsPreference != null;
|
|
||||||
assert checkNewStreamsPreference != null;
|
|
||||||
assert crashTheAppPreference != null;
|
|
||||||
assert showErrorSnackbarPreference != null;
|
|
||||||
assert createErrorNotificationPreference != null;
|
|
||||||
|
|
||||||
final Optional<DebugSettingsBVDLeakCanaryAPI> optBVLeakCanary = getBVDLeakCanary();
|
final Optional<DebugSettingsBVDLeakCanaryAPI> optBVLeakCanary = getBVDLeakCanary();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public class MainSettingsFragment extends BasePreferenceFragment {
|
||||||
// Check if the app is updatable
|
// Check if the app is updatable
|
||||||
if (!ReleaseVersionUtil.INSTANCE.isReleaseApk()) {
|
if (!ReleaseVersionUtil.INSTANCE.isReleaseApk()) {
|
||||||
getPreferenceScreen().removePreference(
|
getPreferenceScreen().removePreference(
|
||||||
findPreference(getString(R.string.update_pref_screen_key)));
|
requirePreference(R.string.update_pref_screen_key));
|
||||||
|
|
||||||
defaultPreferences.edit().putBoolean(getString(R.string.update_app_key), false).apply();
|
defaultPreferences.edit().putBoolean(getString(R.string.update_app_key), false).apply();
|
||||||
}
|
}
|
||||||
|
|
@ -33,7 +33,7 @@ public class MainSettingsFragment extends BasePreferenceFragment {
|
||||||
// Hide debug preferences in RELEASE build variant
|
// Hide debug preferences in RELEASE build variant
|
||||||
if (!DEBUG) {
|
if (!DEBUG) {
|
||||||
getPreferenceScreen().removePreference(
|
getPreferenceScreen().removePreference(
|
||||||
findPreference(getString(R.string.debug_pref_screen_key)));
|
requirePreference(R.string.debug_pref_screen_key));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,7 @@ class NotificationsSettingsFragment : BasePreferenceFragment(), OnSharedPreferen
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
addPreferencesFromResource(R.xml.notifications_settings)
|
addPreferencesFromResource(R.xml.notifications_settings)
|
||||||
streamsNotificationsPreference =
|
streamsNotificationsPreference = requirePreference(R.string.enable_streams_notifications)
|
||||||
findPreference(getString(R.string.enable_streams_notifications))
|
|
||||||
|
|
||||||
// main check is done in onResume, but also do it here to prevent flickering
|
// main check is done in onResume, but also do it here to prevent flickering
|
||||||
updateEnabledState(NotificationHelper.areNotificationsEnabledOnDevice(requireContext()))
|
updateEnabledState(NotificationHelper.areNotificationsEnabledOnDevice(requireContext()))
|
||||||
|
|
@ -125,8 +124,8 @@ class NotificationsSettingsFragment : BasePreferenceFragment(), OnSharedPreferen
|
||||||
|
|
||||||
private fun updateSubscriptions(subscriptions: List<SubscriptionEntity>) {
|
private fun updateSubscriptions(subscriptions: List<SubscriptionEntity>) {
|
||||||
val notified = subscriptions.count { it.notificationMode != NotificationMode.DISABLED }
|
val notified = subscriptions.count { it.notificationMode != NotificationMode.DISABLED }
|
||||||
val preference = findPreference<Preference>(getString(R.string.streams_notifications_channels_key))
|
val preference = requirePreference<Preference>(R.string.streams_notifications_channels_key)
|
||||||
preference?.apply { summary = "$notified/${subscriptions.size}" }
|
preference.summary = "$notified/${subscriptions.size}"
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onError(e: Throwable) {
|
private fun onError(e: Throwable) {
|
||||||
|
|
|
||||||
|
|
@ -34,9 +34,9 @@ public class UpdateSettingsFragment extends BasePreferenceFragment {
|
||||||
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
|
||||||
addPreferencesFromResourceRegistry();
|
addPreferencesFromResourceRegistry();
|
||||||
|
|
||||||
findPreference(getString(R.string.update_app_key))
|
requirePreference(R.string.update_app_key)
|
||||||
.setOnPreferenceChangeListener(updatePreferenceChange);
|
.setOnPreferenceChangeListener(updatePreferenceChange);
|
||||||
findPreference(getString(R.string.manual_update_key))
|
requirePreference(R.string.manual_update_key)
|
||||||
.setOnPreferenceClickListener(manualUpdateClick);
|
.setOnPreferenceClickListener(manualUpdateClick);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -90,12 +90,12 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment {
|
||||||
showHigherResolutions);
|
showHigherResolutions);
|
||||||
|
|
||||||
// get resolution preferences
|
// get resolution preferences
|
||||||
final ListPreference defaultResolution = findPreference(
|
final ListPreference defaultResolution = requirePreference(
|
||||||
getString(R.string.default_resolution_key));
|
R.string.default_resolution_key);
|
||||||
final ListPreference defaultPopupResolution = findPreference(
|
final ListPreference defaultPopupResolution = requirePreference(
|
||||||
getString(R.string.default_popup_resolution_key));
|
R.string.default_popup_resolution_key);
|
||||||
final ListPreference mobileDataResolution = findPreference(
|
final ListPreference mobileDataResolution = requirePreference(
|
||||||
getString(R.string.limit_mobile_data_usage_key));
|
R.string.limit_mobile_data_usage_key);
|
||||||
|
|
||||||
// update resolution preferences with new resolutions, entries & values for each
|
// update resolution preferences with new resolutions, entries & values for each
|
||||||
defaultResolution.setEntries(resolutionListDescriptions.toArray(new String[0]));
|
defaultResolution.setEntries(resolutionListDescriptions.toArray(new String[0]));
|
||||||
|
|
@ -161,8 +161,7 @@ public class VideoAudioSettingsFragment extends BasePreferenceFragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final ListPreference durations = findPreference(
|
final ListPreference durations = requirePreference(R.string.seek_duration_key);
|
||||||
getString(R.string.seek_duration_key));
|
|
||||||
durations.setEntryValues(displayedDurationValues.toArray(new CharSequence[0]));
|
durations.setEntryValues(displayedDurationValues.toArray(new CharSequence[0]));
|
||||||
durations.setEntries(displayedDescriptionValues.toArray(new CharSequence[0]));
|
durations.setEntries(displayedDescriptionValues.toArray(new CharSequence[0]));
|
||||||
final int selectedDuration = Integer.parseInt(durations.getValue());
|
final int selectedDuration = Integer.parseInt(durations.getValue());
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue