Under certain circumstances, the transition to AOD can happen before
the navigation bar gets a chance to hide itself, which happens in a
traversal. To work around this, post turning the screen on such that
it only happens after the next traversal.
Change-Id: I178b9394e7cc6baa8e9552c9819c3ce9b044defb
Fixes: 64599221
Test: Open Whatsapp / Gmail, turn off screen, verify navbar does not flicker.
Base the temp threshold to be based on the shutdown temp lowered
by some amount to ensure the warning can be seen before a shutdown.
Test: runtest systemui
Change-Id: I033a776e874d76018592954932ed5127e1b228ae
Fixes: 62845934
Fixes an issue where unregistering a listener without specifying a sensor did
not work correctly; when passing null as the sensor, SensorManager.unregisterListener
silently ignores the call; instead, we now call the proper variant if given a null
sensor.
Change-Id: Iac362d8d6ae966308578cb4f177bd37af10b81a2
Fixes: 64357270
Test: runtest -x $T/frameworks/base/packages/SystemUI/tests/src/com/android/systemui/util/AsyncSensorManagerTest.java
Fixes the transition that happens when when a notification is launched
from AOD2 and the keyguard can be unlocked without going through the
bouncer.
Change-Id: Iac9835ade42be4ecf02ee7430cf76d05fc006361
Fixes: 64164248
Test: Disable lockscreen security, turn off phone, receive SMS, double tap; verify no jank
Some devices cannot dim low enough in hardware in low power states.
To work around that, keep the front scrim at higher opacity when needed
to simulate lower brightness.
Bug: 63995944
Test: Configure scrim in config.xml; use device in very dim light at night, observe AOD is sufficiently dim.
Change-Id: I92fffedeea89b9327d76dfb184c5c761364ead11
When touches fall through the normal click targets, redirect them
to the nearest view.
Test: runtest systemui
Change-Id: I48267d9b1e15bf8dbe8725b72326751b03196efa
Fixes: 64080938
Fixes a UX issue where covering the prox would abort dozing. This
was done to prevent falsing and save power, but in practice results
in a frustrating experience when the proximity sensor is covered
transiently when reaching for the device.
Instead, just ignore touch while the sensor is covered.
Change-Id: Id70f8605c6c7a37288a383d587025bb9b4191b42
Fixes: 64007762
Test: Trigger AOD2, cover sensor. Verify phone stays on but double tap does nothing.
Turning overlays on and off takes time,
it also doesn't allow us to have fine control
over which view is using which theme.
Lock screen colors are now driven by themes.
Change-Id: Ie8860d00dbb0705ed76edf60a9d3030618dd21ca
Fixes: 63751714
Test: Visual. Set wallpapers, unlock.
Test: runtest -x packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java
Test: runtest -x tests/Internal/src/com/android/internal/colorextraction/ColorExtractorTest.java
Test: systrace
The new fonts do not have a dedicated fancy colon for the lockscreen clock
and fall back to Roboto which breaks the kerning.
Change-Id: I4621c6248de3f42f6c3c49ee4149bc1c0bb233e6
Fixes: 63891134
Test: visual; runtest -x packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockAccessibilityDelegateTest.java
When pulsing from AOD, we force the display OFF first. This allows
us to transition smoothly from AOD.
Also, we add a scrim transition for whenever we are waking up from
dozing. This relies on I4f3a863709a970f0fc8682c0a0c3547886e1fd0f
which forces the DOZE -> ON transition through OFF first.
Also fixes the WAKE_AND_UNLOCK transition that happens when waking
up with the fingerprint sensor.
Also fix an issue where KeyguardViewMediator's mWakeAndUnlocking
was cleared in onScreenTurnedOff; this should have been added to
the wakefulness lifecycle instead and now that the AOD -> ON transtion
dispatches the screen off callback it broke the fingerprint unlock
transition.
Fixes: 35849781
Fixes: 63887857
Fixes: 63783651
Fixes: 63727166
Test: AOD, receive notification; AOD, unlock with fingerprint; AOD, wake to lockscreen. Verify that everything is flicker-free.
Change-Id: I7d539db80a1c7e9216cf4c5c1e6d314c1893f12d
- Track extensions in garbage tracking because they could be big
- Fix volume dialog cleanup to not leak
- Fix QSFragment cleanup to not leak
- Make DockedStackExistsListener static because it is going to leak
because /Binder/
- Add a secure setting to force on notifications for garbage monitoring
for those that really really want it.
Test: adb shell dumpsys activity service SystemUI | grep -A 12 LEAK
Change-Id: Id5689febd65eb8a22dbb4a0a15ec051fcdbbf8be
Fixes: 38461559
The problem here was reuse:
1. Tile has a SlashState -> gets SlashDrawable
2. Reused tile has no SlashState -> doesn't know how to gracefully
remove the slash and draw regularly, so it gets a slash anyway.
Unrelated, but also fixed: turn off slash animations in QS edit panel
Fixes: 63160044
Test: runtest -x
frameworks/base/packages/SystemUI/tests/src/com/android/systemui/qs/SlashImageViewTest.java
Change-Id: I6841bfafcef0588d1ca63b3326dfee1a856618f3
When viewing your scrim on top of an app (wallpaper not visible),
the gradient color should be dark if your wallpaper is dark and
light if your wallpaper is light.
Change-Id: I5f3aea5bf9ec066b7caecd7cadfd2814e3758bd1
Fixes: 63121129
Bug: 63365056
Test: runtest -x tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java
Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/colorextraction/SysuiColorExtractorTests.java
- Add bt permission
- mock more BT stuff
- Disable test that is causing crash on main thread
Test: runtest systemui
Change-Id: I5cddb71941cce4f9b595c65ef69919186addb6df
Fixes: 63568935
Improves an issue where immediately triggering fingerprint after
the devices goes to sleep results in a lot of flickering.
There's still flicker however if the fingerprint authenticates after we've requested the AOD
display state, but before it has actually been applied.
Bug: 62887179
Test: Go to Home. Lock screen. Immediately unlock via fingerprint. Verify that the AOD screen does not even show.
Change-Id: Ib6425eee803a8c7e02f9621a571e562e825af57f
Updates the logic that was already in place to prevent lighting up
the display before the unlock transition starts:
- treat AOD as pulsing in FingerprintUnlockController
- now that doze can use more than one brightness level, use the current
Bug: 62885451
Test: Unlock with fingerprint from AOD. Observe that the unlock transition does not prematurely change the brightness level
Change-Id: I266bd5e4c0a1d5b4c347a65c0e7936247e333cfc