diff --git a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java index f5562549cf5..1efc0a84ce4 100644 --- a/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java @@ -111,7 +111,7 @@ public class LocalPlaylistFragment extends BaseLocalListFragment() { @Override public void selected(final LocalItem selectedItem) { - if (selectedItem instanceof PlaylistStreamEntry) { - final StreamEntity item = - ((PlaylistStreamEntry) selectedItem).getStreamEntity(); + if (selectedItem instanceof PlaylistStreamEntry entry) { + final StreamEntity item = entry.getStreamEntity(); NavigationHelper.openVideoDetailFragment(requireContext(), getFM(), item.getServiceId(), item.getUrl(), item.getTitle(), null, false); } @@ -496,6 +495,7 @@ public void removeWatchedStreams(final boolean removePartiallyWatched) { itemListAdapter.clearStreamItemList(); itemListAdapter.addItems(itemsToKeep); debounceSaver.setHasChangesToSave(); + saveImmediate(); if (thumbnailVideoRemoved) { updateThumbnailUrl(); @@ -560,8 +560,7 @@ private void createRenameDialog() { return; } - final DialogEditTextBinding dialogBinding = - DialogEditTextBinding.inflate(getLayoutInflater()); + final var dialogBinding = DialogEditTextBinding.inflate(getLayoutInflater()); dialogBinding.dialogEditText.setHint(R.string.name); dialogBinding.dialogEditText.setInputType(InputType.TYPE_CLASS_TEXT); dialogBinding.dialogEditText.setSelection(dialogBinding.dialogEditText.getText().length()); @@ -667,6 +666,7 @@ private void removeDuplicatesInPlaylist() { itemListAdapter.addItems(itemsToKeep); setStreamCountAndOverallDuration(itemListAdapter.getItemsList()); debounceSaver.setHasChangesToSave(); + saveImmediate(); hideLoading(); isRewritingPlaylist = false; @@ -686,6 +686,7 @@ private void deleteItem(final PlaylistStreamEntry item) { setStreamCountAndOverallDuration(itemListAdapter.getItemsList()); debounceSaver.setHasChangesToSave(); + saveImmediate(); } /** @@ -708,8 +709,8 @@ public void saveImmediate() { final List items = itemListAdapter.getItemsList(); final List streamIds = new ArrayList<>(items.size()); for (final LocalItem item : items) { - if (item instanceof PlaylistStreamEntry) { - streamIds.add(((PlaylistStreamEntry) item).getStreamId()); + if (item instanceof PlaylistStreamEntry entry) { + streamIds.add(entry.getStreamId()); } } @@ -767,6 +768,7 @@ public boolean onMove(@NonNull final RecyclerView recyclerView, final boolean isSwapped = itemListAdapter.swapItems(sourceIndex, targetIndex); if (isSwapped) { debounceSaver.setHasChangesToSave(); + saveImmediate(); } return isSwapped; }