Fix issue #2133206: dialogs/menus should auto-dismiss when screen turns off
Perform clear system dialogs when turning on the lock screen.
Change-Id: I2a3104a9df942d59308a94377f93787f17dbb2ce
diff --git a/policy/com/android/internal/policy/impl/KeyguardViewMediator.java b/policy/com/android/internal/policy/impl/KeyguardViewMediator.java
index 0cb69e3..f8bc3e67 100644
--- a/policy/com/android/internal/policy/impl/KeyguardViewMediator.java
+++ b/policy/com/android/internal/policy/impl/KeyguardViewMediator.java
@@ -19,6 +19,7 @@
import com.android.internal.telephony.IccCard;
import com.android.internal.widget.LockPatternUtils;
+import android.app.ActivityManagerNative;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.StatusBarManager;
@@ -32,6 +33,7 @@
import android.os.LocalPowerManager;
import android.os.Message;
import android.os.PowerManager;
+import android.os.RemoteException;
import android.os.SystemClock;
import android.telephony.TelephonyManager;
import android.util.Config;
@@ -123,7 +125,7 @@
* turning on the keyguard (i.e, the user has this much time to turn
* the screen back on without having to face the keyguard).
*/
- private static final int KEYGUARD_DELAY_MS = 0;
+ private static final int KEYGUARD_DELAY_MS = 5000;
/**
* How long we'll wait for the {@link KeyguardViewCallback#keyguardDoneDrawing()}
@@ -869,6 +871,10 @@
mKeyguardViewManager.show();
mShowing = true;
+ try {
+ ActivityManagerNative.getDefault().closeSystemDialogs("lock");
+ } catch (RemoteException e) {
+ }
}
}
diff --git a/policy/com/android/internal/policy/impl/PhoneWindow.java b/policy/com/android/internal/policy/impl/PhoneWindow.java
index 05dc936..3d6fdeb 100644
--- a/policy/com/android/internal/policy/impl/PhoneWindow.java
+++ b/policy/com/android/internal/policy/impl/PhoneWindow.java
@@ -1998,6 +1998,13 @@
cb.onDetachedFromWindow();
}
}
+
+ @Override
+ public void onCloseSystemDialogs(String reason) {
+ if (mFeatureId >= 0) {
+ closeAllPanels();
+ }
+ }
}
protected DecorView generateDecor() {