From cb6b824e05f282cc4df494ef3463cb3e27c44d83 Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Thu, 26 Jan 2017 20:26:17 +0100 Subject: [PATCH] use getAndroidMediaIds for cover and mirrorlink --- .../android/vanilla/CoverCache.java | 11 ++------ .../MirrorLinkMediaBrowserService.java | 25 +++++++++++-------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/src/ch/blinkenlights/android/vanilla/CoverCache.java b/src/ch/blinkenlights/android/vanilla/CoverCache.java index bb02229d..56facf90 100644 --- a/src/ch/blinkenlights/android/vanilla/CoverCache.java +++ b/src/ch/blinkenlights/android/vanilla/CoverCache.java @@ -28,7 +28,6 @@ import android.graphics.Bitmap.CompressFormat; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Environment; -import android.provider.MediaStore; import android.util.Log; import java.io.ByteArrayOutputStream; @@ -445,15 +444,9 @@ public class CoverCache { } if (inputStream == null && (CoverCache.mCoverLoadMode & CoverCache.COVER_MODE_ANDROID) != 0) { - long albumId = -1; ContentResolver res = mContext.getContentResolver(); - - // Lookup the album id assigned to this path in the android media store - Cursor cursor = res.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String[]{ MediaStore.Audio.Media.ALBUM_ID }, MediaStore.Audio.Media.DATA+"=?", new String[] { song.path }, null); - if (cursor.moveToFirst()) { - albumId = cursor.getLong(0); - } - cursor.close(); + long[] androidIds = MediaUtils.getAndroidMediaIds(mContext, song); + long albumId = androidIds[1]; if (albumId != -1) { // now we can query for the album art path if we found an album id diff --git a/src/ch/blinkenlights/android/vanilla/MirrorLinkMediaBrowserService.java b/src/ch/blinkenlights/android/vanilla/MirrorLinkMediaBrowserService.java index 1eb63218..9643f836 100644 --- a/src/ch/blinkenlights/android/vanilla/MirrorLinkMediaBrowserService.java +++ b/src/ch/blinkenlights/android/vanilla/MirrorLinkMediaBrowserService.java @@ -20,7 +20,6 @@ package ch.blinkenlights.android.vanilla; import android.annotation.TargetApi; import android.app.PendingIntent; import android.content.Context; -import android.content.ContentResolver; import android.content.BroadcastReceiver; import android.content.Intent; import android.content.IntentFilter; @@ -755,16 +754,20 @@ public class MirrorLinkMediaBrowserService extends MediaBrowserService } if(song != null) { - MediaMetadata metadata = new MediaMetadata.Builder() - .putString(MediaMetadata.METADATA_KEY_MEDIA_ID, Long.toString(song.id)) - .putString(MediaMetadata.METADATA_KEY_ALBUM, song.album) - .putString(MediaMetadata.METADATA_KEY_ARTIST, song.artist) - .putLong(MediaMetadata.METADATA_KEY_DURATION, song.duration) - .putString(MediaMetadata.METADATA_KEY_ALBUM_ART_URI, "content://media/external/audio/media/" + Long.toString(song.id) + "/albumart") - .putString(MediaMetadata.METADATA_KEY_TITLE, song.title) - .putLong(MediaMetadata.METADATA_KEY_TRACK_NUMBER, song.trackNumber) - .build(); - mSession.setMetadata(metadata); + long[] androidIds = MediaUtils.getAndroidMediaIds(getApplicationContext(), song); + long songId = androidIds[0]; + if (songId != -1) { + MediaMetadata metadata = new MediaMetadata.Builder() + .putString(MediaMetadata.METADATA_KEY_MEDIA_ID, Long.toString(songId)) + .putString(MediaMetadata.METADATA_KEY_ALBUM, song.album) + .putString(MediaMetadata.METADATA_KEY_ARTIST, song.artist) + .putLong(MediaMetadata.METADATA_KEY_DURATION, song.duration) + .putString(MediaMetadata.METADATA_KEY_ALBUM_ART_URI, "content://media/external/audio/media/" + Long.toString(songId) + "/albumart") + .putString(MediaMetadata.METADATA_KEY_TITLE, song.title) + .putLong(MediaMetadata.METADATA_KEY_TRACK_NUMBER, song.trackNumber) + .build(); + mSession.setMetadata(metadata); + } } }