diff options
| author | Roberto Perez <robertoalexis@google.com> | 2018-04-13 14:57:27 -0700 |
|---|---|---|
| committer | Roberto Perez <robertoalexis@google.com> | 2018-05-17 14:20:26 -0700 |
| commit | f0a15ee7cfa8a012caacb92fad1ab92f49d522f5 (patch) | |
| tree | daf7abb595add3ce148b4cdf118a21df2144cfe4 /src/com | |
| parent | 3ea9448f8d88173240440f85a739195c353de9ee (diff) | |
| download | platform_packages_apps_Car_LocalMediaPlayer-f0a15ee7cfa8a012caacb92fad1ab92f49d522f5.tar.gz platform_packages_apps_Car_LocalMediaPlayer-f0a15ee7cfa8a012caacb92fad1ab92f49d522f5.tar.bz2 platform_packages_apps_Car_LocalMediaPlayer-f0a15ee7cfa8a012caacb92fad1ab92f49d522f5.zip | |
Removing CATEGORY_LAUNCHER and improving permission handling.android-9.0.0_r47android-9.0.0_r46android-9.0.0_r45android-9.0.0_r44android-9.0.0_r43android-9.0.0_r42android-9.0.0_r41android-9.0.0_r40android-9.0.0_r39android-9.0.0_r38android-9.0.0_r37android-9.0.0_r36android-9.0.0_r35android-9.0.0_r34android-9.0.0_r33android-9.0.0_r32android-9.0.0_r31android-9.0.0_r30android-9.0.0_r22android-9.0.0_r21android-9.0.0_r20android-9.0.0_r19android-9.0.0_r16android-9.0.0_r12android-9.0.0_r11pie-qpr3-s1-releasepie-qpr3-releasepie-qpr3-b-releasepie-qpr2-releasepie-qpr1-s3-releasepie-qpr1-s2-releasepie-qpr1-s1-releasepie-qpr1-releasepie-dr1-releasepie-dr1-devpie-devpie-b4s4-releasepie-b4s4-dev
Make this application to be treated as a headless app (the UI will be
provided by Media Template). Improve icons so they look decent on Media
app picker. Remove default media item icons so Media Template can render
the metadata correctly.
Change-Id: Ibd5d465bea20136ff3d6319bd9c7d0c67a49114d
Bug: 79222246
Test: TBD
Diffstat (limited to 'src/com')
4 files changed, 17 insertions, 11 deletions
diff --git a/src/com/android/car/media/localmediaplayer/DataModel.java b/src/com/android/car/media/localmediaplayer/DataModel.java index ba17306..1b94855 100644 --- a/src/com/android/car/media/localmediaplayer/DataModel.java +++ b/src/com/android/car/media/localmediaplayer/DataModel.java @@ -75,8 +75,6 @@ public class DataModel { private static final String INTERNAL = "internal"; private static final Uri ART_BASE_URI = Uri.parse("content://media/external/audio/albumart"); - // Need a context to create this constant so it can't be static. - private final String DEFAULT_ALBUM_ART_URI; public static final String PATH_KEY = "PATH"; @@ -89,8 +87,6 @@ public class DataModel { public DataModel(Context context) { mContext = context; mResolver = context.getContentResolver(); - DEFAULT_ALBUM_ART_URI = - Utils.getUriForResource(context, R.drawable.ic_sd_storage_black).toString(); } public void onQueryByFolder(String parentId, Result<List<MediaItem>> result) { @@ -174,7 +170,7 @@ public class DataModel { metadata.putLong(MediaMetadata.METADATA_KEY_DURATION, cursor.getLong(duration)); - String albumArt = DEFAULT_ALBUM_ART_URI; + String albumArt = null; Uri albumArtUri = ContentUris.withAppendedId(ART_BASE_URI, cursor.getLong(albumId)); try { diff --git a/src/com/android/car/media/localmediaplayer/LocalMediaBrowserService.java b/src/com/android/car/media/localmediaplayer/LocalMediaBrowserService.java index 3ec86b6..5b5ae1c 100644 --- a/src/com/android/car/media/localmediaplayer/LocalMediaBrowserService.java +++ b/src/com/android/car/media/localmediaplayer/LocalMediaBrowserService.java @@ -113,12 +113,8 @@ public class LocalMediaBrowserService extends MediaBrowserService { public void onCreate() { super.onCreate(); - // TODO: This doesn't handle the case where the user revokes the permission very well, the - // prompt will only show up once this service has been recreated which is non-deterministic. if (!Utils.hasRequiredPermissions(this)) { - Intent intent = new Intent(this, PermissionsActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(intent); + Utils.startPermissionRequest(this); } mDataModel = new DataModel(this); diff --git a/src/com/android/car/media/localmediaplayer/Player.java b/src/com/android/car/media/localmediaplayer/Player.java index f70e05c..0aade15 100644 --- a/src/com/android/car/media/localmediaplayer/Player.java +++ b/src/com/android/car/media/localmediaplayer/Player.java @@ -171,7 +171,12 @@ public class Player extends MediaSession.Callback { if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "onPlay"); } - requestAudioFocus(() -> resumePlayback()); + // Check permissions every time we try to play + if (!Utils.hasRequiredPermissions(mContext)) { + Utils.startPermissionRequest(mContext); + } else { + requestAudioFocus(() -> resumePlayback()); + } } @Override diff --git a/src/com/android/car/media/localmediaplayer/Utils.java b/src/com/android/car/media/localmediaplayer/Utils.java index a285589..d761794 100644 --- a/src/com/android/car/media/localmediaplayer/Utils.java +++ b/src/com/android/car/media/localmediaplayer/Utils.java @@ -17,6 +17,7 @@ package com.android.car.media.localmediaplayer; import android.content.ContentResolver; import android.content.Context; +import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Resources; import android.net.Uri; @@ -42,4 +43,12 @@ public class Utils { } return true; } + + static void startPermissionRequest(Context context) { + if (!Utils.hasRequiredPermissions(context)) { + Intent intent = new Intent(context, PermissionsActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(intent); + } + } } |
