diff --git a/android/app/src/main/java/com/audiobookshelf/app/data/LocalLibraryItem.kt b/android/app/src/main/java/com/audiobookshelf/app/data/LocalLibraryItem.kt index 04624a06..1536ac4f 100644 --- a/android/app/src/main/java/com/audiobookshelf/app/data/LocalLibraryItem.kt +++ b/android/app/src/main/java/com/audiobookshelf/app/data/LocalLibraryItem.kt @@ -1,5 +1,6 @@ package com.audiobookshelf.app.data +import android.content.Context import android.net.Uri import android.support.v4.media.MediaMetadataCompat import android.util.Log @@ -44,7 +45,7 @@ data class LocalLibraryItem( @JsonIgnore fun getDuration():Double { var total = 0.0 - var audioTracks = media.getAudioTracks() + val audioTracks = media.getAudioTracks() audioTracks.forEach{ total += it.duration } return total } @@ -94,15 +95,17 @@ data class LocalLibraryItem( } @JsonIgnore - fun getMediaMetadata(): MediaMetadataCompat { + fun getMediaMetadata(ctx: Context): MediaMetadataCompat { + val coverUri = getCoverUri() + return MediaMetadataCompat.Builder().apply { putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, id) putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, title) putString(MediaMetadataCompat.METADATA_KEY_TITLE, title) putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, authorName) - putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON_URI, getCoverUri().toString()) - putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, getCoverUri().toString()) - putString(MediaMetadataCompat.METADATA_KEY_ART_URI, getCoverUri().toString()) + putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON_URI, coverUri.toString()) + putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, coverUri.toString()) + putString(MediaMetadataCompat.METADATA_KEY_ART_URI, coverUri.toString()) putString(MediaMetadataCompat.METADATA_KEY_AUTHOR, authorName) }.build() } 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 56807052..b668fd8a 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 @@ -57,9 +57,9 @@ class MediaManager(var apiHandler: ApiHandler, var ctx: Context) { // TODO: Load currently listening category for local items fun loadLocalCategory():List { - var localBooks = DeviceManager.dbManager.getLocalLibraryItems("book") - var localPodcasts = DeviceManager.dbManager.getLocalLibraryItems("podcast") - var cats = mutableListOf() + val localBooks = DeviceManager.dbManager.getLocalLibraryItems("book") + val localPodcasts = DeviceManager.dbManager.getLocalLibraryItems("podcast") + val cats = mutableListOf() if (localBooks.isNotEmpty()) { cats.add(LibraryCategory("local-books", "Local Books", "book", localBooks, true)) } @@ -71,9 +71,9 @@ class MediaManager(var apiHandler: ApiHandler, var ctx: Context) { fun loadAndroidAutoItems(libraryId:String, cb: (List) -> Unit) { Log.d(tag, "Load android auto items for library id $libraryId") - var cats = mutableListOf() + val cats = mutableListOf() - var localCategories = loadLocalCategory() + val localCategories = loadLocalCategory() cats.addAll(localCategories) // Connected to server and has internet - load other cats @@ -84,7 +84,7 @@ class MediaManager(var apiHandler: ApiHandler, var ctx: Context) { } loadLibraries { libraries -> - var library = libraries.find { it.id == libraryId } ?: libraries[0] + val library = libraries.find { it.id == libraryId } ?: libraries[0] Log.d(tag, "Loading categories for library ${library.name} - ${library.id} - ${library.mediaType}") loadLibraryCategories(libraryId) { libraryCategories -> @@ -99,7 +99,7 @@ class MediaManager(var apiHandler: ApiHandler, var ctx: Context) { } loadLibraryItems(libraryId) { libraryItems -> - var mainCat = LibraryCategory("library", "Library", library.mediaType, libraryItems, false) + val mainCat = LibraryCategory("library", "Library", library.mediaType, libraryItems, false) cats.add(mainCat) cb(cats) @@ -115,7 +115,7 @@ class MediaManager(var apiHandler: ApiHandler, var ctx: Context) { if (serverLibraryItems.isNotEmpty()) { return serverLibraryItems[0] } else { - var localBooks = DeviceManager.dbManager.getLocalLibraryItems("book") + val localBooks = DeviceManager.dbManager.getLocalLibraryItems("book") return if (localBooks.isNotEmpty()) return localBooks[0] else null } } @@ -137,10 +137,10 @@ class MediaManager(var apiHandler: ApiHandler, var ctx: Context) { fun play(libraryItemWrapper:LibraryItemWrapper, mediaPlayer:String, cb: (PlaybackSession) -> Unit) { if (libraryItemWrapper is LocalLibraryItem) { - var localLibraryItem = libraryItemWrapper as LocalLibraryItem + val localLibraryItem = libraryItemWrapper as LocalLibraryItem cb(localLibraryItem.getPlaybackSession(null)) } else { - var libraryItem = libraryItemWrapper as LibraryItem + val libraryItem = libraryItemWrapper as LibraryItem apiHandler.playLibraryItem(libraryItem.id,"",false, mediaPlayer) { cb(it) } 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 78d9f4ab..a80a0b99 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 @@ -55,8 +55,8 @@ class BrowseTree( // Server continue Listening cat libraryCategories.find { it.id == "continue-listening" }?.let { continueListeningCategory -> - var continueListeningMediaMetadata = continueListeningCategory.entities.map { liw -> - var libraryItem = liw as LibraryItem + val continueListeningMediaMetadata = continueListeningCategory.entities.map { liw -> + val libraryItem = liw as LibraryItem libraryItem.getMediaMetadata() } if (continueListeningMediaMetadata.isNotEmpty()) { @@ -74,8 +74,8 @@ class BrowseTree( // Server library cat libraryCategories.find { it.id == "library" }?.let { libraryCategory -> - var libraryMediaMetadata = libraryCategory.entities.map { libc -> - var libraryItem = libc as LibraryItem + val libraryMediaMetadata = libraryCategory.entities.map { libc -> + val libraryItem = libc as LibraryItem libraryItem.getMediaMetadata() } libraryMediaMetadata.forEach { @@ -86,9 +86,9 @@ class BrowseTree( } libraryCategories.find { it.id == "local-books" }?.let { localBooksCat -> - var localMediaMetadata = localBooksCat.entities.map { libc -> - var libraryItem = libc as LocalLibraryItem - libraryItem.getMediaMetadata() + val localMediaMetadata = localBooksCat.entities.map { libc -> + val libraryItem = libc as LocalLibraryItem + libraryItem.getMediaMetadata(context) } localMediaMetadata.forEach { val children = mediaIdToChildren[DOWNLOADS_ROOT] ?: mutableListOf() diff --git a/components/app/AudioPlayer.vue b/components/app/AudioPlayer.vue index 0e48f330..18952ba2 100644 --- a/components/app/AudioPlayer.vue +++ b/components/app/AudioPlayer.vue @@ -1,5 +1,5 @@