We're still in the middle of making fairly non-trivial changes to the
new Back Arrow, and it's expected that there might be regressions, or
misc changes that affect its current look+feel.
To avoid confusing folks with such random changes, we're disabling it in
Teamfood for now. The medium-to-long-term goal is to migrate the
UX prototype from its plugin incarnation into production-level code that
lives in this repo (which is when we'll re-enable it).
Bug: 241248730
Test: Manual
Change-Id: I1918008f15f47cfb0f3378462bc168d0bcd8e485
There will be a follow up CL for adding a oval shape.
This CL breaks the RippleShader into smaller pieces
and glue only the neccessary parts together when
initializing.
Note that this CL, the rounded box shape is not being
used.
Bug: b/237282686
Test: Manual, WiredChargingRippleControllerTest
Change-Id: I09091a612e3307a76a0bc938ce0810153541243a
The bug demonstrated that only the top radius was getting into a dirty state. When I saw this function was resetting the bottom roundness and never touching the top roundness, it was clear that we just needed to set the top roundness. Even though it's hard to reproduce the issue where top roundness is incorrectly huge, it's trivial to reproduce the issue where the top roundness is incorrectly small, and this fix definitively addresses that state.
Test: post auto-groupable Heads Up notifications. Notice after grouping that child rows now never have any internal corner radii.
Fixes: 227433308
Merged-In: I3cd1aa23ad8333f35ec837edd39bc12aeb1573b6
Change-Id: I3cd1aa23ad8333f35ec837edd39bc12aeb1573b6
(cherry picked from commit ef4782f55d)
RoleService should not be calling onRoleHoldersChanged() on
pre-created users, but that behavior cannot be changed because its
implemented by a system app, and pre-created users APIs are hidden.
To test it:
$ adb shell pm create-user --pre-create-only --guest
Success: created user id 12
$ adb shell pm create-user --guest ElGuesto
Success: created user id 12
$ adb shell cmd user list --all -v
4 users:
0: id=0, name=Driver, type=system.HEADLESS, flags=ADMIN|INITIALIZED|PRIMARY|SYSTEM (running)
1: id=10, name=Driver, type=full.SECONDARY, flags=ADMIN|FULL|INITIALIZED (running) (current)
2: id=11, name=null, type=full.SECONDARY, flags=FULL|INITIALIZED (pre-created)
3: id=12, name=ElGuesto, type=full.GUEST, flags=EPHEMERAL|FULL|GUEST|INITIALIZED (converted)
$ adb shell am switch-user 12
$ adb shell dumpsys voiceinteraction |egrep '(mBound|implementation)'
mBound=true mService=android.service.voice.IVoiceInteractionService$Stub$Proxy@77da1bc
$ adb shell cmd voiceinteraction show
Test: see bove
Bug: 216141085
Bug: 226201975
Merged-In: I12d9bb32e144ecf91ee4b452affea0dcea546127
Change-Id: I12d9bb32e144ecf91ee4b452affea0dcea546127
(cherry picked from commit 39acca1d72)
- Don't expand shade if touch started from KG and then
ended when KG was not longer showing. This can happen
if the security setting is set to swpe to open,
and the user transitions to the SHADE. Then, the touch can
be canceled if a window is transitioning to landscape.
- Don't propagate notification panel expansion to the bouncer
when the device is unlocking with biometric (MODE_DISMISS_BOUNCER).
Since KeyguardBouncer.EXPANSION_VISIBLE = 0 panel expansion, calls
during the unlock transition to collapse the notification panel
unintentionally end up showing the bouncer.
- If the KG isn't showing and the bouncer is in transit, reset the
bouncer expansion to HIDDEN.
Test: open fruit ninja (which is locked to landscape)
and swipe to unlock, notice that panel does not expand on unlock
Test: unlock using udfps by sliding finger from slightly below/diagonal
of the UDFPS sensor (so that the bouncer transition begins), and then
successfully authenticate with UDFPS => observe the bouncer UI doesn't
flash on the screen after successful authentication.
Test: atest StatusBarKeyguardViewManagerTest
Bug: 240487038
Bug: 240763673
Change-Id: I9e1fb108147ffb4c812ea2b94a50d6201eaf008a
Revert "Expose the clock version of google-sans"
Revert "Changes to SystemUIGoogle to support clock migration"
Revert submission 19451291-cherrypick-clock_migration-tvip0m638i
Reason for revert: b/241084042
Reverted Changes:
Ia053aaec6:Migrate KeyguardClockSwitch to new shared Clock li...
Ia3e067b93:Changes to SystemUIGoogle to support clock migrati...
I5dbf01a83:Add clock version of google-sans
Ia654d4f41:Expose the clock version of google-sans
Change-Id: I432d3d814c85b9ba20bbb7a88d2e52bd2337c10c
The problem was that the large clock was always being centered on large
screens when the screen was off.
The fix is to make sure that the large clock is only centered when AOD
is enabled.
Fixes: 233888543
Test: Manually
Test: NotificationPanelViewControllerTest.java
Change-Id: I29f5c6ddd0dde549f37a8eee9d5446b219b4fb9a
This logs the latency from when we receive the device state change (device folded), to when the AOD animation starts.
Bug: 237270816
Test: atest FoldAodAnimationControllerTest
Change-Id: I67e0e04bbc24064640f46cdc8feb667814170529
Merged-In: I67e0e04bbc24064640f46cdc8feb667814170529
When drag drop launch, wms will use animation leash to do launch
transition, and reparent surface back and reset its position by
windows its configuration.
However, on split side we also set windows bounds in same time,
so in some race condition, wms side reset its position later and
use old configuration because we update it in same time then cause
task surface position wrong.
To fix this issue, we should apply windows bounds before we launch
the intent.
This CL also fix divider invisible issue when drag drop some specfic
app to active split screen caused by surface tanscation race too.
Fix: 227142506
Fix: 240638389
Test: manual
Test: pass existing tests.
Change-Id: Ia195f39fbf8879cbee9608f0c27f98df7e9e289f
It used to notify if the window focus is gained or lost, mark it as
oneway to prevent it block the system server when outgoing.
Bug: 238050065
Test: Trigger back gesture and see the logs
Change-Id: I17b79a361edadf03d2b2887cce7ec29c3968e3e5
This eliminate the limitation of rotation animation that it could
only have one instance for display. Now the rotation animations
can be tracked by them self so there could have multiple instances
run at the same time, such as for multiple display or individual
child window container.
The first usage is: (also see commit d16620e)
The fixed rotation transform of activity is canceled so display
doesn't have rotation change but the activity has. Then only the
activity needs to animate.
Bug: 223397858
Test: adb shell setprop persist.wm.debug.shell_transit 1; reboot
Enable auto rotation. Launch an app without fixed orientation
from portrait launcher while device is in landscape. Before
the launch animation is done, rotate the device to portrait
(there is no display orientation change). The launched app
should rotate from landscape to portrait without flickering.
Change-Id: Ic47960e812f07365965df4ab2913e2003289a315
The reset() call only executes if the keyguard is visible,
and causes it to reset the visible views (it can not show/hide
the keyguard). However, if the keyguard is going away because
of a launching occluding activity, and was previously insecure,
this will cause us to decide that the views should be in SHADE
state rather than KEYGUARD state, and re-render them accordingly.
This causes the shade to flicker under the launching activity.
This reset is not needed, as the status bar state change will
change to SHADE after the launch animation occurs (or will be
forced back to KEYGUARD if the unlock animation is cancelled).
Fixes: 238294986
Test: launch controls from LS affordance with/without face unlock, with/without AOD
Change-Id: Ib0622655ef6f51e1bcc9a98a5ce8f4e7feacb2fe