With adaptive icons, we can have FloatingIconView match the shape
and size of the closing window, regardless of the icon shape.
FloatingIconView starts off as a rounded rect (same corners as task view)
and then morphs into the icon shape using FolderShape#createRevealAnimator
in reverse.
Decided to add FeatureFlag.ADAPTIVE_ICON_WINDOW_ANIM since there are still
some issues with folders, badges, and a visible jump when swapping the
FloatingIconView with the original icon.
Bug: 123900446
Change-Id: I94969eea6d5f4b932a84a11eb403611276042b46
If the ENABLE_HINTS_IN_OVERVIEW flag is enabled, pulls chip hint
data (currently from the NavBarHint plugin; eventually from AiAi)
and shows the chips between the task view screenshot and the QSB.
Screenshot: https://screenshot.googleplex.com/Ww05W13XjBv
BUG:124390101
Change-Id: I7686673b705257eca31f2fa40e2744e197153c7c
- Created FloatingIconView which is now used by both the app close and
app open animation.
- getItemLocation in DeviceProfile is used to get an item's final location
since getLocationOnScreen may return a View's location mid-animation.
- Added getFirstMatchForAppClose which is optimized to return for best
visual animation.
- Also fixes app open RTL bug.
- Next CL will use AdaptiveIcons and FolderShape reveal animator to match
the app icon to the app window.
Bug: 123900446
Bug: 123541334
Change-Id: Ief75f63fc5141c1ee59d4773946d08794846cb31
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
This will reduce confusion with the other "badging" concept we use for,
e.g. work profiles. It is also consistent with the external name
"notification dots".
Change-Id: I2a2c9d96dc0d6284eb0c48adc78a856271caad4d
- Rename BadgeRenderer to DotRenderer
- Move drawing parameters to new class DrawParams
- Add leftAlign param
Change-Id: I69de56c13280ba5e7e1ea3868c23edfac01012e9
Bug: 115891474
Sending out the package name changing CL first before I make
LauncherIconsHandler and tests around it.
Change-Id: Ic10479a06333e1435b392a7072cd08782e710cbd
We need to account for both sides in the folder margin calculation.
eg. in MW mode with display set to Largest, the folder can reach both edges
Bug: 115955939
Change-Id: I145c8c1c2a75891eb3386284f06fc98800fe5ce9
* Number of hotseat icons matches number of workspace columns.
* Evenly space out the workspace icons.
Bug: 111617973
Change-Id: Ia80e6354c8d449f2a397db5fd432cebc9f23027f
* Extend page indicator so that its centered within the gap between
the workspace items and hotseat.
* Decrease the amount of extra space we allot to the hotseat.
* Add the extra space to the hotseat bottom padding so that the hotseat icons
are aligned to the top of the hotseat.
Bug: 78589630
Change-Id: I78c619a757d9d248874216e93376ad4ba18c8e50
Right now there's almost no room between the hotseat icons and the
nav bar in this mode, and it looks kind of bad. It also causes
b/109946631 which is fixed by this change.
Also fix placement of popup in RTL landscape (was incorrectly inset)
Bug: 109946631
Change-Id: I324485da0048b907776b16b719b631c5314e5696
> PageIndicator is a 1dp indicator which does not contribute in any padding calculations
Bug: 79111591
Change-Id: I4d8be0149da2b3f14593ae71ca037ffe3885d9be
Insets may not correctly indicate seascape configuration in multi-window or
when the presence of device-cutouts
Bug: 79376298
Change-Id: I8268efca0001fe527a0ffefe48cc71e774fad01c
In full screen always follow the device aspect ratio
In multi-window, follow the 1:1 split window size
Rotate the screen shot only in full-screen mode
Bug: 70289009
Change-Id: Id5095565634d4d7920fefa929b28276db80bda5f
Simplifies the logic for calculating the folder icon size,
and ensures consistent sizing in different launcher viewing modes.
Bug: 74078689
Change-Id: I5cf4474fd81e55aa50b056418c95533801f07d48
> Removing support for page drag-n-drop from pagedView
> Removing Overview UI from Launcher3 without quickstep and using options popup instead
> Removing touch handlers from CellLayouts and showing options popup based on workspace long press
> Excluding touch outside inset when showing the popup
Bug: 74136505
Change-Id: I34c2a7ff58452db26f5d1a85d554be40fc75f2b8
- Make use of app/home insets and minimized home size to calculate the
proper clipping and target bounds for the task view in home.
Test: Swipe up when in multiwindow
Change-Id: Ibef7a6dc319ded7867ee559dd31c5e87fd76cadb
> Adding a listener for device profile changes
> Updating various controllers instead of recreating them
> Clearing all-apps icon
Bug: 71709920
Change-Id: Ief7db199eb7494ebd8fb433198f333cd2e8e661d
> Hotseat is tied to navbar (on left in seascape)
> Search box shows up in Overview (clicking it would crash for now)
> All-apps is no longer fullscreen in landscape
> Recents cards are appropriately scaled down
> Hotseat is visible in Overview
Bug: 70179916
Change-Id: I53149eaeac9557e8a01021b7e2d139f3d6ceef37
> Calculating extracted color during icon generation and storing it in model and DB
> Removing unused logic avoid various types of badge rendering
> Icons are badged with extracted colors, while folder is badged with theme color
Bug: 35428783
Change-Id: I93e30c52fbded7515c3ae1778422e84672eafb56
This CL will bring two tabs to all apps: Personal and Work,
currently only if the user has a workfile set up and
behind a feature flag defaulting to disabled.
Bug: 68713881
Change-Id: Ib5a558281ef3593359db3ad593ee1d0cf279f547
In QuickStep, adding a placeholder ScrollView and changing the state logic
appropriately to handle that
Change-Id: I10223c0692788d6e5dbf8c408c01cafb4e39bd2c
There are cases (ie. smaller devices) where the icon label is closer
to the icon below it (rather than its corresponding icon).
To fix this, we ensure that the drawable padding (space between the
icon and its label) is no larger than the vertical padding of the cell.
Bug: 67317867
Change-Id: Ic3729726eebb60b67d658361c4335e724b7d68d7
This handles the case where "Home Settings" text is split into
two lines and is cropped when the user is in multi-window mode with
settings Display=Largest and Font=Largest.
Bug: 64976707
Change-Id: Ia1a4ee35a94a2fbe99f8ed25fce93a023e621147
The problem is that the height we pass to the multi-window DeviceProfile
includes the top insets, so we tell widgets that the cell size height is
larger than it actually is.
We use Display#getSize to pass in the size of the window in multi-window
mode. The docs say "the returned size may be adjusted to exclude
certain system decor elememts."
To ensure that system decor elements is always excluded, we take the
minimum sizes of the main profile and it's multi-window variant -- since
the multi-window DeviceProfile sizes are never going to be larger.
Bug: 64851168
Change-Id: I274f838c54f3d01d43dc51e0ff921a6124e12cf7
The hotseat never has text, so we remove the icon drawable padding
from the height calculation.
This allows the items in the hotseat to be centered vertically
properly.
Bug: 63996463
Change-Id: Ie0c5706ae6edeafae321ca024c066439d40ca237
* Increase padding when in All Apps landscape.
* Calculate aspectRatio using width/height instead of
availableWidth/Height.
* Instead of increasing page indicator size, we add the extra height to
the Hotseat.
Bug: 63996463
Bug: 63149981
Change-Id: I1ee3549b4089b277704d5d72e1b7cb5a2abdbd5a
* Tighten up space on Workspace/All Apps for tall devices.
* Decrease the cell layout padding.
Bug: 63996463
Change-Id: Ifc89e4786b7033e2af77d3742006d8c9ee719081
The All Apps cell height is set to match the Workspace.
This causes a problem in multi-window mode because only the
Workspace items do not have labels.
Bug: 63933609
Change-Id: I13be6e50c12d50465be0555721f273abfc0d836a