The bug is caused by launcher saving the grid name and using that grid name
to look for matching display options. This makes sense when changing the grid
size, but doesn't work well when changing the display size.
Example: Initial Pixel display size is set to Default, so we save "normal" as
the KEY_IDP_GRID_NAME. When we change display size to Largest, the
KEY_IDP_GRID_NAME is still "normal" and so we only look at display options
under "normal". Before this, Pixel with display size set to Largest would be
set to "reasonable".
This should be safe change for Q, and we can have a proper fix when we
officially support changing grid size.
Bug: 131867841
Change-Id: If5f3b0a13b90069973e929024b26bd9b9c45a7d8
A previous change [1] introduced the material library as a static library
for the SecondaryDisplayLauncher. The material library defines a
resource "attr/iconSize" with format="dimension" while Launcher3 defines
a resource of the same name with format="float". The material resource
is being overriden by the Launcher3 resource and is preventing aapt2
from disallowing multiple definitions of the same attribute with
different formats.
This change renames the Launcher3 iconSize so it will not collide with
the material resource.
[1] If183dd35a1d197c4a9a8225a021e36c4f1662587
Bug: 129146717
Test: build success and inspection of generated apk
Change-Id: I5eb54ea606ddcfb47d5150b44906a8707203e905
> Removing unnecessary threading logic and the code was running on main thread anyway
Bug: 118757840
Change-Id: I7a012db5a0dbe2c23bd6ff2cd39679a803731ee8
Device profiles are defined such that the grid size is fixed
and only the icon and text sizes change. For every grid size option
there are multiple display configurations.
Bug: 118758696
Change-Id: I54aac9106c576324b02530913c447e849b4ae1da
Separating InvarantDeviceProfile out of LauncherAppState and creating
LauncherAppState only when it is actually used
Change-Id: I2ee55f53cae01f11203f94675bb5f70c65ad2b9d
> Refactoring RecentsView to a common base class
> Moving some dependency form Launcher to BaseActivity
> Using the Recents view in RecentsActivity
Change-Id: Ie0e6741d356291e77420798c140c999121de3a0d
Derivative projects can extend the FloatingHeader to add support
to custom content in all-apps screen.
Change-Id: I4e29221a72e5a077a756713a6774cda7ecde8f1b
This is the just first CL to get eyes on the changes.
Next CL will update the All Apps to be full width.
Bug: 37015359
Change-Id: I2d7ec6851fdc13b8fa654e7e2be3152330243ccc
- Adding DeviceProfile callback for when the launcher layout changes due
to insets. This is necessary since there are now different layouts
depending on which side the navigation bar is on
- Consolidating hotseat and other layout into the device profile
launcher layout logic
- Making the all apps icons match the workspace icon height
- Tweaking caret drawable to draw to the bounds specified to simplify
layout in each orientation
- Fixing minor issue with page indicator shifting in landscape
- Centering overview buttons to the workspace page
Bug: 30021487
Change-Id: I1866bce00b2948f3edd06168c0f88d81207e3f13
The grid is migrated in steps where each step consists of at max one column change and at max one row change.
Adding some unit tests for GridMigrationLogic
Bug: 25958224
Change-Id: Ie54e872ea0925cc4c463edbba0a7201d62b373a0
For hotseat migratino, we simply drop the items with least weight
If the workspace row/column decreases by 2 or more, we clear the whole workspace
Bug: 25958224
Change-Id: I7131b955023d185ed10955f593184b9238546dc8
Fixing default configurations for some screen sizes.
> Negative values for x and y are parsed as distance from end
column and row respectively. e.g. (-1, -2) => (3, 2) in a
4x4 grid
Bug: 26110981
Change-Id: I4ca30e225ed6e2a31610ab23235d2cd10e8d317c
> Less than 14% of the screen is used for left/right workspace padding.
(To be clear, this means 7% for the left and 7% for the right.)
> Hotseat icons are the same size as workspace icons.
> Far left and right hotseat edges line up with workspace edges.
> All Apps button is scaled down 8dp.
Bug: 24003478
Change-Id: Idb057ab0f6ba29e7fd93feac7573ca2e07c7e839
Without this change, Nexus 4 uses the Nexus 5 device profile and
vice versa. But because the profiles have exactly the same values,
it didn't matter that they were flopped.
Change-Id: I3fd788e040feb8de5bb5f5e336acbd4ac995dc0f