Folder icon polish.
- Increase the overlap between the preview items and the background
so that it appears more intentional (lots of reports of users
thinking that its a bug)
- Fix bug where clip path was still clipping icons when
dragging and swiping to home.
Bug: 194339057
Bug: 193701705
Bug: 191225536
Test: test 2 icon, 3 icon, and 4 icon folders
close folder on 2nd page, ensure clipping
ensure no preview items are clipped in drag view
ensure no preview items are clipped in swipe up to home
test 2x2, 3x3, 4x4, 4x5, and 5x5 grids to ensure no clipping
of folder icons
drag and drop folder in and out of hotseat
create folders (2 icon, 3 icon, 4 icon)
Change-Id: I09ce9ef59e340b1009de3d26eed430a0a8dc4b33
Merged-In: Id49bae33438e10248bef05450d7e2c92c2140748
- Increase the overlap between the preview items and the background
so that it appears more intentional (lots of reports of users
thinking that its a bug)
- Fix bug where clip path was still clipping icons when
dragging and swiping to home.
Bug: 193701705
Bug: 191225536
Test: test 2 icon, 3 icon, and 4 icon folders
close folder on 2nd page, ensure clipping
ensure no preview items are clipped in drag view
ensure no preview items are clipped in swipe up to home
test 2x2, 3x3, 4x4, 4x5, and 5x5 grids to ensure no clipping
of folder icons
drag and drop folder in and out of hotseat
create folders (2 icon, 3 icon, 4 icon)
Merged-In: Id49bae33438e10248bef05450d7e2c92c2140748
Change-Id: Ic3708bd402704f0a6f57ae5315ef602e2bbc6d82
* Layout hotseat icons from the end instead of the start
* IME down and system back arrow are now separate views
Bug: 191399224
Test: Tested w/ RTL + LTR in gesture
and 3 button nav w/ and w/o IME
Change-Id: I4d0ecd0bee0c519892c63eeefef45055b26d349b
Move qsb according to spec.
Bug: 175329686
Test: visual test
checked 5x5 and confirmed no visual change
checked 4x5 and confirmed visual change
- tested various display sizes to ensure no overlapping is caused
Change-Id: I5e00fcf57ffde597c6af08c6464ddfd7e8456bca
Merged-In: I95a80b484516f634fa13347534810c7a51cecc8d
Bug: 175329686
Test: visual test
checked 5x5 and confirmed no visual change
checked 4x5 and confirmed visual change
- tested various display sizes to ensure no overlapping is caused
Change-Id: I95a80b484516f634fa13347534810c7a51cecc8d
Merged-In: I95a80b484516f634fa13347534810c7a51cecc8d
Simplify calculations to ensure the hotseat sizes are always accurate.
Bug: 186556930
Test: changed display setting from small to largest on different grid
sizes (5x5, 4x4, 4x5, 3x3, 2x2)
Change-Id: I97580c50a9d821577eb63335950d5695d9bf035d
> Calculating the hotseat padding statically
> Animating taskbar views individually when animating to home
instead of a layout animation
> Moving all navbar buttons to a separate layout/controller and independent
of Launcher
> Fixing RTL layout for taskbar and nav bar
Bug: 187353581
Test: Manual
Change-Id: If21696f38beee328f553e467394776a8e8ed4c3e
Remove the space in the ui that was being used for chips.
Centralize some of the logic around calculating the action margins to aid
that.
Bug: 179922117
Test: Local build and flash and run
Change-Id: Icd2f894c858fab475c5411f3f7c412b899d5b220
- This is practically a revert to http://ag/c/13687966/5 and refactored to use DisplayController.DisplayInfoChangeListener
- Make Launcher handle size and density change so transition is less janky when screen size changes
- Added fix in RecentsView to update state and TaskView when display profile changes
- Removed 720dp specific resoureces
- Removed unused widget_section_indent
- Removed unnecessary all_apps_background_canvas 600dp override that is not needed in AllApps+
- Moved remaining dp specific into DeviceProfile
- Simplified allowRotation logic to use single variable in DeviceProfile to determine if allow rotation is enabled by default
Fixes: 180803696
Test: manual
Change-Id: Iea0a7d1a0e14dc3613152dd3b3887450a2e1fc2f
> Simulating the windo wmanager API to get available device
profiles until final API
> When a device has multiple internal displays, and with both
tablet and phone possibilities, it uses a split workspace layout
Bug: 186160341
Bug: 175782275
Test: Manual
Change-Id: Ieff2329acac7cdd6b9abe6f96cd459cd45bd0efe
Pre-S: Continue to use config-changed broadcast for configuration changes
and display-changed event for rotation changes
S+: Use WindowContext#componentCallbacks for config and rotation changes, and
continue to use display listener for frame-rate changes
Bug: 179308296
Test: Manual and presubmit
Change-Id: I533e69068b5fa6c052a02759ef309dd075ee6a4b
Split InvariantDeviceProfile#numHotseatIcons into two variables:
numDatabaseHotseatIcons and numShownHotseatIcons. These are generally
the same, but different DisplayOptions within the same GridOption
can choose to show different numbers of hotseat icons while sharing
the same database.
numDatabaseHotseatIcons is used for all reading/writing/migrating
purposes, while numShownHotseatIcons determines how many Hotseat
icons to show in the UI.
Test: Existing tests pass, added two new migration tests
Bug: 184789479
Bug: 171917176
Change-Id: I54583504f61a47a4444b6a637ebb7e3ab31528b7
Adding new field for landscape icon text size and changing
the logic for when to use landscape sizes.
Test: manual
Bug: 182796672
Change-Id: I89833e8fd90f2606937c3b95ac10229a042213ec
Preview video attached to BR
Key changes:
- SearchUiManager#getScrollRangeDelta is removed. AllApps initial vertical offset is now controlled by deviceProfile.allAppsOpenVerticalTranslate.
- ShelfScrimView is renamed to AllAppsScrimView. Scrim no longer does vertical translate with AllApps open. Shelf/overview related code removed.
- Scrim and AllApps content transition are animated with different interpolators. Scrim color is a blend of accentColor and allAppsScrim with proportion determined by progress*TINT_DECAY_MULTIPLIER
Bug: 183001675
Test: Manual
Change-Id: Id6bde7ee65c55c83c2973fe41f458b9364d39ecd
- Also increases the spacing in all apps to reduce visual clitter.
Bug: 175329686
Test: manual, change grid to mw, smaller grid, and verify labels
Change-Id: I75c7fa9c69b8446ce0e48f4353fb225004e2a2fc
- Fixes bug where devices with scaled grids were not
getting the correct deivce padding.
- Also fix bug where device padding was invalid.
Added validation check when processing paddings to prevent
this from happening again.
Bug: 175329686
Test: manual, enable debug flag,
run and verify no crash from validation check
Change-Id: I35b019c40667c08de4fad95ac4b05b2d8f8a0e74
- Grid scaling has problem that scales task icon and menu, which makes it hard to control icon size and text size in the manula
- Replaced the whole concept with dedicated Task size calculation in grid layout
- Support different icon size in TaskView in grid and removed task_thumbnail_top_margin
- Removed grid progress in TaskViewSimulator as well
- Refactored how ClearAllButton scroll and translations are calcualted to align clear all properly in grid
- Make page center calculation aware of PagedView pivot and scaling
Bug: 174464863
Test: Manual on two screens
Change-Id: I47b13ef6e55c6e16c52ea04225f5bde02ed82fc2
Adds dynamic sizing to margins around task view, also creates space in the
overview actions view in landscape to make space for the proactive chips if
needed.
Bug: 182529089
Test: Local build and run on two devices
Change-Id: I447de3564a3249ede4e8e8a4d3e5d1c177f6be61
Some of these internal values are not exposed in hierarchy viewer
Bug: 175329686
Test: Take bug report and verify output
Change-Id: Ic39be510682fe5aeb03b7436858f6442895c796f
- Pagespacing set to 0 to have similar design to figma
- Added padding to left side of left panel and right side of right panel to match figma
- getPageScrolls changed to support two page scrolling
- validateNewPage changed so that only even indexed pages can be switched to
- getPageWidthSize added for measurements, it returns half screen width when two panel is active
- onMeasure changed to use getPageWidthSize
- panelCount has been increased from 1 to 2 when two panel is active
- add feature flag for two panel home
- shouldConsumeTouch changed so not only currentpage is checked but currentpage+1 screen as well
- add one more extra check for setDropLayoutForDragObject for currentpage + 2, next to right panel
- using new grid option for two panel home screen
Test: manual
Bug: 174464115
Change-Id: I1bad7eecc67f65fb833608744a5aa5aca65373b4
Test: go to all apps, ensure no bottom insets/limited nav bar
protection; go to overview, ensure no extra bottom padding
Bug: 171917176
Change-Id: I09dc589e1cb8d3b673bf2b38e42284557413e011
- Seamlessly show real hotseat and hide taskbar hotseat, while
keeping rest of taskbar visible
- Update MultiValueAlpha to allow for taking max alpha instead
of blending, and use that for Hotseat
- Fix folder open bounds on home screen when taskbar is present
Test: Open folder from taskbar on home, can drag out items
Bug: 182079330
Bug: 171917176
Change-Id: I7c1983e3219b1341cf233260f0ccac9051c4dc14
Remove hotseat space from workspace in DeviceProfile if
taskbar is present, and instantly swap between taskbar and
hotseat when entering SpringLoadedMode. To allow for an exact
handoff, we also scale up the TaskbarView such that its icons
match the hotseat icon size when on the home screen.
Note that this CL only supports dragging to the taskbar, not
out of it (which still triggers system drag and drop instead).
Test: In RTL and LTR, drag a workspace item and ensure hotseat
seamlessly swaps with the taskbar hotseat and allows drops.
Bug: 179886115
Bug: 171917176
Change-Id: Id6462075b9b0b66b06d51a78c9c0b3e11e83e84d
Widget padding is added by the system to create reliable consistency
between widgets.
Now that we have added border spacing between cells on the launcher
grid, we have significantly decreased the available space for widgets
on home screens: widget padding is 8dp on all sides, border spacing is
currently spec'd to be 16dp.
We can inset the widget padding added by the system, and instead rely
on the border spacing between cells to create reliable consistency
between widgets.
Bug: 175329686
Test: manual
turn CellLayout#VISUALIZE_GRID debug flag on
test drag and drop, resizing using drag handles
view measurements in go/web-hv
Change-Id: Iabb9f45e82e4ae039f55d7fd27fbd0d23be60191
* Added isScalable, minCellWidth, minCellHeight, and borderSpacing attrs
When isScalable is true, we use set workspace cell values to
minCellWidth/minCellHeight and then scale the cell values to
fit the available space. This allows us to have consistent
aspect ratios when two devices match the display/grid options.
This is different from the dynamic grid, which calculates
cell values based on iconSize/textSize/etc and then allows
the cell width to be as wide as space allows.
I adjusted some variables so that they will auto adjust
based on another value, indepenent from whether the
grid isScalable or not. An example of this is the folder
label text, where it's always set to be 1.14x of whatever
the workspace icon text size is. This is so we don't need
to add a bunch of more variables to DisplayOption/GridOption.
Bug: 175329686
Test: - switching between device profiles,
- testing folder open/close
- testing in multiwindow
- testing in landscape
Change-Id: Ia469ae0d65b518469ef264b726db46f4a3210056
Normally availableHeight excludes system insets, but taskbar is added
after availableHeight is calculated. This discrepency causes some bad
calculations such as TaskView size.
Test: touch nav bar when in an app with taskbar present, ensure the
task doesn't jump due to incorrect calculation
Fixes: 179478728
Bug: 171917176
Change-Id: I16d39d3e1d9708e2a64c81b1ac24466f9567d1b9
Bug: 176656141
Test: Change font size or display size, it should reflect on home screen icon/text sizes.
Change-Id: I39bb9d11d246c7ccea1ea4d5af37fba3ce0001be
- 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