Skip to content
Merged
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 @@ -111,7 +111,7 @@ public class LocalPlaylistFragment extends BaseLocalListFragment<List<PlaylistSt
private MainFragment.SelectedTabsPagerAdapter tabsPagerAdapter = null;

public static LocalPlaylistFragment getInstance(final long playlistId, final String name) {
final LocalPlaylistFragment instance = new LocalPlaylistFragment();
final var instance = new LocalPlaylistFragment();
instance.setInitialData(playlistId, name);
return instance;
}
Expand Down Expand Up @@ -180,9 +180,8 @@ protected void initListeners() {
itemListAdapter.setSelectedListener(new OnClickGesture<>() {
@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);
}
Expand Down Expand Up @@ -496,6 +495,7 @@ public void removeWatchedStreams(final boolean removePartiallyWatched) {
itemListAdapter.clearStreamItemList();
itemListAdapter.addItems(itemsToKeep);
debounceSaver.setHasChangesToSave();
saveImmediate();

if (thumbnailVideoRemoved) {
updateThumbnailUrl();
Expand Down Expand Up @@ -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());
Expand Down Expand Up @@ -667,6 +666,7 @@ private void removeDuplicatesInPlaylist() {
itemListAdapter.addItems(itemsToKeep);
setStreamCountAndOverallDuration(itemListAdapter.getItemsList());
debounceSaver.setHasChangesToSave();
saveImmediate();

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

setStreamCountAndOverallDuration(itemListAdapter.getItemsList());
debounceSaver.setHasChangesToSave();
saveImmediate();
}

/**
Expand All @@ -708,8 +709,8 @@ public void saveImmediate() {
final List<LocalItem> items = itemListAdapter.getItemsList();
final List<Long> 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());
}
}

Expand Down Expand Up @@ -767,6 +768,7 @@ public boolean onMove(@NonNull final RecyclerView recyclerView,
final boolean isSwapped = itemListAdapter.swapItems(sourceIndex, targetIndex);
if (isSwapped) {
debounceSaver.setHasChangesToSave();
saveImmediate();
}
Comment on lines 768 to 772
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Causes #13040 but without it you can observe reordering if swap items in playlist before deleting duplicates...

return isSwapped;
}
Expand Down