Skip to content

Commit 93166af

Browse files
authored
Merge pull request #12973 from dustdfg/require_preference
Replace findPreference(getString(resId) with its null safe shortcut
2 parents 8893a27 + f6085d0 commit 93166af

7 files changed

Lines changed: 25 additions & 35 deletions

app/src/main/java/org/schabi/newpipe/settings/BackupRestoreSettingsFragment.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,9 @@ ZIP_MIME_TYPE, getImportExportDataUri()),
9898
return true;
9999
});
100100

101-
final Preference resetSettings = findPreference(getString(R.string.reset_settings));
101+
final Preference resetSettings = requirePreference(R.string.reset_settings);
102102
// Resets all settings by deleting shared preference and restarting the app
103103
// A dialogue will pop up to confirm if user intends to reset all settings
104-
assert resetSettings != null;
105104
resetSettings.setOnPreferenceClickListener(preference -> {
106105
// Show Alert Dialogue
107106
final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());

app/src/main/java/org/schabi/newpipe/settings/BasePreferenceFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ public void onResume() {
4848
}
4949

5050
@NonNull
51-
public final Preference requirePreference(@StringRes final int resId) {
52-
final Preference preference = findPreference(getString(resId));
51+
public final <T extends Preference> T requirePreference(@StringRes final int resId) {
52+
final T preference = findPreference(getString(resId));
5353
Objects.requireNonNull(preference);
5454
return preference;
5555
}

app/src/main/java/org/schabi/newpipe/settings/DebugSettingsFragment.java

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,27 +22,20 @@ public void onCreatePreferences(final Bundle savedInstanceState, final String ro
2222
addPreferencesFromResourceRegistry();
2323

2424
final Preference allowHeapDumpingPreference =
25-
findPreference(getString(R.string.allow_heap_dumping_key));
25+
requirePreference(R.string.allow_heap_dumping_key);
2626
final Preference showMemoryLeaksPreference =
27-
findPreference(getString(R.string.show_memory_leaks_key));
27+
requirePreference(R.string.show_memory_leaks_key);
2828
final Preference showImageIndicatorsPreference =
29-
findPreference(getString(R.string.show_image_indicators_key));
29+
requirePreference(R.string.show_image_indicators_key);
3030
final Preference checkNewStreamsPreference =
31-
findPreference(getString(R.string.check_new_streams_key));
31+
requirePreference(R.string.check_new_streams_key);
3232
final Preference crashTheAppPreference =
33-
findPreference(getString(R.string.crash_the_app_key));
33+
requirePreference(R.string.crash_the_app_key);
3434
final Preference showErrorSnackbarPreference =
35-
findPreference(getString(R.string.show_error_snackbar_key));
35+
requirePreference(R.string.show_error_snackbar_key);
3636
final Preference createErrorNotificationPreference =
37-
findPreference(getString(R.string.create_error_notification_key));
38-
39-
assert allowHeapDumpingPreference != null;
40-
assert showMemoryLeaksPreference != null;
41-
assert showImageIndicatorsPreference != null;
42-
assert checkNewStreamsPreference != null;
43-
assert crashTheAppPreference != null;
44-
assert showErrorSnackbarPreference != null;
45-
assert createErrorNotificationPreference != null;
37+
requirePreference(R.string.create_error_notification_key);
38+
4639

4740
final Optional<DebugSettingsBVDLeakCanaryAPI> optBVLeakCanary = getBVDLeakCanary();
4841

app/src/main/java/org/schabi/newpipe/settings/MainSettingsFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ public void onCreatePreferences(final Bundle savedInstanceState, final String ro
2525
// Check if the app is updatable
2626
if (!ReleaseVersionUtil.INSTANCE.isReleaseApk()) {
2727
getPreferenceScreen().removePreference(
28-
findPreference(getString(R.string.update_pref_screen_key)));
28+
requirePreference(R.string.update_pref_screen_key));
2929

3030
defaultPreferences.edit().putBoolean(getString(R.string.update_app_key), false).apply();
3131
}
3232

3333
// Hide debug preferences in RELEASE build variant
3434
if (!DEBUG) {
3535
getPreferenceScreen().removePreference(
36-
findPreference(getString(R.string.debug_pref_screen_key)));
36+
requirePreference(R.string.debug_pref_screen_key));
3737
}
3838
}
3939

app/src/main/java/org/schabi/newpipe/settings/NotificationsSettingsFragment.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ class NotificationsSettingsFragment : BasePreferenceFragment(), OnSharedPreferen
2929

3030
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
3131
addPreferencesFromResource(R.xml.notifications_settings)
32-
streamsNotificationsPreference =
33-
findPreference(getString(R.string.enable_streams_notifications))
32+
streamsNotificationsPreference = requirePreference(R.string.enable_streams_notifications)
3433

3534
// main check is done in onResume, but also do it here to prevent flickering
3635
updateEnabledState(NotificationHelper.areNotificationsEnabledOnDevice(requireContext()))
@@ -125,8 +124,8 @@ class NotificationsSettingsFragment : BasePreferenceFragment(), OnSharedPreferen
125124

126125
private fun updateSubscriptions(subscriptions: List<SubscriptionEntity>) {
127126
val notified = subscriptions.count { it.notificationMode != NotificationMode.DISABLED }
128-
val preference = findPreference<Preference>(getString(R.string.streams_notifications_channels_key))
129-
preference?.apply { summary = "$notified/${subscriptions.size}" }
127+
val preference = requirePreference<Preference>(R.string.streams_notifications_channels_key)
128+
preference.summary = "$notified/${subscriptions.size}"
130129
}
131130

132131
private fun onError(e: Throwable) {

app/src/main/java/org/schabi/newpipe/settings/UpdateSettingsFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ public class UpdateSettingsFragment extends BasePreferenceFragment {
3434
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
3535
addPreferencesFromResourceRegistry();
3636

37-
findPreference(getString(R.string.update_app_key))
37+
requirePreference(R.string.update_app_key)
3838
.setOnPreferenceChangeListener(updatePreferenceChange);
39-
findPreference(getString(R.string.manual_update_key))
39+
requirePreference(R.string.manual_update_key)
4040
.setOnPreferenceClickListener(manualUpdateClick);
4141
}
4242

app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,12 @@ private void updateResolutionOptions() {
9090
showHigherResolutions);
9191

9292
// get resolution preferences
93-
final ListPreference defaultResolution = findPreference(
94-
getString(R.string.default_resolution_key));
95-
final ListPreference defaultPopupResolution = findPreference(
96-
getString(R.string.default_popup_resolution_key));
97-
final ListPreference mobileDataResolution = findPreference(
98-
getString(R.string.limit_mobile_data_usage_key));
93+
final ListPreference defaultResolution = requirePreference(
94+
R.string.default_resolution_key);
95+
final ListPreference defaultPopupResolution = requirePreference(
96+
R.string.default_popup_resolution_key);
97+
final ListPreference mobileDataResolution = requirePreference(
98+
R.string.limit_mobile_data_usage_key);
9999

100100
// update resolution preferences with new resolutions, entries & values for each
101101
defaultResolution.setEntries(resolutionListDescriptions.toArray(new String[0]));
@@ -161,8 +161,7 @@ private void updateSeekOptions() {
161161
}
162162
}
163163

164-
final ListPreference durations = findPreference(
165-
getString(R.string.seek_duration_key));
164+
final ListPreference durations = requirePreference(R.string.seek_duration_key);
166165
durations.setEntryValues(displayedDurationValues.toArray(new CharSequence[0]));
167166
durations.setEntries(displayedDescriptionValues.toArray(new CharSequence[0]));
168167
final int selectedDuration = Integer.parseInt(durations.getValue());

0 commit comments

Comments
 (0)