diff options
author | Arnaud Berry <arnaudberry@google.com> | 2021-05-12 11:18:14 -0700 |
---|---|---|
committer | Arnaud Berry <arnaudberry@google.com> | 2021-05-12 11:18:55 -0700 |
commit | 24ce62787a7c6d7ba39354670169346e1249b3e3 (patch) | |
tree | 824b8d572aeac9bd636d49a06613a3edc088048d | |
parent | c1eaa136602fd93106c38912a79b5279a831741e (diff) | |
download | tests-24ce62787a7c6d7ba39354670169346e1249b3e3.tar.gz |
Workaround older androidx media library
The androidx media library fixed the creation of pending intents on S.
However the prebuilt has not been updated, and S is locking down so
this simple workaround seems safer.
Bug: 182007466
Test: manual
Change-Id: Ie058437b6ccf2f35475da17e8a6b5fbb9ae82fbb
-rw-r--r-- | TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java index c187448..87161fd 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java @@ -19,7 +19,10 @@ import static com.android.car.media.testmediaapp.prefs.TmaEnumPrefs.TmaBrowseNod import static com.android.car.media.testmediaapp.prefs.TmaEnumPrefs.TmaBrowseNodeType.QUEUE_ONLY; import static com.android.car.media.testmediaapp.prefs.TmaEnumPrefs.TmaLoginEventOrder.PLAYBACK_STATE_UPDATE_FIRST; +import android.app.PendingIntent; +import android.content.ComponentName; import android.content.Context; +import android.content.Intent; import android.media.AudioManager; import android.os.Bundle; import android.os.Handler; @@ -31,6 +34,7 @@ import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.media.MediaBrowserServiceCompat; +import androidx.media.session.MediaButtonReceiver; import com.android.car.media.testmediaapp.loader.TmaLoader; import com.android.car.media.testmediaapp.prefs.TmaEnumPrefs.TmaAccountType; @@ -83,7 +87,14 @@ public class TmaBrowser extends MediaBrowserServiceCompat { super.onCreate(); mPrefs = TmaPrefs.getInstance(this); mHandler = new Handler(); - mSession = new MediaSessionCompat(this, MEDIA_SESSION_TAG); + + ComponentName mbrComponent = MediaButtonReceiver.getMediaButtonReceiverComponent(this); + Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON); + mediaButtonIntent.setComponent(mbrComponent); + PendingIntent mbrIntent = PendingIntent.getBroadcast(this, 0, mediaButtonIntent, + PendingIntent.FLAG_IMMUTABLE); + + mSession = new MediaSessionCompat(this, MEDIA_SESSION_TAG, mbrComponent, mbrIntent); setSessionToken(mSession.getSessionToken()); mLibrary = new TmaLibrary(new TmaLoader(this)); |