summaryrefslogtreecommitdiff
path: root/com/android/systemui/globalactions/GlobalActionsDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'com/android/systemui/globalactions/GlobalActionsDialog.java')
-rw-r--r--com/android/systemui/globalactions/GlobalActionsDialog.java29
1 files changed, 17 insertions, 12 deletions
diff --git a/com/android/systemui/globalactions/GlobalActionsDialog.java b/com/android/systemui/globalactions/GlobalActionsDialog.java
index e171b53d..a7975d7e 100644
--- a/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -107,6 +107,7 @@ class GlobalActionsDialog implements DialogInterface.OnDismissListener,
static public final String SYSTEM_DIALOG_REASON_KEY = "reason";
static public final String SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS = "globalactions";
+ static public final String SYSTEM_DIALOG_REASON_DREAM = "dream";
private static final String TAG = "GlobalActionsDialog";
@@ -376,17 +377,13 @@ class GlobalActionsDialog implements DialogInterface.OnDismissListener,
mAdapter = new MyAdapter();
- OnItemLongClickListener onItemLongClickListener = new OnItemLongClickListener() {
- @Override
- public boolean onItemLongClick(AdapterView<?> parent, View view, int position,
- long id) {
- final Action action = mAdapter.getItem(position);
- if (action instanceof LongPressAction) {
- mDialog.dismiss();
- return ((LongPressAction) action).onLongPress();
- }
- return false;
+ OnItemLongClickListener onItemLongClickListener = (parent, view, position, id) -> {
+ final Action action = mAdapter.getItem(position);
+ if (action instanceof LongPressAction) {
+ mDialog.dismiss();
+ return ((LongPressAction) action).onLongPress();
}
+ return false;
};
ActionsDialog dialog = new ActionsDialog(mContext, this, mAdapter, onItemLongClickListener);
dialog.setCanceledOnTouchOutside(false); // Handled by the custom class.
@@ -1236,7 +1233,7 @@ class GlobalActionsDialog implements DialogInterface.OnDismissListener,
|| Intent.ACTION_SCREEN_OFF.equals(action)) {
String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
if (!SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS.equals(reason)) {
- mHandler.sendEmptyMessage(MESSAGE_DISMISS);
+ mHandler.sendMessage(mHandler.obtainMessage(MESSAGE_DISMISS, reason));
}
} else if (TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED.equals(action)) {
// Airplane mode can be changed after ECM exits if airplane toggle button
@@ -1287,7 +1284,11 @@ class GlobalActionsDialog implements DialogInterface.OnDismissListener,
switch (msg.what) {
case MESSAGE_DISMISS:
if (mDialog != null) {
- mDialog.dismiss();
+ if (SYSTEM_DIALOG_REASON_DREAM.equals(msg.obj)) {
+ mDialog.dismissImmediately();
+ } else {
+ mDialog.dismiss();
+ }
mDialog = null;
}
break;
@@ -1468,6 +1469,10 @@ class GlobalActionsDialog implements DialogInterface.OnDismissListener,
.start();
}
+ void dismissImmediately() {
+ super.dismiss();
+ }
+
private float getAnimTranslation() {
return getContext().getResources().getDimension(
com.android.systemui.R.dimen.global_actions_panel_width) / 2;