Commit Graph

446 Commits

Author SHA1 Message Date
vinayjoglekar 95e590229a Announce “Desktop” when focusing on the desktop mode in Overview
https://drive.google.com/file/d/1MNUyDtRhyU8tKRZ5JONLAeUBQ_8Vrids/view?usp=drive_link

Test: NA
BUG: 329375034
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: I36460002be94697746fb085e4aeca9a6ac804002
2024-08-13 13:16:10 +00:00
Treehugger Robot 3307f87b82 Merge "Implement e2e test for desktop windowing" into main 2024-08-08 11:32:10 +00:00
Alex Chau 1ceac5ddfe Implement e2e test for desktop windowing
Code changes:
- TaskView, GroupedTaskView and DesktopTaskView now uses different resId, so it can be differentiated by TAPL
- Extracted result handling of icon loading, so we can override in DesktopTaskView
- DesktopTaskView now load icons, so titleDescription can be loaded. When icons are loaded, contentDescription are applied to respective snapshotViews; icon unloading is ignored
- Track launchDesktopFromRecents and composeRecentsLaunchAnimator in TAPL events so we can test if the TaskView launch path is correct

Test changes:
- Added TaplTestsOverviewDesktop that move 2 TestActivities into Desktop, and launch the DesktopTaskView as static and live tile
- TaplTestsOverviewDesktop is limited to Tangor/cf_tablet only, and added LimitDeviceRule to AbstractLauncherUiTest to enable @AllowedDevices and @IgnoreLimit

TAPL changes (2 APIs added/modified):
- Changed TaskView matcher to use id/task_view_* to match all TaskView types
- When Overview is launcehd from Background, mark the currentTask after the launch as liveTile. When an OverviewTask has the same accessibility node as the liveTile, it'll expect different event when launching.
- [API change] BaseOverview.getTestActivityTask can now matches mutiple test activiites, useful for matching GroupedTaskView and DesktopTaskView; Fix a bug that getTestActivityTask wrongly use `getParent()` which is RecentsView to match activityName.
- In OverviewTask.open, we'll expect different events based on TaskView types and whether it's a live tile. Launching DesktopTaskView will in additional verify Desktop header is present on screen.
- [API change] In OverviewTaskMenu, support tapping Desktop menu and verify Desktop header is present on screen.
- Removed unused OverviewTaskMenuItem

Fix: 320313527
Test: TaplTestsOverviewDesktop
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: I89261c787364901320f3acb18f01ddad5f62d17c
2024-08-08 10:37:40 +01:00
Jeremy Sim 394f5d2b7f Fix problem with "Cancel" text not double-bolding
This CL changes the way the "Cancel" string is bolded, so that it can automatically react to the "Use bold text" accessibility setting and double-bold itself appropriately. (Previously the bolding was hard coded in XML, this change allows TextView to handle its own bolding.)

Fixes: 323111449
Test: Visually confirmed
Flag: EXEMPT bugfix
Change-Id: Ie50b5a1aab569cebd0101814b6ba896ad4151e7b
2024-08-06 16:10:20 -07:00
mpodolian 484ff0fe9c Integrated new BubbleStashControllers into the existing code.
Integrated the PersistentTaskbarStashController and the
TransientTaskbarStashController into the launcher code. Made changes to
the TaskbarInsetsController to set appropriate touchable zones. Updated
the TaskbarUIController to not start the overview transition on clicks
for the collapsed bubble bar.

Bug: 346391377
Fixes: 350065038
Fixes: 355664783
Flag: com.android.wm.shell.enable_bubble_bar_in_persistent_task_bar
Test: com.android.launcher3.taskbar package tests

persistent taskbar and transient taskbar manual testing:
- on launcher home screen expand bubble bar, switch between bubbles,
remove bubble via bubble menu, add bubble, remove bubble with the drug
gesture, add bubble, collapse bubble bar
- repeat previous test on launcher overview screen and inside any
application
- after last test drag expanded bubble view to the opposite side of the
screen

Change-Id: I50f2c510854c4895fdfc9bd453a261c2103286fd
2024-07-30 18:36:05 -07:00
Uwais Ashraf 06dd94c66a Add splash state to new TTV
Bug: 334826842
Test: test classes added in CL
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: Ia7c2de18b5ff932430946df6b4c27929d715e79c
2024-07-25 14:35:00 +00:00
Marcelo Arteiro f38d98d1a6 Align color resources in launcher projects.
This is an effort to align/unify color usage across all launcher projects and the system itself.
This fix recreates all dynamic color attributes present in the OS since many launcher areas cannot access private attributes.
It is recomemnded to use these new local attributes in all launcher areas and avoid creating new color resources when these can be used directly.

Bug: 352690172
Test: Presubmits
Flag: EXEMPT bugfix
Change-Id: Ic36b8bf70ee37f2fdd32e459e66f0e2d001d6ba2
2024-07-19 14:22:21 +00:00
Alex Chau 893f4c6a45 Apply PreviewPositionHelper matrix to TTV and Overlay
- 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
2024-07-18 13:07:14 +01:00
Jagrut Desai dafd7f55ed Adding Skeleton Code for Customizable Taksbar
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
2024-07-15 13:06:12 -07:00
Uwais Ashraf 7e7afac7c0 Change drawing in TTV to use Views rather than Canvas
Fix: 352332386
Test: Presubmit, Manual
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Change-Id: Ia1b7b6dc3d093d431ce022e793f40e61cec38ac6
2024-07-11 13:19:21 +00:00
Alex Chau 3fde467b41 Make DeskopTaskView use latest TTV
- Made TaskThumbnailViewDeprecated nullable in TaskContainer, with non-null getter that requires feature flag to be on/off
- Removed TaskThumbnailViewDeprecated.setTaskOverlay, as it'll now be null with feature flag on
- Removed TaskThumbnailViewDeprecated from DesktopTaskView xml
- Simplifed DesktopTaskView binding logic, to always get thumbnailViews from viewPool, removeView and recycle all thumbnailViews in onRecycle
- Didn't implement view pooling of TaskThumbnailView due to difficulty with TaskContainer not being recycled togetehr with TaskThumbnailView

Bug: 338360089
Test: TaskThumbnailViewModelTest
Test: manual testing for DesktopTaskView for both enable_refactor_task_thumbnail on and off
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: I38a6dfc6bc561689578d1660794f91d30bad4a68
2024-07-05 18:39:56 +01:00
mpodolian 563c2101cf Animate bubble bar icon sizes and padding
Added animation for the updates of bubble bar icon sizes and padding

Fixes: 335575529
Flag: com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: BubbleBarViewAnimatorTest
Change-Id: I07d66b3a9d565f4fa6040c3c4bf4866e4d81a3a6
2024-06-14 01:25:05 +01:00
Winson Chung 73cf3bc3a1 Add max width to the screen instructions view text
- This ensures that the instruction wraps if the text is too long

Fixes: 328577545
Fixes: 345128488
Flag: EXEMPT bugfix
Test: Visual inspection of instructions view in different languages/form
      factors
Change-Id: I73e889372a5c482277b0e4b61fb834304304c0a6
2024-06-07 20:59:07 +00:00
Alex Chau 7779855ab4 Merge "Fix icon and DWB toast focus transition" into main 2024-06-05 14:58:52 +00:00
Alex Chau 481e3ae079 Fix icon and DWB toast focus transition
- icon and DWB toast now transition in with animation when swipe up from apps to Overview
- Refacotred focusTransition into MultiProperty, with separate control from fullScreenProgress and scaleAndDim, and get rid of "invert" parameter and iconScaleAnimStartProgress variable which is very confusing
- Added a SCALE_AND_DIM_OUT property for use with PendingAnmation during dismiss, as PendingAnimation does not support per animator interpolator
- Use height from resource in DWB toast when calcualting translation, so translation can be properly set before view is measured
- Always set bannerOffsetPercentage regardless if banner is added

Fix: 344786723
Fix: 315972057
Fix: 313644427
Flag: EXEMPT bugfix
Test: Quick switch from home, icon and DWB toast don't transition in until gesture release
Test: Quick switch from app, icon and DWB toast don't transition in until gesture release to Overview
Test: Dismiss focus task, icon and DWB toast transition in after transition settle
Test: Swipe down task, icon and DWB toast transition out with finger
Test: Launcher central task, icon and DWB toast transition out
Change-Id: Ie16a2ceff10967de38b5f66c52f4be00d0051c5f
2024-06-05 12:33:25 +01:00
Jagrut Desai e263730c1e Merge "Make Taskbar Divider PopUp Menu Width Dynamic" into main 2024-06-04 17:13:36 +00:00
Jagrut Desai 38478e74f9 Make Taskbar Divider PopUp Menu Width Dynamic
Test: Manual
Bug: 327647761
Flag: com.android.launcher3.enable_taskbar_pinning
Change-Id: Ib5c13324afee46b45b2c71e3af86c15a6384a278
2024-06-03 10:26:41 -07:00
Jagrut Desai 4c6913395c Merge "Accessibility Annoucement for the always show taskbar switch" into main 2024-05-31 05:33:15 +00:00
Jagrut Desai 7570f36e28 Accessibility Annoucement for the always show taskbar switch
Test: Manual
Bug: 326012899
Flag: com.android.launcher3.enable_taskbar_pinning

Change-Id: Idad1c6349d14153468e0c660703f5ff1808ab8e5
2024-05-30 14:50:53 -07:00
Jeremy Sim 1ab32a7942 Address jank and memory issues with OverviewActionsView
Attempt to improve jank and memory regressions by simplifying the view layout of OverviewActionsView.

Bug: 339688091
Bug: 339853741
Test: testSaveAppPairMenuItemOrActionExistsOnSplitPair()
Flag: EXEMPT bugfix
Change-Id: Ib4a7c5a813b221c0a083144e7fb1e1c5f3fedb1c
2024-05-28 13:16:52 -07:00
Helen Cheuk bd10f8f08d Merge "Fix navigation buttons focus state" into main 2024-05-16 10:27:02 +00:00
helencheuk 7278073b57 Fix navigation buttons focus state
Two focus states in the same screen because taskbar and launcher are two processes. And we could not use keyboard to navigate to the nav button, agreed with UX that it should not have focus state. Make it not focusable to remove focus state as we are unable to focus on it by keyboard anyways. Tested that it would not affect TalkBack and SwitchAccess.

Only one focus in testing video: https://drive.google.com/file/d/18X3dtsvqfCMpdI7sBRxnaKwUCQzhHn8n/view?usp=sharing

Bug: 327386991
Test: Manual, navigate by keyboard in homepage and ensure there is no focus in the nav buttons
Flag: ACONFIG com.android.launcher3.enable_focus_outline Nextfood
Change-Id: I289ecb1784f8eb9b58bb36b28059ce4f367cf84e
2024-05-15 12:03:09 +00:00
Pragya Bajoria d9900e0d17 Remove obsolete desktop stashing logic from platform/packages/apps/Launcher3 [5/n]
Bug: 309481654
Change-Id: Id7b5db662d578eb625171055d30c37cd59e7d73c
Flag: EXEMPT refactor since it is removing obsolete code with no changes to current behavior.
2024-05-15 09:16:13 +00:00
Saumya Prakash 9352374c08 Merge "Move the Done button in gesture navigation tutorial" into main 2024-05-11 00:41:54 +00:00
Saumya Prakash b8782e7341 Move the Done button in gesture navigation tutorial
To align with updated UX specs, this change moves the Done button in
each gesture's tutorial from the middle of the screen to the bottom
right.

Fix: 293285057
Test: Run through the gesture tutorial in all font/display sizes for
different form factors and check that the Done button after each step is
in the new location.
Flag: LEGACY ENABLE_NEW_GESTURE_NAV_TUTORIAL ENABLED

Change-Id: I2f2a7be0bf365727cff030f827e539add8533c18
2024-05-10 21:18:36 +00:00
Ats Jenk 5b650d0796 Merge "Update expanded view drop target size based on value from shell" into main 2024-05-09 20:06:10 +00:00
Alex Chau ec547e0c32 Merge "Recycle thumbnailViews in DesktopTaskView" into main 2024-05-08 22:20:22 +00:00
Alex Chau 4205013b0a Recycle thumbnailViews in DesktopTaskView
- Changed mTaskContainers to a List
- Added an XML for TaskThumbnailView to make it compatible with ViewPool
- Removed mSnapshotViews variable, and streamlined DesktopTaskView binding logic to re-use thumbnailvIew from mTaskContainers or ViewPool

Bug: 249371338
Fix: 251586230
Test: manual
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode DEVELOPMENT
Change-Id: Iab7575e9c36b8ebf3eb62f19f13d75ba671f9f4f
2024-05-08 22:19:27 +00:00
Ats Jenk f3224cf847 Update expanded view drop target size based on value from shell
When a bubble drag starts, shell sends the current expanded view size
over as part of BubbleBarData. Update the size stored in
BubblePinController based on latest value.
Update drop target visual to match the spec. It should have 24dp insets
compared to expanded view and 28dp corner radius.

Bug: 330585402
Test: drag bubble in landscape, check that drop target for expanded view
  matches with what is shown when expanded view is dragged
Test: drag bubble in portrait, check that the drop target for expanded
  view, matches with what is shown when expanded view is dragged
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Change-Id: Ic11c4c5c675107543ba08f24a4138cda422d24c1
2024-05-08 14:05:03 -07:00
Jeremy Sim 41eadd1a91 Fix bug with double-relayout of Overview Actions View
This CL refactors Overview Actions View so that a separate view, R.id.group_action_buttons, is used for buttons related to grouped tasks. This also changes the way visibility is handled with actions buttons -- instead of all buttons living on one bar and being toggled on and off, sometimes the whole bar is toggled on and off (to change from single task actions to group actions and vice versa).

This prevents the same view from having its visibility changed twice in in one layout and causing the wrong visibility to be rendered.

Fixes: 333844287
Test: Manual
Flag: ACONFIG com.android.wm.shell.enable_app_pairs NEXTFOOD
Change-Id: I1b6be4637ac8c8d424e7633c437fca376ecdd757
2024-05-07 11:18:24 -07:00
Ats Jenk 363a841a04 Drag bubble in bubble bar to other side
Adds support to pin bubble bar to other side of the screen by dragging
from one bubble. The entire bubble bar will move to the other side.
Implements the BaseBubbleBarPinController to handle dragging an
individual BubbleView.
Updates how translation and alpha get applied during BubbleBarView
location animation when a bubble is being dragged.
Dragged bubble is part of the BubbleBarView and when it is being
dragged, and we animate the bubble bar to the other side, we need to
ensure that the animation does not affect the dragged bubble.
Updating the translation and alpha for the BubbleBarView ViewGroup will
affect the dragged bubble as well. Updating how translation and alpha
gets applied to BubbleBarView so that it gets applied to individual
child views and then we can skip applying it to the dragged view.

Bug: 330585402
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: drag bubble from expanded bubble bar to left and right

Change-Id: I1fe2ba9fd466ff97d3b3af763bdcce30c3f98606
2024-05-01 14:53:14 -07:00
Jordan Silva 4e741082dc Merge "Make TaskMenuViewWithArrow width wrap content with a minimum width" into main 2024-04-26 15:14:46 +00:00
Saumya Prakash 8245ac04e3 Merge "Only run search edu when enabled, also make code more generic." into main 2024-04-24 16:13:43 +00:00
Uwais Ashraf e21525da40 Add a refactored TaskThumbnailView
- Live Tile, swipe (left+right) and dismiss working
- Tests of ViewModel state transitions
- Deprecate the old TaskThumbnailView
- Renaming TaskThumbnailView to TaskThumbnailViewDeprecated

Fix: 335440878
Fix: 331754672
Bug: 331753115
Test: TaskThumbnailViewModelTest
Test: Attached video on bug
Flag: ACONFIG com.android.launcher3.enable_refactor_task_thumbnail DEVELOPMENT
Change-Id: I063b957fe6e56960970dcaadc641848fbd73251c
2024-04-23 23:05:14 +01:00
Saumya Prakash 17cd6ca62a Only run search edu when enabled, also make code more generic.
We only need to run the Search edu if it is enabled on devices. The code
itself is also made more generic in terms of method and variable names.

Fix: 330401405
Test: Enable and disable the search function and check whether the edu tooltip shows
up for each specific use case.
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning NEXTFOOD

Change-Id: I1cea3ee56922c0b47ae7e8379aad4b36570daa17
2024-04-23 22:02:15 +00:00
Alex Chau 0e64dbe149 Make TaskMenuViewWithArrow width wrap content with a minimum width
- Also add a end padding for the text
- http://screen/3yTa8tmJfJuVf2t

Fix: 331555315
Test: OverviewMenuImageTest
Flag: NONE
Change-Id: Ic9bc2799cd25f87d2ec6c7ce83d50d060513a292
2024-04-23 11:53:48 +01:00
Mykola Podolian 1f40fa0e7f Merge "Updated pointer to match visual specification." into main 2024-04-22 16:06:39 +00:00
Schneider Victor-tulias ec39107105 Update KQS to better support desktop tasks
While we wait for a way to display a sreenshot of the desktop statically, using a placeholder solution.

Flag: LEGACY ENABLE_KEYBOARD_QUICK_SWITCH ENABLED
Fixes: 335632286
Test: TaplTestKeyboardQuickSwitch
Change-Id: I2525ab89eb3a5a902e7ab55367187d87aada1f10
2024-04-19 14:53:20 -04:00
mpodolian 73b07e2024 Updated pointer to match visual specification.
Updated bubble bar view pointer to have rounded tip.

Test: BubbleBarViewAnimatorTest
Fixes: 333546362
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Change-Id: I7875426b06a330bc355a833c51849335f831317e
2024-04-19 15:32:26 +01:00
Helen Cheuk a0dc66c206 Merge "Add focus outline to overview clear all button" into main 2024-04-09 16:27:27 +00:00
Treehugger Robot 18694cc977 Merge "Add max height logic and avoidance of taskbar into task menu" into main 2024-04-08 18:22:08 +00:00
Uwais Ashraf d9de4b0558 Add max height logic and avoidance of taskbar into task menu
Fix: 329842207
Test: Manually tested, see video in bug
Flag: NA
Change-Id: I08079f14cee63fe7973ba751529109ca66423bb6
2024-04-08 16:23:59 +00:00
Saumya Prakash 83646f9b82 Merge "Add Taskbar education for Circle to Search for pinned taskbar" into main 2024-04-06 05:39:28 +00:00
Saumya Prakash 5453c053b9 Add Taskbar education for Circle to Search for pinned taskbar
This change adds a new education tooltip for pinned taskbar that teaches
users how to use Circle to Search invoked through the action key. It won't run on
transient taskbar or if the user is in 3 button mode. The disclosures at
the bottom of the tooltip link to localized legal agreements for the feature.

Fix: 330401405
Test: Pin the taskbar and observe that the next time an app is launched
the edu shows up. After dismissal it shouldn't show up again.
Additionally, click on the disclosures and ensure they launch.
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning NEXTFOOD

Change-Id: I64aea3004aca77c3ec81b81dea0cfab7a9c1e272
2024-04-06 01:52:49 +00:00
Alex Chau 7d0edb46ac Reland "Update Split button visibility based on DeviceProfile change"
This reverts commit 38bc885de9.

- Always request layout of action_buttons after changing visibility of its children
- Update Split button visibility based on DeviceProfile change in updateDimension() only
- Update Split button visibility based on 3P launcher in initialization only
- Also simplified action_buttons to wrap_content and layout in middle of parent
- Also removed the space between buttons and use marginStart
- Fixed TAPL to not expect save app pair button on phone. Before this CL actions_buttons are still on view hierarchy despite they're not visible on screen.

Fix: 321291049
Fix: 329255757
Test: Clear all tasks, fold, launch app, swipe up to Overivew; repeat in RTL
Test: OverviewImageTest
Flag: None
Change-Id: I9ecf872279f6f07d2d9bc33fb09031568023cb77
2024-04-04 11:58:35 +01:00
Ats Jenk f221b8a7de Create drop target for bubble bar
When dragging bubble bar in launcher, show drop target when drag passes
middle of the screen.

Bug: 330585397
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: manual
Change-Id: I52c3e9ac0b7c36e2207640baf75dc44300b522ef
2024-03-28 14:21:33 -07:00
Alex Chau 76d04b46df Merge "Align action_buttons at bottom of OverviewActionsView" into main 2024-03-28 13:00:11 +00:00
Jeremy Sim 75216f9108 Merge "Fix bug with long strings not aligning left on menu items" into main 2024-03-28 01:45:15 +00:00
Jagrut Desai 112691f2f0 Merge "Customize BubbleTextView for Taskbar Icon Size" into main 2024-03-27 16:46:16 +00:00
Alex Chau 6431d6e879 Align action_buttons at bottom of OverviewActionsView
- http://ag/q/topic:%22b/329255757%22 caused a regression that in landscape, action_buttons shifted up when ShareTarget become visible, because OverviewActionsView become taller when this happens, and the topMargin is no longer valid to put actions_button at the position we want
- Bring back layout_gravity="bottom" solves the issue, as bottomMarign is always correct

Fix: 331517987
Test: manual as ShareTarget requires AiAi interaction and cannot easily be mocked
Flag: None
Change-Id: Iadcdf5731485f42f9586703e34e55ed9b4121bf9
2024-03-27 16:05:50 +00:00