Commit Graph

258 Commits

Author SHA1 Message Date
Bill Lin 945bb34b5e 1/ Provides feasibility to adjust touch slop in TouchController
There is a case when one handed mode triggered(Activated), all apps
drawer is very easy to trigger while user swipe up around NavBar
region to exit one handed mode. Since System Gesture monitor regsion
is small on screen bottom, swipe-up gesture usually cross over NavBar
monitor region and invoke launcher touch controller intercept touch
event and introduce unexpectedly trigger all apps drawer.

Adding onOneHandedModeStateChanged(boolean activated) for controller
be able to adjust the touch slop by multiplier, we can set a larger
multiplier when the visible window size translate become smaller
and make swipe gesture not too sensitive.

Test: manual swipe up to swich "home <-> all apps" and monitor
      minDisplacement of SingleAxisSwipeDetector
Test: Trigger one handed mode and swipe up to exit one handed mode
      check the minDisplacement of SingleAxisSwipeDetector
Bug: 186235522
Change-Id: I9729cd408d85b2b22582bf800e28d1471fc06980
2021-06-04 01:44:50 +08:00
TreeHugger Robot a07c2efdf6 Merge "Enable unpausing apps from the workspace." into sc-dev 2021-05-26 22:24:40 +00:00
Vinit Nayak 063cb2d892 TaskMenu in overview UI polish
Bug: 188168717
Test: TaskMenuLooks closer to mocks.
Change-Id: I1560b66a48c4c70c7c79f7307b2b76f22e30c653
2021-05-25 14:42:35 -07:00
Schneider Victor-tulias b199e20acc Enable unpausing apps from the workspace.
Fixes: 188675002
Test: manual
Change-Id: I02715450016e9b91fff774525b5e32c337c74547
2021-05-24 21:44:29 +00:00
Sunny Goyal d5500548dc Revert^2 "Moving taskbar lifecycle to TouchInteractionService"
430465a3d5
Bug: 187353581
Change-Id: I7b2280d16adfafd3e85ffc1d22e32d0c00d12b67
2021-05-21 07:05:02 +00:00
Kholoud Mohamed 430465a3d5 Revert "Moving taskbar lifecycle to TouchInteractionService"
This reverts commit e215fb730b.

Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/tests/view?invocationId=I13700009003387451&testResultId=TR89423459137251402, bug https://buganizer.corp.google.com/issues/188755902

Bug: 188755902
Change-Id: I4650136975b60f311499ee6ff5b27ab9a32d23d6
2021-05-20 13:32:05 +01:00
Sunny Goyal e215fb730b Moving taskbar lifecycle to TouchInteractionService
> Inflating taskbar views with a non-launcher window context
> Removing separate taskbar view in Launcher
> Handling taskbar icon clicks directly instead of going via launcher
> Fixing some relayouts during show/hide animation

Bug: 187353581
Test: Manual
Change-Id: Ia7d44acbb770bf0345922234b3daa5cc040a5843
2021-05-17 21:47:08 -07:00
Hyunyoung Song afd470fc69 Merge "Implement overshoot and squish motion in all apps open" into sc-dev 2021-05-12 17:51:31 +00:00
Hyunyoung Song 222a59e79a Implement overshoot and squish motion in all apps open
Bug: 187475924
Bug: 183062683
Test: manual

Change-Id: I33b6c647c45ff467c6d49cf3796f92ca366ab3f1
2021-05-11 13:49:45 -07:00
Winson Chung 8542541b2b End scroller if it has already reached the final position
- The system overscroller seems to take a long time to settle even
  after the final position has been reached, so if that has already
  happened and there is no edge effect, then just end the scroller.
- Remove unused code related to SmoothPageView

Bug: 184983443
Test: Quickswitch and ensure we finish the recents animation after it settles
Change-Id: I9fa72ddd6b6e0d38b6f622c776a2ac5f5b055760
2021-05-11 12:59:14 -07:00
TreeHugger Robot 46d420bf14 Merge "Add funtional animation for SplitSelect from Grid." into sc-dev 2021-05-05 19:03:47 +00:00
Vinit Nayak 2dbdddb4ba Add funtional animation for SplitSelect from Grid.
Long ways to go to final UI - TODO(b/186800707)
Add comments to grid layout code,
no functional changes at all.

Bug: 181705607
Test: Enter split screen from overview task menu
in grid and carousel. Able to select all items
and enter split.

Change-Id: Ib62f1b286acf0781ec47862fa31b670e6ff1892a
2021-05-05 09:38:42 -07:00
Vinit Nayak 1419d40f38 Set menu item to MATCH_PARENT for tap target
Fixes: 186922491
Test: portrait/landscape real and fake
Change-Id: If0247cf75b41374a489331d991a0c273aaf3efee
2021-05-04 19:36:05 -07:00
TreeHugger Robot 127714094a Merge "Change TaskIconMenu to lay out vertically" into sc-dev 2021-04-28 20:16:43 +00:00
Vinit Nayak 4cc0dbb552 Change TaskIconMenu to lay out vertically
Still lays out horizontally when in phone
landscape.
TODO(b/186583656), need to center view.
Also have all layout be dynamic instead of having
some cases be in XML and some in code.

Bug: 181704764
Test: Task menu visible with all options in
portrait/landscape tablet
portrait phone
fake/real landscape phone

Change-Id: I3632eeb174f3e4baf2c9d69d51c1815c3c512e59
2021-04-28 11:47:08 -07:00
Sunny Goyal 4ed0fb5074 Removing dependency on wallpaper colors and using theme resources
Bug: 184676715
Test: Manual
Change-Id: Ie9a9a784c4a8a8cd484bfd8ea463deedcd4deed6
2021-04-27 16:29:08 -07:00
TreeHugger Robot a0c3bbfd2c Merge "Place split selection placeholder view based on option selected" into sc-dev 2021-04-23 08:20:25 +00:00
Winson Chung b837f5040e Merge "Add support for swiping back to the shortcut that launched the activity" into sc-dev 2021-04-23 07:37:37 +00:00
Vinit Nayak 0e16272049 Place split selection placeholder view based on option selected
* Add first split app's choosen icon inside the view

TODO: Update animation of where selected app goes.

Bug: 181704764
Test: Tested tablet + phone, real and fake landscape
Change-Id: Ia3c635b056f2ac3812a0df001bbbb38bde26f6af
2021-04-22 21:23:21 -07:00
Winson Chung 2b093941e1 Add support for swiping back to the shortcut that launched the activity
Bug: 129067201
Test: Open a shortcut on the workspace, go home

Change-Id: If5d3c3e8e93f09af50aa4994094657347890ef45
Signed-off-by: Winson Chung <winsonc@google.com>
2021-04-22 17:00:47 -07:00
Sunny Goyal c39db7321f New spring overscroll in pagedView
> Using EdgeEffect in PagedView for overscroll
> Keeping RecentsView overscroll similar to S, by created a custom EdgeEffect

Bug: 183966408
Test: Manual
Change-Id: Ia547cf14ea315468b12a4ff5f389ac2d2beceafa
2021-04-22 16:28:30 -07:00
Alex Chau 9594c6987f Handle page offset for grid overview
- Use TaskView's actual position with grid/fullscreen translation considered for taskPosition calculation
- Shift taskPosition by midpoint scroll, and no longer assumes midpoint is on middle of the screen
- Handle situation that TaskView is on left/right of midpoint, making the calculation generic to be able to handle grid situation

Bug: 175939487
Test: Launch modal view with wide/, RTL/non-RTL, orientation/simulated landscape combinations
Change-Id: Idd0cc9c5e24f453d830e1420319a38d3d784270d
2021-04-16 12:25:49 +01:00
Sunny Goyal c82916fecb Some cleanup in RecentsView
> Merging overview and all-apps scrims into a single View
> Decoupling TaskMenuView from taskView

Bug: 184676497
Test: Manual

Change-Id: I49f7249eaa2a800054385ab8e73a441d6a1b5e16
2021-04-06 15:47:33 -07:00
TreeHugger Robot e77fc9cc25 Merge "Add split placeholder view above OverviewScrim" into sc-dev 2021-04-06 02:34:19 +00:00
Vinit Nayak e3f7d0d1b4 Add split placeholder view above OverviewScrim
Only show single split option for landscape and
seascape overview menu options.

Bug: 181705607
Change-Id: I577fbaed41b5debd007c953851ec2056988057d9
2021-04-05 12:41:06 -07:00
thiruram 0eabc781b1 [AA+] Fix missing InstanceId for LAUNCHER_ALLAPPS_CLOSE_DOWN event.
Before: https://screenshot.googleplex.com/8ZYxhujUR3amgmF.png
After: https://screenshot.googleplex.com/AZ7PExbBhGW2pAC.png

Bug: 178562918
Test: Manual
Change-Id: Id0bc54049e3a13cd53aaa37d0acee27ec7433fab
2021-04-02 14:34:26 -07:00
Tony Wickham 7e7116278b Merge changes I2af1792e,Ice314d46,Ib17d4a5e into sc-dev
* changes:
  Invert StateAnimationConfig.PLAY_ANIMATION as SKIP_ALL_ANIMATIONS
  Remove Overview atomic animation support
  In 2 button mode, animate to HINT_STATE instead of OVERVIEW directly
2021-03-30 22:27:07 +00:00
Tony Wickham 6cd95cd2d8 Remove Overview atomic animation support
- Remove PLAY_ATOMIC_OVERVIEW_SCALE and PLAY_ATOMIC_OVERVIEW_PEEK
- Remove complicated parallel atomic animation support from
  AbstractStateChangeTouchController and subclasses
- Remove some code related to going between Overview <-> AllApps

Test: Swipe between states in all 3 navigation modes
Bug: 175137718
Change-Id: Ice314d46946c3a983cdc6ccf1a67effb5da9156e
2021-03-29 11:59:06 -07: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
Vinit Nayak d987a828e8 Initial commit of new split screen work.
TODO:
* Extract out common elements in TaskShortcutFactory.MultiWindowFactory
for commonalities between new and old way of
invoking split screen
* Integrate with WM APIs (b/182002789)
* Write tests for SplitSelectStateController

Bug: 181704764

Change-Id: Ice35adb4ea82897f5e2433dc9b93a549f3d511b5
2021-03-15 15:42:32 -07:00
Sunny Goyal b65d766d88 Adding support for listening for app launch animation completion
Bug: 181165935
Bug: 179065491
Test: Verified on device
Change-Id: Ifa6a91560cb31b4dfb72a0f582607e873d8a002d
2021-03-10 15:53:21 -08:00
Sunny Goyal b5181c8c39 Revert "Revert "Removing insets controller animation as part of ..."
Revert "Revert "Moving insets animation to StateHandler so that ..."

Revert submission 13823490-revert-13810332-insetcontroller-CLXXLCZAUM

Reason for revert: Fixed original error in ag/13823726
Reverted Changes:
Ie19a3fd90:Revert "Moving insets animation to StateHandler so...
I4eb33772a:Revert "Removing insets controller animation as pa...

Change-Id: I7fb395c51ea99081913bc99515257e98c0a32754
2021-03-10 07:39:12 +00:00
Pasty Chang 13358f65ab Revert "Removing insets controller animation as part of all-apps..."
Revert "Moving insets animation to StateHandler so that it can b..."

Revert submission 13810332-insetcontroller

Reason for revert: QsbLayout#getEditText() return object is changed, but extended class HotseatQsbWidget wasn't updated.

https://android-build.googleplex.com/builds/submitted/7197042/aosp_crosshatch-userdebug/latest/view/logs/build_error.log

Reverted Changes:
If6a088d14:Removing insets controller animation as part of al...
I296415604:Moving insets animation to StateHandler so that it...

Change-Id: I4eb33772acd887d6e1d92a9ecde41cf1e0687896
2021-03-10 06:58:51 +00:00
Sunny Goyal 0724113b3d Removing insets controller animation as part of all-apps opening
Adding support for easier extension of StateHandlers

Bug: 180143210
Test: Verified on device
Change-Id: If6a088d1482c9b268b21786c4694f6e0927be0c3
2021-03-08 18:38:25 -08:00
Tony Wickham 39938cbc94 Initiate Hotseat drag from long pressing corresponding Taskbar item
When you long press on the taskbar hotseat item, the following happens:
- We start a system drag and drop with an invisible drag shadow
- We create a new DragOptions with the simulatedDndStartPoint set to the
  drag down position, and tell Launcher to use that for the next drag
- We perform a long click on the equivalent Hotseat item in Launcher
- We pass the drag events of that operation to Launcher's DragController

This allows Launcher to handle the entire drag operation, including the
pre-drag (with popup), and taskbar already hides when the drag starts.

Test: Long press items in taskbar hotseat, able to drag them to workspace

Bug: 179886115
Bug: 171917176
Change-Id: I576b80cb1bd0225cdc91cf7689fdee0481265109
2021-03-06 03:39:54 +00:00
Winson Chung 13c20193eb Removing old logs
Bug: 156095088
Test: Presubmit
Change-Id: I61b44fd4ee96de405482f9cf9b6a06d87a295898
2021-03-04 06:16:41 +00:00
Alex Chau aa47630ecd Merge "Show TaskView as grid in large screens" into sc-dev 2021-03-03 10:08:01 +00:00
Tony Wickham b96cf5cdf2 Fix some issues with TwoButtonNavbarTouchController
- Use same swipe height as the tests use to get to Overview
- Use mStartState instead of fromState when determining
  target state, to disallow swiping through states, i.e.
  from NORMAL to OVERVIEW back to NORMAL in one long swipe
  up gesture. Instead, now swipe up from NORMAL goes to
  OVERVIEW and swipe up from OVERVIEW goes to NORMAL.

Fixes: 177316094
Change-Id: Ic8e9c8650d4cf11eec344802e3569413bfd5d7bc
(cherry picked from commit a24b9ff69d)
2021-03-02 18:14:03 +00:00
Alex Chau b794ea64c7 Show TaskView as grid in large screens
- Introduced gridProgress to RecentsView/TaskView ofr animating into grid
- Introduced gridProgress dependant translation and scale properties in TaskView
- Animate running task into grid with TaskViewSimulator
- Remove overview actions (for now) but keep clear all button in large screens
- Adjust ClearAllButton translation to acoomodate for grid
- Use screen width +-50% to calculate task visibility
- Use the position where TaskView is on screenEnd as pageScroll
- TODO: Handle separate recents activity

Doc: go/foldables-launcher-overview
Video: http://dr/file/d/107Aydii1LoFCwP63nWG3Twr2PBDE5ZgD/view?resourcekey=0-aUjdnx8ezimS9tmAgao9ag
Test: Test Launchering overview and launching overview from apps with folloiwng combination:
- large / small screen sizes
- portrait / landscape
- thumbnails from different screen sizes / orientations
Bug: 174464863
Fixes: 181509346

Change-Id: I4b691cde774f2e37532b68ba83c6eed399f2332e
2021-03-02 17:10:45 +00:00
Yogisha Dixit 741fae9ea2 Move widget files into widget folder + add tests.
I will use the newly created LauncherAppWidgetProviderInfoTest in a follow-up CL to add tests for the newly added widget sizing APIs.

Test: Automatic: Ran all robolectric tests in launcher3,
      Manual: Added a widget, edited the widget, removed the widget
Bug: 179807199
Change-Id: I540b2dbe284c6eb5aa2466a1d13a9581ee59425b
2021-03-01 13:59:52 +00:00
thiruram e9fe7f2789 [AA+] Logs LAUNCHER_ALLAPPS_ITEM_LONG_PRESSED event.
Bug: 178562918
Test: Manual
Change-Id: I6f195b7bdfa222332a250379bb7667501cbee762
2021-02-26 20:46:14 +00:00
Samuel Fufa c7d72e55ec Merge "Break up nasa search results" into sc-dev 2021-02-24 13:39:12 +00:00
Vadim Tryshev 06df8d7262 Merge "Instrumenting swiping up to all apps for jank" into sc-dev 2021-02-23 18:32:23 +00:00
thiruram f8f2a6ed0a [AA+] Log tap on SearchActionItem.
Bug: 178562918
Test: Presubmit
Change-Id: I42a44de4f3cc02ca331c4f99c107891c4658995d
2021-02-22 22:39:41 +00:00
Samuel Fufa 9ffaee3110 Break up nasa search results
+ replace IME feature flag launcher setting

Test: Manual
Bug: 178638266
Change-Id: Id013cd247cfa2b33cdf62ee3239ad1bacc35b5da
2021-02-22 09:10:18 -06:00
vadimt 2b6d18230b Instrumenting swiping up to all apps for jank
Bug: 178656784
Test: manual
Change-Id: I2332f0f358dc7312dc7ad0b88bc51db5bfa8be6c
2021-02-10 15:24:02 -08:00
Adam Cohen 501e139c6e Draw the workspace scrim in the LauncherRootView instead of DragLayer
=> The entire DragLayer is translated during the -1 transition which creates a janky looking edge at the top of the screen

=> By bumping the scrim up a level, we avoid this

=> Separated WorkspaceAndHotseatScrim into two separate scrims, since only part of the scrim needed to be bumped up to a level. Further, it was an overloaded class.

=> We had previously been implicitly relying on the fact that the scrim was rendered in the Workspace parent; we need to make sure to propagate workspace inavlidations to the container of the scrim. While things would still work without this change, it's more correct to leave it, as we no longer assume a hierarchy for functinoality.

Bug: 178215332

Test: manual verification. See video in bug.

Change-Id: I0a76ddf35ceea8c9635367f69380ef24f42e9479
2021-02-10 19:16:26 +00:00
Tony Wickham 794fe4f58e Add Hotseat items to Taskbar
- Currently supports WorkspaceItemInfo (e.g. normal app icons
  including hotseat predictions and pinned deep shortcuts).
- Currently doesn't support Folders, Notification dots, or
  long press.

Some technical details:
- Always allow HotseatPredictionController updates given the
  Hotseat is always showing even when Launcher is stopped.
- Represent Taskbar Hotseat items as BubbleTextViews, to
  allow for normal click handling etc. When the hotseat is
  updated, we reuse the same BubbleTextViews that were
  initially inflated, and just reapply the new info.
- Add new BubbleTextView iconDisplay for Taskbar, to allow
  for different treatment such as icon size.

Bug: 171917176
Change-Id: I325eb39051f2dc69228b39b5c40ed0cbdad8e200
2021-02-01 18:29:06 -08:00
Hyunyoung Song 7575cca264 Support ACTION/THUMBNAIL/SUGGEST corpus for rendering rendering
Hookup notifyEvent for metrics, on device intelligence.


Bug: 178454668
Bug: 178455221

Test: manual (See attached screenshots in the bug)

Change-Id: I652b4f2b0644a4726ccc3e01ce4c945a719f96a8
Signed-off-by: Hyunyoung Song <hyunyoungs@google.com>
2021-01-27 19:13:09 +00:00
Samuel Fufa c282018765 Consolidate Search result UIs
- Allow SearchAction to be represented by SearchResultIcon and SearchResultIconRow
- Fix tap enter to launch regression
- Remove Plugin Pipeline

Bug: 177223401
Test: Manual
Change-Id: Id1d445f6af3f80f840d567165051188c78230ed0
2021-01-25 12:46:05 -06:00