diff options
author | timhypeng <timhypeng@google.com> | 2020-12-08 06:30:31 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-12-08 06:30:31 +0000 |
commit | 0e6dd319e9483b33ce0a3331d7de307e5cb637d6 (patch) | |
tree | f6c7cca5e4fea18f2d97334fce002ab6bc840c9d /packages/SystemUI/src | |
parent | 0baafa6991641f9fd8572019a25aa9b743b69442 (diff) | |
parent | 29ae958b76f76646dc42010954f47808e46fb76f (diff) |
Update OutputSwitcher from SettingsPanel to MediaOutputDialog in SystemUI am: 29ae958b76
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13109612
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Id752aba25eaf1428dec5e8316e17a1cb1c3d7f20
Diffstat (limited to 'packages/SystemUI/src')
3 files changed, 14 insertions, 21 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/Dependency.java b/packages/SystemUI/src/com/android/systemui/Dependency.java index 7c3671385868..097beba32bdf 100644 --- a/packages/SystemUI/src/com/android/systemui/Dependency.java +++ b/packages/SystemUI/src/com/android/systemui/Dependency.java @@ -46,6 +46,7 @@ import com.android.systemui.dump.DumpManager; import com.android.systemui.fragments.FragmentService; import com.android.systemui.keyguard.ScreenLifecycle; import com.android.systemui.keyguard.WakefulnessLifecycle; +import com.android.systemui.media.dialog.MediaOutputDialogFactory; import com.android.systemui.model.SysUiState; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.DarkIconDispatcher; @@ -347,6 +348,7 @@ public class Dependency { @Inject Lazy<RecordingController> mRecordingController; @Inject Lazy<ProtoTracer> mProtoTracer; @Inject Lazy<Divider> mDivider; + @Inject Lazy<MediaOutputDialogFactory> mMediaOutputDialogFactory; @Inject public Dependency() { @@ -547,6 +549,8 @@ public class Dependency { mProviders.put(RecordingController.class, mRecordingController::get); mProviders.put(Divider.class, mDivider::get); + mProviders.put(MediaOutputDialogFactory.class, mMediaOutputDialogFactory::get); + sDependency = this; } diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java index d853e3d4a57c..bffe05085887 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java +++ b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java @@ -42,10 +42,10 @@ import androidx.annotation.UiThread; import androidx.constraintlayout.widget.ConstraintSet; import com.android.settingslib.Utils; -import com.android.settingslib.media.MediaOutputSliceConstants; import com.android.settingslib.widget.AdaptiveIcon; import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.Background; +import com.android.systemui.media.dialog.MediaOutputDialogFactory; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.statusbar.phone.KeyguardDismissUtil; import com.android.systemui.util.animation.TransitionLayout; @@ -93,7 +93,7 @@ public class MediaControlPanel { private int mAlbumArtRadius; // This will provide the corners for the album art. private final ViewOutlineProvider mViewOutlineProvider; - + private final MediaOutputDialogFactory mMediaOutputDialogFactory; /** * Initialize a new control panel * @param context @@ -104,7 +104,8 @@ public class MediaControlPanel { public MediaControlPanel(Context context, @Background Executor backgroundExecutor, ActivityStarter activityStarter, MediaViewController mediaViewController, SeekBarViewModel seekBarViewModel, Lazy<MediaDataManager> lazyMediaDataManager, - KeyguardDismissUtil keyguardDismissUtil) { + KeyguardDismissUtil keyguardDismissUtil, MediaOutputDialogFactory + mediaOutputDialogFactory) { mContext = context; mBackgroundExecutor = backgroundExecutor; mActivityStarter = activityStarter; @@ -112,6 +113,7 @@ public class MediaControlPanel { mMediaViewController = mediaViewController; mMediaDataManagerLazy = lazyMediaDataManager; mKeyguardDismissUtil = keyguardDismissUtil; + mMediaOutputDialogFactory = mediaOutputDialogFactory; loadDimens(); mViewOutlineProvider = new ViewOutlineProvider() { @@ -274,13 +276,7 @@ public class MediaControlPanel { setVisibleAndAlpha(collapsedSet, R.id.media_seamless, true /*visible */); setVisibleAndAlpha(expandedSet, R.id.media_seamless, true /*visible */); mViewHolder.getSeamless().setOnClickListener(v -> { - final Intent intent = new Intent() - .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT) - .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME, - data.getPackageName()) - .putExtra(MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN, mToken); - mActivityStarter.startActivity(intent, false, true /* dismissShade */, - Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + mMediaOutputDialogFactory.create(data.getPackageName(), true); }); ImageView iconView = mViewHolder.getSeamlessIcon(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/MediaTransferManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/MediaTransferManager.java index ac3523b2fffd..1b1a51b8a57b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/MediaTransferManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/MediaTransferManager.java @@ -17,7 +17,6 @@ package com.android.systemui.statusbar; import android.content.Context; -import android.content.Intent; import android.content.res.ColorStateList; import android.graphics.drawable.Drawable; import android.graphics.drawable.GradientDrawable; @@ -36,10 +35,9 @@ import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.media.InfoMediaManager; import com.android.settingslib.media.LocalMediaManager; import com.android.settingslib.media.MediaDevice; -import com.android.settingslib.media.MediaOutputSliceConstants; import com.android.settingslib.widget.AdaptiveIcon; import com.android.systemui.Dependency; -import com.android.systemui.plugins.ActivityStarter; +import com.android.systemui.media.dialog.MediaOutputDialogFactory; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; @@ -51,7 +49,7 @@ import java.util.List; */ public class MediaTransferManager { private final Context mContext; - private final ActivityStarter mActivityStarter; + private final MediaOutputDialogFactory mMediaOutputDialogFactory; private MediaDevice mDevice; private List<View> mViews = new ArrayList<>(); private LocalMediaManager mLocalMediaManager; @@ -74,12 +72,7 @@ public class MediaTransferManager { ViewParent parent = view.getParent(); StatusBarNotification statusBarNotification = getRowForParent(parent).getEntry().getSbn(); - final Intent intent = new Intent() - .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT) - .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME, - statusBarNotification.getPackageName()); - mActivityStarter.startActivity(intent, false, true /* dismissShade */, - Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + mMediaOutputDialogFactory.create(statusBarNotification.getPackageName(), true); return true; } }; @@ -107,7 +100,7 @@ public class MediaTransferManager { public MediaTransferManager(Context context) { mContext = context; - mActivityStarter = Dependency.get(ActivityStarter.class); + mMediaOutputDialogFactory = Dependency.get(MediaOutputDialogFactory.class); LocalBluetoothManager lbm = Dependency.get(LocalBluetoothManager.class); InfoMediaManager imm = new InfoMediaManager(mContext, null, null, lbm); mLocalMediaManager = new LocalMediaManager(mContext, lbm, imm, null); |