summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2013-09-26 16:42:55 -0700
committerCraig Mautner <cmautner@google.com>2013-09-26 17:41:05 -0700
commit0756632aa056cc873943f7f19c7501ce79608394 (patch)
tree0e02034e7979fe368ac07cf200e00aeb1034a975 /services
parentadf149029f701464c66cc5cacbbbc649c1319bcd (diff)
downloadframeworks_base-0756632aa056cc873943f7f19c7501ce79608394.zip
frameworks_base-0756632aa056cc873943f7f19c7501ce79608394.tar.gz
frameworks_base-0756632aa056cc873943f7f19c7501ce79608394.tar.bz2
Dismiss keyguard when resuming visible activities
If an activity is visible behind the keyguard when it is launched by another activity then there would be no call to dismissKeyguard. Because the other activity is pausing the call to dismissKeyguard is skipped in startActivityLocked(). And because it is already visible the call to ActivityRecord.windowsVisible() is never made and the call to reportActivityVisibleLocked() which calls dismissKeyguard() is also never made. This change recognizes when an activity is resumed and visible and calls dismissKeyguard() in that case. Fixes bug 10732489. Change-Id: I3de1350a55231aaa14dadc8709fd0fcf4960742c
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/am/ActivityStack.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java
index a88c3cc..18ff819 100644
--- a/services/java/com/android/server/am/ActivityStack.java
+++ b/services/java/com/android/server/am/ActivityStack.java
@@ -937,6 +937,10 @@ final class ActivityStack {
next.idle = false;
next.results = null;
next.newIntents = null;
+ if (next.nowVisible) {
+ // We won't get a call to reportActivityVisibleLocked() so dismiss lockscreen now.
+ mStackSupervisor.dismissKeyguard();
+ }
// schedule an idle timeout in case the app doesn't do it for us.
mStackSupervisor.scheduleIdleTimeoutLocked(next);