Commit Graph

1065 Commits

Author SHA1 Message Date
Jeremy Sim
9109e43f02 Allow app pairs in folders
This CL substantially refactors folders to be able to take contents of type AppPairInfo. App pairs can now be moved in and out of folders, and launch from folders.

This CL contains only logic and model changes; animation and style changes (for dropping items into folders, color changes to app pair surfaces, etc.) will be in a following CL. Another CL (hopefully) will contain tests. I'm planning to submit them together, but this patch should also be able to stand alone with no issues (except janky transitions).

Bug: 315731527
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, more to follow in another CL.
Change-Id: I73732fcaefbdc61bf6e02a5be365962b8bbc3e41
(cherry picked from commit a596f589c4)
Merged-In: I73732fcaefbdc61bf6e02a5be365962b8bbc3e41
2024-04-11 03:51:53 +00:00
Zak Cohen
26c26fe837 Widget Picker - show app icon next to recommended app label.
https://screenshot.googleplex.com/42gUGuSADdrW2CS

Bug: 323887132
Test: Manual, no test for widget cell yet.
Flag: NA
Change-Id: I95e7a645b3664361222d5045114224b17d8fdf34
2024-02-27 13:34:15 -08:00
Shamali Patwa
b7483c1d37 Merge changes from topic "categories" into main
* changes:
  Initial UI changes for displaying categorized suggestions.
  Use full-width two picker in both orientations in tablets
  Use derived padding instead of static 300dp for large portrait displays
  Align items in the center within each table row within suggestions.
2024-02-20 17:42:31 +00:00
Brandon Dayauon
08b06523a5 Collapse private space container and animate header.
- Just opposite of how it will expand.
- RecyclerView.SmoothScroller is needed to scroll the container.

- Need to separate the lock button because this way I can use animateLayout changes and it itself was its own drawable. Separated into icon and textView in a viewGroup.
- Give the background the 10padding on the left and right so that when in animation, the icon can adjust the padding/margins there.
- Using propertySetter to set animation
- Animates the alpha of the settings alpha

- updated test to account for the nested child views the test needs to inspect

bug: 299294792
test: manual:
Expand + Collapse Video: https://drive.google.com/file/d/1Og66eqmXv3THn0wO4_x6Tfp2AbwFWUwZ/view?usp=sharing
Flag: ACONFIG com.android.launcher3.Flags.private_space_animation TEAMFOOD

Change-Id: I96f1d172a481522d23b4cee996ddec65961fce78
2024-02-16 21:23:51 -08:00
Shamali P
b3a4d65bb7 Initial UI changes for displaying categorized suggestions.
Ordering changes and some more UI changes in follow-up.

Bug: 318410881
Test: See screenshots
Flag: ACONFIG com.android.launcher3.enable_categorized_widget_recommendations DEVELOPMENT
Change-Id: I77e7f4dcdda32e2921ae56721cddbe261832f0d8
2024-02-16 18:43:20 +00:00
Shamali P
13c6727601 Set accessibility pane title for right pane on updating content.
This will let users know that content appeared on right when they
selected an option on left.

Note: This is announced _only_ when content changes.

Bug: 324073588
Test: Manual with talkback
Flag: N/A
Change-Id: Icec3242d8f250f6d19e082a39927165c7b8fc86a
2024-02-12 19:48:41 +00:00
Federico Baron
1bb90a78f6 Merge "Fix two pane widget picker bugs" into main 2024-02-08 16:58:40 +00:00
fbaron
88676ba7bb Fix two pane widget picker bugs
Here we:
-Move no widgets text outside of the right pane so that we can center it
-setInset and change the clipping of children in the views so that we can fix the padding at the bottom when we have 3 button nav
-create selectedHeader where we keep track of the currently selected header in order to refresh the widgets for the selected header on rotation
-when widgets are bound we check if there are no recommended widgets, and if there aren't we select the first visible header

Fix: 324002996
Fix: 324001940
Fix: 323417968
Fix: 323460545
Fix: 323409306
Test: WidgetPickerImageTest
Flag: NONE
Change-Id: Ibd85cb086bb6c2aede6cf79da0c688a1fdaec4e5
2024-02-07 22:36:59 +00:00
Shamali P
55fded376b Remove the "expand/collapse" actions on the apps list in 2 pane picker.
In a single pane picker, apps list is expandable / collapsable, but,
its not applicable for 2-pane variant. in 2-pane one, it should just
say "double tap to activate".

Also opened b/324073588 to make it clear from a11y perspective that it
is two pane and on click, right pane change should be announced.
(just like it does in settings with talkback).

see screencast/cast/NTQ1Mjk0MjIzOTg1ODY4OHw4OTc5ZjAzNS0wOQ

Bug: 319195592
Flag: None
Test: WidgetsListHeaderAccessibilityTest & manual.
Change-Id: I9ae3fbacc29364bd7459f6e6d85e0a1e919de3f8
2024-02-06 20:07:41 +00:00
Shamali P
1f5a8e6ee1 Fix crash in two pane paged view when work profile is used
Looks like ag/25865281 updated widgets_two_pane_sheet_recyclerview.xml
but not widgets_two_pane_sheet_paged_view So, with work profile where
 widgets_two_pane_sheet_paged_view is used, it's crashing.

See https://b.corp.google.com/issues/322681099#comment9 for recording

Fix: 322681099
Test: Verify picker loads & scrolls with / without work profile.
Flag: NONE
Change-Id: If7969a70e1079ffff58ffbd0a90cbec34c6da2de
2024-01-29 19:43:39 +00:00
Himanshu Gupta
0cc11dbcac Separating system and user-installed apps in PS container.
We add a horizontal line separator in PS container which demarcates
user-installed vs system installed apps in private space.
User-installed are shown above the separator, system ones below.

UX Mock: https://www.figma.com/file/K6bIIcG882EiJNjxvSWsFT/V%E2%80%A2-Private-Space?node-id=11546%3A310574&mode=dev
Mock Image: https://photos.app.goo.gl/Wj8sJkS7P7bRbovg8
Demo video: https://photos.app.goo.gl/MBw6HpDnf6PJqUfs8

Bug: 308054233
Flag: ACONFIG com.android.launcher3.Flags.private_space_sys_apps_separation DEVELOPMENT
Test: AlphabeticalAppsListTest
Change-Id: Iad8e289c49a05ac7ef1978bd8e4ebe7aa0add0ca
2024-01-26 11:04:13 +05:30
Federico Baron
dc2f747213 Merge "Fix nested scrolling in two pane picker left pane" into main 2024-01-22 19:38:46 +00:00
fbaron
db1e3d53e3 Fix nested scrolling in two pane picker left pane
Fix: 319151078
Test: Verify there's no nested scrolling
Flag: NONE
Change-Id: Ic974c85e1845f45aa0646a1ebf29696f75c9ab90
2024-01-22 09:00:57 -08:00
Sunny Goyal
e0c1649d87 Cleaning up some unused notifications functionality
Bug: 321154530
Test: Presubmit
Flag: N/A
Change-Id: I1ff2a4f19595659d89e7d72ee1b29036bbd54d8f
2024-01-19 00:21:02 -08:00
Brandon Dayauon
6ac1d24876 Fix padding between text and (x) icon in work profile card.
- Simplified the .xml to just use linear layout and remove the extra relativelayout that was used for the button when it can just be a
Framelayout.

- Now according to spec https://www.figma.com/file/mf67dbMngw0a3aev2HTinD/Work-Profile-%26-Bluechip?type=design&node-id=2185-0&mode=design&t=n0pl6vP5rnSrTyyv-0
the additional padding is now included.

bug: 309120438
Test: Manual photos-
before: https://screenshot.googleplex.com/48kUpYCVQGYMwdm
after: https://screenshot.googleplex.com/AcisTmXQeZ3NT3C
Flag: None
Change-Id: I3c1850a20f49a2a4e809410b4aaef688ea9b3e2c
2023-12-18 13:37:16 -08:00
Helen Cheuk
9c0f738cdb Merge "Add focus outline to launcher" into main 2023-12-15 18:03:36 +00:00
helencheuk
b4626f4698 Add focus outline to launcher
Fix: 310953377
Test: TBC
Flag: ACONFIG com.android.launcher3.enable_focus_outline Development
Change-Id: Ie395ec74c8a4a13a68539ca7ec6496481d96b860
2023-12-15 16:56:31 +00:00
Federico Baron
4266fa49e2 Merge "Update two pane sheet widget picker to use RelativeLayout since ConstraintLayout was causing test failures" into main 2023-12-13 01:47:21 +00:00
fbaron
b3b0215cb1 Update two pane sheet widget picker to use RelativeLayout since ConstraintLayout was causing test failures
There are test failures when using ConstraintLayout without a known solution, see https://chat.google.com/room/AAAACwktJi8/2OogGWfbLvI. Switching back to a relativelayout to resolve those issues.

Bug: 301918659
Test: WidgetPickerImageTest
Flag: ACONFIG com.android.launcher3.enable_unfolded_two_pane_picker DEVELOPMENT
Change-Id: I004c2d77ca308d85b29217d4f1e548067126556f
2023-12-12 15:12:40 -08:00
Jeremy Sim
23fcbf2f73 App Pairs: Launch animation
[App Pairs 7/?]

This patch implements the app pair launch animation from icon. Adds a new function, composeFadeInSplitLaunchAnimator(), in SplitAnimationController, that builds the combined launcher + shell animation.

Bug: 309618233
Flag: ACONFIG com.android.wm.shell.enable_app_pairs DEVELOPMENT
Test: Manual
Change-Id: I8e95f629ae2a71f1bd6cbb356f5e33233e5c2906
2023-12-11 13:09:06 +09:00
William Leshner
5836cec7ec Merge "Show Launcher's widget picker in an activity." into main 2023-12-07 19:23:58 +00:00
fbaron
eee16c7ac5 Update widget picker two pane to support foldables
Bug: 301918659
Test: WidgetPickerImageTest
Flag: ACONFIG com.android.launcher3.enable_unfolded_two_pane_picker DEVELOPMENT
Change-Id: I5beecf4f8c46235f3e89c7bd8aed65fd292883ce
2023-12-06 12:48:24 -08:00
Will Leshner
9dce65e05a Show Launcher's widget picker in an activity.
Bug: 307306823
Test: atest Launcher3Tests
Flag: NA

Change-Id: I28ef731abcdf1bd44c66366d42a135912dbcc5be
2023-12-05 13:12:05 -08:00
Himanshu Gupta
08badb3f6f Adding Private Space views to Launcher.
This CL adds the following:
* Static View Elements to be added to AllApps recycler View
* View Controller to load the above elements dynamically
* Private Space Section Decorator
* PrivateProfile Manager containing the logic related to Private Space
* Abstract UserProfileManager as the super class of Work/Private
ProfileManager

Private Space Views Figma
[link](https://www.figma.com/file/K6bIIcG882EiJNjxvSWsFT/V%E2%80%A2-Private-Space?type=design&node-id=14535-111985&mode=design&t=JLz9W0O551TpzQYH-0)

Flag: ACONFIG com.android.launcher3.Flags.enable_private_space DEVELOPMENT
Bug: 289223923
Test: Ran Launcher3 tests
Change-Id: I8aa4247c78064a551e5e0d0b46d3fc033873f99d
2023-11-14 11:58:16 +00:00
Sunny Goyal
6eb256d794 Simplifying settings activity
> Removing multiple fragments
> Exposing support to select preference root
> Adding support for recreating preferences
> Moving Developer options to same fragment

Bug: 305084752
Flag: N/A
Test: Manual
Change-Id: I499be1938ef8ed58cbc7f9b0f4ad3510d4b306c8
2023-10-24 11:40:12 -07:00
Pat Manning
5643e7c047 Increase pinned taskbar height to fit tooltips.
Fix: 305706286
Flag: ACONFIG com.android.launcher3.enable_cursor_hover_states TRUNKFOOD
Test: TaskbarHoverToolTipControllerTest

Change-Id: I767947a752eae7a928d59fe332bc62b9fd5b5f37
2023-10-23 15:52:48 +01:00
Brandon Dayauon
602c43e90b Add maxWidth to pause work app button and ellipsize at the end
Width of text given by UX is 214dp so we can set the maxWidth and ellipsize at the end.

Bug: 298447370
Test: Manual photo: https://screenshot.googleplex.com/98Jnuh3TmLCtd24
Flag: n/a
Change-Id: I750a1669f94f22f60f4fb22db7d6b0ed7678c506
2023-09-27 16:23:07 +00:00
Brandon Dayauon
8e24505d09 Merge "Fix big icon when dragging Toast by isolating the previous QL fix display to SEARCH_RESULT_APP_ROW" into udc-qpr-dev am: 28ae77df37 am: f9a203c586
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/24724750

Change-Id: I4e955f635773b5084b315282d373b16cff6988e3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-22 16:22:21 +00:00
Brandon Dayauon
47000ae6e6 Fix big icon when dragging Toast by isolating the previous QL fix display to SEARCH_RESULT_APP_ROW
- Create another icon, "all_apps_predicted_row_icon" that will be the mDisplay for the predicted app row
in AllAppsList

Bug:299171695
Test: video
Before: https://drive.google.com/file/d/1HxNW0015nQHCc7eQiySf-gwsHrLs_JjR/view?usp=sharing
after: https://drive.google.com/file/d/1HyEwKI-yumILTCjglKcqovhTlRVjNGxg/view?usp=sharing - making sure that QL is fine and dragging regular Toast results are normal
Flag: N/a
Change-Id: Ie002cacb168396dbea39f79679bd6a04b80e374b
2023-09-20 14:21:10 -07:00
Charlie Anderson
69524513db Remove ENABLE_MATERIAL_U_POPUP flag and cleanup dead code
- removes a lot of dead code for the old popup design and especially around adding notifications to popups
- renames several resource files to remove the material_u specification, as it is now the only design

Test: manually run through launcher popups
Bug: 270395516
Flag: ENABLE_MATERIAL_U_POPUP
Change-Id: I462063482206578b4b896a6d405dc2383f2da510
2023-08-30 20:40:25 +00:00
Brandon Dayauon
e8efd38e9a Fix work paused text padding.
This is causing an issue for keyboard up by default users who can't see the button due to the keyboard blocking it.
The reason this is happening is because there is a layoutMargin of 40dp that is on the work_apps_paused_title text.
But it should be 16dp from the tabs and the and work_apps_paused_title text. Due to the floatingHeaderView having 8dp already,
just add another 8dp padding to the workPausedCard for the 16dp distance between the tabs and the text.

bug: 294948106
flag: n/a
test: manual -photos:
before:https://screenshot.googleplex.com/8awNqhWLkW3mF2w
after: https://screenshot.googleplex.com/8qUJAwH5Qzd6d3L

Change-Id: I4468e2fec6f05919323e27b1c4296d0239b2d044
2023-08-18 15:01:48 -07:00
Jeremy Sim
94fd07e5da App Pairs: Implement save, inflate, launch, and delete
This is the third of several patches implementing the App Pairs feature behind a flag.

This patch includes:
- AppPairIcon and associated XML. Actual icon asset is placeholder for now
- Ability to launch split pair on click
- Icon can be moved around, incl. to Taskbar
- App pair can be deleted by dragging to "Remove" drop zone
- Icon persists on Launcher reload

Change-Id: I88aec6fbc814be98f9ef048bbc5af889d0797970
Flag: ENABLE_APP_PAIRS (set to false)
Bug: 274835596
Test: Not included in this CL, but will follow
2023-08-02 12:08:41 -07:00
Pat Manning
da69661add Show tooltips on cursor hover of taskbar icons.
Fix: 250092437
Test: TaskbarHoverToolTipControllerTest
Flag: ENABLE_CURSOR_HOVER_STATES
Change-Id: Ia0463518d13b313b354328078685930215fb7636
2023-07-14 13:42:30 +01:00
Mateusz Cicheński
865b576cf4 Merge "Remove the keep clear areas XML tag from Hotseat" into udc-dev am: 665524cc37 am: 1f113855f4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23823197

Change-Id: I65ba5c1fbd64c88ff4e67534e42e453320d45a80
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-29 19:05:12 +00:00
Mateusz Cicheński
b5b218eea9 Remove the keep clear areas XML tag from Hotseat
It reports its size through SystemUiProxy and this tag causes it to
report the region twice. Additionally upon screen rotation the value
is getting updated with a delay, so for a moment two keep clear areas
for Launcher are present - one from the previous orientation (on the
side), and one from the current orientation (matching the proxy value
in unrestrictedKeepClearAreas).

Bug: 285242520
Test: before http://recall/-/ekEuGtt9d9HWqkUtAzpHx8/cLtiXGYUyItm2kNCCEkkWA
Test: after http://recall/-/ekEuGtt9d9HWqkUtAzpHx8/iPs6fwdSXG3TE0IERmxA8
Change-Id: I40dfe08680c944f2be5db0f6b15515492f409565
2023-06-27 02:58:26 +00:00
fbaron
05e428d6f7 Fix padding/margin for widgets in widgetpicker
Fix: 287079143
Test: Verify that the there's enough margin in between widgets and their container in widget picker
Change-Id: Ia0a7a43516554d113f011b8ac45afbf5e068ca37
2023-06-20 11:57:56 -07:00
Brandon Dayauon
fe3d513650 Merge "Update work tab colors and fab background color" into udc-dev 2023-05-25 03:07:59 +00:00
Brandon Dayauon
adcc16cf56 Update work tab colors and fab background color
Spec: https://screenshot.googleplex.com/6mKVuFNNNQfXpbD

bug: 283120562
test:
manually Launcher3 build var:
worktab lt: https://screenshot.googleplex.com/B8v44jm77o5Jyc7
widgetpicker tab lt: https://screenshot.googleplex.com/48WjAB8fKpZSEQ7
sharesheet tab lt: https://screenshot.googleplex.com/9rfSBeNALXbG7NL
worktab dt: https://screenshot.googleplex.com/332jCxde9vDW7hd
widgetpicker tab dt: https://screenshot.googleplex.com/3PGtrvQ2jLhQD4k
sharesheet tab dt: https://screenshot.googleplex.com/3jr4GPzRc3rzMA6

NexusLauncher:
worktab lt: https://screenshot.googleplex.com/BH2SFMXfQ4dtBeh
sharesheet lt: https://screenshot.googleplex.com/5axg34QgTt87iSL
widget picker tab lt: https://screenshot.googleplex.com/928kWFJ5mTun9py
worktab dt: https://screenshot.googleplex.com/7KWKLH4kt6nJpXT
sharesheet dt: https://screenshot.googleplex.com/778UoyhYrhimSAz
widgetpicker tab dt: https://screenshot.googleplex.com/FFFxBLqsATNXj8v

Change-Id: I78f20b2863a04d23e8a8880fc1d6a3ac0cfeb82a
2023-05-24 09:10:03 -07:00
fbaron
c54a8c3c65 Fix switching between work and personal profile in widget picker not clipping recyclerview
Fix: 283139508
Test: Verify swiping between work and personal profile clips the recyclerview properly
Flag: no flag
Change-Id: I7f4ccd6981f91a5ccb9705eca67823c8c81c262f
2023-05-22 10:49:18 -07:00
Federico Baron
3eba77ca4b Merge "Update colors for popup menus" into udc-dev 2023-05-18 21:03:19 +00:00
fbaron
1a76d5c72d Update colors for popup menus
Bug: 268521231
Test: Verify that popup menu colors match the figma attached in the bug
Change-Id: I24025576a789775dfcf17694d16c0d5f6ee844fd
2023-05-16 15:07:30 -07:00
fbaron
8463f6a771 Update folder preview and folder colors
Bug: 268521231
Test: Verify that folder preview and folder colors match the figma attached in the bug
Flag: no flag
Change-Id: Ica75cace98fc2643d59ad0c28cbad736b578c51d
2023-05-16 09:34:37 -07:00
Sunny Goyal
e7da062d9a Fixing WidgetBottomSheet getting cut off around insets
Bug: 265639220
Test: Verified on device
Flag: N/A
Change-Id: If595fde8e84a226aef82f41caa0be913b22d99c2
2023-05-05 23:15:31 +00:00
Sunny Goyal
8de4199463 Simplifying widget cell layout
Calculating the preview scale during onMeasure to ensure the
content is never clipped.

Bug: 268715418
Test: Verified on device
Change-Id: Ia0fd5ca3ccaae9644e043d75f810e91909a2aea0
2023-05-05 09:28:30 -07:00
Andy Wickham
830e4b7ce0 Add long swipe from app to overview gesture (with flag).
High level:
 - As you swipe up from an app (OtherActivityInputConsumer),
   a state transition animation to All Apps is created in
   AnimatorControllerWithResistance. The animation is played
   alongside the Recents resistance animation (i.e. past the
   settling point of Overview, which is at mCurrentShift 1).
 - The actual state transition to All Apps only happens if you
   release your finger in the "all apps region." This is set to
   mCurrentShift 2, so double the distance that Overview rests.
 - A haptic plays whenever you enter or exit this region, and
   the all apps animation is set to 0 until the region is
   active. This is so it's clear that something different is
   happening.
 - The panel that was previously used for tablets is now used
   for phones during this transition. It comes in at full
   opacity when you enter the region, and the contents (apps
   and search suggestions) fade in as you continue swiping.
 - The only gesture that is recognized in the all apps region
   is a fling downwards, which will return you to the previous
   app. Otherwise a left/right/up fling or slow release will
   finish the all apps transition.
 - The threshold is ignored if the flag is disabled (default)
   or if FallbackActivityInterface is active.

Flag:
The threshold is ignored if ENABLE_ALL_APPS_FROM_OVERVIEW is
disabled (default).

Bug: 259619990
Bug: 275132633
Test: Manual with and without the flag enabled
Change-Id: Ie311b77252416d97677b2c56fad61dfd392b6fe8
2023-04-26 10:52:04 -07:00
Jagrut Desai
64b79a9fad Merge "Exposing functionality to pin Taskbar from TaskbarDividerPopupView." into udc-dev 2023-04-21 16:15:07 +00:00
Jagrut Desai
c6d625b8db Exposing functionality to pin Taskbar from TaskbarDividerPopupView.
This CL allows user to long press on Taskbar divider view to bring up divider popup view. It also included functionality of allowing user to turn on always show taskbar from the divider popup view.

Test: Manual
Bug: 265436055
Bug: 265434718
Bug: 265434902
Bug: 265434705
Flag: ENABLE_TASKBAR_PINNING

Change-Id: Ied54d718483a9b06b053d68988e5c294a786002a
2023-04-20 22:04:21 -07:00
fbaron
328ca3811c Update colors for widget picker
Bug: 278157622
Test: Look at widget picker on tablet and verify that the colors match the new spec, and verify the portrait mode looks good also.
Change-Id: I634d876dfafc086806b233c500f7d8daddfe7b0b
2023-04-18 16:17:24 -07:00
Sunny Goyal
7b74a5c53f Merge "Revert "Revert "Revert "Simplifying some page indicator dots attributes so that it can"""" into udc-dev 2023-04-07 01:02:09 +00:00
Charlie Anderson
39fbf0e1a7 Merge "Prevents cropping of shortcuts in the app popup menu by limiting rows to available screen space." into udc-dev 2023-04-06 22:44:42 +00:00