From 44299174ce633fa18b214fbdcc6c51f339703743 Mon Sep 17 00:00:00 2001 From: Robert Snoeberger Date: Fri, 24 Apr 2020 22:22:21 -0400 Subject: [PATCH] Add logs to help debug the transfer chip disappearing Bug: 154825993 Test: `my sysuig` builds Change-Id: I135444e390e0c6be681a503d42fed28728ecd766 --- .../systemui/media/MediaControlPanel.java | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java index 683c7934908ba..ad848ebb9d6e4 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java +++ b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java @@ -245,7 +245,7 @@ public class MediaControlPanel { // Try to find a browser service component for this app // TODO also check for a media button receiver intended for restarting (b/154127084) // Only check if we haven't tried yet or the session token changed - String pkgName = mController.getPackageName(); + final String pkgName = mController.getPackageName(); if (mServiceComponent == null && !mCheckedForResumption) { Log.d(TAG, "Checking for service component"); PackageManager pm = mContext.getPackageManager(); @@ -281,18 +281,22 @@ public class MediaControlPanel { // Transfer chip mSeamless = mMediaNotifView.findViewById(R.id.media_seamless); - if (mSeamless != null && mLocalMediaManager != null) { - mSeamless.setVisibility(View.VISIBLE); - updateDevice(mLocalMediaManager.getCurrentConnectedDevice()); - mSeamless.setOnClickListener(v -> { - final Intent intent = new Intent() - .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT) - .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME, - mController.getPackageName()) - .putExtra(MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN, mToken); - mActivityStarter.startActivity(intent, false, true /* dismissShade */, - Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); - }); + if (mSeamless != null) { + if (mLocalMediaManager != null) { + mSeamless.setVisibility(View.VISIBLE); + updateDevice(mLocalMediaManager.getCurrentConnectedDevice()); + mSeamless.setOnClickListener(v -> { + final Intent intent = new Intent() + .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT) + .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME, + mController.getPackageName()) + .putExtra(MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN, mToken); + mActivityStarter.startActivity(intent, false, true /* dismissShade */, + Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + }); + } else { + Log.d(TAG, "LocalMediaManager is null. Not binding output chip for pkg=" + pkgName); + } } makeActive(); @@ -543,6 +547,7 @@ public class MediaControlPanel { deviceName.setText(device.getName()); } else { // Reset to default + Log.d(TAG, "device is null. Not binding output chip."); iconView.setVisibility(View.GONE); deviceName.setText(com.android.internal.R.string.ext_media_seamless_action); }