- Add TaskbarActivityContext which allows shared Launcher elements to
"just work" using existing generic ActivityContext.
- TaskbarContainerView extends BaseDragLayer<TaskbarActivityContext>.
- Inflate FolderIcon and Folder using TaskbarActivityContext to be
shown in TaskbarContainerView.
- Use TaskbarActivityContext's DeviceProfile to determine icon size
instead of overriding in styles. This also ensures that normal
BubbleTextView icons have the same size as FolderIcons.
Test: Place a folder in home screen hotseat, ensure it shows up in
taskbar and can be opened, and that apps inside it can be launched
or dragged.
Bug: 171917176
Change-Id: Ic25d2f84bcd7e3399c88989305ea565497c030d9
- Border spacing is the spacing between the cells.
- Workspace cell height is now fixed, and we allocate
all the "extra" space to three different variable height
areas.
* Built behind ENABLE_FOUR_COLUMNS flag because it hinders the
default grid.
Bug: 175329686
Test: - set border spacing to 0 and confirm matches prior layout
- test drag and drop still worked
- test reordering
- test widgets
- test folders
- test multiwindow
Change-Id: Ic6f3dff577d28ff214bda4b0a787ec7fd08c108b
- Tablet UI (e.g. grid overview and two panel workspace) is built with assumption that simulated landscape is disabled, make sure this is the case in DeviceProfile
- This is usually true as swDPs is generally smaller than sw used to determine xml files
Bug: 174464656
Test: Try different combination of smallest width and Display Size, isTablet is only set when allow_rotation is true
Change-Id: I3ee1c76909f29b6f14c4032be812bb8c9ea7e827
Test: manual
Fixes: 160544577
Launcher flickers if it is locked on portrait, then unlocked on seascape. DisplayController.Info was consistenly being updated late causing launcher to unlock in lanscape then switching to seascape with enough frames in-between for the user to notice. Updated DisplayController to properly update its rotation info and updated DeviceProfile to force an info update when checking if the device is in seascape orientation.
demo: https://drive.google.com/file/d/1JBCvK3brLwOSTC4k56GSxeYozl5x0k7X/view?usp=sharing
Change-Id: Idce139f0e16cb686684c0d3a460c4ec9e5ae466a
> Launcher uses realSize, availableSize and insets to calculate
various layout values. Without drawing behind cutouts, these values
are not consistent (insets + availableSize != realSize) leading to
jumps in layouts.
> Removing fake black bars in low-ram devices to avoid inconsistent
insets.
> Fixing various layouts not taking lert/right insets into account.
Bug: 156268804
Change-Id: I8441db8a468b08a65b57b932050b5b4b37313966
RecentsView uses deviceProfile to calculate the padding.
Device profile had incorrect sizes in multiwindow mode as it
was not considering the insets.
Bug: 155816922
Change-Id: Iaa5b939624b4128ed634e6de1abf8453e2ae852b
> Fixing scale up calculator for swipe-down
> Offsetting pivot so that the preview is aligned to bottom-right
> Allowing insets to be available in multi-window mode as well
> Offsetting taskViewSimulator appropriately in multi-window mode
Change-Id: I7da4c145efca72ef219a5ffcaf23d726812df270
> All apps layout broken in landscpae UI
> Crash when manager profile is added
> Wrong icon size on low resolution
Change-Id: If01dacf9f62a0384ebd8b31b62500178416d3ab4
This reverts commit 1c3c3b1d6f.
Reason for revert: Broke multi-window rotation and secondary display
Change-Id: I907b21ca82cf2e25f8abe7a09eafd6dec817f81b
(cherry picked from commit 157e666058)
- Change drawable to match specs, using ShadowDrawable to
add shadow when necessary based on workspace theme.
- New drawable is 18dp by 6dp; add support for different
width vs height, and decouple from workspace page
indicator (which is still 24dp tall).
Bug: 151768994
Change-Id: Icfd0eac197ebc4d1f5bb799f8538c4bd99d800cd
We build an IDP with no grid size override values. This
allows us to reference the profile measurements so that we can have a
consistent UI for areas that the grid size change should not affect.
Bug: 124967099
Change-Id: I6235862c95800d8f31dbf2de1d12b1fcf4dbd850
- Calculate point on icon path nearest to top right corner, and
use that as center for the dot
- Cleanup code related to dot offset
Test:
Set each style (different icon shape) and verify dot is in correct
placement for each of:
- Folders
- Icons in folders
- Icons in all apps
- Icons on workspace
Bug: 124414511
Change-Id: I036ed3677e8af222f00d4fad4a36a7e4d9b49ad9
Workspace and hotseat are drawn in rotated UI giving the impression that the
device is in Portrait, even though it is in landscape
Bug: 131360075
Change-Id: I29c4068af25fd4dcf7039b9a45886e864a137977
Before, the window used to track the FloatingIconView. With this refactor,
both app open and app close use the same update method.
With the refactor, we can now use adaptive icons to morph the icon into the
size of the window.
Movement/interpolators are still the same as the original except for the
alpha and the clip animation. To ensure a perfect tradeoff, we wait for the
icon to match the size and shape of the window before crossfading.
Currently it is set up so that the tradeoff happens when the animation is
15% done, but this can be tuned later.
Bug: 122843905
Change-Id: I7d3edbefffb15fe26958a62ab33cf23dc1203908
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