e9dc82ee4d94e76ab76aade84acde5a870b2aba8 |
|
23-Jun-2017 |
Wale Ogunwale <ogunwale@google.com> |
Fixed some rotation while unlocking screen issue. - Don't use snapshot that is in different orientation than the current display orientation. This is a follow up to a previous CL whose implementation wasn't complete. - Disabled fixed for unnecessary relaunches when unlocking with fingerprint sensor introduced in ag/2310557. This causes regression in the experience from N. We still have the relaunches, but we cover up the delay by displaying the apps starting window. - Added more trace log points. Fixes: 62796190 Fixes: 62904487 Bug: 38494778 Test: go/wm-smoke and manual verification of bug. Change-Id: Id161a334cb4455dd9eb25c6bb63d5bb3f8a6f1f0 (cherry picked from commit dfb7fb259828a6cfa222b76398da9e430e94fd90)
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
bfa81adfbe1819d55737dbbb2fb9157e50dbe022 |
|
25-May-2017 |
Wale Ogunwale <ogunwale@google.com> |
Fix unnecessary relaunches when unlocking with fingerprint sensor. When the device is unlocked using the fingerprint sensor in an orientation opposite to the lockscreen orientation, the app that will be visible is first relaunched in the current lockscreen orientation and then later relaunched in the correct orientation. If the keygaurd is going away then: - Don't let keyguard affect device orientation. We want to use the orientation of the app that will be visible. - Allow the rotation sensor to be enabled even though draw isn't complete so window manager can get the updated or last rotation reading. - Don't clear the previous proposed sensor reading to allow window manager to use the information to update the orientation as needed vs. falling back to the previous orientation. Change-Id: I8369723d6a77f2c602f1ef080371fa7cd9ee094e Fixes: 38494778 Test: Launch an app that doesn't fix orientation like clock, hold the device in landscape, press the power button, unlock the device using the fingerprint sensor, and verify the the app isn't relaunched.
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
ba836ad1faa70abe69073396b191921cd0d70299 |
|
28-Apr-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Dismiss docked stack when ShowWhenLocked activity is over keyguard (1/2)" into oc-dev
|
f4344ef78e5bbb52f25ad57898854d4f55347c7c |
|
21-Apr-2017 |
Matthew Ng <ngmatthew@google.com> |
Dismiss docked stack when ShowWhenLocked activity is over keyguard (1/2) Activities with ShowWhenLocked flag when docked should dismiss the docked stack and appear after screen turns back on. This incorporates missing code from ag/1013634 that was missed during refactoring. Fixes: 36166079 Test: run-test CtsServicesHostTestCases android.server.cts.KeyguardTests#testShowWhenLockedActivityWhileSplit Change-Id: I003cdd0be46fe6b9640e2bfbfca582150f2723b7
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
e287e19fda1821bd88c3578bab0586628d0fd7e5 |
|
21-Apr-2017 |
Wale Ogunwale <ogunwale@google.com> |
Fixed pinned stack lockscreen interaction - Use focused stack to determine of an activity can occlude the lockscreen instead of the topmost stack. The topmost stack should be the pinned stack which we don't want to decide if the lockscreen should be occluded. Should be based on the stack that can contain a resume activity. - Make sure the remove AppWindowToken from the display if some one ever calls removeImmediately() directly on it. This makes sure internal states are clean-up correctly if the removal wasn't triggered from the AM side. - Remove some logs that end up causing confusion for testers thinking something is broken. Change-Id: I635f6c9a372882ff33d2e9780a1407f78cddf457 Fixes: 37208509 Test: android.server.cts.KeyguardLockedTests#testShowWhenLockedActivityAndPipActivity Test: android.server.cts.KeyguardLockedTests#testShowWhenLockedPipActivity
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
fc8f82bc6b587bddd2aeaddc54c1ea3f598bb9c3 |
|
26-Jan-2017 |
Andrii Kulian <akulian@google.com> |
Allow showing content on virtual displays when locked This adds new flag to virtual display that changes its behavior when keyguard is shown, but can be dismissed without entering credentials. This can be applied only to private virtual displays. Bug: 34280365 Test: android.server.cts.ActivityManagerDisplayTests Test: #testVirtualDisplayHidesContentWhenLocked Test: #testShowWhenLockedVirtualDisplay Test: #testShowWhenLockedPublicVirtualDisplay Change-Id: I9c19d36295e62f59bd1db1352af707d54ea51667
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
8b702edea1bb211316e1deb3cbe291f2d48d7f77 |
|
20-Jan-2017 |
Jorim Jaggi <jjaggi@google.com> |
Add starting windows while unlocking - Modify screen capturing logic a bit such that it can also take a screenshot when the display is off. - Also take snapshot when app visibility is changing without proper app transition. - When unlocking, add strating windows for all visible apps. Test: Unlock phone. Test: Have an app that sleeps in onStart, make sure unlocking is instant. Bug: 31339431 Change-Id: I953ab6cb30d0d264554fd49a46bdc56e23356d13
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
fecb615093e9781309efcc4d51ffb1808f26415d |
|
29-Oct-2016 |
Ruben Brunk <rubenbrunk@google.com> |
Fix VR interaction with screen on/off/lockscreen. - Add mechanism to prevent VR mode from being enabled. - Disable VR mode while screen is off, or user is in lockscreen, and re-enable when this is no longer the case. Test: Fix merge from nyc-mr2-dev. Bug: 31665197 Bug: 33655854 Change-Id: If777e0ef40b29bff42722f2aa10cff86a5831bc0
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
bbb5b6e8db346df613c15447c0697def8a76584d |
|
15-Dec-2016 |
Jorim Jaggi <jjaggi@google.com> |
Revert "Fix VR interaction with screen on/off/lockscreen." This reverts commit dfe0d7157da8e8a40ee86f0875531bfe2d657831. Reason for revert: 33655854 Change-Id: Ie8573a394dee768859d64493dd8c17ee0c613287
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
dfe0d7157da8e8a40ee86f0875531bfe2d657831 |
|
29-Oct-2016 |
Ruben Brunk <rubenbrunk@google.com> |
Fix VR interaction with screen on/off/lockscreen. - Add mechanism to prevent VR mode from being enabled. - Disable VR mode while screen is off, or user is in lockscreen, and re-enable when this is no longer the case. Test: Fix merge from nyc-mr2-dev. Bug: 31665197 Change-Id: Ia0a7fe8d443a24dce9395053cfe3d1c5847a88f2
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
0796187e95420b263c8e35a4a43a8749479bc559 |
|
23-Nov-2016 |
Jorim Jaggi <jjaggi@google.com> |
Deprecate FLAG_DISMISS_KEYGUARD Since we now have an explicit dismiss method the flag is only dangerous for falsing. The behavior will be migrated in the following way: - Insecure: Treat as FLAG_SHOW_WHEN_LOCKED - Trusted: Actually dismiss Keyguard. - Secure: Show bouncer. We also restore the behavior to not allow dismissing the Keyguard while it is occluded, which was the case in Nougat. Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts.KeyguardTests Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts.KeyguardLockedTests Test: Insecure: Launch FLAG_DISMISS_KEYGUARD activity, make sure Keyguard is occluded. Test: Secure: Launch FLAG_DISMISS_KEYGUARD from SHOW_WHEN_LOCKED, make sure bouncer is shown. Test: Trusted: Launch FLAG_DISMISS_KEYGUARD from SHOW_WHEN_LOCKED, make sure Keyguard gets unlocked. Test: Trusted: Launch FLAG_DISMISS_KEYGUARD, lock screen, make sure Keyguard is not dismissed/occluded. Change-Id: I0d1ec9397a83975adb065c6cb81bf23b08c55395
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
241ae10b2189f449e57d8d660235ac56d8fb1b80 |
|
03-Nov-2016 |
Jorim Jaggi <jjaggi@google.com> |
Add explicit method to dismiss Keyguard The flag is a bit clunky for most cases, and a method is more clear. Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts.KeyguardTests Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts.KeyguardLockedTests Test: runtest systemui -c com.android.systemui.keyguard.DismissCallbackRegistryTest Bug: 30961403 Bug: 27422134 Change-Id: I39de90c7cfecd99350a74f72cd76418e337f2b79
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
e69c93181f1f313dcedd07f677af1cea953fdf16 |
|
01-Nov-2016 |
Jorim Jaggi <jjaggi@google.com> |
The big Keyguard transition refactor (8/n) Don't force mKeyguardGoingAway, as this never recovers. Make sure to only show the dismissing Keyguard activtiy and recover the state when trusted state changes. Test: Make sure Keyguard is in a trusted state, start an activity with FLAG_DISMISS_KEYGUARD from FLAG_SHOW_WHEN_LOCKED activity and make sure there is no flicker. Bug: 32057734 Change-Id: I5d212f6f9d5430250b22c8370f45dc95756432d2
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
8d78693157cb3fa7ab1c9072ef913af4d67c6314 |
|
27-Oct-2016 |
Jorim Jaggi <jjaggi@google.com> |
The big keyguard transition refactor (6/n) Cleanup: - Make sure all the state is nicely dumped. - Remove some unused stuff. - Fix a flicker when occluded -> unlocked Bug: 32057734 Change-Id: Id87e26adccef740d608b325c2dc1f6db14dd4ec3
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
ab7ad3898c91dfc2afe6e776917f96dc8a096a44 |
|
27-Oct-2016 |
Jorim Jaggi <jjaggi@google.com> |
The big keyguard transition refactor (5/n) Also save surface for the home task, so unlocking to the homescreen is as fast as before. Note that originally it was not possible to save surface for home task because of artifacts when clicking the home button. However, we added logic since then to disallow save surface if it's a different intent, which is the case when pressing the home button. Also consolidate some relayout for less overhead. Bug: 32057734 Change-Id: I53ede527cb1ff438001d4023ee3740283ee302ee
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
77e104322920cb93c0ac3d5f101115826728d3d1 |
|
27-Oct-2016 |
Jorim Jaggi <jjaggi@google.com> |
The big keyguard transition refactor (3/n) Notify activity manager when dreaming showing state changed so KeyguardController can update the occluded state when the device is dreaming. Test: Set dreaming while charging, wait until screen times out, make sure that dream is occluding Keyguard. Bug: 32057734 Change-Id: Ied6f485d9b4a1526cb4cd5f0701f86b1ea05830a
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|
fe762344f4475a3a336bb46aef2d59c1fabf32ab |
|
13-Oct-2016 |
Jorim Jaggi <jjaggi@google.com> |
The big keyguard transition refactor (1/n) The heart of this change are two things: 1) Instead of using the force hide mechanism to hide windows behind Keyguard, we actually make the activities invisible in activity manager. 2) When Keyguard is going away, we change the visibilities in activity manager and run an app transition. At the very core we move the responsibility of hiding activities to ActivityStack, which checks whether Keyguard is showing, and then hides all non-show-when-locked activities. For that, we need to check whether any window of an activity has SHOW_WHEN_LOCKED set. We introduce a callback from WM -> AM in case these Keyguard flags have changed. Furthermore, we decide whether to occlude Keyguard in KeyguardController, which just checks whether the top activity has SHOW_WHEN_LOCKED set. When this state changes, we prepare an occlude/unocclude app transition, and in PWM we just inform the Keyguard about the animation so SysUI can play along this animations in a mostly synchronized manner. Since we now use an app transition when unlocking the phone, we get lockscreen launch animations for free - window manager automatically waits until the activity is drawn, or directly executes the transition if there is nothing to animate. Thus, we can remove all the infrastructure around "waitingForActivityDrawn". The logic to show/hide non-app windows is moved to policy, and we add the ability to run animations on non-app windows when executing an app transition. Test: 1) runtest frameworks-services -c com.android.server.wm.AppTransitionTests 2) Manually test unlocking Keyguard: 2a) Without security 2b) With security 2c) With security but trusted 2d) Portrait while activity behind is in landscape 3) Test launching things from Keyguard 3a) Without security 3b) With security 3c) Launch camera without security 3d) Launch camera with security 3e) Launch camera with securtiy and trusted 3f) Launch voice affordance 4) Set no notifications on lockscreen, drag down, make sure you get the correct animation 5) Test clicking "emergency" on bouncer 5b) Test "Emergency info" on emergency dialer 5c) Test clicking edit button on emergency info, should show pattern on Keyguard Bug: 32057734 Change-Id: Icada03cca74d6a612c1f988845f4d4f601087558
/frameworks/base/services/core/java/com/android/server/am/KeyguardController.java
|