Merge "Add explicit SystemUIDialog dependencies as parameters" into tm-qpr-dev am: 6d6a373d25
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19046029 Change-Id: I90ca277f542990ee64ea67c4176a20825fd9e331 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
committed by
Automerger Merge Worker
commit
bab6d2d2f4
@@ -93,6 +93,17 @@ public class SystemUIDialog extends AlertDialog implements ViewRootImpl.ConfigCh
|
|||||||
}
|
}
|
||||||
|
|
||||||
public SystemUIDialog(Context context, int theme, boolean dismissOnDeviceLock) {
|
public SystemUIDialog(Context context, int theme, boolean dismissOnDeviceLock) {
|
||||||
|
// TODO(b/219008720): Remove those calls to Dependency.get by introducing a
|
||||||
|
// SystemUIDialogFactory and make all other dialogs create a SystemUIDialog to which we set
|
||||||
|
// the content and attach listeners.
|
||||||
|
this(context, theme, dismissOnDeviceLock, Dependency.get(SystemUIDialogManager.class),
|
||||||
|
Dependency.get(SysUiState.class), Dependency.get(BroadcastDispatcher.class),
|
||||||
|
Dependency.get(DialogLaunchAnimator.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
public SystemUIDialog(Context context, int theme, boolean dismissOnDeviceLock,
|
||||||
|
SystemUIDialogManager dialogManager, SysUiState sysUiState,
|
||||||
|
BroadcastDispatcher broadcastDispatcher, DialogLaunchAnimator dialogLaunchAnimator) {
|
||||||
super(context, theme);
|
super(context, theme);
|
||||||
mContext = context;
|
mContext = context;
|
||||||
|
|
||||||
@@ -101,13 +112,10 @@ public class SystemUIDialog extends AlertDialog implements ViewRootImpl.ConfigCh
|
|||||||
attrs.setTitle(getClass().getSimpleName());
|
attrs.setTitle(getClass().getSimpleName());
|
||||||
getWindow().setAttributes(attrs);
|
getWindow().setAttributes(attrs);
|
||||||
|
|
||||||
mDismissReceiver = dismissOnDeviceLock ? new DismissReceiver(this) : null;
|
mDismissReceiver = dismissOnDeviceLock ? new DismissReceiver(this, broadcastDispatcher,
|
||||||
|
dialogLaunchAnimator) : null;
|
||||||
// TODO(b/219008720): Remove those calls to Dependency.get by introducing a
|
mDialogManager = dialogManager;
|
||||||
// SystemUIDialogFactory and make all other dialogs create a SystemUIDialog to which we set
|
mSysUiState = sysUiState;
|
||||||
// the content and attach listeners.
|
|
||||||
mDialogManager = Dependency.get(SystemUIDialogManager.class);
|
|
||||||
mSysUiState = Dependency.get(SysUiState.class);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -326,7 +334,10 @@ public class SystemUIDialog extends AlertDialog implements ViewRootImpl.ConfigCh
|
|||||||
* @param dismissAction An action to run when the dialog is dismissed.
|
* @param dismissAction An action to run when the dialog is dismissed.
|
||||||
*/
|
*/
|
||||||
public static void registerDismissListener(Dialog dialog, @Nullable Runnable dismissAction) {
|
public static void registerDismissListener(Dialog dialog, @Nullable Runnable dismissAction) {
|
||||||
DismissReceiver dismissReceiver = new DismissReceiver(dialog);
|
// TODO(b/219008720): Remove those calls to Dependency.get.
|
||||||
|
DismissReceiver dismissReceiver = new DismissReceiver(dialog,
|
||||||
|
Dependency.get(BroadcastDispatcher.class),
|
||||||
|
Dependency.get(DialogLaunchAnimator.class));
|
||||||
dialog.setOnDismissListener(d -> {
|
dialog.setOnDismissListener(d -> {
|
||||||
dismissReceiver.unregister();
|
dismissReceiver.unregister();
|
||||||
if (dismissAction != null) dismissAction.run();
|
if (dismissAction != null) dismissAction.run();
|
||||||
@@ -408,11 +419,11 @@ public class SystemUIDialog extends AlertDialog implements ViewRootImpl.ConfigCh
|
|||||||
private final BroadcastDispatcher mBroadcastDispatcher;
|
private final BroadcastDispatcher mBroadcastDispatcher;
|
||||||
private final DialogLaunchAnimator mDialogLaunchAnimator;
|
private final DialogLaunchAnimator mDialogLaunchAnimator;
|
||||||
|
|
||||||
DismissReceiver(Dialog dialog) {
|
DismissReceiver(Dialog dialog, BroadcastDispatcher broadcastDispatcher,
|
||||||
|
DialogLaunchAnimator dialogLaunchAnimator) {
|
||||||
mDialog = dialog;
|
mDialog = dialog;
|
||||||
// TODO(b/219008720): Remove those calls to Dependency.get.
|
mBroadcastDispatcher = broadcastDispatcher;
|
||||||
mBroadcastDispatcher = Dependency.get(BroadcastDispatcher.class);
|
mDialogLaunchAnimator = dialogLaunchAnimator;
|
||||||
mDialogLaunchAnimator = Dependency.get(DialogLaunchAnimator.class);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void register() {
|
void register() {
|
||||||
|
|||||||
Reference in New Issue
Block a user