diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/EnhancedBrowseFragment.java b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/EnhancedBrowseFragment.java index a95c5874b..d8303e7fd 100644 --- a/app/src/main/java/org/jellyfin/androidtv/ui/browsing/EnhancedBrowseFragment.java +++ b/app/src/main/java/org/jellyfin/androidtv/ui/browsing/EnhancedBrowseFragment.java @@ -357,13 +357,13 @@ public class EnhancedBrowseFragment extends Fragment implements RowLoader, View. if (item instanceof GridButton) { switch (((GridButton) item).getId()) { case GRID: - navigationRepository.getValue().navigate(Destinations.INSTANCE.libraryBrowser(mFolder)); + navigationRepository.getValue().navigate(Destinations.INSTANCE.libraryBrowser(mFolder, null)); break; case ALBUMS: mFolder = JavaCompat.copyWithDisplayPreferencesId(mFolder, mFolder.getId() + "AL"); - navigationRepository.getValue().navigate(Destinations.INSTANCE.libraryBrowser(mFolder, BaseItemKind.MUSIC_ALBUM.getSerialName())); + navigationRepository.getValue().navigate(Destinations.INSTANCE.libraryBrowser(mFolder, null)); break; case ALBUM_ARTISTS: diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/itemhandling/ItemLauncher.java b/app/src/main/java/org/jellyfin/androidtv/ui/itemhandling/ItemLauncher.java index ade3aa796..161f667c4 100644 --- a/app/src/main/java/org/jellyfin/androidtv/ui/itemhandling/ItemLauncher.java +++ b/app/src/main/java/org/jellyfin/androidtv/ui/itemhandling/ItemLauncher.java @@ -56,13 +56,13 @@ public class ItemLauncher { LibraryPreferences displayPreferences = preferencesRepository.getValue().getLibraryPreferences(baseItem.getDisplayPreferencesId()); boolean enableSmartScreen = displayPreferences.get(LibraryPreferences.Companion.getEnableSmartScreen()); - if (!enableSmartScreen) return Destinations.INSTANCE.libraryBrowser(baseItem); + if (!enableSmartScreen) return Destinations.INSTANCE.libraryBrowser(baseItem, null); else return Destinations.INSTANCE.librarySmartScreen(baseItem); case MUSIC: case LIVETV: return Destinations.INSTANCE.librarySmartScreen(baseItem); default: - return Destinations.INSTANCE.libraryBrowser(baseItem); + return Destinations.INSTANCE.libraryBrowser(baseItem, null); } } @@ -147,7 +147,7 @@ public class ItemLauncher { baseItem = JavaCompat.copyWithDisplayPreferencesId(baseItem, baseItem.getId().toString()); } - navigationRepository.getValue().navigate(Destinations.INSTANCE.libraryBrowser(baseItem)); + navigationRepository.getValue().navigate(Destinations.INSTANCE.libraryBrowser(baseItem, null)); } else { switch (rowItem.getSelectAction()) { diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/navigation/Destinations.kt b/app/src/main/java/org/jellyfin/androidtv/ui/navigation/Destinations.kt index 767e3eba5..c6f89fe25 100644 --- a/app/src/main/java/org/jellyfin/androidtv/ui/navigation/Destinations.kt +++ b/app/src/main/java/org/jellyfin/androidtv/ui/navigation/Destinations.kt @@ -39,50 +39,45 @@ object Destinations { // Browsing // TODO only pass item id instead of complete JSON to browsing destinations - fun libraryBrowser(item: BaseItemDto) = fragmentDestination( - Extras.Folder to Json.Default.encodeToString(item), - ) - - // TODO only pass item id instead of complete JSON to browsing destinations - fun libraryBrowser(item: BaseItemDto, includeType: String) = + fun libraryBrowser(item: BaseItemDto, includeType: String? = null) = fragmentDestination( - Extras.Folder to Json.Default.encodeToString(item), + Extras.Folder to Json.encodeToString(item), Extras.IncludeType to includeType, ) // TODO only pass item id instead of complete JSON to browsing destinations fun librarySmartScreen(item: BaseItemDto) = fragmentDestination( - Extras.Folder to Json.Default.encodeToString(item), + Extras.Folder to Json.encodeToString(item), ) // TODO only pass item id instead of complete JSON to browsing destinations fun collectionBrowser(item: BaseItemDto) = fragmentDestination( - Extras.Folder to Json.Default.encodeToString(item), + Extras.Folder to Json.encodeToString(item), ) // TODO only pass item id instead of complete JSON to browsing destinations fun folderBrowser(item: BaseItemDto) = fragmentDestination( - Extras.Folder to Json.Default.encodeToString(item), + Extras.Folder to Json.encodeToString(item), ) // TODO only pass item id instead of complete JSON to browsing destinations fun libraryByGenres(item: BaseItemDto, includeType: String) = fragmentDestination( - Extras.Folder to Json.Default.encodeToString(item), + Extras.Folder to Json.encodeToString(item), Extras.IncludeType to includeType, ) // TODO only pass item id instead of complete JSON to browsing destinations fun libraryByLetter(item: BaseItemDto, includeType: String) = fragmentDestination( - Extras.Folder to Json.Default.encodeToString(item), + Extras.Folder to Json.encodeToString(item), Extras.IncludeType to includeType, ) // TODO only pass item id instead of complete JSON to browsing destinations fun librarySuggestions(item: BaseItemDto) = fragmentDestination( - Extras.Folder to Json.Default.encodeToString(item), + Extras.Folder to Json.encodeToString(item), ) // Item details @@ -95,14 +90,14 @@ object Destinations { fragmentDestination( "ItemId" to item.toString(), "ChannelId" to channel.toString(), - "ProgramInfo" to Json.Default.encodeToString(programInfo), + "ProgramInfo" to Json.encodeToString(programInfo), ) // TODO only pass item id instead of complete JSON to browsing destinations fun seriesTimerDetails(item: UUID, seriesTimer: SeriesTimerInfoDto) = fragmentDestination( "ItemId" to item.toString(), - "SeriesTimer" to Json.Default.encodeToString(seriesTimer), + "SeriesTimer" to Json.encodeToString(seriesTimer), ) fun itemList(item: UUID) = fragmentDestination(