diff --git a/android/app/src/main/java/com/audiobookshelf/app/media/MediaManager.kt b/android/app/src/main/java/com/audiobookshelf/app/media/MediaManager.kt index eedbd96c..a4739bb8 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/media/MediaManager.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/media/MediaManager.kt @@ -15,7 +15,7 @@ import kotlin.coroutines.suspendCoroutine class MediaManager(var apiHandler: ApiHandler, var ctx: Context) { val tag = "MediaManager" - var serverLibraryItems = listOf() + var serverLibraryItems = mutableListOf() var selectedLibraryId = "" var selectedLibraryItemWrapper:LibraryItemWrapper? = null @@ -39,7 +39,7 @@ class MediaManager(var apiHandler: ApiHandler, var ctx: Context) { serverPodcastEpisodes = listOf() serverLibraryCategories = listOf() serverLibraries = listOf() - serverLibraryItems = listOf() + serverLibraryItems = mutableListOf() selectedLibraryId = "" } } @@ -63,7 +63,11 @@ class MediaManager(var apiHandler: ApiHandler, var ctx: Context) { val libraryItemsWithAudio = libraryItems.filter { li -> li.checkHasTracks() } if (libraryItemsWithAudio.isNotEmpty()) selectedLibraryId = libraryId - serverLibraryItems = libraryItemsWithAudio + libraryItemsWithAudio.forEach { libraryItem -> + if (serverLibraryItems.find { li -> li.id == libraryItem.id } == null) { + serverLibraryItems.add(libraryItem) + } + } cb(libraryItemsWithAudio) } } @@ -211,6 +215,17 @@ class MediaManager(var apiHandler: ApiHandler, var ctx: Context) { // Only using book or podcast library categories for now libraryCategories.forEach { + + // Add items in continue listening to serverLibraryItems + if (it.id == "continue-listening") { + it.entities.forEach { libraryItemWrapper -> + val libraryItem = libraryItemWrapper as LibraryItem + if (serverLibraryItems.find { li -> li.id == libraryItem.id } == null) { + serverLibraryItems.add(libraryItem) + } + } + } + // Log.d(tag, "Found library category ${it.label} with type ${it.type}") if (it.type == library.mediaType) { // Log.d(tag, "Using library category ${it.id}") diff --git a/android/app/src/main/java/com/audiobookshelf/app/player/BrowseTree.kt b/android/app/src/main/java/com/audiobookshelf/app/player/BrowseTree.kt index 316abc51..115f6b3d 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/player/BrowseTree.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/player/BrowseTree.kt @@ -4,7 +4,6 @@ import android.content.ContentResolver import android.content.Context import android.net.Uri import android.support.v4.media.MediaMetadataCompat -import android.util.Log import androidx.annotation.AnyRes import com.audiobookshelf.app.R import com.audiobookshelf.app.data.Library