summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIssei Suzuki <issei@google.com>2022-08-03 17:23:08 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-08-03 17:23:08 +0000
commitaca8d31cc2e7aa402d2650e5bf0d71a3a6b3f0f5 (patch)
tree0a17479630538000c811ea6c78d3f68b443def1b
parent7cb144249f8d9284a3766c49e573fb0d52798abf (diff)
parente12c8f5de3154110a3ead9112f65b3327fa0083f (diff)
downloadbase-aca8d31cc2e7aa402d2650e5bf0d71a3a6b3f0f5.tar.gz
Merge changes from topic "cherrypick-setDismissKeyguard-sh5oh7kmyi" into tm-d1-dev
* changes: Clear ActivityRecord#mDismissKeyguard flag after app launches. Clear ActivityRecord#mDismissKeyguard flag after app launches.
-rw-r--r--core/proto/android/server/windowmanagerservice.proto2
-rw-r--r--services/core/java/com/android/server/wm/KeyguardController.java4
2 files changed, 6 insertions, 0 deletions
diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto
index 152d729da3b6..92ac389ece67 100644
--- a/core/proto/android/server/windowmanagerservice.proto
+++ b/core/proto/android/server/windowmanagerservice.proto
@@ -116,6 +116,7 @@ message KeyguardControllerProto {
repeated KeyguardOccludedProto keyguard_occluded_states = 2 [deprecated=true];
optional bool aod_showing = 3;
repeated KeyguardPerDisplayProto keyguard_per_display = 4;
+ optional bool keyguard_going_away = 5;
}
message KeyguardOccludedProto {
@@ -132,6 +133,7 @@ message KeyguardPerDisplayProto {
optional bool keyguard_showing = 2;
optional bool aod_showing = 3;
optional bool keyguard_occluded = 4;
+ optional bool keyguard_going_away = 5;
}
/* represents PhoneWindowManager */
diff --git a/services/core/java/com/android/server/wm/KeyguardController.java b/services/core/java/com/android/server/wm/KeyguardController.java
index 01c94142f46b..a4c05eecdb07 100644
--- a/services/core/java/com/android/server/wm/KeyguardController.java
+++ b/services/core/java/com/android/server/wm/KeyguardController.java
@@ -41,6 +41,7 @@ import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.wm.ActivityTaskSupervisor.PRESERVE_WINDOWS;
import static com.android.server.wm.KeyguardControllerProto.AOD_SHOWING;
+import static com.android.server.wm.KeyguardControllerProto.KEYGUARD_GOING_AWAY;
import static com.android.server.wm.KeyguardControllerProto.KEYGUARD_PER_DISPLAY;
import static com.android.server.wm.KeyguardControllerProto.KEYGUARD_SHOWING;
@@ -594,6 +595,7 @@ class KeyguardController {
} else if (top.canShowWhenLocked()) {
mTopOccludesActivity = top;
}
+ top.mDismissKeyguard = false;
// Only the top activity may control occluded, as we can't occlude the Keyguard
// if the top app doesn't want to occlude it.
@@ -671,6 +673,7 @@ class KeyguardController {
proto.write(KeyguardPerDisplayProto.KEYGUARD_SHOWING, mKeyguardShowing);
proto.write(KeyguardPerDisplayProto.AOD_SHOWING, mAodShowing);
proto.write(KeyguardPerDisplayProto.KEYGUARD_OCCLUDED, mOccluded);
+ proto.write(KeyguardPerDisplayProto.KEYGUARD_GOING_AWAY, mKeyguardGoingAway);
proto.end(token);
}
}
@@ -691,6 +694,7 @@ class KeyguardController {
final long token = proto.start(fieldId);
proto.write(AOD_SHOWING, default_state.mAodShowing);
proto.write(KEYGUARD_SHOWING, default_state.mKeyguardShowing);
+ proto.write(KEYGUARD_GOING_AWAY, default_state.mKeyguardGoingAway);
writeDisplayStatesToProto(proto, KEYGUARD_PER_DISPLAY);
proto.end(token);
}