Skip to content

Commit d758e50

Browse files
authored
Merge pull request TeamNewPipe#9696 from Stypox/fix-pref-npe
Fix NPEs after OnSharedPreferenceChangeListener changes
2 parents aa41fec + e9fcad4 commit d758e50

8 files changed

Lines changed: 20 additions & 23 deletions

File tree

app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,13 @@ public final class VideoDetailFragment
172172

173173
private final SharedPreferences.OnSharedPreferenceChangeListener preferenceChangeListener =
174174
(sharedPreferences, key) -> {
175-
if (key.equals(getString(R.string.show_comments_key))) {
175+
if (getString(R.string.show_comments_key).equals(key)) {
176176
showComments = sharedPreferences.getBoolean(key, true);
177177
tabSettingsChanged = true;
178-
} else if (key.equals(getString(R.string.show_next_video_key))) {
178+
} else if (getString(R.string.show_next_video_key).equals(key)) {
179179
showRelatedItems = sharedPreferences.getBoolean(key, true);
180180
tabSettingsChanged = true;
181-
} else if (key.equals(getString(R.string.show_description_key))) {
181+
} else if (getString(R.string.show_description_key).equals(key)) {
182182
showDescription = sharedPreferences.getBoolean(key, true);
183183
tabSettingsChanged = true;
184184
}

app/src/main/java/org/schabi/newpipe/fragments/list/BaseListFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ public void handleError() {
474474
@Override
475475
public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences,
476476
final String key) {
477-
if (key.equals(getString(R.string.list_view_mode_key))) {
477+
if (getString(R.string.list_view_mode_key).equals(key)) {
478478
updateFlags |= LIST_MODE_UPDATE_FLAG;
479479
}
480480
}

app/src/main/java/org/schabi/newpipe/fragments/list/videos/RelatedItemsFragment.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -159,11 +159,9 @@ protected void onRestoreInstanceState(@NonNull final Bundle savedState) {
159159

160160
@Override
161161
public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences,
162-
final String s) {
163-
if (headerBinding != null) {
164-
headerBinding.autoplaySwitch.setChecked(
165-
sharedPreferences.getBoolean(
166-
getString(R.string.auto_queue_key), false));
162+
final String key) {
163+
if (headerBinding != null && getString(R.string.auto_queue_key).equals(key)) {
164+
headerBinding.autoplaySwitch.setChecked(sharedPreferences.getBoolean(key, false));
167165
}
168166
}
169167

app/src/main/java/org/schabi/newpipe/local/BaseLocalListFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ public void handleError() {
261261
@Override
262262
public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences,
263263
final String key) {
264-
if (key.equals(getString(R.string.list_view_mode_key))) {
264+
if (getString(R.string.list_view_mode_key).equals(key)) {
265265
updateFlags |= LIST_MODE_UPDATE_FLAG;
266266
}
267267
}

app/src/main/java/org/schabi/newpipe/local/feed/FeedFragment.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ import android.view.MenuItem
3636
import android.view.View
3737
import android.view.ViewGroup
3838
import android.widget.Button
39-
import androidx.annotation.Nullable
4039
import androidx.appcompat.app.AlertDialog
4140
import androidx.appcompat.content.res.AppCompatResources
4241
import androidx.core.content.edit
@@ -122,7 +121,7 @@ class FeedFragment : BaseStateFragment<FeedState>() {
122121
groupName = arguments?.getString(KEY_GROUP_NAME) ?: ""
123122

124123
onSettingsChangeListener = SharedPreferences.OnSharedPreferenceChangeListener { _, key ->
125-
if (key.equals(getString(R.string.list_view_mode_key))) {
124+
if (getString(R.string.list_view_mode_key).equals(key)) {
126125
updateListViewModeOnResume = true
127126
}
128127
}
@@ -500,7 +499,7 @@ class FeedFragment : BaseStateFragment<FeedState>() {
500499

501500
private fun handleFeedNotAvailable(
502501
subscriptionEntity: SubscriptionEntity,
503-
@Nullable cause: Throwable?,
502+
cause: Throwable?,
504503
nextItemsErrors: List<Throwable>
505504
) {
506505
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(requireContext())

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ public void onCreatePreferences(final Bundle savedInstanceState, final String ro
2727

2828
updateSeekOptions();
2929

30-
listener = (sharedPreferences, s) -> {
30+
listener = (sharedPreferences, key) -> {
3131

3232
// on M and above, if user chooses to minimise to popup player on exit
3333
// and the app doesn't have display over other apps permission,
3434
// show a snackbar to let the user give permission
3535
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
36-
&& s.equals(getString(R.string.minimize_on_exit_key))) {
37-
final String newSetting = sharedPreferences.getString(s, null);
36+
&& getString(R.string.minimize_on_exit_key).equals(key)) {
37+
final String newSetting = sharedPreferences.getString(key, null);
3838
if (newSetting != null
3939
&& newSetting.equals(getString(R.string.minimize_on_exit_popup_key))
4040
&& !Settings.canDrawOverlays(getContext())) {
@@ -46,7 +46,7 @@ public void onCreatePreferences(final Bundle savedInstanceState, final String ro
4646
.show();
4747

4848
}
49-
} else if (s.equals(getString(R.string.use_inexact_seek_key))) {
49+
} else if (getString(R.string.use_inexact_seek_key).equals(key)) {
5050
updateSeekOptions();
5151
}
5252
};

app/src/main/java/org/schabi/newpipe/settings/tabs/TabsManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public void unsetSavedTabsListener() {
7373

7474
private SharedPreferences.OnSharedPreferenceChangeListener getPreferenceChangeListener() {
7575
return (sp, key) -> {
76-
if (key.equals(savedTabsKey)) {
76+
if (savedTabsKey.equals(key)) {
7777
if (savedTabsChangeListener != null) {
7878
savedTabsChangeListener.onTabsChanged();
7979
}

app/src/main/java/us/shandian/giga/service/DownloadManagerService.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -310,21 +310,21 @@ private void handleConnectivityState(boolean updateOnly) {
310310
}
311311

312312
private void handlePreferenceChange(SharedPreferences prefs, @NonNull String key) {
313-
if (key.equals(getString(R.string.downloads_maximum_retry))) {
313+
if (getString(R.string.downloads_maximum_retry).equals(key)) {
314314
try {
315315
String value = prefs.getString(key, getString(R.string.downloads_maximum_retry_default));
316316
mManager.mPrefMaxRetry = value == null ? 0 : Integer.parseInt(value);
317317
} catch (Exception e) {
318318
mManager.mPrefMaxRetry = 0;
319319
}
320320
mManager.updateMaximumAttempts();
321-
} else if (key.equals(getString(R.string.downloads_cross_network))) {
321+
} else if (getString(R.string.downloads_cross_network).equals(key)) {
322322
mManager.mPrefMeteredDownloads = prefs.getBoolean(key, false);
323-
} else if (key.equals(getString(R.string.downloads_queue_limit))) {
323+
} else if (getString(R.string.downloads_queue_limit).equals(key)) {
324324
mManager.mPrefQueueLimit = prefs.getBoolean(key, true);
325-
} else if (key.equals(getString(R.string.download_path_video_key))) {
325+
} else if (getString(R.string.download_path_video_key).equals(key)) {
326326
mManager.mMainStorageVideo = loadMainVideoStorage();
327-
} else if (key.equals(getString(R.string.download_path_audio_key))) {
327+
} else if (getString(R.string.download_path_audio_key).equals(key)) {
328328
mManager.mMainStorageAudio = loadMainAudioStorage();
329329
}
330330
}

0 commit comments

Comments
 (0)