mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 07:13:00 +00:00 
			
		
		
		
	Merge pull request #2837 from decarvalhobo/dev
Playlist thumbnail updates
This commit is contained in:
		| @@ -1,15 +1,16 @@ | ||||
| package org.schabi.newpipe.local.dialog; | ||||
|  | ||||
| import android.os.Bundle; | ||||
| import androidx.annotation.NonNull; | ||||
| import androidx.annotation.Nullable; | ||||
| import androidx.recyclerview.widget.LinearLayoutManager; | ||||
| import androidx.recyclerview.widget.RecyclerView; | ||||
| import android.view.LayoutInflater; | ||||
| import android.view.View; | ||||
| import android.view.ViewGroup; | ||||
| import android.widget.Toast; | ||||
|  | ||||
| import androidx.annotation.NonNull; | ||||
| import androidx.annotation.Nullable; | ||||
| import androidx.recyclerview.widget.LinearLayoutManager; | ||||
| import androidx.recyclerview.widget.RecyclerView; | ||||
|  | ||||
| import org.schabi.newpipe.NewPipeDatabase; | ||||
| import org.schabi.newpipe.R; | ||||
| import org.schabi.newpipe.database.LocalItem; | ||||
| @@ -152,6 +153,12 @@ public final class PlaylistAppendDialog extends PlaylistDialog { | ||||
|         final Toast successToast = Toast.makeText(getContext(), | ||||
|                 R.string.playlist_add_stream_success, Toast.LENGTH_SHORT); | ||||
|  | ||||
|         if (playlist.thumbnailUrl.equals("drawable://" + R.drawable.dummy_thumbnail_playlist)) { | ||||
|             playlistDisposables.add(manager.changePlaylistThumbnail(playlist.uid, streams.get(0).getThumbnailUrl()) | ||||
|                     .observeOn(AndroidSchedulers.mainThread()) | ||||
|                     .subscribe(ignored -> successToast.show())); | ||||
|         } | ||||
|  | ||||
|         playlistDisposables.add(manager.appendToPlaylist(playlist.uid, streams) | ||||
|                 .observeOn(AndroidSchedulers.mainThread()) | ||||
|                 .subscribe(ignored -> successToast.show())); | ||||
|   | ||||
| @@ -4,11 +4,6 @@ import android.app.Activity; | ||||
| import android.content.Context; | ||||
| import android.os.Bundle; | ||||
| import android.os.Parcelable; | ||||
| import androidx.annotation.NonNull; | ||||
| import androidx.annotation.Nullable; | ||||
| import androidx.appcompat.app.AlertDialog; | ||||
| import androidx.recyclerview.widget.RecyclerView; | ||||
| import androidx.recyclerview.widget.ItemTouchHelper; | ||||
| import android.text.TextUtils; | ||||
| import android.util.Log; | ||||
| import android.view.LayoutInflater; | ||||
| @@ -18,6 +13,12 @@ import android.widget.EditText; | ||||
| import android.widget.TextView; | ||||
| import android.widget.Toast; | ||||
|  | ||||
| import androidx.annotation.NonNull; | ||||
| import androidx.annotation.Nullable; | ||||
| import androidx.appcompat.app.AlertDialog; | ||||
| import androidx.recyclerview.widget.ItemTouchHelper; | ||||
| import androidx.recyclerview.widget.RecyclerView; | ||||
|  | ||||
| import org.reactivestreams.Subscriber; | ||||
| import org.reactivestreams.Subscription; | ||||
| import org.schabi.newpipe.NewPipeDatabase; | ||||
| @@ -413,10 +414,25 @@ public class LocalPlaylistFragment extends BaseLocalListFragment<List<PlaylistSt | ||||
|         disposables.add(disposable); | ||||
|     } | ||||
|  | ||||
|     private void updateThumbnailUrl() { | ||||
|         String newThumbnailUrl; | ||||
|  | ||||
|         if (!itemListAdapter.getItemsList().isEmpty()) { | ||||
|             newThumbnailUrl = ((PlaylistStreamEntry) itemListAdapter.getItemsList().get(0)).thumbnailUrl; | ||||
|         } else { | ||||
|             newThumbnailUrl = "drawable://" + R.drawable.dummy_thumbnail_playlist; | ||||
|         } | ||||
|  | ||||
|         changeThumbnailUrl(newThumbnailUrl); | ||||
|     } | ||||
|  | ||||
|     private void deleteItem(final PlaylistStreamEntry item) { | ||||
|         if (itemListAdapter == null) return; | ||||
|  | ||||
|         itemListAdapter.removeItem(item); | ||||
|         if (playlistManager.getPlaylistThumbnail(playlistId).equals(item.thumbnailUrl)) | ||||
|             updateThumbnailUrl(); | ||||
|  | ||||
|         setVideoCount(itemListAdapter.getItemsList().size()); | ||||
|         saveChanges(); | ||||
|     } | ||||
|   | ||||
| @@ -103,6 +103,10 @@ public class LocalPlaylistManager { | ||||
|         return modifyPlaylist(playlistId, null, thumbnailUrl); | ||||
|     } | ||||
|  | ||||
|     public String getPlaylistThumbnail(final long playlistId) { | ||||
|         return playlistTable.getPlaylist(playlistId).blockingFirst().get(0).getThumbnailUrl(); | ||||
|     } | ||||
|  | ||||
|     private Maybe<Integer> modifyPlaylist(final long playlistId, | ||||
|                                           @Nullable final String name, | ||||
|                                           @Nullable final String thumbnailUrl) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Tobias Groza
					Tobias Groza