summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java
AgeCommit message (Collapse)Author
2021-08-13Limit keyguard views on alt displaysMatt Pietal
When casting or on other displays, the keyguard has always limited the information shown when locked. Don't show the smartspace and icons on these alternate displays Fixes: 196175396 Test: manual (cast to nest display device) Change-Id: Ied1ecff9103d8539f075785409d2951a1be21ab2 (cherry picked from commit 893286a5d4c8bac3a332b5f38a553900488ee6b1)
2021-03-23Revert^2 "Remove final calls to Dependency.get from keyguard."Dave Mankoff
bfec35b4f4e7fc70cfa2c4c209c9edf3cacb7f95 Change-Id: I423b0aa056a5f6ad601874f4bff41299b35f0a7f
2021-02-18Revert "Remove final calls to Dependency.get from keyguard."Alec Mouri
Revert submission 13536242-b179775696-depenency-get-keyguard Reason for revert: Candidate reversion for broken tests: b/180440298 Reverted Changes: I6d0271692:Add ViewController to CarrierText. I4d9a4a21f:Add Controller for Emergency Button. I4c76d99f9:Remove Dependency.get from KeyguardSliceTextView. I730593fcf:Add injection to ClockProvider. Ifbb93e624:Remove Dependency.get from KeyguardStatusView. I237215456:Remove final calls to Dependency.get from keyguard... Change-Id: I7ae9d1441579068a17fc6cf013176fd291de004a
2021-02-16Remove final calls to Dependency.get from keyguard.Dave Mankoff
Fixes: 179775696 Test: atest SystemUITests && manual Change-Id: I23721545632093850182416ae8a6213662b04e6b
2021-02-03Keyguard - Don't recreate KeyguardPresentationMatt Pietal
Do not hide and then reconstruct a new KeyguardPresentation on every display change. Reuse and update the existing presentation. Fixes: 178613948 Test: atest KeyguardDisplayManagerTest Change-Id: I0a352ba8f518de18d7292501849e2f88f6c64f7b
2021-01-28Don't show KeyguardPresentation on non-default group displaysAntony Sargent
Bug: 175919666 Test: atest KeyguardDisplayManagerTest MultiDisplayKeyguardTests MultiDisplayLockedKeyguardTests Change-Id: Ia860288c972a1a4a9a2f4d993ac95d025edd5793
2021-01-20Workaround SysUI crash with incorrect Context for Theme.Ben Murdoch
Using Context without the Theme information attached means we end up crashing on the keyguard on a secondary display. Bug: 175669925 Test: Manually verify no longer crashing Change-Id: I24dcc128c21f5f719645d8298c43825eb6388694
2020-12-28Keyguard: BG mediarouter initializationMatt Pietal
MediaRouter init can cause ANRs in sysui on startup. Background the initialization, and check for null no show/hide. Fixes: 176061994 Test: atest SystemUiTests Change-Id: I66b9e3736b7c28fd6c04195ced4523ec501202eb
2020-10-12Migrate Presentation to WindowContextCharles Chen
After [1], display context had not been regarded as an UI context even if it is derived from an UI context. Thus, we need to migrate Presentation to use WindowContext to obtain UI components accesses and also receive configuration changes from the server side. Also remove isConfigurationStillValid() related logic since now the configuration gets updated if the property of the display changes. [1]: 3c0078e80f393c2daffec5ef1a34a9c89abccd87 Test: atest PresentationTest VirtualDisplayTest KeyguardPresentationTest Bug: 167462327 Change-Id: Ib5c4a33eeba0e0a6213960300dd4c0a18047686b
2020-09-24Revert^2 "8/N Remove View Injection from KeyguardMessageArea"Dave Mankoff
dd7312c20ad29c133a32ffd170919bec5f98f215 Change-Id: Idca486311380b48e1f0808c8d08cfce46c929473
2020-09-22Revert "8/N Remove View Injection from KeyguardMessageArea"Dave Mankoff
Revert submission 12585643-b166448040-keyguard-message-area Reason for revert: http://b/169081305 & http://b/169020145 Reverted Changes: I6fa05012c:4/N Setup Controller fo KeyguardSecurityContainer.... Iecf265744:5/N Add KeyguardSecurityViewFlipperController. I90ab99b2f:6/N Add Controller for KeyguardPatternView I4b74eddd1:7/N controllers for remaining Keyguard Password Vi... I805286374:8/N Remove View Injection from KeyguardMessageArea... I362755980:9/N Clean Up Keyguard Class Structure Change-Id: Ie84234cb8ae9eaae6ec52900cb215ddf6e6213f1 Fixes: 169081305 Fixes: 169020145
2020-09-168/N Remove View Injection from KeyguardMessageAreaDave Mankoff
Bug: 166448040 Test: manual && atest SystemUITests Change-Id: I805286374d16162703b333452e5e35015449d1fe
2020-08-24Remove ref to Controller from KeyguardSliceViewDave Mankoff
This removes the reference that the view has to its controller, moving click handling up to the controller. Fixes: 162525274 Test: atest SystemUITEsts Change-Id: Ia99ff4e643fa84fa138720cc5c01c51597f1169d
2020-08-24Add KeyguardSliceViewController.Dave Mankoff
This removes view injection from KeyguardSliceView. It also creates a KeyguardStatusView Dagger Subcomponent should be initilialized whenever a KeyguardStatusView is inflated. From that subcomponent, KeyguardClockSwitchController and KeyguardSliceViewController can both be created and initialized, passing their related views into their constructor. This fixes a bug introduced earlier where a KeyguardClockSwitchController was not being created in one place where it was needed. Bug: 162525274 Test: atest SystemUITests Change-Id: Ie571cb0ca2b793c363e3c8ab397828f0ee939763
2020-08-12Clean up navigation barWinson Chung
- Move off fragments, now we have direct ownership of NavBarController -> NavBar (per display) -> NavBarView - Move the nav bar components to its own package - Removed some unused files - Can finally dump NavigationBarController instead of FragmentService :) - Clean up some of the dumps to be more consistent Bug: 163690441 Bug: 158605244 Test: atest SystemUITests Test: Test bar in various nav modes Change-Id: I21130899df560f6cf8b7f38d4d86edca6d8f920e
2020-04-09Mock views in Keyguard view testsFabian Kozynski
KeyguardSliceView was being inflated by other tests. This caused real controllers being created through Dagger. Replace views with mocks. Bug: 153667872 Test: atest SystemUITests Change-Id: I41b28bc886f97fab3fa8a0af63e743b07f4ec667
2020-03-29Fix locked second screen on bootChris Li
Before, when hid and showed a different keyguard presentation, the onDismissListener would remove the newly added one, which caused the later presentation existence check to return the incorrect value. Now, we add a check to only remove the dismissed presentation. Bug: 152253158 Test: MultiDisplayKeyguardTests#testUnlockScreen_secondDisplayChanged_dismissesKeyguardOnUnlock MultiDisplayKeyguardTests#testUnlockScreen_decoredSystemDisplayChanged_dismissesKeyguardOnUnlock Change-Id: I9dabc15e1228cc9417ed24981b332b8f1af818c8
2020-02-18Prevent KeyguardPresentation been dismissed.wilsonshih
By default Presentation can be dismiss if DisplayMetrics has changed. However, even when DisplayMetrics has changed, we should still show KeyguardPresentation on secondary display. Bug: 149004025 Test: follow issue description. Test: atest MultiDisplayKeyguardTests Change-Id: Icf7f5726648bc8b8037bbdd31eac3f0b1cbd5945
2020-01-23Window Manager Flag Migration (12/n)Tiger Huang
- Unhide new APIs - MaxInsets -> InsetsIgnoringVisibility - Deprecate SystemUI flags - Deprecate some other stuff Bug: 118118435 Test: Build, CTS coming soon Change-Id: I0a0cbdb48258b3779d536668b59e8c88f3c96d18 Exempt-From-Owner-Approval: Trivial rename
2020-01-23Force non-floating main app windows to not fit anythingJorim Jaggi
Since we have a better approach of fitting content instead of setting them on the layout params (Window.setContentOnApplyWindowInsetsListener), we can now simplify forcing of filling the screen: Instead of clearing the fit types when the private flag is set, we unset the types and straight out reject any params when the client would like to fit. Test: DisplayPolicyTests Bug: 118118435 Change-Id: I845e6b1c81e29ab66a770891d03c62a32418e8cc
2019-12-16Window Manager Flag Migration (7/n)Tiger Huang
Introduce new APIs in Window/WindowManager.LayoutParams for developers to decide which types of insets at which side a window should avoid: setFitWindowInsetsTypes(@InsetsType int types) setFitWindowInsetsSides(@InsetsSide int sides) setFitIgnoreVisibility(boolean ignore) The existing logic in DisplayPolicy.layoutWindowLw uses combinations of window types, window flags, and system UI flags to decide what frames a window should have, which is very complex, difficult to maintain, and should be replaced with the new APIs. Bug: 118118435 Test: atest InsetsSourceProviderTest InsetsStateControllerTest InsetsPolicyTest WindowStateTests CommandQueueTest RegisterStatusBarResultTest InsetsFlagsTest LightBarControllerTest RegisterStatusBarResultTest ViewRootImplTest DisplayPolicyLayoutTests DisplayPolicyInsetsTests DisplayPolicyTests TaskSnapshotSurfaceTest Change-Id: I06ddc9d0d2887ba4ded7bb8adbf9c9c0da4bf7b4
2019-09-01[DO NOT MERGE] qt-qpr1-sysui-dev @ build 5814791Hyunyoung Song
Test: presubmit setup on source branch Bug: 130289146 Create a Gradle build for SystemUI Bug: 136279712 Daggerize FalsingManager Bug: 137324767 "Unable to instantiate service com.android.systemui.doze.DozeService" exception breaks launcher tests Bug: 137563419 Remove Bouncer reveal delay from bypass flow Bug: 138787339 Allow Services and Activities to be injected into directly. Bug: 139128921 [AS 3.5 RC2, SDK API 29 rev 2] Overload resolution ambiguity: while removing element from HashMap Bug: 64712476 Import translations for dev branches Change-Id: Ib7fd4706c070907fd556c3532957f3b1b046de6d
2019-05-27Make KeyguardPresentation inherit Theme.SystemUILucas Dupin
Theme.SystemUI has some attrs that aren't present on Theme.Material and SysUI views are expected to use them. Fixes: 133597861 Test: cast to secondary screen, go to keyguard Test: atest KeyguardPresentationTest Change-Id: I756dfc6db73090a6ebe1db4b1cd1bc775b6c47c2
2019-05-07Hide nav bar when keyguard on the 2nd displayCharles Chen
Bug: 130963707 Test: atest SystemUITest Test: atest DisplayPolicyLayoutTests#layoutWindowLw_keyguardDialog_hideNav Test: manual - use chromecast with debug patch + force Desktop mode Press power key to make the lockscreen show and check if nav bar is gone Change-Id: I7f8f9c2c6d1157218e5dda1068170799fdccb64b
2019-03-22Migrate KeyguardClockSwitch to dagger.Robert Snoeberger
Bug: 122448325 Test: atest KeyguardClockSwitchTest Change-Id: I1e68e3ba0cc92cd4fda9597d2c9c296b80298dc7
2019-02-22Remove meaningless parameter in IActivityTaskManager#setLockScreenShownwilsonshih
After ag/5760456, we can remove the parameter secondaryDisplaysShowing since it becomes meaningless. Fix: 123373363 Test: atest ActivityManagerMultiDisplayTests atest ActivityManagerDisplayKeyguardTests atest ActivityManagerDisplayLockedKeyguardTests atest KeyguardTests Change-Id: I5ab5753985bc570bb730b4c7f801cdc263cc1858
2018-12-06Prevent Keyguard dialog from showing on private displays.wilsonshih
Add an explicit check if the display is private. Also add some debug log. Bug: 113840485 Test: atest ActivityManagerDisplayKeyguardTests Test: atest SystemUITests Change-Id: I72898555730e93e0c64f78f205a23977feb9a513
2018-11-06Support show KeyguardPresentation on all public displays.wilsonshih
Support show keyguard presentation on all public displays when Keyguard is show. Modify API ActivityTaskManager#setLockScreenShown, extends to multi-displayIds. bug: 111955725 Test: Manual test with chromecast. Test: atest SystemUITests Test: atest ActivityManagerMultiDisplayTests Test: atest ActivityManagerDisplayKeyguardTests Change-Id: I9967e1b1adcb796593332b46853a10101e206013
2017-09-12Handle showWhenLocked on secondary displaysDavid Stevens
The keyguard has windows on the default display and the remote display selected by MediaRouter. Keyguard occlusion only applies to the default display. To make the activity showWhenLocked flag work on secondary displays, pass the display id of the locked secondary display from the SystemUi to KeyguardController and make its isKeyguardShowing method take a displayId. Test: android.server.cts.ActivityManagerDisplayTests Test: #testSecondaryDisplayShowWhenLocked Bug: 64994006 Change-Id: Ib31fc76e9df469e97a59a181f09d457ceed4ef5f
2017-02-10Move Keyguard to SystemUIJason Monk
Test: make Change-Id: I3abb67e2b022737d2aa0226bb07f3966ad68fff7