Skip to content

Commit

Permalink
Fix:Android auto filter out ebook only from downloaded tab
Browse files Browse the repository at this point in the history
  • Loading branch information
advplyr committed Jun 19, 2023
1 parent ff4f832 commit 0d1312e
Show file tree
Hide file tree
Showing 8 changed files with 2,255 additions and 7,300 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -305,9 +305,9 @@ data class PodcastEpisode(
.setSubtitle(libraryItemDescription.title)
.setExtras(extras)

// libraryItemDescription.iconBitmap?.let {
// mediaDescriptionBuilder.setIconBitmap(it)
// }
libraryItemDescription.iconBitmap?.let {
mediaDescriptionBuilder.setIconBitmap(it)
}

return mediaDescriptionBuilder.build()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,17 +110,17 @@ class LocalLibraryItem(
override fun getMediaDescription(progress:MediaProgressWrapper?, ctx:Context?): MediaDescriptionCompat {
val coverUri = getCoverUri()

// var bitmap:Bitmap? = null
// if (coverContentUrl != null) {
// ctx?.let {
// bitmap = if (Build.VERSION.SDK_INT < 28) {
// MediaStore.Images.Media.getBitmap(it.contentResolver, coverUri)
// } else {
// val source: ImageDecoder.Source = ImageDecoder.createSource(it.contentResolver, coverUri)
// ImageDecoder.decodeBitmap(source)
// }
// }
// }
var bitmap:Bitmap? = null
if (coverContentUrl != null) {
ctx?.let {
bitmap = if (Build.VERSION.SDK_INT < 28) {
MediaStore.Images.Media.getBitmap(it.contentResolver, coverUri)
} else {
val source: ImageDecoder.Source = ImageDecoder.createSource(it.contentResolver, coverUri)
ImageDecoder.decodeBitmap(source)
}
}
}

val extras = Bundle()
extras.putLong(
Expand Down Expand Up @@ -156,9 +156,9 @@ class LocalLibraryItem(
.setSubtitle(authorName)
.setExtras(extras)

// bitmap?.let {
// mediaDescriptionBuilder.setIconBitmap(bitmap)
// }
bitmap?.let {
mediaDescriptionBuilder.setIconBitmap(bitmap)
}

return mediaDescriptionBuilder.build()
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package com.audiobookshelf.app.data

import android.content.Context
import android.graphics.ImageDecoder
import android.net.Uri
import android.os.Build
import android.provider.MediaStore
import android.support.v4.media.MediaMetadataCompat
import com.audiobookshelf.app.BuildConfig
import com.audiobookshelf.app.R
Expand Down Expand Up @@ -165,16 +168,16 @@ class PlaybackSession(
.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON_URI, getCoverUri().toString())

// Local covers get bitmap
// if (localLibraryItem?.coverContentUrl != null) {
// val bitmap = if (Build.VERSION.SDK_INT < 28) {
// MediaStore.Images.Media.getBitmap(ctx.contentResolver, getCoverUri())
// } else {
// val source: ImageDecoder.Source = ImageDecoder.createSource(ctx.contentResolver, getCoverUri())
// ImageDecoder.decodeBitmap(source)
// }
// metadataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, bitmap)
// metadataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_ART, bitmap)
// }
if (localLibraryItem?.coverContentUrl != null) {
val bitmap = if (Build.VERSION.SDK_INT < 28) {
MediaStore.Images.Media.getBitmap(ctx.contentResolver, getCoverUri())
} else {
val source: ImageDecoder.Source = ImageDecoder.createSource(ctx.contentResolver, getCoverUri())
ImageDecoder.decodeBitmap(source)
}
metadataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, bitmap)
metadataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_ART, bitmap)
}

return metadataBuilder.build()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,17 @@ import android.annotation.SuppressLint
import android.app.*
import android.content.Context
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.Color
import android.graphics.ImageDecoder
import android.hardware.Sensor
import android.hardware.SensorManager
import android.net.ConnectivityManager
import android.net.Network
import android.net.NetworkCapabilities
import android.net.NetworkRequest
import android.os.*
import android.provider.MediaStore
import android.provider.Settings
import android.support.v4.media.MediaBrowserCompat
import android.support.v4.media.MediaDescriptionCompat
Expand Down Expand Up @@ -289,18 +292,18 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
return MediaDescriptionCompat.Builder().build()
}

var coverUri = currentPlaybackSession!!.getCoverUri()
val coverUri = currentPlaybackSession!!.getCoverUri()

// var bitmap:Bitmap? = null
// Local covers get bitmap
// if (currentPlaybackSession!!.localLibraryItem?.coverContentUrl != null) {
// bitmap = if (Build.VERSION.SDK_INT < 28) {
// MediaStore.Images.Media.getBitmap(ctx.contentResolver, coverUri)
// } else {
// val source: ImageDecoder.Source = ImageDecoder.createSource(ctx.contentResolver, coverUri)
// ImageDecoder.decodeBitmap(source)
// }
// }
var bitmap: Bitmap? = null
// Local covers get bitmap
if (currentPlaybackSession!!.localLibraryItem?.coverContentUrl != null) {
bitmap = if (Build.VERSION.SDK_INT < 28) {
MediaStore.Images.Media.getBitmap(ctx.contentResolver, coverUri)
} else {
val source: ImageDecoder.Source = ImageDecoder.createSource(ctx.contentResolver, coverUri)
ImageDecoder.decodeBitmap(source)
}
}

// Fix for local images crashing on Android 11 for specific devices
// https://stackoverflow.com/questions/64186578/android-11-mediastyle-notification-crash/64232958#64232958
Expand All @@ -322,9 +325,9 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
.setTitle(currentPlaybackSession!!.displayTitle)
.setIconUri(coverUri)

// bitmap?.let {
// mediaDescriptionBuilder.setIconBitmap(it)
// }
bitmap?.let {
mediaDescriptionBuilder.setIconBitmap(it)
}

return mediaDescriptionBuilder.build()
}
Expand Down Expand Up @@ -1041,10 +1044,12 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
val localBrowseItems:MutableList<MediaBrowserCompat.MediaItem> = mutableListOf()

localBooks.forEach { localLibraryItem ->
val progress = DeviceManager.dbManager.getLocalMediaProgress(localLibraryItem.id)
val description = localLibraryItem.getMediaDescription(progress, ctx)
if (localLibraryItem.media.getAudioTracks().isNotEmpty()) {
val progress = DeviceManager.dbManager.getLocalMediaProgress(localLibraryItem.id)
val description = localLibraryItem.getMediaDescription(progress, ctx)

localBrowseItems += MediaBrowserCompat.MediaItem(description, MediaBrowserCompat.MediaItem.FLAG_PLAYABLE)
localBrowseItems += MediaBrowserCompat.MediaItem(description, MediaBrowserCompat.MediaItem.FLAG_PLAYABLE)
}
}

localPodcasts.forEach { localLibraryItem ->
Expand Down
2 changes: 1 addition & 1 deletion components/covers/BookCover.vue
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ export default {
return this.libraryItem.isLocal
},
localCover() {
return this.libraryItem ? this.libraryItem.coverContentUrl : null
return this.libraryItem?.coverContentUrl || null
},
squareAspectRatio() {
return this.bookCoverAspectRatio === 1
Expand Down
Loading

0 comments on commit 0d1312e

Please sign in to comment.