Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,9 @@ ZIP_MIME_TYPE, getImportExportDataUri()),
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
// A dialogue will pop up to confirm if user intends to reset all settings
assert resetSettings != null;
resetSettings.setOnPreferenceClickListener(preference -> {
// Show Alert Dialogue
final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ public void onResume() {
}

@NonNull
public final Preference requirePreference(@StringRes final int resId) {
final Preference preference = findPreference(getString(resId));
public final <T extends Preference> T requirePreference(@StringRes final int resId) {
final T preference = findPreference(getString(resId));
Objects.requireNonNull(preference);
return preference;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,27 +22,20 @@ public void onCreatePreferences(final Bundle savedInstanceState, final String ro
addPreferencesFromResourceRegistry();

final Preference allowHeapDumpingPreference =
findPreference(getString(R.string.allow_heap_dumping_key));
requirePreference(R.string.allow_heap_dumping_key);
final Preference showMemoryLeaksPreference =
findPreference(getString(R.string.show_memory_leaks_key));
requirePreference(R.string.show_memory_leaks_key);
final Preference showImageIndicatorsPreference =
findPreference(getString(R.string.show_image_indicators_key));
requirePreference(R.string.show_image_indicators_key);
final Preference checkNewStreamsPreference =
findPreference(getString(R.string.check_new_streams_key));
requirePreference(R.string.check_new_streams_key);
final Preference crashTheAppPreference =
findPreference(getString(R.string.crash_the_app_key));
requirePreference(R.string.crash_the_app_key);
final Preference showErrorSnackbarPreference =
findPreference(getString(R.string.show_error_snackbar_key));
requirePreference(R.string.show_error_snackbar_key);
final Preference createErrorNotificationPreference =
findPreference(getString(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;
requirePreference(R.string.create_error_notification_key);


final Optional<DebugSettingsBVDLeakCanaryAPI> optBVLeakCanary = getBVDLeakCanary();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ public void onCreatePreferences(final Bundle savedInstanceState, final String ro
// Check if the app is updatable
if (!ReleaseVersionUtil.INSTANCE.isReleaseApk()) {
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();
}

// Hide debug preferences in RELEASE build variant
if (!DEBUG) {
getPreferenceScreen().removePreference(
findPreference(getString(R.string.debug_pref_screen_key)));
requirePreference(R.string.debug_pref_screen_key));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ class NotificationsSettingsFragment : BasePreferenceFragment(), OnSharedPreferen

override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
addPreferencesFromResource(R.xml.notifications_settings)
streamsNotificationsPreference =
findPreference(getString(R.string.enable_streams_notifications))
streamsNotificationsPreference = requirePreference(R.string.enable_streams_notifications)

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

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

private fun onError(e: Throwable) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ public class UpdateSettingsFragment extends BasePreferenceFragment {
public void onCreatePreferences(final Bundle savedInstanceState, final String rootKey) {
addPreferencesFromResourceRegistry();

findPreference(getString(R.string.update_app_key))
requirePreference(R.string.update_app_key)
.setOnPreferenceChangeListener(updatePreferenceChange);
findPreference(getString(R.string.manual_update_key))
requirePreference(R.string.manual_update_key)
.setOnPreferenceClickListener(manualUpdateClick);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,12 @@ private void updateResolutionOptions() {
showHigherResolutions);

// get resolution preferences
final ListPreference defaultResolution = findPreference(
getString(R.string.default_resolution_key));
final ListPreference defaultPopupResolution = findPreference(
getString(R.string.default_popup_resolution_key));
final ListPreference mobileDataResolution = findPreference(
getString(R.string.limit_mobile_data_usage_key));
final ListPreference defaultResolution = requirePreference(
R.string.default_resolution_key);
final ListPreference defaultPopupResolution = requirePreference(
R.string.default_popup_resolution_key);
final ListPreference mobileDataResolution = requirePreference(
R.string.limit_mobile_data_usage_key);

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

final ListPreference durations = findPreference(
getString(R.string.seek_duration_key));
final ListPreference durations = requirePreference(R.string.seek_duration_key);
durations.setEntryValues(displayedDurationValues.toArray(new CharSequence[0]));
durations.setEntries(displayedDescriptionValues.toArray(new CharSequence[0]));
final int selectedDuration = Integer.parseInt(durations.getValue());
Expand Down