StylusListener detects first usage of a stylus, and
updates the STYLUS_EVER_USED Settings flag.
Bug: 251206662
DD: go/stylus-first-usage-options
Test: StylusListenerTest
Change-Id: I165481d1166e31b5b8560da5c695003d105068ef
Currently several pieces of logic in LaunchParamsModifier assume
that bounds doesn't need to be calculated for fullscreen tasks, but
this is incorrect in that the bounds calculated in
LaunchParamsModifier can be used as last non-fullscreen bounds for
fullscreen tasks. Last non-fullscreen bounds is useful in an
environment such as ARC++ where the windowing mode of a task
changes between freeform and fullscreen.
With this CL, freeform bounds calculation (ActivityOption, layout,
getTaskBounds) is applied to fullscreen tasks too.
This CL also involves some refactoring around getting bounds from
ActivityOption and WindowLayout (especially for fullscreen tasks
and tasks whose windowing mode is MULTI_WINDOW).
Bug: 185427982
Test: atest WmTests:TaskLaunchParamsModifierTests
Change-Id: I3ccaf1ebfa7bcc11c371b0043fbfa11366f7a8f3
This reverts commit e0d2a5117d.
Reason for revert: LockscreenShiftSecurity#testSecurityShiftsWhenTappingOnTheOtherSide test is broken
Bug: 259595527
Change-Id: I16bca337d77a9fa88a2d90881d7b6a34fca33b08
back to a state flow with a timestamp. It seems like shared flows replay
the value every time and there isn't a way to propagate one off events.
I am simulating one off events by using a state flow with a unique
timestamp to ensure the event emits.
Test: Added unit tests
Test: fail face unlock until message appears. Unlock phone and restart
screen. Observe that "Enter your pin" is the initial message.
Fixes: 258775372
Change-Id: I6c9fb9a2c79aed9300e9b102a45c9d4c0456536e
When a request is made to enable rear display
mode, and it's from a process that doesn't
hold the CONTROL_DEVICE_STATE permission, we
should launch the educational overlay to alert
the user of what's about to happen.
This change also introduces a method on
DeviceStateManagerGlobal and Service to allow
the overlay activity to communicate back to the
system service if the overlay has been dismissed
or acted on
Bug: 207686851
Test: DeviceStateManagerServiceTest
&& DeviceStateManagerGlobalTest
Change-Id: Ife7d642563005a2571bdeacbd7a3baaa9aad5e25
When locked out for 30s, we add a timer that changes the message every
second. The animation is a bit jarring, so I added a way to disable the
animation in cases like this.
Fixes: 257407393
Test: Add unique incorrect pins until I get the dialog that I have been
locked out. Observe the changes. Also observe that the bouner title
still animates in other cases.
Test: Added unit tests.
Change-Id: I5e09686174ac17cae139f5f9535e946e39d6d009
On AOD, multiple failed attempts to unlock via fingerprint should
display the bouncer. Add a condition to the panel expansion that will
prevent the bouncer from showing and then immediately hiding.
Separately, reset() the BiometricUnlockController state after the
bouncer has been dismissed. This fixes an issue when the user swiped
back after the bouncer prompts.
Fixes: 259361580
Test: atest StatusBarKeyguardViewManagerTest
Change-Id: Ibeeea77249a0d56a8cd166088d0d54767cb4abf1
UserInfos are expected to be FLAG_FULL if they are human users. This
will filter out the work profile.
Fixes: 254634782
Test: Add a work profile on device. Observe bouncer user switcher and
dialog user switcher on phone device. Observe that there is no work
profile option.
Test: Added a unit test. Updated the test suite such that human user
infos will be FLAG_FULL
Change-Id: I614dc0c6bf56d888511040ec4db4bfdcf7190f94