From c470339ee963b31672829e6955d6e159b245de5e Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sat, 10 Dec 2022 12:55:45 +0100 Subject: [PATCH] update bookmarked playlist thumbnails when changed --- .../github/libretube/db/dao/PlaylistBookmarkDao.kt | 4 ++++ .../github/libretube/ui/activities/MainActivity.kt | 4 +++- .../libretube/ui/fragments/PlaylistFragment.kt | 12 ++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/libretube/db/dao/PlaylistBookmarkDao.kt b/app/src/main/java/com/github/libretube/db/dao/PlaylistBookmarkDao.kt index 493c96470..9433aeaad 100644 --- a/app/src/main/java/com/github/libretube/db/dao/PlaylistBookmarkDao.kt +++ b/app/src/main/java/com/github/libretube/db/dao/PlaylistBookmarkDao.kt @@ -5,6 +5,7 @@ import androidx.room.Delete import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query +import androidx.room.Update import com.github.libretube.db.obj.PlaylistBookmark @Dao @@ -21,6 +22,9 @@ interface PlaylistBookmarkDao { @Delete fun delete(playlistBookmark: PlaylistBookmark) + @Update + fun update(playlistBookmark: PlaylistBookmark) + @Query("DELETE FROM playlistBookmark WHERE playlistId = :playlistId") fun deleteById(playlistId: String) diff --git a/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt index 7b3a88f6c..71a19bf06 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt @@ -95,7 +95,9 @@ class MainActivity : BaseActivity() { // sets the navigation bar color to the previously calculated color window.navigationBarColor = if (binding.bottomNav.menu.size() > 0) { SurfaceColors.getColorForElevation(this, 10F) - } else ThemeHelper.getThemeColor(this, android.R.attr.colorBackground) + } else { + ThemeHelper.getThemeColor(this, android.R.attr.colorBackground) + } // set default tab as start fragment navController.graph.setStartDestination(startFragmentId) diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt index 2df77a88d..b5d788bc8 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt @@ -224,6 +224,18 @@ class PlaylistFragment : BaseFragment() { val itemTouchHelper = ItemTouchHelper(itemTouchCallback) itemTouchHelper.attachToRecyclerView(binding.playlistRecView) } + + // update the playlist thumbnail if bookmarked + val playlistBookmark = DatabaseHolder.Database.playlistBookmarkDao().getAll() + .firstOrNull { it.playlistId == playlistId } + playlistBookmark?.let { + if (playlistBookmark.thumbnailUrl != response.thumbnailUrl) { + playlistBookmark.thumbnailUrl = response.thumbnailUrl + query { + DatabaseHolder.Database.playlistBookmarkDao().update(playlistBookmark) + } + } + } } } }