Commit Graph

278 Commits

Author SHA1 Message Date
Alex Chau 5fd9d491b0 Tune Overview size according to VisD
- Removed modalTransformY as overview actions no longer need to move in modal view
- Moved row spacing and page spacing to DeviceProfile
- Added several tablet / orientation specific DeviceProfile params

Bug: 194194694
Test: Manual
Change-Id: Id5435e7f6fc1b6fb7c0e55e55fa240cf84c4d6da
2021-07-26 12:01:30 +01:00
Alex Chau 646f804627 Add overviewShowAsGrid to DeviceProfile
- Simplified a lot of dp.isTablet && FeatureFlags.ENABLE_OVERVIEW_GRID.get() usage

Bug: 194194694
Test: manual
Change-Id: Idfb0ad192048106bbe6f8e2a28fa5613b86e5208
2021-07-26 11:59:34 +01:00
Jonathan Miranda 8f16a7703e resolve merge conflicts of 6d9e866669 to sc-v2-dev
Add more extra space to hotseat for taller devices.

Bug: 194533368
Bug: 192520231
Change-Id: Ib4705342329767a3e4eb2781aff6cd72220e4eaa
Test: manual test on taller devices
2021-07-23 23:13:44 +00:00
Jonathan Miranda 6fbcbc7a4c Merge "Add more extra space to hotseat for taller devices." into sc-dev am: 0c7153bbdf
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15363650

Change-Id: I3ff54d0d1559305b8e501abeba31ab3cec8c37f1
2021-07-23 22:02:13 +00:00
Jonathan Miranda 0c7153bbdf Merge "Add more extra space to hotseat for taller devices." into sc-dev 2021-07-23 21:41:27 +00:00
Jon Miranda 80cddbccb6 Add more extra space to hotseat for taller devices.
Bug: 192520231
Test: manual test on taller devices
Change-Id: I3eccada67f0ba07d01f823c4156f02c3feb97f84
2021-07-23 20:01:16 +00:00
TreeHugger Robot 2ed55ed9de Merge "Folder polish: unbold folder title, ensure icons not cropped in folder." into sc-dev am: 3f062ab8b6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15365040

Change-Id: I0fccfe7fdf32f7bcbcddb3633e34acb1c7c979f6
2021-07-23 18:23:49 +00:00
TreeHugger Robot 3f062ab8b6 Merge "Folder polish: unbold folder title, ensure icons not cropped in folder." into sc-dev 2021-07-23 18:10:48 +00:00
Jon Miranda f33f5b3fc5 Folder polish: unbold folder title, ensure icons not cropped in folder.
- Ensure folder items are scaled to fit within the height/width in 4x5 mode.
- This bug surfaced now since  we increased the icon size.

Bug: 194356039
Test: set display to large, set font to large
Change-Id: Ie360ca67c3c91649a471bce920b2fc6a82fb9661
2021-07-22 17:19:28 -07:00
Jonathan Miranda c2a49ee2bc resolve merge conflicts of 46378eb881 to sc-v2-dev
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
2021-07-22 00:43:27 +00:00
Jon Miranda 92c1b5d3ab 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: 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
2021-07-20 22:16:21 +00:00
Vinit Nayak 8dcbde87c0 Move NavButtons to end of taskbar
* 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
2021-07-20 13:55:37 -07:00
Jonathan Miranda ec5beb8332 Merge "Ensure iconScale never exceeds 1." into sc-dev am: fab44042cb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15133276

Change-Id: I4adff0a4fb256e13fdbfc3056f09bb43dea01461
2021-06-29 02:23:26 +00:00
Jon Miranda ab3c681df8 Ensure iconScale never exceeds 1.
The rest of the scaled values should scale accordingly.

Bug: 190777089
Test: manual
Change-Id: I97f1724b7e96eea3ad81c295a98ccb71da756abb
2021-06-28 16:55:10 -07:00
Jonathan Miranda 7a273e2a8b resolve merge conflicts of a754e678a7 to sc-v2-dev
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
2021-06-24 21:29:51 +00:00
Jon Miranda 8bdb222a18 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: I95a80b484516f634fa13347534810c7a51cecc8d
Merged-In: I95a80b484516f634fa13347534810c7a51cecc8d
2021-06-24 18:51:46 +00:00
Jonathan Miranda 127e2605d5 Merge "Fix bug where icons in hotseat were clipped when display size is Small." into sc-dev am: 23415e214c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15068798

Change-Id: Ie2e85b1763f9061241df27e7b81acb3ff102b1d5
2021-06-23 18:36:53 +00:00
Jon Miranda 0d284852d9 Fix bug where icons in hotseat were clipped when display size is Small.
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
2021-06-23 08:08:12 -07:00
Sunny Goyal 57b2279dcb Taskbar layout update
> 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
2021-06-03 16:10:02 -07:00
Jon Miranda 4981118478 Only inset widgets if workspaceTopPadding is greater than the widget padding.
This prevents widget from becoming too close to status bar.

Bug: 189724771
Test: manual
Change-Id: I86f83b6a35bd2802bdbdf175340a379b498f481d
2021-06-03 09:54:45 -07:00
zakcohen dad8a80d19 Overview - Remove the space withheld for proactive chips
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
2021-05-25 15:29:08 -07:00
Jon Miranda af3aed0c4a Use SP for folder text size.
Bug: 156141463
Test: change font size, verify folder text size changes
Change-Id: I7e479d76c9f16c5b42cabfbae63494ef98b6dc27
2021-05-11 16:14:09 -07:00
Alex Chau a02eddc144 Handle config changes in Launcher
- 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
2021-05-10 18:50:02 +01:00
Sunny Goyal 19ff728b92 Adding support for determining split layout for launcher.
> 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
2021-05-03 14:48:28 -07:00
Sunny Goyal 7fb983d5e3 Merge "Removing some dependency on icon shape" into sc-dev 2021-04-26 17:27:12 +00:00
Sunny Goyal 35c7b19fa8 Using WindowContext for listening to configuration changes
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
2021-04-22 00:23:02 -07:00
Winson Chung 8e64bba9cf Add some logging for transposed mode in landscape
Bug: 185820525
Test: Presubmit
Change-Id: Id4cf605fd5c3277273025ac1a73f25add0608412
2021-04-20 20:38:04 +00:00
Tony Wickham b87f3cdc1c Add support for having more hotseat icons in the DB than we show
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
2021-04-12 16:08:15 -07:00
Andras Kloczl 6057cb9fe6 Update icon and text size for two panel home screen
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
2021-04-08 15:27:27 +02:00
Sunny Goyal 8b9919de9f Removing some dependency on icon shape
Bug: 183641907
Test: Manual
Change-Id: Ifd492a850bb9918ad378385abe544362e34e70b0
2021-04-07 14:46:16 -07:00
Samuel Fufa ee9aff9b5b [Search][Motion] Normal<->AllApps transition revamp
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
2021-04-05 13:32:51 -05:00
Jonathan Miranda 4c5a08e122 Merge "Only hide workspace labels if there is not enough space for it in the cell." into sc-dev 2021-03-31 22:02:40 +00:00
Jonathan Miranda f072b062a2 Merge "Folder cell should match grid cell aspect ratio if isScalableGrid is true." into sc-dev 2021-03-31 19:15:30 +00:00
Jon Miranda 941375eda4 Only hide workspace labels if there is not enough space for it in the cell.
- 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
2021-03-31 14:52:49 -04:00
Jon Miranda c9e69fa98d Refactor device padding to be set per grid option
- 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
2021-03-24 14:58:44 -04:00
Alex Chau dedbc8ac36 Remove grid scaling in Overveiw
- 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
2021-03-24 18:46:32 +00:00
Zak Cohen 334efebaba Overview - Adds first pass at making landscape layout real.
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
2021-03-24 14:45:48 +00:00
Jon Miranda 823da22833 Folder cell should match grid cell aspect ratio if isScalableGrid is true.
Bug: 175329686
Test: inspected with go/web-hv
Change-Id: I652c696d8ae58b7009b7310bb926b279b9477724
2021-03-23 08:08:45 -04:00
Jonathan Miranda 93e1e56675 Merge "Dump DeviceProfile to help with debugging grid changes Some of these internal values are not exposed in hierarchy viewer" into sc-dev 2021-03-22 15:48:46 +00:00
Jon Miranda 58561d4fd7 Dump DeviceProfile to help with debugging grid changes
Some of these internal values are not exposed in hierarchy viewer

Bug: 175329686
Test: Take bug report and verify output
Change-Id: Ic39be510682fe5aeb03b7436858f6442895c796f
2021-03-17 11:50:08 -04:00
Andras Kloczl 8e57cce4ee Two panel & two page swipe & currentPage fixes
- 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
2021-03-17 12:19:02 +01:00
Tony Wickham 9f9787ad76 Merge "Remove insets due to Taskbar, except on workspace elements" into sc-dev 2021-03-15 23:41:55 +00:00
Tony Wickham 145b7fd68c Remove insets due to Taskbar, except on workspace elements
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
2021-03-12 16:46:54 -08:00
Tony Wickham ae72b46b2c Replace taskbar hotseat with real hotseat when folder is open
- 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
2021-03-12 11:05:43 -08:00
Jonathan Miranda fb7b9fd8c3 Merge "Fix icon text size being calculated in DP instead of SP." into sc-dev 2021-03-10 19:09:29 +00:00
Jon Miranda 378c11f041 Fix icon text size being calculated in DP instead of SP.
Bug: 175329686
Test: manual, change font/display size
Change-Id: Ic8c6260444d18df64ccee4c2bcfbc2332a327da9
2021-03-10 10:29:35 -05:00
Tony Wickham a29a046d83 Align real hotseat with taskbar hotseat during drag and drop
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
2021-03-03 11:16:42 -08:00
Jon Miranda 611dba4c94 Use grid border spacing as widget padding if possible.
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
2021-03-02 15:06:46 -05:00
Jon Miranda e126d72fa8 More grid changes, closer to final specs.
* 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
2021-02-25 17:34:56 -05:00
TreeHugger Robot aa14b19725 Merge changes Id68b6c37,I16d39d3e into sc-dev
* changes:
  Fix a couple of crashes when taskbar isn't yet attached
  Subtract taskbar size from DeviceProfile#availableHeight
2021-02-19 19:01:38 +00:00