Skip to content

Commit 25ea75f

Browse files
authored
Merge pull request #13005 from dustdfg/db_immediate
Commit all the playlist changes to db immediately
2 parents fc66bee + 61c0d13 commit 25ea75f

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public class LocalPlaylistFragment extends BaseLocalListFragment<List<PlaylistSt
111111
private MainFragment.SelectedTabsPagerAdapter tabsPagerAdapter = null;
112112

113113
public static LocalPlaylistFragment getInstance(final long playlistId, final String name) {
114-
final LocalPlaylistFragment instance = new LocalPlaylistFragment();
114+
final var instance = new LocalPlaylistFragment();
115115
instance.setInitialData(playlistId, name);
116116
return instance;
117117
}
@@ -180,9 +180,8 @@ protected void initListeners() {
180180
itemListAdapter.setSelectedListener(new OnClickGesture<>() {
181181
@Override
182182
public void selected(final LocalItem selectedItem) {
183-
if (selectedItem instanceof PlaylistStreamEntry) {
184-
final StreamEntity item =
185-
((PlaylistStreamEntry) selectedItem).getStreamEntity();
183+
if (selectedItem instanceof PlaylistStreamEntry entry) {
184+
final StreamEntity item = entry.getStreamEntity();
186185
NavigationHelper.openVideoDetailFragment(requireContext(), getFM(),
187186
item.getServiceId(), item.getUrl(), item.getTitle(), null, false);
188187
}
@@ -496,6 +495,7 @@ public void removeWatchedStreams(final boolean removePartiallyWatched) {
496495
itemListAdapter.clearStreamItemList();
497496
itemListAdapter.addItems(itemsToKeep);
498497
debounceSaver.setHasChangesToSave();
498+
saveImmediate();
499499

500500
if (thumbnailVideoRemoved) {
501501
updateThumbnailUrl();
@@ -560,8 +560,7 @@ private void createRenameDialog() {
560560
return;
561561
}
562562

563-
final DialogEditTextBinding dialogBinding =
564-
DialogEditTextBinding.inflate(getLayoutInflater());
563+
final var dialogBinding = DialogEditTextBinding.inflate(getLayoutInflater());
565564
dialogBinding.dialogEditText.setHint(R.string.name);
566565
dialogBinding.dialogEditText.setInputType(InputType.TYPE_CLASS_TEXT);
567566
dialogBinding.dialogEditText.setSelection(dialogBinding.dialogEditText.getText().length());
@@ -667,6 +666,7 @@ private void removeDuplicatesInPlaylist() {
667666
itemListAdapter.addItems(itemsToKeep);
668667
setStreamCountAndOverallDuration(itemListAdapter.getItemsList());
669668
debounceSaver.setHasChangesToSave();
669+
saveImmediate();
670670

671671
hideLoading();
672672
isRewritingPlaylist = false;
@@ -686,6 +686,7 @@ private void deleteItem(final PlaylistStreamEntry item) {
686686

687687
setStreamCountAndOverallDuration(itemListAdapter.getItemsList());
688688
debounceSaver.setHasChangesToSave();
689+
saveImmediate();
689690
}
690691

691692
/**
@@ -708,8 +709,8 @@ public void saveImmediate() {
708709
final List<LocalItem> items = itemListAdapter.getItemsList();
709710
final List<Long> streamIds = new ArrayList<>(items.size());
710711
for (final LocalItem item : items) {
711-
if (item instanceof PlaylistStreamEntry) {
712-
streamIds.add(((PlaylistStreamEntry) item).getStreamId());
712+
if (item instanceof PlaylistStreamEntry entry) {
713+
streamIds.add(entry.getStreamId());
713714
}
714715
}
715716

@@ -767,6 +768,7 @@ public boolean onMove(@NonNull final RecyclerView recyclerView,
767768
final boolean isSwapped = itemListAdapter.swapItems(sourceIndex, targetIndex);
768769
if (isSwapped) {
769770
debounceSaver.setHasChangesToSave();
771+
saveImmediate();
770772
}
771773
return isSwapped;
772774
}

0 commit comments

Comments
 (0)