This corrects the large clock positioning error that was introduced with
Ia053aaec6987e00de980388a6c024d8bcf5203a2. It does this by rearranging
the layout slightly to get back to the same position. Of note:
- Previously the margin for the large clock was computed dynamically
and applied to the large clock frame from a static resource and
dynamic value based on the font. Now the static portion is applied
directly from the resource to the clock frame in the layout resource.
The dynamic portion is applied to the AnimatableClockView directly
instead of it's parent as before.
- ChildClipping has been disabled on the parent view as the dynamic
portion of this margin moves the AnimatableClockView outside of
it's parent's bounds.
- The margin that is now applied to the AnimatableClockView is
scaled by 0.5 to account produce the ccorrect placement after
center-aligning the view in it's parent. Before the full value
was applied to the parent, creating an equivalent effect.
This also fixes the clock translation issue when the splitshade appears
and disappears. They were both fundamentally layout issues with the
refactored clock code.
This change was manually tested by flashing each device and comparing
the clock position in every configuration against a refenece image from
a dogfood build. Additionally the motion of the clock was validated
when the splitshade appears and disappears on a tablet in landscape.
Test: Manual validated screenshots from several devices against reference
images from a known good build. Additionally validated with a screenshot
test, although golden images had to be updated.
Bug: 229771520
Fixes: 241083568
Fixes: 241084042
Change-Id: I273c2996ff67c7b5f77c6bafb292d53275c7bc47
(cherry picked from commit 6a62f99b50)
This change modifies the KeyguardClockSwitch and Controller
to get clocks from the ClockRegistry. Since the only clock
available from the registry is the default one, this should
have no user-facing changes, and is intended only to update
the relevant codepaths.
Bug: 229771520
Test: Manual and Automated
Change-Id: Ia053aaec6987e00de980388a6c024d8bcf5203a2
Updating the locale would leave lockscreen smartspace showing the old
locale. Need to force a rebuild of the view to reflect the update.
Fixes: 225843613
Test: atest KeyguardStatusViewControllerTest KeyguardClockSwitchControllerTest
Change-Id: If37e138925c7ea8cb13dad4fa2f687215d1a7ff9
See justification/explanation in linked bug.
I re-ordered some methods in the unlock controller so they'd make more sense,
they're generally called from top to bottom now during the unlock sequence.
Bug: 229890190
Fixes: 227713319
Test: atest SystemUITests
Test: manual
Merged-In: I58fa437eea183691ff29548143664698498c2105
Change-Id: I58fa437eea183691ff29548143664698498c2105
See justification/explanation in linked bug.
I re-ordered some methods in the unlock controller so they'd make more sense,
they're generally called from top to bottom now during the unlock sequence.
Bug: 229890190
Fixes: 227713319
Test: atest SystemUITests
Test: manual
Change-Id: I58fa437eea183691ff29548143664698498c2105
Audit and fix SettingsProxy usages to account for multiple users.
Note that this does not fix any Settings usages that does not use
SettingsProxy. There maybe be outstanding files to change, but from a
glance, most of the usages seem to be user aware.
Bug: 226391543
Test: Manual and fixed unit tests
Change-Id: Ia8ff59fe55049cc79ac73237087d3aaca2cbb3b3
This is the first step in moving over to the new public
android.util.Dumpable api.
Bug: 217567642
Test: m SystemUI
Merged-In: Ibaebcfb2c6c5326d0c45b8c72d868c76655d89a0
Change-Id: Ibaebcfb2c6c5326d0c45b8c72d868c76655d89a0
This is the first step in moving over to the new public
android.util.Dumpable api.
Bug: 217567642
Test: m SystemUI
Change-Id: Ibaebcfb2c6c5326d0c45b8c72d868c76655d89a0
Take into account the descent of the font.
For numeral fonts that support languages such as
Burmese, this space can be significant.
Test: atest KeyguardClockSwitchControllerTest
Test: manual
Fixes: 220158349
Change-Id: I778d9988e78ddde89a245f0383954ec9203bc185
If newer smartspace content is not enabled, the title alignment and
burn-in placement of legacy smartspace is incorrect. Align to the
start.
Fixes: 210090859
Test: manual, play music and disable new smartspace
Change-Id: Id038290100b9bc254d6060cb163b0fe772518018
If smartspace, the large clock would overlap with UDFPS content. Make
sure the negative margin gets applied in all cases. Make slight
adjustments to the margin.
Bug: 209864593
Test: manual, oriole + all display sizes
Change-Id: Ibacdc777a8a1d6bcf9324cc12871fc6662a3d5c4
Adds animation that animates AOD content
from left to right when folding a foldable
device.
There are still a couple of issue that should be
addressed in the follow up CLs:
* Navigation bar handle sometimes displayed on AOD
* Showing keyguard when folding from unlocked state
sometimes takes too much time so the screen blocker
times out which leads to flickering
Bug: 202844967
Test: fold from lockscreen, fold from unlocked device,
aod enabled/disabled, gesture nav enabled/disabled
Test: screen off animation when unlocked
Test: screen off animation when locked
Test: screen off animation when timed out
Test: fingerprint unlock from aod
Change-Id: Ie44f82119ac770ce34faecc60402044d4109dddf
Big clock was not centered vertically properly in case we don't support smartspace on the device. When smartspace is not present big clock's height is wrap_content and that makes it (and all parent views) takes much less space. Then even though clock might be centered in parent, parent is not centered on the screen so it doesn't change much.
This change is making it always go match_parent, that is (more or less) full height of the screen.
Fixes: 209013448
Test: manual
Change-Id: I721b5750ae34d204c6eb0bdb7edca6aa12e3a88b
This setting allows users to always show a single-line format clock,
regardless of notification status.
Fixes: 194905512
Test: atest KeyguardClockSwitchControllerTest
Change-Id: I77269988447fc5732ff6b8774654ce4bf9c026de
This setting allows users to always show a single-line format clock,
regardless of notification status.
Fixes: 194905512
Test: atest KeyguardClockSwitchControllerTest
Change-Id: I77269988447fc5732ff6b8774654ce4bf9c026de
Also make sure they are removed properly when the view becomes
detached.
Fixes: 203257107
Test: atest KeyguardClockSwitchControllerTest
Change-Id: Ied4d4e7774d15af71648b188ac723c9c7635f506
Support a mode where icons are visible on AOD with the large
clock. This means shifting both smartspace and icons when switching
between large/small clocks.
Also: Continue to remove old keyguard flag
Also: Add a couple logs for smartspace, let
LockscreenSmartspaceController handle disconnect directly
Fixes: 201548040
Test: atest KeyguardClockSwitchControllerTest KeyguardSliceViewTest KeyguardUpdateMonitorTest KeyguardStatusViewControllerTest
Change-Id: I3697aea0c1a8083e87d446d082d95aab573af83a
Else, the clock may animate in at the wrong font weight.
Test: atest AnimatableClockControllerTest
Test: manually swipe away all notifications on LS,
see the large clock animate in at full font weight
Fixes: 201615075
Change-Id: I139e5a5c88551f23f99decff3e7ffc8bdaa5bba4
* update the UDFPS icon burn-in parameters to be in pixels
because we don't want display density to increase the
position movement
* when the clock is centered aligned, we want to make sure
it doesn't overlap with the udfps icon
Test: atest SystemUITests, manually update clock times with
with DozeUi.BURN_IN_TESTING_ENABLED enabled and see clock
doesn't interfere with the UDFPS icon.
Fixes: 192423460
Change-Id: I6f95fe3ad763971b804129b517f4c98192ab3674
Merged-In: I6f95fe3ad763971b804129b517f4c98192ab3674
* update the UDFPS icon burn-in parameters to be in pixels
because we don't want display density to increase the
position movement
* when the clock is centered aligned, we want to make sure
it doesn't overlap with the udfps icon
Test: atest SystemUITests, manually update clock times with
with DozeUi.BURN_IN_TESTING_ENABLED enabled and see clock
doesn't interfere with the UDFPS icon.
Fixes: 192423460
Change-Id: I6f95fe3ad763971b804129b517f4c98192ab3674
Previously, a singleton view was reused in multiple places. However,
this does not work when multiple displays are in use, such as when
casting the device display to another screen. Supports sets of views
that are activated when they are attached to windows, and removed when
they are detached.
Fixes: 196175396
Test: atest LockscreenSmartspaceControllerTest
Change-Id: Ied1ecff9103d8539f075785409d2951a1be21ab2
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
There is a new view managed by ConstraintLayout guidelines that serves as container for smartspace and is placed on the right.
It's visible only in split shade and then it contains Smartspace. Smartspace view is switching between the default (current) view container and the new split shade container.
Switching Smartspace view and visibility of its containers is managed by LockscreenSmartspaceController.
Bug: 193654214
Test: KeyguardClockSwitchControllerTest, LockscreenSmartspaceControllerTest, KeyguardClockPositionAlgorithmTest
Change-Id: I1afcdf7f3c750c36b995f1d6fd9d4393eee8cbef
Merged-In: I1afcdf7f3c750c36b995f1d6fd9d4393eee8cbef
Use old date format for the single line clock, so that we now
support (for single line clock) different clock representations.
For example, French Canadian uses an h instead of a colon
(13 h 01 instead of 13:01).
Test: manual
Bug: 186726401
Fixes: 191761465
Change-Id: If97a49780029f24dc99625a310729630b69e7a68
- Better position the large clock to support various display
sizes. Specs call for centering minus a slight adjustment vertically.
- Make sure notifications don't run into the indication area. The
prior padding was too small.
- Ensure a smooth transition between lockscreen and bouncer
- Fix the smartspace with large clock to not interfere with the dock
settings icon
Fixes: 190047134
Test: manual (all display sizes)
Change-Id: I89e35eef35dc1d3d609b381f768779226962585f
Reduce spacing between smartspace and notification area. Remove
concept of 'expanded clock position' from
KeyguardClockPositionAlgorithm, as it was only used when content was
vertically centered. Similarly, remove difference between
bypass/non-bypass height as the two layouts now match.
Fixes: 183008450
Fixes: 190831603
Test: atest KeyguardClockPositionAlgorithmTest
Change-Id: Ie274e34eb61a876166c11e4f4fa3b9d95ef49888
Big clock should be always visible on the left side of the lockscreen
in split shade mode, regardless of the number of notifications.
Bug: 190702873
Test: KeyguardClockSwitchTest and NotificationPanelViewTest
Change-Id: I7c4bb9684533f278f2014cf6fdf1b1b3f2e04515