This improves the use of reflection to include all the flags listed
in Flags.kt. One interseting finding: I can't figure out how to
get the value of a field marked with just `@Keep`. It needs to
also have `@JvmField` or not have any annotations at all.
More changes to this code will come in follow up cls, using string
names where appropriate, but this improves existing functionality.
Key takeaways:
- Reflection is terrible
- Reflection in Kotlin is worse
- Reflection on `object` instances is worse still
- Reflection mixing Java with Kotlin follows the trend line
- Reflection on annotated fields is nigh impossible
Bug: 249121873
Test: adb shell cmd statusbar flag
Change-Id: I69a96501876b01570233c3fd80b6bc7334d9fe73
1. This is the only way to show a message on keyguard that face unlock is not available in response to all face unlock triggers.
2. This was the behavior of face auth until recently (b/244402839#comment11)
Other options:
- Add a new callback method to a KeyguardUpateMonitorCallback to indicate that face auth trigger occurred.
- Adding a new method to a long list of methods in KeyguardUpateMonitorCallback is not a good idea
- This would be a very specific API that no one else might even need.
Indication message shown on keyguard:
1. first time face lockout.
- Shows "Too many attempts. Face Unlock disabled." followed by "Use fingerprint instead" or "Swipe up to open"
2. while the face is already locked out
- when the device wakes up
- "Face Unlock unavailable." followed by "Use fingerprint instead" or "Swipe up to open"
3. Coex when both face and fingerprint are locked out
- when the device wakes up
- Existing behavior is retained, nothing is shown.
No difference in behavior between bypass vs non-bypass
Bug: 247688462
Test: atest KeyguardUpdateMonitorTest
Change-Id: I3c7e15818eedfef9b5af9dd0b0fc29b7fda231e1
We need lifecycle, coroutine, and recycler view dependencies to be able
to use the shared library from Wallpaper picker.
Bug: 254857639
Test: tested together with the rest of the CL chain
Change-Id: I4e41a911891ff3ba30ff82163be1005ef3974be3
Merged-In: I4e41a911891ff3ba30ff82163be1005ef3974be3
Revert "Now Playing is too low on the lock screen"
Revert submission 20274762-b230466568_move_now_playing
Reason for revert: b/257493331 and others
Reverted Changes:
I6f92c92f6:Now Playing is too low on the lock screen
I5c93f310e:Now Playing is too low on the lock screen
Change-Id: I86d28733b581fc238fb4a0f73ae8c6915f49ef24
ReferenceSysUIComponent is used for the basic AOSP build,
and gives us a place to add pieces for phones that shouldn't
go into other variants, like TVs, Cars, etc.
Bug: 254857637
Test: manuall built and run
Change-Id: I5085ed6d94924f776b16cccb8cb7b10a8a9e0993
Make add button in fullscreen userswitcher pillshaped by adding a 20dp
corner radius. Remove the style impl and add a new drawable to use.
Test: Opened fullscreen userswitcher and observed the menu in portrait
and landscape.
Bug: 256151842
Change-Id: I6af041fca42c7600a36a94b768009d4acef27fac
The user name is not updated when userinfo changes (name and avatar).
Updated usertracker to listen to this intent and updated repository to
listen to these changes. Corresponding tests have also been updated.
Fixes: 254678959
Test: Observed username in bouncer. I unlock the device and change the
username for the current user. Turn device screen off and on and go back
to bouncer. Observe that the username is the same as the one changed in
settings.
Change-Id: Ie6e289dfc65c14f9b0a35f031c46122d10dca9d0
In the SideFpsController dump, dump the
current sideFps indicator requests.
This CL also renames SidefpsController => SideFpsController.
Test: atest SideFpsControllerTest
Bug: 237362467
Change-Id: I7dcb1649e5790ec36232cb48ac5649b7b0439d83
Merged-In: I7dcb1649e5790ec36232cb48ac5649b7b0439d83
The test cases verify onSnappedToDismiss callbacks properly invoked
when the snap target indicates dismissing split. The callback is
invoked more than once since the start position is the same as the
end position when flingDividePosition is invoked. This CL updates
the current position to make sure the callback is invoked once.
Bug: 257348773
Test: atest SplitLayoutTests
Change-Id: I5742d3db1ab6d5c80c4b4ffa1a9465655c73ab11
Starts new wakelock on start, then acquire wakelock when view is
displayed. And releases the wakelock if it is still held.
Bug: 241929425.
Test: ran adb command and checked the time while the screen is on. The
screen is on when the chipbar is displayed and goes off when the chipbar
is removed.
Test: atest MediaTttChipControllerReceiverTest.
Test: atest MediaTttSenderCoordinatorTest.
Test: atest TemporaryViewDisplayControllerTest.
Test: atest ChipbarCoordinatorTest.
Test: atest WakeLockTest.
Change-Id: I7a430df3689fe8d80bbcaf42ad165e789358ab8d
Adds isFalseLongTap method and makes an absract class for SingleTap and
LongTap as they only differ in touch slop.
Bug: 241487855
Test: atest BrightLineClassifierTest
Test: atest BrightLineFalsingManagerTest
Change-Id: Ia606afe2ebe5c454bcc74294210ced52f63e33ef