Add support for states in and out of dreaming. At the moment, AOD is
equivalent to DOZING but these will be separated out in the future.
Test: atest KeyguardTransitionRepositoryTest
KeyguardRepositoryImplTest
Bug: 195430376
Change-Id: I73b51987f01540cc3d321f23286a3344d0847f9c
Data layer - Add 'isKeyguardGoingAway' information, allow transitions
to be cancelable and add in Cancel state.
Domain layer - Listen for state transitions and then attempt to
cancel/interrupt them under the right circumstances, such as when the
power button is pressed in the middle of an aod -> lockscreen
transition.
Bouncer fixes - hide() was never called when using the back gesture,
resulting in incorrect bouncer state.
Test: atest KeyguardTransitionRepositoryTest
KeyguardRepositoryImplTest KeyguardBouncerTest BouncerInteractorTest
Bug: 195430376
Change-Id: Id1b79253ab6334e8e5941c89e94e267126b08ecb
NOTE: on udfps devices while now playing + on pixel stand 2, and max density, there remains overlapping related to the assistant icon.
Test: manually test UI on Pixel Stand 2
Test: manually test UI by pushing song to NowPlaying via adb
Test: manually test on devices both with and without udfps, on large screen density and low density
Fixes: 230466568
9761c10a5c
Change-Id: I3c67e92d5d9076938c55852898d80903de1d0202
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
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
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
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
Puts mechanics in to support IntFlag and ResourceIntFlag.
Also adds support for both IntFlag and StringFlag via the
command line.
Support in the app will come later.
Bug: 257066497
Test: manual via the command line.
Change-Id: I378f0f1e0db028cee33f729c47a63262124389d7
NOTE: on udfps devices while now playing + on pixel stand 2, and max density, there remains overlapping related to the assistant icon.
Test: manually test UI on Pixel Stand 2
Test: manually test UI by pushing song to NowPlaying via adb
Test: manually test on devices both with and without udfps, on large screen density and low density
Fixes: 230466568
Change-Id: I6f92c92f616363bf1812d221d31e614501b872df
* changes:
[SB Refactor] Define flags that allow us to run the backend without updating the UI.
[SB Refactor] Define WifiUiAdapter to interface between the new data pipeline and the old UI.
Data sources - Listen for events from the BiometricUnlockController
and KeyguardStateController#isBouncerShowing
Repositories - Add isBouncerShowing and WakeAndUnlock events into
KeyguardRepository
Interactors - Refine keyguard transitions so that states are more
accurate
BiometricUnlockController - Allow multiple listeners so that events
can make it into the KeyguardRepository. Cleanup redundant callback.
Test: ClockEventControllerTest KeyguardRepositoryImplTest
KeyguardTransitionRepositoryTest KeyguardTransitionInteractorTest
BiometricsUnlockControllerTest CentralSurfacesImplTest
Bug: 195430376
Change-Id: I983277fd9764d88c078bbf6da117cec3dd12dede
pipeline and the old UI.
When the new data pipeline detects a valid wifi icon, it will notify
StatusBarIconController to inflate a wifi icon if necessary.
This matches the pattern of MobileUiAdapter.
Bug: 238425913
Test: verify old wifi icon still works as expected
Test: verify new wifi icon still works as expected
Test: atest ModernStatusBarWifiViewTest StatusBarIconControllerTest
Change-Id: Id6a26bd00ee661a28e89585ea7b1293282a50c4d
When keyguard is dismissed, transition to a new GONE state. This helps
address an issue with the ClockEventController, where the clock was
not properly animating back to its AOD state.
Adding audit capability via KeyguardTransitionAuditLogger
Migrated to MutableSharedFlow. MutableStateFlow was conflating too
many events, some of them fairly important.
Test: atest ClockEventControllerTest KeyguardRepositoryImplTest
KeyguardTransitionRepositoryTest KeyguardTransitionInteractorTest
Bug: 195430376
Change-Id: Ic4bd48cea6e783cfdc116fa2776639da0641c100
Step 1/3, add repo layer for global application state of biometric prompt.
Bug: 251476085
Test: atest PromptRepositoryImplTest
Change-Id: Ide096c435b58ece7962f8a5b6d1c3af992885554
* changes:
Add test code for `Fix the height of NotificationContentView when there's no actions but bubble button`
Convert NotificationContentViewTest to Kotlin
Conversion from Java to Kotlin to enable future added tests written with Kotlin.
Bug: 244522899
Test: `atest NotificationContentViewTest`
Change-Id: Ib02c2c45682b8977004748a2a134b7520abe4a49
This CL replaces the reference to View by Expandable in
FooterActionsViewModel. That way, this view model can now be used by
Compose code as well.
Bug: 242040009
Test: atest FooterActionsViewModelTest
Change-Id: I6674d9a39d5daf699d67f1bb8e8ae317c85e9240
Added in order to better control transitions within
keyguard. Transitions must begin with a call to startTransition and
can be either animated or manually controlled. The domain layer is
responsible for both triggering these transitions and listening to
flowable events emitted by this repository, and should respond by
updating the UI elements.
Bug: 195430376
Test: atest KeyguardTransitionRepositoryTest ClockEventControllerTest
Change-Id: I56bd9d560db265c523fa3e0b8c03310e9f4067de
Added in order to better control transitions within
keyguard. Transitions must begin with a call to startTransition and
can be either animated or manually controlled. The domain layer is
responsible for both triggering these transitions and listening to
flowable events emitted by this repository, and should respond by
updating the UI elements.
Bug: 195430376
Test: atest KeyguardTransitionRepositoryTest ClockEventControllerTest
Change-Id: I56bd9d560db265c523fa3e0b8c03310e9f4067de
This changelist modifies conditions in two ways:
1. Conditions now can be unset. In the unset state, the condition is
no longer considered when evaluating whether all conditions are met
by the monitor.
2. The overriding feature of a condition is a construction time
decision.
Test: atest ConditionMonitorTest
Test: atest ConditionTest
Bug: 252888175
Change-Id: If254657ef87d12778850a44e1e99fe69d0460476