Add dismiss timing for Media Output Dialog
-Dismiss dialog when losing window focus -Dismiss dialog when launch Volume Panel in Volume dialog Bug: 155822415 Test: atest MediaControlPanelTest Merged-In: I666550354cef27703d19b736f74c3d58635041ad Change-Id: I666550354cef27703d19b736f74c3d58635041ad
This commit is contained in:
@@ -49,7 +49,7 @@ import com.android.systemui.statusbar.phone.SystemUIDialog;
|
|||||||
* Base dialog for media output UI
|
* Base dialog for media output UI
|
||||||
*/
|
*/
|
||||||
public abstract class MediaOutputBaseDialog extends SystemUIDialog implements
|
public abstract class MediaOutputBaseDialog extends SystemUIDialog implements
|
||||||
MediaOutputController.Callback {
|
MediaOutputController.Callback, Window.Callback {
|
||||||
|
|
||||||
private static final String TAG = "MediaOutputDialog";
|
private static final String TAG = "MediaOutputDialog";
|
||||||
|
|
||||||
@@ -210,4 +210,12 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements
|
|||||||
public void dismissDialog() {
|
public void dismissDialog() {
|
||||||
dismiss();
|
dismiss();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean hasFocus) {
|
||||||
|
super.onWindowFocusChanged(hasFocus);
|
||||||
|
if (!hasFocus && isShowing()) {
|
||||||
|
dismiss();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ import com.android.settingslib.Utils;
|
|||||||
import com.android.systemui.Dependency;
|
import com.android.systemui.Dependency;
|
||||||
import com.android.systemui.Prefs;
|
import com.android.systemui.Prefs;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
|
import com.android.systemui.media.dialog.MediaOutputDialogFactory;
|
||||||
import com.android.systemui.plugins.ActivityStarter;
|
import com.android.systemui.plugins.ActivityStarter;
|
||||||
import com.android.systemui.plugins.VolumeDialog;
|
import com.android.systemui.plugins.VolumeDialog;
|
||||||
import com.android.systemui.plugins.VolumeDialogController;
|
import com.android.systemui.plugins.VolumeDialogController;
|
||||||
@@ -470,6 +471,7 @@ public class VolumeDialogImpl implements VolumeDialog,
|
|||||||
Events.writeEvent(Events.EVENT_SETTINGS_CLICK);
|
Events.writeEvent(Events.EVENT_SETTINGS_CLICK);
|
||||||
Intent intent = new Intent(Settings.Panel.ACTION_VOLUME);
|
Intent intent = new Intent(Settings.Panel.ACTION_VOLUME);
|
||||||
dismissH(DISMISS_REASON_SETTINGS_CLICKED);
|
dismissH(DISMISS_REASON_SETTINGS_CLICKED);
|
||||||
|
Dependency.get(MediaOutputDialogFactory.class).dismiss();
|
||||||
Dependency.get(ActivityStarter.class).startActivity(intent,
|
Dependency.get(ActivityStarter.class).startActivity(intent,
|
||||||
true /* dismissShade */);
|
true /* dismissShade */);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user