From 03e5417ec45174295acc9795029a9a15ce97ddc9 Mon Sep 17 00:00:00 2001 From: timhypeng Date: Mon, 14 Sep 2020 15:58:44 +0800 Subject: [PATCH] Add MediaOutputDialogFactory to create MediaOutputDialog Bug: 155822415 Test: build pass Merged-In: Idbfc558bcecc66f6f3b984a0d6f09634db2b2002 Change-Id: Idbfc558bcecc66f6f3b984a0d6f09634db2b2002 --- .../media/dialog/MediaOutputDialogFactory.kt | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialogFactory.kt diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialogFactory.kt b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialogFactory.kt new file mode 100644 index 0000000000000..bc1dca58990d3 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialogFactory.kt @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.media.dialog + +import android.content.Context +import android.media.session.MediaSessionManager +import com.android.settingslib.bluetooth.LocalBluetoothManager +import com.android.systemui.plugins.ActivityStarter +import com.android.systemui.statusbar.phone.ShadeController +import javax.inject.Inject + +/** + * Factory to create [MediaOutputDialog] objects. + */ +class MediaOutputDialogFactory @Inject constructor( + private val context: Context, + private val mediaSessionManager: MediaSessionManager, + private val lbm: LocalBluetoothManager?, + private val shadeController: ShadeController, + private val starter: ActivityStarter +) { + /** Creates a [MediaOutputDialog] for the given package. */ + fun create(packageName: String, aboveStatusBar: Boolean) { + MediaOutputController(context, packageName, mediaSessionManager, lbm, shadeController, + starter).run { + MediaOutputDialog(context, aboveStatusBar, this) } + } +}