Commit Graph

591 Commits

Author SHA1 Message Date
Jordan Silva f2402e25f1 Refactoring Responsive Grid XML specs for more flexibility
It merges portrait and landscape XML specs for responsive grid. This update allows the responsive grid to rely on other properties like aspect ratio and not solely the orientation from resource qualifiers.

Bug: 299889733
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Test: CalculatedAllAppsSpecTest
Test: CalculatedFolderSpecTest
Test: CalculatedHotseatSpecTest
Test: CalculatedWorkspaceSpecTest
Test: AllAppsSpecsTest
Test: FolderSpecTest
Test: HotseatSpecsTest
Test: WorkspaceSpecsTest
Change-Id: I39ee54d49c9d2a54fcbe91c8a1327a21a8126032
2023-11-07 11:51:28 +00:00
Thales Lima e9b5e14a2b Use new icon stepping logic for Folders
Bug: 307694237
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Test: ResponsiveFolderImageTest
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Change-Id: Ifbfb714e48c2e0851ef55ac60cadafbb6358d074
2023-11-04 17:10:13 +00:00
Thales Lima b433c9c312 Change AllApps padding to use a Rect
AllApps uses different values for left and right padding in some places (e.g. ActivityAllAppsContainerView uses workspacePadding.left/right), and this change is the first step into moving those values into DeviceProfile.

Bug: 269632571
Test: NexusLauncherTest
Flag: NONE
Change-Id: I14c4edf55ca74f256b1aaa336fff246a0c78e25d
2023-10-31 16:19:40 +00:00
Uwais Ashraf 6eb006ed90 Merge "Add margins to top and bottom when grid only overview enabled" into main 2023-10-25 13:53:24 +00:00
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
Thales Lima bba07729b2 Remove app labels in isVerticalBar
Bug: 296400197
Test: ResponsiveHomeScreenImageTest
Test: ResponsiveAllAppsImageTest
Test: DeviceProfileResponsiveDumpTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: Ia508c1b909df3fff5768b39e90275bf914b6f1c4
2023-10-24 13:07:22 +00:00
Thales Lima 24ceca6993 Decrease text size if it doesn't fit the cell
Bug: 293467738
Test: ResponsiveHomeScreenImageTest
Test: ResponsiveAllAppsImageTest
Test: DeviceProfileResponsiveDumpTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: Ic0b2d3cde1d4b8b9089f93b96c9bb386247603ce
2023-10-24 13:07:22 +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