Merge "Cache the Binder call for PlaybackState" into udc-dev am: 5f716d1882
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23377421 Change-Id: I4b55bb2adb371f2f80c73697b4defefd564be5bc Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -252,13 +252,16 @@ public class PipMediaController {
|
|||||||
// It can be removed when min_sdk of the app is set to 31 or greater.
|
// It can be removed when min_sdk of the app is set to 31 or greater.
|
||||||
@SuppressLint("NewApi")
|
@SuppressLint("NewApi")
|
||||||
private List<RemoteAction> getMediaActions() {
|
private List<RemoteAction> getMediaActions() {
|
||||||
if (mMediaController == null || mMediaController.getPlaybackState() == null) {
|
// Cache the PlaybackState since it's a Binder call.
|
||||||
|
final PlaybackState playbackState;
|
||||||
|
if (mMediaController == null
|
||||||
|
|| (playbackState = mMediaController.getPlaybackState()) == null) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayList<RemoteAction> mediaActions = new ArrayList<>();
|
ArrayList<RemoteAction> mediaActions = new ArrayList<>();
|
||||||
boolean isPlaying = mMediaController.getPlaybackState().isActive();
|
boolean isPlaying = playbackState.isActive();
|
||||||
long actions = mMediaController.getPlaybackState().getActions();
|
long actions = playbackState.getActions();
|
||||||
|
|
||||||
// Prev action
|
// Prev action
|
||||||
mPrevAction.setEnabled((actions & PlaybackState.ACTION_SKIP_TO_PREVIOUS) != 0);
|
mPrevAction.setEnabled((actions & PlaybackState.ACTION_SKIP_TO_PREVIOUS) != 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user