Added a callout and a message that more strongly discourages use of
the UNINSTALL_SHORTCUT permission.
Test: make ds-docs -j16
Bug: 72864896
Change-Id: Iacb7a1718c4688e9061bdfd3b50b7afc8f170abb
IME will trigger the fitSystemWindow. And, there is a difference of
the parameter insets between IME and no IME. The insets.right and
insets.left report 0 without IME but positive number with IME
because IME is a type of system window and trigger fitSystemWindow
and then take the cutout as part of system window.
StatusBarWindowView handle the following condition
cutout > 0 && cutout == systemWindowInset and make its children not
layout on the safe inset both of cut out and system window. In order
to handle that cut out become system window, to take the maximum of
cut out and system window to make sure that the safe inset is
decided in StatusBarWindowView and its view decent only care about
the corner cut out.
Because StatusBarWindowView make both of PhoneStatusBarView's parent
and NotificationPanelView to have the margin for both of cutout and
system window, the counting of the padding and panel translation of
the HeadsUpStatusBarView need to do the relative changes.
Change-Id: Iafdc6a85e0e7d360b1bfc1e820f6e0779c32753f
Fix: 79957419
Fix: 109945733
Fix: 109865908
Test: atest SystemUITests
When on the lock screen, and going to AOD animated, user would
temporarily see the system wallpaper. That's not what we want,
we want to fade from semi-transparent black to black, on top
of the backdrop - lock screen wallpaper or media art.
Test: press power on the lock screen when playing media
Test: press power on the lock screen after dismissing media
Test: unlock from AOD
Test: atest packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
Fixes: 80575770
Change-Id: I6796e844add889ff86be0cd2052db7c5d5073039
If we switch the color mode during a transition, it's pretty much
guaranteed that SF is going to jank. To work around that, we
disallow showing the real content while an activity with a
non-standard-color mode is animating.
Test: Reopen photos, observe no jank
Bug: 79878256
Change-Id: Id27db483844d9424ccfb9afdebd31325eae0cdd8
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped: 422582d9c4 skipped: b06ba83b23
[automerger skipped] Import translations. DO NOT MERGE skipped: 422582d9c4
Import translations. DO NOT MERGE
Fade in pulsing notification after a delay and
fix clock scale delay.
Fixes: 109809484
Fixes: 110204622
Test: visual
Change-Id: I3b62c4c2508d7b536287020801a58cb317e88ac0
The content height was using the regular topPadding which
factored in the darkAmount, but wasn't updating the contentHeight.
Since updating the contentHeight is pretty expensive, we are
now using the regular topPadding whenever the lock screen
isn't fully dark, which will make sure that everything is
properly positioned and not faded.
Change-Id: Ida9f29443efc1eb80924b0e755ea5338adfe23f7
Fixes: 110091926
Test: adb shell setprop debug.force_no_blanking true and observe proper layout after animations
Message app or other apps will use some format code or controll
code on SenderName to fit RTL or other design, and symbols will
produced by these code. The special code pattern not include these
code, so it will go charIcon flow.
Although these code is not visible, we should just ignore them to
get symbol strings
Change-Id: I20ef459b10ba7504ec0c997ed815cb485817d2bc
Fixes: 109746235
Test: Check notification form message app on RTL
Test: atest SystemUITests
When we freeze the screen, we really don't want the overlay to appear
on the screenshot - otherwise this will lead to it rotating with the
screen content. This means the overlay currently disappears during the
transition. We cannot just draw it over the screenshot, because it
might be in inconsistent state.
We fix this by temporarily undoing the effects of the screen rotation
transform on the overlay's window token. Then, once the window has
performed relayout and is redrawn in the new orientation, we switch to
that representation. This is mostly seamless rotation, with the
difference that we force it always, and it must also work for 180
degree rotation (which regular seamless rotation does not).
Do not merge, because we want to harmonize seamless rotation and the
newly added forced seamless rotation in Q.
Also move the rounded corner overlay from the display overlay layer
to the root of the hierarchy such that it can draw over the screen
off animation's ColorLayer.
Bug: 79112140
Test: Enable display cutout overlay, rotate phone to all orientations, ensure that emulated display cutout never flashes or disappears.
Test: atest CoordinateTransformsTest
Change-Id: I90451c14dc28daa3f90a74c3117548fead25af3f
With the introduction of the surface hierarchy, the seamless rotation
behavior in WSA is no longer correct: it also applies the WindowState's
offset, which leads to that being applied twice.
Instead of doing that, we simply rotate the WSA surface within the place
that WindowState dictates now.
Finally, the location of the WindowState itself also needs to be
transformed into the new orientation.
Fixes: 109927566
Test: atest CoordinateTransformsTest
Test: atest 'WindowStateTests#testSeamlesslyRotateWindow'
Change-Id: I9fb27a0a8a2bddc6ec88a4fcce6d6ea00929fb91
In case of fast (< 1 second) A2DP disconnect/connect sequence, there
is a potential race condition where the delayed disconnection message
(due to becoming noisy intent) is received after the not delayed
connection message.
- Make sure all messages related to device connection/disconnection
(including MSG_A2DP_DEVICE_CONFIG_CHANGE and MSG_BTA2DP_DOCK_TIMEOUT)
are handled by queueMsgUnderWakeLock().
- Make sure messages are processed in the same order as API calls.
- Add check for null address in makeA2dpDeviceUnavailableNow().
Bug: 109903807
Bug: 78837311
Test: repro steps in bugs. A2DP connection and playback
Change-Id: Ib81b3805f945f7206b1a60de74e9bbeeef89bdd0
We switched the package installer app to always abbreviate all labels
loaded from foreign packages. This is done so that a foreign app cannot
crorrupt the UI via super-long strings.
The default abbreviation is very aggressive and abbreviates to ~5 cm.
When an app with a targetSDK <= M gets installed, all permissions will
get auto-granted. Hence when a user side-loads such an app, we show the
permissions during install so that the user is aware of this.
Unfortunately most permission labels and restrictions do not fit into a
single line.
This change allows much longer strings for permissions names and
descriptions. It still abbreviates eventually and handles permission
descriptions with weird characters (such as back-space) correctly.
Fixes: 110209410
Test: Side-loaded old app and verified that permission labels and
descriptions are not abbreviated.
Change-Id: Ie1db240883c9f5cb9c1b74ca7bdcb80625e3f7f2
Work around to unblock the release for failing test
ActivityManagerAppConfigurationTests#testSplitscreenPortraitAppOrientationRequests
which shouldn't be failing since home stack shouldn't be visible. We need
to dig deeper to see why it is failing.
NOTE: Not failing on current master...
Bug: 110159357
Test: atest ActivityManagerAppConfigurationTests#testSplitscreenPortraitAppOrientationRequests
Change-Id: I69423eef3661133b2a032a166745157b3e344751
Removed overlapping interpolators and made the "screen off" animation
slower when more than 1 notifications are visible.
Fixes: 110081253
Bug: 109809484
Test: visual
Change-Id: I355ac94d4e6a880f37ce1d68c15c693b6f09f7f8