summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorRoberto Perez <robertoalexis@google.com>2018-04-13 14:57:27 -0700
committerRoberto Perez <robertoalexis@google.com>2018-05-17 14:20:26 -0700
commitf0a15ee7cfa8a012caacb92fad1ab92f49d522f5 (patch)
treedaf7abb595add3ce148b4cdf118a21df2144cfe4 /src/com
parent3ea9448f8d88173240440f85a739195c353de9ee (diff)
downloadplatform_packages_apps_Car_LocalMediaPlayer-f0a15ee7cfa8a012caacb92fad1ab92f49d522f5.tar.gz
platform_packages_apps_Car_LocalMediaPlayer-f0a15ee7cfa8a012caacb92fad1ab92f49d522f5.tar.bz2
platform_packages_apps_Car_LocalMediaPlayer-f0a15ee7cfa8a012caacb92fad1ab92f49d522f5.zip
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')
-rw-r--r--src/com/android/car/media/localmediaplayer/DataModel.java6
-rw-r--r--src/com/android/car/media/localmediaplayer/LocalMediaBrowserService.java6
-rw-r--r--src/com/android/car/media/localmediaplayer/Player.java7
-rw-r--r--src/com/android/car/media/localmediaplayer/Utils.java9
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);
+ }
+ }
}