Commit Graph

535 Commits

Author SHA1 Message Date
Uwais Ashraf aa7fa886d6 Add margins to top and bottom when grid only overview enabled
Fix: 299100244
Test: OverviewImageTest and dump tests
Flag: ACONFIG com.android.launcher3.enable_grid_only_overview TEAMFOOD
Change-Id: I22ebced5bf1e27974036d6e2ef72d2b8d63df824
2023-10-24 16:15:39 +00:00
Alex Chau c78c53c22a Migrate ENABLE_OVERVIEW_ICON_MENU to aconfig flag
Bug: 257951354
Change-Id: I47b1c1d422ce3c510ea22ea3e1feff0263ded177
2023-10-12 16:00:14 +00:00
Alex Chau 6ae2c4d77d Merge "Revert "Revert "Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig flag""" into main 2023-10-11 15:38:57 +00:00
Alex Chau 4989f4f36d Revert "Revert "Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig flag""
This reverts commit 7b5472f986.

Reason for revert: aconfig/SetFlagsRule actually works with TAPL tests (http://ag/c/platform/packages/apps/Launcher3/+/24991890/comment/8303a3c6_030ae00b/)
Bug: 270397206

Change-Id: I7529a64c3197e4c2b4d5fb1e46fb29bdea1e52e9
2023-10-11 14:08:22 +00:00
Alex Chau 09d8e2ca57 Merge "Revert "Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig flag"" into main 2023-10-10 12:26:21 +00:00
Alex Chau 7b5472f986 Revert "Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig flag"
This reverts commit 6f264a927b.

Reason for revert: Keeping old flag system so we can test in Tapl tests (b/283246928)
Bug: 270397206

Change-Id: I3e6364ebac8018facc3b22e510615735299a3dad
2023-10-10 10:38:04 +00:00
Alex Chau 2ca7481b04 Merge "Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig flag" into main 2023-10-05 15:40:17 +00:00
Fengjiang Li d31f9080aa Merge "Fix All Apps Icons Count estimation" into main 2023-10-03 21:57:36 +00:00
Fengjiang Li 6c59082697 Fix All Apps Icons Count estimation
We used to estiamte more all apps icons to pre-inflate than needed. This would reduce the post boot memory useage.

Test: Grab heap dump after device boot to verify number of BubbleTextView is reduced
Bug: 297352492
Change-Id: Ice3950b781fe7b5d7df2c0c5c7b7a316b5851bc7
2023-10-03 10:16:30 -07:00
Alex Chau 6f264a927b Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig flag
Bug: 270397206
Test: OverviewActionsControllerTest
Flag: enableGridOnlyOverview
Change-Id: I1519e0e8d5b8a7e294d2d310c1614e8462649031
2023-10-03 12:58:18 +01:00
Pat Manning 1695cc724c Create icon app chip menu for overview tasks.
Fix: 257951354
Test: TaplTestsQuickstep
Test: TaplTestsSplitscreen
Flag: ENABLE_OVERVIEW_ICON_MENU
Change-Id: Id8a14b1970ae42bcc74e95419caeaf52ef63638b
2023-10-02 12:51:56 +00:00
Jagrut Desai 3a7d139110 Add isTransientTaskbar as DeviceProfile Builder Property
- Breakout CL part 5
- This is a breakout cl from ag/24272821 to make it more readable and atomic.
- This cl consist of adding isTransientTaskbar as DeviceProfile Builder Poropety
- This cl alos consist a shared pref listener for taskbar pinning to update device profile.

Test: Manual, Visual
Bug: 265170176
Flag: ENABLE_TASKBAR_PINNING
Change-Id: I2ade751ffc8c59bd4b862b56c8ca7eb2aa05b7f2
2023-09-28 12:01:58 -07:00
Brandon Dayauon 3cdb32cc1f Do a vertical check for two line text, if it clips dont show two line.
Added extra 16dp to the cell height in DeviceProfile as per spec: https://docs.google.com/presentation/d/1dSt-zY_wRrOmd9a9nsQG458CIK0RUqVJsHJxLHP_0Nc/edit#slide=id.g237e909075a_2_6
Updated tests andincluded vertical check to see if two line can be fully rendered without being clipped. Otherwise just show one line.
Since existing cell height is 104dp, we add 16dp to be up to spec (120dp)
- Clean up FeatureFlag ENABLE_TWOLINE_ALLAPPS and now use aconfig flag

bug: 270390937
Test: manually - photos
Regular font: https://screenshot.googleplex.com/ArUcgZgHqR4ZWBQ
Bigger font than regular that makes text to one line because it wouldve truncate: https://screenshot.googleplex.com/6s8EdMAbBLsYhLi
Bigger font than regular with predicted app row (twoline):
https://screenshot.googleplex.com/38TEQei5GvPiCc7
Super big font: https://screenshot.googleplex.com/3JUYYprJRQ32Hsq
big display and regular font: https://screenshot.googleplex.com/55rBKVQ8htSe9Vc
big display and bigger than regular font: https://screenshot.googleplex.com/3atzKzJUbfM7YQW
flag: is off

Change-Id: I6998ea5da35d3e00ac75327d16b5ca676fb11c1a
2023-09-26 02:38:16 +00:00
Liran Binyamin 070be25853 Merge "Adjust the hotseat when the bubble bar becomes visible" into main 2023-09-15 17:48:41 +00:00
Uwais Ashraf 3602d1771f Set taskbar heights to 0 when taskbar is not present.
Bug: 289769344
Fixes: 289769344
Test: DeviceProfileDumpTest
Change-Id: I53f8a629c8adc12feb1fdf9f5b40b4a680c97b78
2023-09-15 15:17:07 +00:00
Alex Chau 0f7c0f4a53 Merge "Revert "Add debug log in InvariantDeviceProfile.minCellSize"" into main 2023-09-14 11:35:41 +00:00
Alex Chau 7ecd70cb0d Revert "Add debug log in InvariantDeviceProfile.minCellSize"
Revert submission 24736047-b/298077774_logs

Reason for revert: b/298077774

Reverted changes: /q/submissionid:24736047-b/298077774_logs

Change-Id: I2771484f3537380644c1e8b2d18485b360df5715
2023-09-14 09:59:37 +00:00
Liran Binyamin a833af316b Adjust the hotseat when the bubble bar becomes visible
When the bubble bar becomes visible the space between icons in the
hotseat is now adjusted. This change only does it when the QSB is
above the icons, but this will be changed in the future to be based
on the amount of space between the hotseat and the edge of the screen.

When the hotseat is adjusted, the new width is smaller by the size of
2 icons. The icons are then translated to be evenly spaced within the
boundaries of the new width.

Since the adjustment is only applied when the QSB is above the icons,
it is resized accordingly to the new width.

All visual updates currently snap to the new position, but will be animated
in a follow up.

Demo: https://recall.googleplex.com/projects/3391fc5c-599d-4827-b6f8-d2deb160aa99/sessions/fad1a5c5-e9cf-4586-92e4-1e92df3b002e

Bug: 280494203
Test: Manual (on tangor)
      - Set device to landscape
      - Make the bubble bar visible by adding a bubble
      - Rotate to portrait mode
      - Observe that the hotseat is adjusted
      - Rotate to landscape
      - Observe that the hotseat adjustment is removed
      - Rotate back to portrait
      - Observe that the hotseat is adjusted again
      - Dismiss the bubble to hide he bubble bar
      - Observe the hotseat adjustment is removed

Change-Id: I5b02a60b6cb301ffa2507a6d825c748a782cca18
2023-09-13 17:08:42 -04:00
Alex Chau 2ddd019a4c Merge "Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig" into main 2023-09-13 20:57:51 +00:00
Alex Chau e1955fe4b9 Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig
- Keeping FeatureFlags.ENABLE_GRID_ONLY_OVERVIEW for local testing until aconfig is available in FlagFlipper
- Still reference ENABLE_GRID_ONLY_OVERVIEW in tests as aconfig still can't be mocked

Bug: 270397206
Test: manual
Change-Id: I799e05311adc21184a6ad7ce92a3abdab3f25c25
2023-09-13 15:59:01 +01:00
Alex Chau 2014f50515 Add debug log in InvariantDeviceProfile.minCellSize
Bug: 298077774
Test: presubmit
Change-Id: I2a4d0a116a36b28c616ddcd18b3448fb2e2a7897
2023-09-12 19:31:21 +01:00
Thales Lima ec8265f437 Merge "Use transient taskbar check in split screen" into udc-qpr-dev am: a0e0069cbd am: 1a96167f44
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/24604848

Change-Id: I267243abb7a270eca7acb6c574ab97e9832faf07
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-07 11:40:26 +00:00
Thales Lima 8e11d531e8 Add new attribute to hotseat specs
Edge padding is used as the space between hotseat and the edge of the screen. In most cases it is used in a height spec, but for vertical bar, i.e. when a handheld is in landscape, it is used a width spec.

Fix: 292204436
Test: CalculatedHotseatSpecTest
Test: HotseatSpecsTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Test: DeviceProfileResponsiveDumpTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: Ib75ffcdd33925ee9ef156dcb70eefd133c9b458b
2023-09-05 16:31:06 +01:00
Thales Lima e95664077c Use transient taskbar check in split screen
The space that should be removed in split screen should check if there is a taskbar or not. Adding the transient taskbar property to DeviceProfile solves that without having to pass context around.

Fix: 289769344
Test: manual
Flag: N/A
Change-Id: Id0c51c4ec9481d3c206eef52d44094ec7a8c98cf
2023-08-30 16:35:12 +01:00
Jordan Silva d92271849c Fix hotseat border space crash GSI
Fix the calculation of the space between the icons for hotseat when the number of spaces needed is 0 or less.

Fix: 285834082
Flag: N/A
Test: HotseatWidthCalculationTest
Change-Id: I73bc1950277c01ac0ae7202c1e08bf45266b59b8
2023-08-17 16:02:01 +01:00
Thales Lima 19c41f5932 Merge "Create specs for hotseat" into udc-qpr-dev 2023-08-10 20:08:38 +00:00
Jordan Silva 3646a1b7e1 Fix workspace and hotseat paddings for responsive grid in landscape
Add paddings for workspace and hotseat when vertical bar is enabled.

Fix: 294033018
Flag: ENABLE_RESPONSIVE_WORKSPACE
Test: DeviceProfileDumpTest
Test: DeviceProfileAlternativeGridDumpTest
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Change-Id: I7358d2eb7b7c53b436756c21bd81d4746ea01801
2023-08-10 14:15:35 +00:00
Thales Lima f8bfb036ba Create specs for hotseat
Some attributes of hotseat change depending on the size of the device. In the future more attributes could be moved to the spec, e.g. hotseat icons.

Fix: 292204436
Test: CalculatedHotseatSpecTest
Test: HotseatSpecsTest
Test: SizeSpecTest
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: I6a4e05d75af819dbf1444a5ca45c2080f55dc203
2023-08-10 10:23:23 +00:00
Andy Wickham bc3bac4113 Revert^3 "Change Overview Actions to round buttons."
Awaiting UX alignment.

Test: N/A
Flag: N/A
Change-Id: I05e9627d8b44ea16d29445e005534af2a1abd439
2023-08-08 12:09:59 -07:00
Alex Chau 5225e83d71 Skip iconScale logic in responsive grid
Fix: 289198168
Flag: ENABLE_RESPONSIVE_WORKSPACE
Test: DeviceProfileResponsiveDumpTest, DeviceProfileResponsiveAlternativeDisplaysDumpTest
Change-Id: Iefe9ab3986a6d50ac920ba7bf417c0a8f254d878
2023-08-01 16:34:09 +01:00
Andy Wickham be8981442a Revert^2 "Change Overview Actions to round buttons."
f849f2856f

Fix: 293081298

Change-Id: Iaf1553770329ec3a6c6d8a2d9d81b60203e79ed8
2023-07-26 20:56:05 +00:00
Greg Kaiser b095594afd Merge "Revert "Change Overview Actions to round buttons."" into udc-qpr-dev 2023-07-25 16:44:28 +00:00
Greg Kaiser f849f2856f Revert "Change Overview Actions to round buttons."
Revert submission 23784078-overview-actions

Reason for revert: b/293081298

Reverted changes: /q/submissionid:23784078-overview-actions

Change-Id: I185cfc6baf8dd2243f6fb5a585c926f9df3b3934
2023-07-25 14:27:28 +00:00
Thales Lima d9f4d93cbf Merge "Add twoPanelId attribute for responsive grid in device profile" into udc-qpr-dev 2023-07-24 21:24:00 +00:00
Andy Wickham f98949cac3 Change Overview Actions to round buttons.
If floating search is active in Overview (flag enabled and we are
the active Launcher), these buttons will be aligned to the search
bar relative to the bottom of the screen. Otherwise, the buttons
will be aligned below the active task like before.

Demo for Launcher3 build:
https://drive.google.com/file/d/1fVzRRnW5AFDMPkW-E8_w4BOCzTAOURQ_/view?usp=drive_link&resourcekey=0-6-EbFZXkBqcu0rw7uuEzjw

Bug: 292000892
Test: Manual with floating enabled/disabled and
SEPARATE_RECENTS_ACTIVITY enabled/disabled (simulating not being
the active Launcher). Also tested with a 3P Launcher, Nova.
Flag: N/A; this change is enabled by default, but also verified
UI looks correct with ENABLE_FLOATING_SEARCH_BAR.

Change-Id: Ia45f88d2c691c4525b1e73cca4707498d058a917
2023-07-22 07:43:17 +00:00
Jordan Silva 575c3bddec Add twoPanelId attribute for responsive grid in device profile
Three new attributes were created to be used in device profile. These attributes will provide the responsive specs for two panel devices.

Fix: 292204121
Flag: ENABLE_RESPONSIVE_WORKSPACE
Test: DeviceProfileDumpTest
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Change-Id: I35c93e16dde043b0fd611b81bf2de74e3621818e
2023-07-21 12:00:43 +01:00
Jordan Silva c118fb5dea Implement responsive grid for foldables 4x4 grid
Bug: 277064862
Fix: 289888732
Flag: ENABLE_RESPONSIVE_WORKSPACE
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Test: ResponsiveHomeScreenImageTest
Test: ResponsiveAllAppsImageTest
Test: ResponsiveFolderImageTest
Change-Id: Idf21fc0dc71f9cea474dc9515a4695ccaf6bc094
2023-07-20 11:37:00 +01:00
Jordan Silva 8bd7af2b3f Improving responsive grid xml parser
Refactors AllAppsSpecs, FolderSpecs and WorkspaceSpecs initialization to use the same code to parse the xml with different map function. This CL improves the readability of the code and remove code duplication.

Fix: 286538013
Flag: ENABLE_RESPONSIVE_WORKSPACE
Test: AllAppsSpecsTes
Test: CalculatedAllAppsSpecTest
Test: CalculatedFolderSpecsTest
Test: CalculatedWorkspaceSpecTest
Test: FolderSpecsTest
Test: WorkspaceSpecsTest
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Change-Id: Iec5863619399efd2e80f3db46b75c4d785e1656f
2023-07-18 18:03:16 +01:00
Thales Lima 4cfd9509e6 Fix responsive folders
Fix: 284155638
Test: DeviceProfileResponsiveDumpTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: I462b696747343b154c1c39c0dc2075022623194e
2023-07-10 14:01:28 +01:00
Jordan Silva 12fae110b7 Decrease icon size by steps for folders
Resize the icon so that it fits within the cell. This will stop the icon from being cut off if it is larger than the cell.

Fix: 288075868
Test: DeviceProfileAlternativeDisplaysDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: I67c703d89bb7f54a457793490b8251584363dedc
2023-06-28 21:06:49 +01:00
Thales Lima 93ee8fcb30 Decrease the padding between app icon and label
The app icon size in XMLs are 10% larger because of http://b/235886078, so we need to remove that from the padding between the icon and the label.

Bug: 235886078
Fix: 279142287
Test: DeviceProfileDumpTest
Flag: N/A
Change-Id: I2662c30252dc4e06d4767dbe7125a99a02ce2b64
2023-06-28 16:12:52 +01:00
Jordan Silva 637f4eb2f3 Update DeviceProfile to calculate responsive grid for folders
It uses the new responsive folder calculations and specs when responsive grid is enabled. The grid has to have folderSpecsId defined to use the new specifications, otherwise it will use the current scalable grid implementation.

Fix: 284155638
Test: DeviceProfileDumpTest
Test: ResponsiveHomeScreenFolderImageTest
Test: HomeScreenFolderImageTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: I535cff4bb00e969f782447a898230fe2b2c05cc9
2023-06-21 12:18:58 +01:00
Thales Lima 2759aa345b Decrease icon size by steps
When the icon can't fit the cell size, decrease it by steps defined by UX until it fits or reach a minimum size.

Fix: 283929701
Test: DeviceProfileAlternativeDisplaysDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Test: IconSizeStepsTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: I2875b669c0a24ecd1c4d785a33e2cffb78c9fe76
2023-06-20 20:37:38 +01:00
Thales Lima abfe364629 Implement calculations of Responsive Grid for AllApps
All Apps follow the same sizes as the workspace, so we copy the measurements to AllApps values.

Bug: 284152932
Test: HomeScreenAllAppsImageTest
Test: DeviceProfileDumpTest
Test: HomeScreenResponsiveAllAppsImageTest
Test: DeviceProfileResponsiveDumpTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: I12743a6ac5ab5f1a8bc911511bdc7e12b2261d86
2023-06-16 10:19:19 +00:00
Thales Lima eb83006b0b Merge "Correct AllApps horizontal padding" into udc-qpr-dev 2023-06-13 11:04:47 +00:00
Andy Wickham bd9a180fbc Allow LauncherState to define floating search side margins.
This lets home screen align to workspace icons while All Apps
aligns with those icons. In addition, on tablets where the QSB
is inlined with the hotseat, floating search bar can also move
horizontally accordingly.

Bug: 275635606
Bug: 259619990
Test: Manual on tablet as well as foldable.
Flag: ENABLE_FLOATING_SEARCH_BAR

Change-Id: I67745c66390736cdf39d969ef7767096ae13c671
2023-06-13 00:28:59 +00:00
Andy Wickham 64896f3098 Put the "floating" in ENABLE_FLOATING_SEARCH_BAR.
This means adding the search view to the drag layer, so it can
persist and animate across Launcher states (i.e. Home, All Apps,
Overview, Overview from App).

Some high level things:
 - LauncherState now has a flag indicating if the floating
   search bar should be visible, as well as a method indicating
   how high it should rest when the keyboard is not showing. By
   default the height is set negative if the flag is not present,
   so the search bar will rest off screen in that state.
 - LauncherState also has a new method indicating if the search
   bar should show as a pill when not focused. Currently this is
   done in phone portrait mode in all apps and overview.
 - SearchUiManager now has a method for gestures to hint that
   the search bar will be focused or unfocused soon, e.g. for
   the app -> overview case, we hint that it will be focused
   when crossing the threshold, and unfocused if retracting.
   This allows the search bar to animate during the gesture
   and take or release focus after the state change completes.
 - AllAppsTransitionController lets the apps panel translate in
   from the bottom of the screen, for example when coming from
   an app and we don't want to pop it in halfway up the screen.
   Instead it can slide in gracefully from behind the keyboard
   and floating search bar.
 - KeyboardInsetAnimationCallback can now notify listeners of
   keyboard alpha changes during controlled animations. And
   StateAnimationConfig has a new animation type to control
   the keyboard alpha during the all apps transition.
 - This new ANIM_ALL_APPS_KEYBOARD_FADE is used to pop the
   keyboard in at the threshold for going from an app to all apps.
   Note that its position moves linearly before this, so the
   search bar starts moving up accordingly before the keyboard
   alpha is non-0.

Fix: 266761289
Fix: 268845147
Fix: 267683921
Fix: 265849321
Fix: 266446733
Fix: 269301440
Bug: 275635606
Bug: 259619990
Bug: 261866704
Test: Manual with all the state transitions on phone and tablet
(also folding/unfolding foldable).
Flag: ENABLE_FLOATING_SEARCH_BAR, ENABLE_ALL_APPS_FROM_OVERVIEW
(latter just for the background app interpolator changes).

Change-Id: I6f06552e95747348a62260279626cf407bf145b0
2023-06-12 21:55:24 +00:00
Jon Miranda cc51c84a46 Merge "Update taskbar paddings/sizes to match spec." into udc-dev am: 10b3e64d51 am: b6e38fb23f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23597945

Change-Id: Ib7fa92acf0049fae35b9dbb1c5b2676dc204556a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 01:33:29 +00:00
Thales Lima 0bd7a37971 Correct AllApps horizontal padding
There was one extra border space being added to handheld, which makes AllApps and Workspace icons to not align.

Fix: 284151671
Test: DeviceProfileDumpTest
Test: HomeScreenAllAppsImageTest
Test: DeviceProfileResponsiveDumpTest
Test: HomeScreenAllAppsImageTest
Flag: N/A
Change-Id: I6e4a0d93336a3c59db2a25805d90adfaf7a231cf
2023-06-08 12:09:24 +01:00
Jon Miranda 95f4472ba9 Update taskbar paddings/sizes to match spec.
Bug: 282798528
Test: manual with screenshots
Change-Id: I00c646d9cd11a9015e14f8311ba2ff233d8321ac
2023-06-07 11:19:50 -07:00