Adds desktop enum value to grid option deviceCategory attribute type.
The device type is used for devices that have
`R.bool.desktop_form_factor` config value set.
Bug: 30153091
Flag: com.android.launcher3.enable_scalability_for_desktop_experience
Test: Manual
Change-Id: Ie4747b5bae3e124e914af51445778c9b6285ff66
Makes the grid size format more flexible, as it allows the min width and
height to be easily defined either as px, or dp (which may be
preferable for upcoming desktop grids - I noticed that scaling display
size may end up with too tightly packed grid when using pixel sizes
to select the correct grid size).
Test: Existing tests
Bug: 375643744
Flag: EXEMPT cleanup
Change-Id: I09b772ece177fe0539a1ff641ff2391e88d9e289
- CD grids should override startAlignTaskbar.
- The DP.toBuilder method should carry forward DisplayInfoSpec instead
of always recalculating.
Fix: 416276424
Test: m
Flag: EXEMPT updating recently added logic
Change-Id: I7b1cb8eab5fedc09b29e96a765d1341655474e8a
- This is required to show a half width all apps sheet on external
monitor connected to the phone. Without this the apps sheet covers the
full width of the external monitor in projected mode.
- Create a new class to hold all the properties that need to be
overridden. Set this class as part of DP buider.
- Override all props that are overridden for isTwoPanels.
- Update isTwoPanels to override using the new class in DP constructor.
Flag: com.android.window.flags.enable_taskbar_connected_displays
Bug: 414342881
Test: m
Change-Id: Ia035620c96c5a8912b99314014d4b19a125c7c5c
When upgrading from non one grid to one grid, we should do the row
shift migration type, here we are logging data to make sure that is what
happens on upgrade
Flag: EXEMPT logging
Test: n/a
Bug: 393175684
Change-Id: Id09257094bc9bc44da757c73a4f63bf15987772c
We flag guard the code that modifies IDP as that's not needed with one
grid, and we don't want to modify idp outside of it
Bug: 332974074
Flag: com.android.launcher3.one_grid_specs
Test: verified manually with b&r
Change-Id: Ica2ffa79638fa693cde421adb13feebb0d09cbc4
The order of initialization for IconShape is closely tied to ThemeManager
which makes it difficult for change listeners to work. Merging these keeps
all the theming information at one place
Bug: 381897614
Test: Updated tests
Flag: EXEMPT refactor
Change-Id: Ie29efa20c3308a24be3e284c1c93ed7444b68d58
Unless explicitly annotated, parameters in java are by
default nullable. There are a few cases where a null context
may be passed to the unregisterReceiverSafely function
of SimpleBroadcastReceiver.
To mitigate misuses or incorrect contexts being passed for
register vs unregister, keep the context as a strong reference
in the constructor.
Also added NonNull annotations for any public callsites to
enforce behavior.
Bug: 395019017, 395966395
Flag: NONE - bug fixed
Test: manual - presubmit
Change-Id: Ie371fa45cadceaf51cf184b446df9123ef27c337
XL and large grid icons were showing up with the flag off
Bug: 395139926
Test: ValidGridOptionsTest
Flag: com.android.launcher3.one_grid_specs
Change-Id: If6b077ce854341563d8c2fbefd741b598b77a7a8
.toList() was only introduced to android in api level 34, which is newer than
this module's min_sdk_version. Replace it with .collect().
This was found while updating android lint.
Flag: EXEMPT refactor
Bug: 394096385
Test: Presubmits
Change-Id: Id8d1de1531b67a7daf448e45592b7ef78f685fc2
IPD#reset() was resetting the internal IDP dbFile to the factory default instead of current grid/db
This lead to LoaderTask and grid migration creating an empty DB for the wrong grid size, while the restored DB remained unused. Leading to an empty home screen because an empty DB file was used.
Bug: 377510898
Flag: EXEMPT bugfix
Test: manually testing backup & restore with various grid sizes
Change-Id: I709201e484afb8f12a4fde21198d2c5793d89ca1
Bore it was only updated when the device was innitialized,
but other changes to the IDP would not udpate the GRID_NAME pref.
Fix: 380954618
Test: NA
Flag: com.android.launcher3.one_grid_specs
Change-Id: I4fa73a4b838c0d0c7c1c88ea91c62ac8ae6676b7
-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
> 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
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
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