- Added GetThumbnailMatrixUseCase to retrieve task using taskId and calcualte Matrix using provided canvas size and isRTL
- TTVM and OverlayVM will uses GetThumbnailMatrixUseCaseTest with runBlocking to obtain the matrix from the loaded thumbnail
- TTV and Overlay listen for size change, and call VM to get the latest Matrix and apply to the view
Fix: 343101424
Test: GetThumbnailMatrixUseCaseTest
Test: TaskThumbnailViewModelTest
Test: TaskOverlayViewModelTest
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: If3f37824bed84d5cbaa54d7a4b12f5f1ef4e2c09
- DeviceProfile have java fields that cannot be mocked, nor can be freely instantiated, so I've to use FakeInvariantDeviceProfileTest to give me some predefined DeviceProfile for testing
Bug: 343101424
Test: RecentsOrientedStateRepositoryTest
Test: RecentsDeviceProfileRepositoryTest
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: Iaa34ef60a418eb336859d260f5808b263de6b4f7
This CL includes
- Taskbar container enum class and interface for container to calculate their space needed.
- Inits and getter of util classes in taksbar activity context.
- Taskbar Icons specs not have default margins and minimum touch target specs
- Updates to the test
- Logic for calculating the space needed for taskbar container
Test: Presubmit
Bug: 341146605
Flag: com.android.launcher3.enable_taskbar_customization
Change-Id: I89e9d521476902a9027f6fd0cebdc2690b2e5f31
This updates the icon of the IME switcher button used in taskbar.
Test: show taskbar and verify icon manually
Bug: 311791923
Flag: android.view.inputmethod.ime_switcher_revamp
Change-Id: I0288601717ab9d0f6842766df62599c51c5a2b4f
This cl includes
- new skeleton xml view customizable taskbar view
- new skeleton xml view for customizable taksbar container and a view class.
- new taskbar all apps button view container class
- pxFromDp util method introduction to launcher utilities
Test: Presubmit
Bug: 349885828
Bug: 349886203
Flag: com.android.launcher3.enable_taskbar_customization
Change-Id: Id83906ed0717da495c33275e52261153a1598074
After swiping from a landscape app to portrait home, the touch
orientation may be changed if there the touch event comes in a
short time (e.g. click app icon immediately):
DOWN
MOVE...
SimpleOrientationTouchTransformer#onDisplayInfoChanged
MOVE... (start to transform with inconsistent orientation)
UP
That could disturb the gesture detection:
OverviewInputConsumer#onMotionEvent
> BaseDragLayer#proxyTouchEvent
onInterceptTouchEvent, findControllerToHandleTouch
> PortraitStatesTouchController#onControllerInterceptTouchEvent
> BaseSwipeDetector#onTouchEvent
which may show the app drawer unexpectedly.
http://recall/-/b2qm27pJZxFIWQccA9qE9Q/ggLXlE5kf7AWMOjUc0FCUU
Bug: 351755391
Flag: EXEMPT bugfix
Test: atest NexusLauncherTests: \
com.android.quickstep.OrientationTouchTransformerTest# \
testSimpleOrientationTouchTransformer
Change-Id: Ic0e9d8292606837feb4775663abb60229c90e9c5
Feels like it should be the activities' responsibility to coordinate the EDU with stashing. All of these methods are also public to TaskbarActivityContext.
Test: Compiles
Bug: 346394503
Flag: EXEMPT refactor
Change-Id: Ibedd8caec59da3b3a14c15d0c948bf1069ca3c6c
Allow an extra one pixel delta on each side of the
app bounds for source-rect-hint containment checks
when swiping to enter PiP.
Bug: 349821386
Flag: EXEMPT bugfix
Test: swipe PiP to home with 21:9 video from landscape to portrait
Change-Id: Ibc53e426b49cfcd58e977433358b9980732ac289
Fixes an issue in large screen layouts where the task order was
incorrectly being recalculated and the user would see their previous
tasks swap places.
Fix: 352308373
Test: Manual. In tablet view, open several apps, go to Overview, dismiss
a task so the top row order changes, then swipe down the current
focused task to resume. Observe order stays the same.
Flag: EXEMPT bugfix
Change-Id: Ic59e3125f69d36ba32d13436dba872f4d3a3d0df
This was a bug introduced in ag/28230638. Accidentally passed the
wrong boolean value. The bug is that the initial state animation
does not play, and the bubble bar remains invisible.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 352119655
Fixes: 352412093
Test: manual
- Clear all bubbles
- Send initial bubble
- Observe that the initial state animation plays correctly
Change-Id: Ie1435539e348c0a92a11db0b58a0b3bce6525cc0
* Overview to workspace taskbar animation changed duration, and
with the new longer duration we no longer need to speed up the
scrim animation.
* The new longer duration was actually slowing down the scrim
interpolator
Fixes: 351911299
Test: Tested on small and large screen.
Tested w/ the flag off and there is a flicker, but that was
present without these changes as well
Flag: EXEMPT bugfix
Change-Id: I5dc219de541f3c2fb29a5a91a4770b0dece0259e
- This fixed a regression caused by ag/27904180, where -1 is no longer considered `visibleLauncher`. -1 still have Launcher being top activity, and recents animation will always fail
- Added isInMinusOne in LauncherActivityInterface, and return Launcher in getVisibleLauncher for -1 case
- -1 should be the only case where Launcher is top activity, but is not started
Fix: 352254279
Test: Recents button from the following scenarios: Home, -1, apps, transparent apps, video from -1
Flag: EXEMPT bugfix
Change-Id: I0898d202b9dd4742c0c7d2c0d6b340c748e8acf7
This adds support for handling long clicking on the IME switch button.
Initially it will behave exactly like short clicking, i.e. show the IME
switcher menu.
Flag: android.view.inputmethod.ime_switcher_revamp
Test: atest
TaskbarNavButtonControllerTest#testPressImeSwitcher
TaskbarNavButtonControllerTest#testLongPressImeSwitcher
Bug: 311791923
Change-Id: Ibd0d6bce2bab11511bc082f46731ec86038c8cf8
The bubble's outline was hardcoded with a fixed size. This caused a
shadow to be drawn using the hardcoded outline size, regardless of the
actual bubble view size. The BubbleView logic has been updated to use
the actual bubble size for the outline. The guarding flag has been
removed.
Bug: 340445019
Flag: com.android.wm.shell.enable_bubble_bar
Test: http://recall/-/gx8ASgewUeUS3QYohfrd1J/hqFtAZJnX0tCRONoFpSK3i
Change-Id: Iaa2c2d0bfeee2af9840acbcf11daaf8be2e0b7af
The removal and update of bubbles happen in different processes, so
it's possible for race conditions to allow users to remove bubbles
without knowing that an update exists.
Passing the removal timestamp allows wm shell to determine whether
the removal happened before or after the latest update was received
for the bubble. This largely mitigates the race but does not solve
it completely. Will file a separate bug to track that.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 351026092
Test: Manual
- Note the issue here is a race condition so requires code
changes to force repro it
- Locally I added an artificial delay between the time the
- bubble is removed and until the removal is sent to wmshell
- Create bubbles and expand the bubble bar
- Dismiss bubble by dragging it to dismiss
- Send an update to the same bubble before removal is processed
in wmshell
- Verify bubble is added back
- Verify bubble is not removed when the removal is processed
in wmshell
Change-Id: I05ddc692fe30709125e380351b223d20a0778264