Add dismiss intent and method for MediaOutputDialog

-Add filter in Manifest
-Add dismiss method in MediaOutputDialogFactory

Bug: 155822415
Test: build pass
Merged-In: Ica5b5a22e0fa20ffec5ab9ea291f72c06e39c2fe
Change-Id: Ica5b5a22e0fa20ffec5ab9ea291f72c06e39c2fe
This commit is contained in:
timhypeng
2020-09-21 17:14:04 +08:00
committed by tim peng
parent 5fc4c2883d
commit 1747dbbc40
2 changed files with 15 additions and 2 deletions

View File

@@ -785,6 +785,7 @@
android:exported="true"> android:exported="true">
<intent-filter> <intent-filter>
<action android:name="com.android.systemui.action.LAUNCH_MEDIA_OUTPUT_DIALOG" /> <action android:name="com.android.systemui.action.LAUNCH_MEDIA_OUTPUT_DIALOG" />
<action android:name="com.android.systemui.action.DISMISS_MEDIA_OUTPUT_DIALOG" />
</intent-filter> </intent-filter>
</receiver> </receiver>

View File

@@ -33,10 +33,22 @@ class MediaOutputDialogFactory @Inject constructor(
private val shadeController: ShadeController, private val shadeController: ShadeController,
private val starter: ActivityStarter private val starter: ActivityStarter
) { ) {
companion object {
var mediaOutputDialog: MediaOutputDialog? = null
}
/** Creates a [MediaOutputDialog] for the given package. */ /** Creates a [MediaOutputDialog] for the given package. */
fun create(packageName: String, aboveStatusBar: Boolean) { fun create(packageName: String, aboveStatusBar: Boolean) {
MediaOutputController(context, packageName, mediaSessionManager, lbm, shadeController, mediaOutputDialog?.dismiss()
starter).run {
mediaOutputDialog = MediaOutputController(context, packageName, mediaSessionManager, lbm,
shadeController, starter).run {
MediaOutputDialog(context, aboveStatusBar, this) } MediaOutputDialog(context, aboveStatusBar, this) }
} }
/** dismiss [MediaOutputDialog] if exist. */
fun dismiss() {
mediaOutputDialog?.dismiss()
mediaOutputDialog = null
}
} }