Commit Graph

12915 Commits

Author SHA1 Message Date
Tiger Huang
50ae7cbf1b Merge "Defer dispatching insets to app if its window frame will be changed soon" into sc-dev 2021-06-10 07:55:53 +00:00
Mady Mellor
fd4a4a3ee5 Merge "Collapse the stack on clicks rather than on down" into sc-dev 2021-06-09 17:46:55 +00:00
Winson Chung
24de1aa861 Merge "Fix for IME exclusions not working with expanded bubble" into sc-dev 2021-06-09 17:35:35 +00:00
Winson Chung
9f6c43e65c Fix for IME exclusions not working with expanded bubble
- Technically the IME window is above the Bubble window, but when
  traversing the windows top-down for calculating the final exclusion
  region for SysUI, the IME is placed just above its target (the
  embedded task), and the Bubble's full touchable region effectively
  overrides the IME's requested exclusion region

Fixes: 190338512
Test: Expand a bubble, swipe from IME edge
Change-Id: Idd71eabfaba1be4bc6fc90d09db28d3f9e9106c5
2021-06-09 17:34:58 +00:00
Riddle Hsu
7f38c6c3a4 Merge "Fix inverted vertical offset of entering rotated PiP" into sc-dev 2021-06-09 16:51:34 +00:00
Ryan Mitchell
015bca79f4 Merge changes I2710cfea,I03fb31ee,Iec512b31 into sc-dev
* changes:
  ResourcesImpl.ThemeImpl NativeAllocationRegistry
  Rebase ThemeImpl rather than reallocate memory
  Sparse native theme representation
2021-06-09 16:35:35 +00:00
Tiger Huang
7be2a4c964 Defer dispatching insets to app if its window frame will be changed soon
If the frames of insets source window and the frame of an app window
are changed in the same layout pass, we should dispatch the insets
calculated from the new insets source frames and the new app window
frame. So when the app frame is not up-to-date, we defer dispatching
insets to the app.

Fix: 160732586
Test: Add logs to check if we dispatch the correct insets to apps while
      rotating the display.
Change-Id: Ic9e71d8eabde51067b740b35404ae7c9b68228d7
2021-06-09 15:52:39 +08:00
wilsonshih
661a5f0b01 Return default value safely without throw out exception.
Fixes: 190463685
Test: launch app and see no exception breaking the creation of
splash screen view.

Change-Id: Icae3b189068f074fdc061d0c510faceb024a26c6
2021-06-09 14:20:25 +08:00
Hongwei Wang
628002c70c Merge "Polish round corner for auto-enter-pip" into sc-dev 2021-06-09 01:41:10 +00:00
TreeHugger Robot
9e8cf0014e Merge "Include INTERACT_ACROSS_USERS_FULL for WmShell." into sc-dev 2021-06-08 22:29:59 +00:00
Greg Daniel
5da361b85c Merge "Reset buffer tracking state in VulkanSurface." into sc-dev 2021-06-08 21:58:19 +00:00
Ryan Mitchell
767e34fb17 Rebase ThemeImpl rather than reallocate memory
Memory churn is high when swapping the ResourcesImpl of a Resources
object. Each time Resources#setImpl is invoked, all themes based on
that Resources object are assigned new ThemeImpl objects that are
created using the new ResourcesImpl.

ThemeImpls can only belong to one Theme object, so the old
implementation is discarded and the theme takes ownership of the new
ThemeImp.

This creates performance problems when framework overlays are toggled.
Toggling overlays targeting the framework causes all themes across all
processes to recreate and reallocate all of their themes. By rebasing
the ThemeImpl on the new ResourcesImpl without deallocating the native
theme memory, we reduce churn and produce less garbage that needs to
be garbage collected.

Bug: 141198925
Test: atest libandroidfw_tests
Test: atest ResourcesPerfWorkloads
Change-Id: I03fb31ee09c9cfdbd3c41bcf0b605607dab54ed7
2021-06-08 14:25:18 -07:00
Mady Mellor
91ffe29918 Merge changes I6129aff7,I7e21ee87 into sc-dev
* changes:
  Fix dot & badge being on correct side for the first bubble added
  Fix the dot not showing when it should
2021-06-08 21:16:42 +00:00
Raymond Chiu
a607768e98 Merge "Add feature to capture layer" into sc-dev 2021-06-08 21:10:23 +00:00
Riddle Hsu
616537d0e2 Fix inverted vertical offset of entering rotated PiP
In rotated coordinates, the vertical and horizontal are
different directions. Otherwise the end of animation
doesn't match the destination position.

Bug: 175836469
Test: setSourceRectHint with non-zero left.
Change-Id: Ia5e282c0a1bab9cbf77e964b4a4bc8ea4514cfb9
2021-06-09 04:30:15 +08:00
Yuncheol Heo
907c7e820a Include INTERACT_ACROSS_USERS_FULL for WmShell.
- SplashscreenContentDrawer.ColorCache needs INTERACT_ACROSS_USERS_FULL
  to register the broadcast receiver.

Bug: 190516351
Test: Build Andorid Auto OS and check if CarLauncher is showing.
Change-Id: Ib0700a0f2ba1c31ffc60199a3aa8019961464efe
2021-06-08 13:18:28 -07:00
Hongwei Wang
6422ad45c9 Polish round corner for auto-enter-pip
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/b47ErxSscLnZl9clVncSY6
Bug: 187834841
Test: manual, see video
Change-Id: I59132ea50a3213a9caa2366c103fdddf642498e2
2021-06-08 13:13:39 -07:00
Raymond Chiu
e4cde9c8f2 Add feature to capture layer
Bug: 181831061
Test: manual
Change-Id: I16d6ac29833fc8f313b105f6215505cef05a3368
2021-06-08 18:48:25 +00:00
Greg Daniel
ffc50c689f Reset buffer tracking state in VulkanSurface.
When we fail to create an SkSurface from a dequeued
buffer we then call cancelBuffer on that buffer. However,
we don't update our tracking to say the buffer is no
longer dequeued with and doesn't own the fence any more.

I don't think this is the main issue causing the crash in
the attached bug because I don't think we're seeing the
error in the logs for this chunk of code. However this
possibly related issue was found while tracking down our
use of the dequeue_fence fd.

Test: manual building and running of phone
Bug: 187240173

Change-Id: Icb4099eeea5be6aedd5376e07a6e3454f5d1d1e3
2021-06-08 14:30:24 -04:00
TreeHugger Robot
ad7fb842e8 Merge "Increase the persistent storage size for SkSL Shaders" into sc-dev 2021-06-08 16:55:57 +00:00
Hongwei Wang
7b8b7b5cba Merge "Polish PiP round corner" into sc-dev 2021-06-08 16:48:28 +00:00
Ryan Mitchell
3c6480c8d8 Sparse native theme representation
Themes are represented in the native layer using an array where the
entry id of resource ids are used to index into the array. This causes
native allocation size of a theme to correlate with the largest
attribute resource id in the styles applied to the theme.

From manual testing, I determined that on average in 1P apps and
system_server only 10-20% of the space allocated for themes actually
hold theme attribute values and the rest is empty/unused space.

Using std::vector and std::lower_bound to create a sparse array
representation will reduce amount of memory allocated by themes while
having a minimal impact on the performance of querying the attributes
defined in a theme.

From testing with ResourcesPerfWorkloads, this increased time spent in
the resources synthetic benchmarks by ~1%.

Bug: 141198925
Test: atest libandroidfw_tests
Test: atest ResourcesPerfWorkloads
Change-Id: Iec512b31b0545b0898ff248cd23f074a20fff45d
2021-06-08 09:12:32 -07:00
Riddle Hsu
00d26d7185 Merge "Cache window and icon color of splash screen starting window" into sc-dev 2021-06-08 11:41:35 +00:00
Hongwei Wang
d5b088b418 Polish PiP round corner
Included in this CL
- Increase the corner radius from 8dp to 16dp
- Scale the round corner radius in transition

Tested with the following scenarios
- Enter PiP in button navigation mode
- Double-tap to resize PiP
- Pinch to resize PiP

TODO
- Round corner when enter PiP with auto-enter being enabled

Video: http://recall/-/aaaaaabFQoRHlzixHdtY/gA2dQNBNTA8xFExWqmOkRY
Bug: 187441996
Test: manual, see video
Change-Id: I43db31f966007795351a8e2ca7dd08417f6f0df7
2021-06-07 16:20:50 -07:00
Leon Scroggins III
05f5ecaa7a Increase the persistent storage size for SkSL Shaders
Fixes: 190348616
Test: builds

We're now using more complex shaders in more places. This allows us to
store more of them.

Change-Id: I1be3da0458c4b64f7082a2e1bc0d08b0824bbeba
2021-06-07 16:13:13 -04:00
Selim Cinek
2b10a16208 Merge "Improved the behavior of overscroll" into sc-dev 2021-06-07 18:12:40 +00:00
Riddle Hsu
f08127e398 Cache window and icon color of splash screen starting window
The background color of splash screen starting window may depend
on the declared window background and the content if icon. That
may be expensive operations if the drawables are not using pure
color. Because the attributes to compute the colors are simple,
it only need a few fields to identify whether the incoming request
has been computed. So it is worth to cache them with very small
extra memory. The cache of a package will be cleared if the package
is removed or replaced.

It may save the creation time up to 20ms (depends on the complexity
of the drawable).

Bug: 190176296
Test: atest StartingSurfaceDrawerTests#testColorCache
Test: Cold/warm launch app twice and compare the duration of
      trace name "makeSplashScreenContentView". The second time
      should be faster. Re-install the app and launch again,
      the trace will contain "peekWindowBGColor" that means
      that cache for the package was cleared.

Change-Id: I61158416694a226999843fa8fc6a8b23d6893f02
2021-06-07 22:24:03 +08:00
Bill Yi
7c0e324e95 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I908fc392a60c3ab9d7a6fa1b3effbdb2bd8edf08
2021-06-07 12:10:29 +00:00
Selim Cinek
40cebe4468 Improved the behavior of overscroll
The overscroll logic could get stuck previously, which lead to
a forehead visible on the lock screen.
This improves the logic and animation to look much better.

Fixes: 190029393
Test: expand shade, observe nice overshoot, no forehead on lockscreen
Change-Id: I2c9d5313626d3037c7bd3c942820c391da99b459
2021-06-07 13:12:29 +02:00
Mady Mellor
37632bb6e4 Collapse the stack on clicks rather than on down
Fixes an issue where you'd collapse the bubble
accidentally when performing back gesture in the padding
around the expanded view.

This means things will hide 'on up' rather than 'on down'
but I think that's fine / more expected behavior.

Removed some old code.

Test: manual - expand the bubble stack, open a 2nd activity in the
               bubble, perform gesture back => 2nd activity goes
               away & the bubble doesn't collapse
Bug: 190102948
Change-Id: I016bd9b3091938974f3330f4d005d4ef6bcccfee
2021-06-04 16:31:21 -07:00
Mady Mellor
73eb2771f8 Merge changes I5c096c2b,If0d0d86b into sc-dev
* changes:
  PIP dismiss updates
  Bubble dismiss updates
2021-06-04 19:29:15 +00:00
Jorim Jaggi
eb24079b9e Merge "Ensure reportFrameMetrics not being called on deleted instance" into sc-dev 2021-06-04 13:04:52 +00:00
Seigo Nonaka
cec02064d4 Merge "Calculate set of available fonts in native" into sc-dev 2021-06-03 23:26:17 +00:00
Mady Mellor
305cfd2683 Fix dot & badge being on correct side for the first bubble added
* stackAnimationController#isStackOnLeftSide depends on the position
  being set which happens when a view gets added so we should add
  the view & then set mStackOnLeftOrWillBe
* removed unused code

Test: manual 1) have no bubbles
             2) add a bubble (needs to be on left side -- this is
                the default unless you've placed the stack on right
                side beforehand)
             => observe that the update dot & badge are on the right
                hand side of the bubble
Bug: 185438888
Change-Id: I6129aff7c352fad8d29a6c243549f0d3580d62c8
2021-06-03 12:40:12 -07:00
Mady Mellor
dd6674033d Fix the dot not showing when it should
* Sometimes the dot doesn't show when it should, this was happening
  because the mAfterFlyoutHidden might not be set for updates
  to the flyout

Test: manual 1) add a new bubble, before the flyout for it has
                animated away, add a second bubble, before 2nd
                bubble's flyout as animated away, add another update
                to it
             2) wait for the flyout to animate away, ensure the
                update dot is visible
Bug: 185438888
Change-Id: I7e21ee87cb2ad02871330178668bc07962485e2d
2021-06-03 12:22:01 -07:00
Winson Chung
1de4c3f418 PIP dismiss updates
* orders the target below the PIP surface
* adds scale relative to the dismiss target size when PIP is in
  the target

Test: manual - get a pip, drag it to dismiss => it appears on top of
               the circle and then animates away with it
             - get a pip, make it larger with 2 finger gesture,
               drag it to dismiss => it appears on top of the circle
               and fits nicely in the circle bounds
Bug: 183657564
Change-Id: I5c096c2b5f41a667df37b4c6668c4862a212c7e2
2021-06-03 10:16:53 -07:00
Mady Mellor
9254393aa5 Bubble dismiss updates
- large colored circle, uses same accent color that launcher
  has for remove / uninstall
- added a shrink animation for the target when the bubble is
  stuck via the magnet
- no longer desaturate the bubble being dismissed but rather add
  a bit of an alpha

Bug: 183657564
Test: manual - get a bubble, drag it around & dismiss it, notice
               the animation
Change-Id: If0d0d86b7389f0fa3314598266cd83ecabdc6a9b
2021-06-03 10:16:36 -07:00
Colin Cross
d1251db40d Merge "Set dist_group: "android" for frameworks/base java_sdk_libraries" into sc-dev 2021-06-03 14:37:38 +00:00
Adithya Srinivasan
c6273f7f15 Merge "Add TaskSurfaceHelper/Controller in WMShell to plumb game mode to SF" into sc-dev 2021-06-02 22:00:09 +00:00
Colin Cross
fe09091214 Set dist_group: "android" for frameworks/base java_sdk_libraries
dist_group replaces owner and the default is going to change, set it
to the current default "android" for frameworks/base java_sdk_libraries.

Bug: 186723288
Test: m checkbuild
Change-Id: I1526853951bcffbe5c5aec6fbc6ba8e0dbea95ad
2021-06-02 13:49:22 -07:00
Dan Shi
4463194107 Remove ResourcesHardeningTest from Test Mapping
ResourcesHardeningTest is not a test module name.
This is a partial revert of ag/14505818

Bug: 189953380
Test: none
Change-Id: Iebf50714918d64eb52183c1f140ac8dba38b2ae5
2021-06-02 18:36:09 +00:00
Wei Sheng Shih
a7fb25ba8a Merge "Consolidate the starting surface icon size to framework" into sc-dev 2021-06-02 10:00:20 +00:00
TreeHugger Robot
a731c9f3f9 Merge "ViewRootImpl: Correct opaque flag usage" into sc-dev 2021-06-02 09:28:33 +00:00
TreeHugger Robot
d17c68d57c Merge "Add an extra colored layer when animating launches (1/2)" into sc-dev 2021-06-01 20:44:38 +00:00
Mady Mellor
cdfc535609 Merge "Hide the stack education view when user taps" into sc-dev 2021-06-01 19:35:46 +00:00
Jorim Jaggi
e4a52711e7 Ensure reportFrameMetrics not being called on deleted instance
Since onSurfaceStatsAvailable gets called on binder-thread, we
need to ensure that instance doesn't get released while
onSurfaceStatsAvailable is calling reportFrameMetrics.

Test: Boots
Bug: 188934435
Change-Id: Iafe582d6fe4087a3c4274ee39a2803abaa363fd2
2021-05-31 17:57:50 +02:00
wilsonshih
5cdbeb1a42 Ensure no starting window leak in WMShell before adding.
Before adding the snapshot start window, remove any existing window
at the same task if any. Also make sure if starting window was create
failed, the window should be remove after it been added.

Bug: 185318171
Test: manual test without ag/14308714
Change-Id: I5de7d54907bc0318c6d979c44ca8e64a5fcea062
2021-05-31 21:23:19 +08:00
Seigo Nonaka
d5ecababb4 Calculate set of available fonts in native
The previous attempt[1] of improving SystemFonts API is not good enough
for users. To further improve the performance, calculate font uniqueness
in native code. From Android S, the system font information is stored
in native code and has more information for skipping duplication check.

Bug: 188201287
Test: atest FontFamilyUpdateRequestTest
Test: atest FontListParserTest
Test: atest FontManagerTest
Test: atest NativeSystemFontTest
Test: atest PersistentSystemFontConfigTest
Test: atest SystemFontsTest
Test: atest SystemFontsUniqueNameTest
Test: atest UpdatableFontDirTest
Test: atest UpdatableSystemFontTest
Test: minikin_tests
Change-Id: Ib375dcda0f278c93ec8dd21636d7a22b4174f214
2021-05-27 15:54:24 -07:00
Mady Mellor
2430a0b314 Merge changes I4794ed89,I0c273f4d,Ibd8609a8 into sc-dev
* changes:
  Flexible maximum number of bubbles to show
  Add shadows back to bubble avatar
  Update sizes for the bubble avatar
2021-05-27 22:51:57 +00:00
Mady Mellor
1a916f5b1a Hide the stack education view when user taps
This was only hiding if you interacted with the bubble, now it
will hide if you tap anywhere.

Also makes sure the bubbles are ordered above the education.

Bug: 189225662
Test: manual - wipe device, get first bubble, tap anywhere other
               than the bubble & observe that the user education
               fades away.
Change-Id: I3750ca79de717e81492070b38d1af0518f1a7a3f
2021-05-27 15:51:01 -07:00