When the bubble bar is stashed and an icon is dragged from the search
grid towards it, the bubble bar should be un-stashed. Conversely, if the
icon is dragged to the opposite location of the stashed bubble bar, the
handle should teleport out, and the collapsed bubble bar should
teleport in.
This change implements logic that addresses this behavior.
Bug: 399678274
Test: Manual. Drag and drop application icons from the search grid to
the bubble bar drop areas.
Flag: com.android.wm.shell.enable_create_any_bubble
Change-Id: Ief9ef3e5c24f8199b2812fd0adf63ae3f6cf8f32
- Had to bump elevation of drop target so need to bumpe elevation
of dragged views
Flag: com.android.wm.shell.enable_bubble_anything
Test: manual / visual - drag a bubble or drag expanded view and observe
the drop targets
Bug: 403276099
Change-Id: I15a1deb055c590b1f46261fcc307120fcb685c08
This CL changes how the layoutDirection of the App Chip is handled and update translations in the PagedViewHandler for the app chip for fake orientation.
- The App Chip was updated to use the device layoutDirection instead of the same of RecentsView. This prevents the app chip being displayed in RTL when the device is LTR and vice-versa.
- It also applies the correct layout direction to `IconAppChipView` and its related views to ensure proper RTL behavior.
- RecentsView now updates layoutDirection for its children when updateChildTaskOrientation is called. This will make sure its children have the the latest and the correct layoutDirection.. Before it was only applied when adding a view (addView).
- In `SeascapePagedViewHandler`, it adjust the gravity for app chip be aligned correctly in Seascape.
- In `GroupedTaskView`, it checks if the device is in RTL to align the app chip correctly for split tasks.
- Multiple test combinations were done to validate this fix, please see table in b/326377497#comment7.
Fix: 326377497
Bug: 403284758
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual, please check b/326377497#comment7.
Test: OverviewImageTest
Test: OverviewSplitTaskImageTest
Change-Id: I8e8050ccf58c3f90718a48773ee7e32ddbc00f13
When all windows on external taskbar are closed, exit desktop mode is trigggered. We stop this signal from destroying the external taskbar. This is because we want to be in desktop mode as long as we are connected to a non-mirroring display.
Flag: com.android.window.flags.enable_taskbar_connected_displays
Bug: 401553128
Test: m
Change-Id: I23b61172bb13f1377c4532a56e7838fbe2140f20
This is the fix on Launcher side. There is a counterpart on
SystemUI side.
PictureInPictureParams#isSameAspectRatio has 1-pixel allowance when
comparing a given Rect against the aspect ratio.
When we compare the source rect hint against the aspect ratio inferred
from the destination bounds, the float error during the destination
bounds calculation is amped. For instance:
- Source rect hint: Rect(152, 0 - 2072, 1080), 1920x1080
- Destination bounds: Rect(440, 1218 - 1038, 1554), 598x336
When do the isSameAspectRatio
- If we fix the height=1080, expected width=1922, it's 2 pixels off
- If we fix the width=1920, expected height=1078, it's 2 pixels off
The check would fail. Instead, in this change, we compare the
destination bounds against the aspect ratio from the source rect hint.
For the same source rect hint and destination bounds
- If we fix the height=336, expected width=597, it's 1 pixel off
- If we fix the width=598, expect height=336, it's 0 pixel off
Note: this change applies to both PiP1 and PiP2
Flag: EXEMPT bugfix
Bug: 402190788
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/cUXaoJxzXDdKdSyqkQZOG1
Test: Swipe to enter PiP from landscape playback, see also Video
Change-Id: I8f06f269784c72258f9b23f2beafbd5d0926bb73
Bug: 401011627
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: Added a test in RecentTasksListTest
Change-Id: I21164de812d57b79cd84370bbf0426268c4b645d
This change introduces mDisallowScrollToAddDesk to handle the visibility
of AddDesktopButton in overview/quickswitch. In overview, set its scroll
as the first task; in quick switch, set its scroll out range of
[minScroll, maxScroll].
Bug: 398036110
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: manual quick switch
Change-Id: I5fada0c4c5bccc5572b458da9970e3524087508d
Folder and FolderIcon are UI objects and can talk to each other directly.
FolderInfo changes are already propogated via model callbacks, and doesn't need a separate listener pattern.
Bug: 398791288
Flag: EXEMPT bugfix
Test: atest FolderTest
Change-Id: Iefd47b8ea12a8ecaf34211a3d908220a0e999187
- Remove overview background scrim color.
- Create blur layer and blur surface to set blur to behind live app tile.
- Handles cases like live tile to screenshot during AiAi and orientation change.
Bug: 377244819
Test: Manual. Enter overview from app/home.
Flag: com.android.launcher3.enable_overview_background_wallpaper_blur
Change-Id: I5dce0268f4421cd0ac29dbb429e5d106da7a0bdc
All input consumers should be associated with display IDs, especially since these are used by TouchInteractionService.onConsumerInactive and they will be using per-display objects.
Flag: com.android.launcher3.enable_gesture_nav_on_connected_displays
Bug: 382130680
Test: InputConsumerUtilsTest
Change-Id: Ic14121db2361da1f0a819221b85256b1b3926774
As seen in the bug, an exception caused rest of onDestroy to not clean
up the other objects - which could cause other leaks.
So, for somewhat non-trivial clean ups, I've wrapped them in try-catch.
This way, with Log.e we still will know about them, but not crash
destruction of activity and other clean up.
Bug: 400793700
Flag: EXEMPT BUGFIX
Test: Leak canary and studio heap dump
Change-Id: I45e7298394eafff182a2c800eebfa5f772fbe2de
This CLs removes DeviceProfile of the display before destroying the
taskbar in onDisplayRemoved(). This makes sure DeviceProfile is null
when destroyTaskbarForDisplay() is called in onDisplayRemoved(), so that
removeTaskbarRootViewFromWindow() can be executed when display mirroring
starts.
Bug: 401180264
Test: adb shell settings put secure mirror_built_in_display 1
Flag: EXEMPT bug fix
Change-Id: I42cb8a1ecfdf1aa57d8ee3d01242a156f8a92cd9