Commit Graph

230 Commits

Author SHA1 Message Date
Sebastian Franco 394a7e64f8 Changing name of RowCount to GridDimension to be more general
Bug: 364711064
Flag: com.android.launcher3.one_grid_specs
Test: HomeScreenImageTest
Change-Id: I7ca46babf0c4ce647a4c98a7dd0326b35450479f
2024-11-14 18:58:16 -08:00
fbaron 6c91ef9191 Add OldGrid field for GridOption so we can properly filter out the old grids when the flag is on
Bug: 364711064
Flag: com.android.launcher3.one_grid_specs
Test: NexusLauncherImageTests, DeviceProfileDumpTest
Change-Id: I8e3ff70d2f3008d1de7c8419290ff44c18c72e70
2024-11-13 11:31:50 -08:00
fbaron c1b68f4f6d Add mounted mode image tests and remove some image tests for OneGrid
Bug: 364711064
Flag: com.android.launcher3.one_grid_specs
Test: HomeScreenImageTest, AllAppsImageTest, FolderImageTest
Change-Id: I1d51596d50d63b00614a2efd342cce72d9a4af8e
2024-11-09 01:21:40 -08:00
Sebastian Franco 9e4c99befd Adding Launcher Mode settings to Launcher settings
Bug: 364711735
Test: NA
Flag: com.android.launcher3.one_grid_specs
Change-Id: Iab688ebdb8449f9258b61f59a0afe97875f82a81
2024-11-07 21:17:10 -08:00
Federico Baron 56307d2cf4 Fix failing robo test TaskbarStashControllerTest#testRecreateAsTransient_timeoutStarted
Flag: EXEMPT bugfix
Test: TaskbarStashControllerTest#testRecreateAsTransient_timeoutStarted
Bug: 377256218
Change-Id: If326525a6186eb8f3cfd3e22a979828ce37e87ba
2024-11-07 04:15:16 +00:00
Treehugger Robot 230b2f50a7 Merge "Fix flag guarding for oneGridRotationHandling" into main 2024-11-06 17:04:05 +00:00
fbaron 49f7df0444 Fix flag guarding for oneGridRotationHandling
Bug: 364711064
Flag: com.android.launcher3.one_grid_rotation_handling
Test: n/a
Change-Id: Ic0027bf82912bf56470a8abc29880599820b3352
2024-11-05 16:29:26 -08:00
fbaron 8f26e042b2 Remove flags that are no longer necessary
Flag: EXEMPT code cleanup
Test: GridSizeMigrationTest
Bug: b/325286145, b/325285743
Change-Id: I056021c299b56a186b754b94b33509d0b01816e0
2024-11-05 14:22:37 -08:00
fbaron ebc10c9ecc OneGrid Grid Option Updates
Bug: 330900048
Flag: com.android.launcher3.one_grid_specs
Test: n/a
Change-Id: I919195dbc7ac78c3be42f0f9d7620193a24d7e99
2024-10-30 11:38:09 -07:00
Brandon Dayauon 51db65ee49 Add trace logs in Launcher for perfetto to investigate two line issue
bug:375267130
Test manually screenshot:
onIdpChange: https://screenshot.googleplex.com/ASbyGFoAhTXgnWK
statefulActivityOnConfigChange: https://screenshot.googleplex.com/gLqxeJN7TzUURCy
Flag: NONE adding traces to perfetto

Change-Id: Ib2ac49fb8668fdfc91c8e38b91a4afd10127a4c5
2024-10-23 22:59:58 -07:00
fbaron b633b9aa2b Fix for bug where we don't use default grid on comet, and migrate normally if not in a B&R case
-The grid migration where we just copy the grid and move everything one row up should only occur in a B&R scenario, so now we add that restriction
-We should default to 4x5 in comet if migrating from a 4x4 grid if the device we're migrating from does not have any other grids saved
-if we have other grids saved, then we'll try using the saved grid if possible. If not possible, we use the default grid for the new device

Bug: 360462379
Test: GridSizeMigrationUtilTest
Flag: EXEMPT bugfix
Change-Id: Ia905081046431c08dc058bd61b2b4ab42dee0506
2024-09-24 16:52:05 -07:00
Jagrut Desai 2e8ca87c21 Taskbar in Desktop Windowing Mode
Test: presubmit
Bug: 330146462
Flag: NONE
Change-Id: Ib33f90704c3010df6a52e2a1c420960b11dbd0d4
2024-05-01 09:29:24 -07:00
Sunny Goyal 10fa016352 Fixing MainThreadInitializedObject
> Making SafeCloseable implementation mandatory, to prevent leaks during test and preview
> Removing getNoCreate method and defining executeIfCreated to avoid null pointer exceptions
> Fixing sandbox value leaking into main, by Checking sandbox against App context
> Converting sanbox to an interface instead a class

Bug: 335280439
Test: Presubmit
Flag: None
Change-Id: I951dcde871898e745ff6490a1c4f8fd1512888f5
2024-04-22 17:04:33 -07:00
Sunny Goyal a82ce1feda Merge "Making moving getDisplayType to DisplayController so that it can be accessed without IDP" into main 2024-04-18 05:51:58 +00:00
Sunny Goyal 25c4276ba9 Making moving getDisplayType to DisplayController so that it can be accessed without IDP
Bug: 335280439
Test: Presubmit
Flag: None
Change-Id: Ib1ef3c970a56044c81e36c4af67981715fe50a9e
2024-04-17 10:39:50 -07:00
Federico Baron 6188ec4157 Merge "Make hotseat column span responsive" into main 2024-04-16 17:17:55 +00:00
fbaron e4b0b71faa Make hotseat column span responsive
Flag: NONE
Test: DeviceProfileDumpTest, DeviceProfileAlternativeDumpTest, HomeScreenImageTest
Bug: 325084912
Change-Id: Ifa9e8066662a1ab053f66b8800b739d813d2dab8
2024-04-16 06:19:16 +00:00
Sebastian Franco df7d2b0861 Set default grid when doing a backup and restore
When restoring from a tablet because phones don't have
the same table some issues can ocure because we setup a
non valid grid, the correct thing is to setup a default.

Bug: 325285743
Fix: 332964986
Flag: ACONFIG narrow_grid_restore enabled
Test: BackupAndRestoreDBSelectionTest
Change-Id: I28bf02e83dddf5ae84818d879a5e21600eddf67e
2024-04-05 08:53:32 -07:00
Sebastián Franco ad46eb75f4 Revert^4 "Removing all restored backups except one so we don't have old backups"
To prevent the error I introduce the method restorePreviousState().

This reverts commit 1234090589.

Reason for revert: Fixing presubmit breaks

Bug: 325285743
Flag:  ACONFIG narrow_grid_restore disabled
Test: BackupAndRestoreDBSelectionTest
Change-Id: I63666c29eb91dada4243af019ab0538c40bc0f78
2024-03-12 11:01:26 -07:00
Sebastián Franco 1234090589 Revert^3 "Removing all restored backups except one so we don't have old backups"
This reverts commit 4b960d1f11.

Reason for revert: Breaking presubmit, no bug number yet 

Change-Id: I0bafad8bf63fae1d9408b65c6c18c79ab5d40d05
2024-03-11 20:15:24 +00:00
Sebastián Franco 4b960d1f11 Revert^2 "Removing all restored backups except one so we don't have old backups"
This reverts commit 3306fa5325.

Reason for revert: Fixing issue that caused b/328782012

Change-Id: Ib6a1bbfeedf608f5f77ac6be500271e811320f32
2024-03-08 18:53:57 +00:00
Sebastián Franco 3306fa5325 Revert "Removing all restored backups except one so we don't have old backups"
This reverts commit bd43b9344f.

Reason for revert: b/328782012

Change-Id: I1666fbd63d82da06ed8c3d9ce58b5ed6b298618b
2024-03-08 18:42:30 +00:00
Sebastian Franco bd43b9344f Removing all restored backups except one so we don't have old backups
Adding test to make sure this is the case.

Bug: 325285743
Flag:  ACONFIG narrow_grid_restore disabled
Test: BackupAndRestoreDBSelectionTest
Change-Id: I84c3a92f40598137d5c5c52d34af7583b384122c
2024-03-07 11:23:55 -06:00
Jordan Silva d29f0644f2 Update the device twoPanelId specs to use the default spec when it is not defined
In some situations, DeviceProfile is recreated with an invalid InvariantDeviceProfile leading to a crash, because it tries to use an non existent responsive grid spec. To prevent the crash, we are update the responsive grid two panel specs to use the default spec when two panel spec is not defined.

Bug: 317993862
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Test: NexusLauncherImageTests
Test: DeviceProfileDumpTest
Test: DeviceProfileAlternativeDisplaysDumpTest
Change-Id: I8b8095745787ad47b006892452a54942f981713e
2024-01-10 15:11:26 -03:00
Jordan Silva 2de6a277b7 Update responsive grid spec cell size remainderSpace logic
Refactoring the cellSize spec of responsive grid to divide the remainder space in code instead of dividing by cols/rows in the spec definition. For example, instead of using 0.2 in the spec for 5x5 grid (1 / number of rows), it is going to use 1 (100% of the remainder space) and divide the percentage by the number of cols or rows in code.

Fix: 313621277
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Test: NexusLauncherImageTests
Test: CalculatedWorkspaceSpecTest
Test: DeviceProfileDumpTest
Test: DeviceProfileAlternativeDisplaysDumpTest
Change-Id: Ifaec838ac9751562ecedc1fe39b966ee3d092de3
2024-01-08 19:40:01 -03:00
Andy Wickham 99d7d4f2cb Better handling of insets for All Apps.
Changes:
 - For tablet, always center All Apps without applying additional
   insets for things like cutouts.
 - For tablet, allow the panel to span the full height of the
   screen (minus system bars), rather than 5.5 app rows. This also
   ensures the panel fully closes even if there are cutouts.
 - Remove additional padding for vertical bar mode (landscape on
   phones). This was double counting the cutout insets, but only
   for some views, so things were not aligned. Now the apps line
   up with the search bar, and the scroll bar still makes room for
   any side insets.

Before and after examples:
https://drive.google.com/drive/folders/1k0vSzisf4ZuGyp-qR-IF0QwM-IcHBFrZ?resourcekey=0-uxjzuVQ1KA3WwOQ4v6Dh2w&usp=drive_link

Bug: 299923399
Bug: 259617884
Fix: 300761324
Test: Manual
Flag: NA
Change-Id: I136d516260a1343b1198693c73fa389fe0e11cc9
2024-01-03 19:21:01 +00:00
Charlie Anderson 861c2eed78 Merge "Adds more in depth logging of Launcher restore functionality" into main 2023-12-12 20:30:19 +00:00
Charlie Anderson c61288e271 Adds more in depth logging of Launcher restore functionality
Test: locally
Flag: N/A
Bug: 294386159
Change-Id: I810239047480090911c54dbe65a4aad8515f640c
2023-12-12 11:04:52 -05:00
Thales Lima 1faa4edc42 Make numFolderRows/Columns accept more values
InvariantDeviceProfile hold values that are not related to current DP in use. Now other classes get the value correctly from DeviceProfile, and each posture can hold different values, making it akin to iconSize.

Fix: 309800141
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Test: DeviceProfileDumpTest
Test: DeviceProfileAlternativeDisplaysDumpTest
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Change-Id: I32295738585de67205dcd6c8942d08a3d07d169a
2023-12-08 22:00:48 +00:00
Thales Lima 09d42d5340 Revert "Make numFolderRows/numFolderColumns accept more values"
Revert submission 25438456-5x5_folder
Reason for revert: http://b/313567919
Reverted changes: /q/submissionid:25438456-5x5_folder

Revert "Use DeviceProfile numFolderRows and numFolderColumns"
Revert submission 25313018-numFolder
Reason for revert: http://b/313567919
Reverted changes: /q/submissionid:25313018-numFolder

Change-Id: I4890016e310c0a2122861f36fcdbf33e98e727c0
2023-11-30 11:47:37 +00:00
Thales Lima 24051842c7 Make numFolderRows/numFolderColumns accept more values
Now they can hold values for different configurations, making it akin to iconSize.

Bug: 309800141
Test: DeviceProfileResponsiveDumpTest
Test: DeviceProfileResponsiveAlternativeDisplaysDumpTest
Test: DeviceProfileDumpTest
Test: DeviceProfileAlternativeDisplaysDumpTest
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Change-Id: I9d5cccda88a0311dbe0beecef194cc8d60c5c280
2023-11-24 15:54:56 +00:00
Jordan Silva 999dd2a06f Extract cell size information to responsive grid structure
Bug: 287975993
Flag: ACONFIG com.android.launcher3.enable_responsive_workspace TEAMFOOD
Test: ResponsiveCellSpecsProviderTest
Test: DeviceProfileDumpTest
Test: DeviceProfileResponsiveDumpTest
Change-Id: I26a87d9b690fdfcff1599d862c09e97fe9f9f930
2023-11-24 12:39:36 +00:00
Alex Chau c09a98a87d Use WindowConfiguration to match DeviceProfile in IDP.getDeviceProfile
- Also fix WindowBounds.isLandscape to use full display bounds to determine isLandscape, otherwise both orientation will be treated as isLandscape when using availableSize

Bug: 309801705
Test: manual and presubmit
Flag: NONE
Change-Id: Ic7f4235e620d4760a9af356f23066fe5b23304e6
2023-11-14 18:38:51 +00:00
Pat Manning 24cec69361 Revert "Revert "Combine icon app tests to allow overriding flag ..."
Revert submission 25032768-revert-25007147-tapl-flag-SBORVHYDTI

Reason for revert: Resubmitting for b/304470271

Reverted changes: /q/submissionid:25032768-revert-25007147-tapl-flag-SBORVHYDTI

Change-Id: Ib0bd13a5c2a366160b185a2c6409c607ed7525a1
2023-10-17 15:56:48 +00:00
Tyler Freeman 1468467706 Revert "Combine icon app tests to allow overriding flag for new ..."
Revert submission 25007147-tapl-flag

Reason for revert: Breaks build: https://b.corp.google.com/issues/305033049

Reverted changes: /q/submissionid:25007147-tapl-flag

Change-Id: I99b5883e64ae25476394a4207c5d6a4d22fc27dc
2023-10-12 18:04:05 +00:00
Pat Manning 236e738907 Combine icon app tests to allow overriding flag for new icon app chip menu testing as well.
Platinum exlude cl update: cl/572225659

Test: TaplOverviewAppIconMenuTest
Test: TaplAppIconAppChipMenuTest
Bug: 303329286
Bug: 303266562
Fix: 304470271
Change-Id: I4ca163401d6a42961e8955e06c164af0254b1231
2023-10-12 14:53:08 +01: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
Thales Lima ca31b6105e Migrate ENABLE_RESPONSIVE_WORKSPACE to aconfig
- Keeping FeatureFlags.ENABLE_RESPONSIVE_WORKSPACE for local testing until aconfig is available in FlagFlipper
- Still reference ENABLE_RESPONSIVE_WORKSPACE in tests as aconfig still can't be mocked

Bug: 299935275
Test: manual
Change-Id: I092df894a3624dca6b9d381d56ada71d807547b5
2023-09-25 16:25:15 -07:00
Sebastian Franco f376613a5b Disable FOLDABLE_SINGLE_PAGE
ENABLE_TWO_PANEL_HOME is no longer used so I will also
remove it.

TwoPanelWorkspaceTest was expecting an icon on the hotseat
which no longer exist.

We will use the new flag system in main for this
feature.

Test: atest ReorderWidgets
Test: atest FoldableIntegrity
Bug: 270395274
Change-Id: I122a924a81ae989ff5636d8e276d6d31bbe0877d
2023-09-12 18:19:53 +00:00
Charlie Anderson c9d11e8208 add logging for Launcher backup and restore events
Test: Manually verify logs
Bug: 294386159
Change-Id: Ic3a77f4a09556e0d769837129e0bd094f1e91b6b
2023-08-16 13:24:22 -04:00
Thales Lima 19c41f5932 Merge "Create specs for hotseat" into udc-qpr-dev 2023-08-10 20:08:38 +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
Sebastián Franco 1f4d56c01e Revert "Remove flags ENABLE_TWO_PANEL_HOME FOLDABLE_WORKSPACE_REORDE and FOLDABLE_SINGLE_PAGE"
This reverts commit 76a1ceb5f2.

Reason for revert: Add flag back to turn it off for further testing

Bug: 270395274
Merged-In: I10b9e99734b14cbbe8d1190300493099a1f28a24
Change-Id: I10b9e99734b14cbbe8d1190300493099a1f28a24
2023-08-09 20:43:47 +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 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 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
Sebastian Franco 76a1ceb5f2 Remove flags ENABLE_TWO_PANEL_HOME FOLDABLE_WORKSPACE_REORDE and FOLDABLE_SINGLE_PAGE
Fix: 270392643
Fix: 270395070
Fix: 270395274
Test: atest FoldableItemsIntegrity
Change-Id: I2d7af312da8aeb070588ca94a2a256d2def65eeb
2023-06-12 18:05:22 -07:00
Thales Lima ec5abba93b Add feature flag and attribute for responsive grid
This shouldn't change anything in the grids, only support the creation of responsive grids in the future. For now, to check that the flag works, turn it on and check the dumpsys. There is also a dump test created for this.

Fix: 277064696
Fix: 277064702
Test: DeviceProfileResponsiveDumpTest
Flag: ENABLE_RESPONSIVE_WORKSPACE
Change-Id: I1bef87043a100234bd661cd6ac00007fdc654116
2023-05-09 12:06:18 +01:00
Sunny Goyal 6c304b157d Always insetting the widget by a minimum of 6dp
Removing default widget padding logic. Also widget padding it applied
at ShortcutAndWidgetContainer so that the widgetView always has the
correct size.

Bug: 274826296
Bug: 257589413
Test: Verified using screenshots
Flags: N/A
Change-Id: Id4b5e94db6ec7b2aa3dca87b1e9ccc831b608cac
2023-05-03 12:18:33 -07:00
Sunny Goyal 1ae46ca868 Moving all DB management logic from LauncherProvider into a separate class
This would make it easier to move the controller to LauncherModel

Bug: 277345535
Test: Presubmit
Flag: N/A
Change-Id: I4d044cf41361f400968ef65e18de5d3976fcdec7
2023-04-11 11:46:40 -07:00