Commit Graph

2033 Commits

Author SHA1 Message Date
Tony Wickham
01e4070836 Standardize quickstep velocities
- Compute velocities as px/ms from VelocityTracker, instead of
  computing px/s and dividing by 1000 in various places
- Use quickstep_fling_threshold_speed in TriggerSwipeUpTouchTracker
  instead of ViewConfiguration#getScaledMinimumFlingVelocity
- Check MotionPauseDetector to determine whether a fling is
  sufficient to escape after pause, in additon to above threshold

Bug: 159089437
Change-Id: Ib0fae7804e1f008f3b6ab37d6c463352c224b0e4
2020-09-03 10:52:34 -07:00
Tony Wickham
3a89e42237 Don't detach recents from app window after motion pause
- Update MotionPauseListener to have 2 methods: the existing
  onMotionPauseChanged(isPaused) and onMotionPauseDetected()
  - onMotionPauseDetected is the default as most listeners only
    care about the first detected pause
  - AbsSwipeUpHandler still listens to pause changes, to help
    determine the end target at the end of the gesture

Bug: 159089437
Change-Id: I6d14f106cdcbe4e07d8dddba1cee909a963615b1
2020-09-02 17:28:49 -07:00
TreeHugger Robot
1aee9da5b8 Merge "Make modal based UI changes in TaskView only if modalness changes." into ub-launcher3-master 2020-09-02 22:12:34 +00:00
Sreyas
ed5e43bd25 Make modal based UI changes in TaskView only if modalness changes.
Fixes issue with jittery displaying of suggestion chip, when entering overview.
Merging into master manually as automerger failed.
Tested:Manual

Change-Id: I8228c51b22d550cb8f0aa559f997060b571763f1
2020-09-02 11:18:01 -07:00
Sreyas
639505c23b Scale down chip proportional to TaskView becoming fullscreen.
Merging into ub-launcher3-master manually as automerger failed.

Tested: Manual
Change-Id: Ic8e6dd6ba83206d67ee27d4af9d56639e9e43ff9
2020-09-02 11:17:19 -07:00
TreeHugger Robot
017c93488c Merge "Intercept touch events from anywhere while all apps is closing" into ub-launcher3-master 2020-08-31 18:59:32 +00:00
Winson Chung
486fad2c44 Migrate trace proto from nano to lite
Bug: 166630570

Change-Id: I0567d0f71dd78e5dab87bb5878417c99c9bbe306
2020-08-31 17:55:51 +00:00
Tony Wickham
734be27f9b Intercept touch events from anywhere while all apps is closing
Previously we did this only from a settled state, but now we also
do it during the transition to NORMAL.

Test: open all apps. Then, swipe down to home and back up to all
apps (from above the top of all apps).

Fixes: 159856104
Change-Id: Ib78c6a41d5fa17dd26a7df4e9069e0ada1f46dd0
2020-08-28 13:23:10 -07:00
Sreyas
90faa282f1 Implementing TouchDelegate to make full chip clickable.
Merging to ub-launcher3-master manually as automerger failed.
Tested: Manual

Change-Id: I1b8b43de7f04e1e13cb283c88f95a7c6fea84ea6
2020-08-28 12:10:55 -07:00
TreeHugger Robot
4b84442178 Merge "Fix a couple issues with overview to home transition" into ub-launcher3-master 2020-08-26 18:27:20 +00:00
Vinit Nayak
8acdb23e64 Init rotationTouchHelper before NavModeChange listener
NavModeChange listener relies on rotationTouchHelper
to be non-null, but we instantiate rotationTouchHelper
after nav mode changes are fired off.

Fixes: 166303464
Change-Id: Iab92d0fe0ee842d907d7226dfd9ca599e7729675
2020-08-25 18:26:29 -07:00
Hyunyoung Song
516da83f62 Merge "Good riddance UserEventDispatcher [1/n]" into ub-launcher3-master 2020-08-25 09:25:55 +00:00
Hyunyoung Song
6b670d62df Good riddance UserEventDispatcher [1/n]
Bug: 165675920
Change-Id: I237ed4243e1724b3c370c5660673bb3966bf4811
2020-08-24 21:19:09 -07:00
Tony Wickham
b5493b90bc Fix a couple issues with overview to home transition
- In fake portrait, fade out instead of translating offscreen, as
  the orientation doesn't map to where RecentsView actually lives
- From OverviewModalTaskState, start from > 1 scale, and use
  OverviewToHomeAnim (to ensure RecentsView doesn't fade out etc)
  - To keep parameter list sane, added RecentsParams to
    AnimatorControllerWithResistance which has the new startScale
    (set to current scale for modal state) and renames the old
    RecentsParams to RecentsResistanceParams. Sorry if that's
    confusing.

Bug: 144170434
Change-Id: I437f0d18cad4c94feea25954aed3390acedcaed5
2020-08-24 16:27:00 -07:00
TreeHugger Robot
3cc22175e9 Merge "Moving hotseat predictions to ModelDelegate" into ub-launcher3-master 2020-08-24 18:42:01 +00:00
TreeHugger Robot
7658071d27 Merge "Set new scrimMultiplier instead of scrimProgress for overview -> home" into ub-launcher3-master 2020-08-20 02:24:56 +00:00
TreeHugger Robot
255ee17ce8 Merge "Allow swipe up to go home from overivew during task dismiss animation" into ub-launcher3-master 2020-08-20 02:19:23 +00:00
Pinyao Ting
840ad8e8bb Minimal Phone Mode (part-3) am: 96186aff87
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12219772

Change-Id: I27cb81fdb6cc1a5535aec3b259acda16106e084f
2020-08-20 02:03:17 +00:00
Tony Wickham
b176dc99b2 Set new scrimMultiplier instead of scrimProgress for overview -> home
Animating this new property allows us to adjust the scrim without
competing with other state animations that could be setting the
scrim progress. Also reset scrimMultipler = 1 for state transitions.

Test: Swipe from home to overview, then during that transition swipe
from overview to home; when the former transition ends while the
second is still in progress, ensure scrim value doesn't jump

Bug: 144170434
Change-Id: I44b57ced1c6902e558fe1818bcbf11ceb4ff2f6f
2020-08-19 18:42:00 -07:00
Tony Wickham
5af9c3537d Allow swipe up to go home from overivew during task dismiss animation
Test: go to overview, dismiss a task, swipe up to go home during the
transition (easier to try with animation duraation scaled up)

Bug: 144170434
Change-Id: I28b846b43260179aeac877351a7069743f66f3ea
2020-08-19 18:34:13 -07:00
Pinyao Ting
96186aff87 Minimal Phone Mode (part-3)
Introduces a separate database for minimal device mode.

When minimal device mode is enabled/disabled:
1. WellbeingModel receives onChange event from ContentObserver
2. WellbeingModel called DWB's ContentProvider for latest state in
minimal device mode
3. Based on the state, WellbeingModel calls LauncherProvider to put
launcher into normal/minimal mode.
4. When going from normal -> minimal, Launcher switches to a different
database, namely minimal.db, then proceed to database initialization.
5. If the database hasn't been initialized yet, Launcher will call
ContentResolver#openInputStream with following uri:
content://com.google.android.apps.wellbeing.api/launcher_layout
to get the default layout xml.
6. The default layout is then saved in database, and the database is
considered initialized and doesn't need to go through step 5 again in
the future.
7. In case of minimal -> normal, Launcher switches back to its original
database (e.g. launcher.db if the grid size is 5x5), then reload launcher.

Bug: 161462256
Change-Id: I6bafa66440da23281f63454b698ea56b15960022
2020-08-19 14:58:20 -07:00
Tracy Zhou
c5eedfb387 Merge "[Live Tile] Tapping home in Overview does not take user back to app" into ub-launcher3-master 2020-08-19 21:55:26 +00:00
Tracy Zhou
f9abe7bcbd Update rect in LiveTileOverlay via copying
Probably a recent change updates the rect when reaching overview, which wasn't happening before. Regardless, we shouldn't have copied the rect by reference since the referenced copy can be changed.

Fixes: 165143463
Test: manual
Change-Id: I9315a20226f0a4b3440ce5ee6cc1f4ed1ddca487
2020-08-17 22:27:55 -07:00
Sunny Goyal
0fc3d1275a Moving hotseat predictions to ModelDelegate
Bug: 160748731

Change-Id: I8db7856a17e0b6ca45b4d5ec3513f788f22db11a
2020-08-17 08:43:07 -07:00
Tracy Zhou
66f3ffe39f [Live Tile] Tapping home in Overview does not take user back to app
Fixes: 162340084
Test: Manual
Change-Id: I8e2caa4ec0d3203d70d35fc409e8053cae51e21e
2020-08-15 00:53:02 -07:00
Tony Wickham
532b962a03 resolve merge conflicts of 107fe60f6e to ub-launcher3-master
Change-Id: I9a1c52e66edd627fd54cc3cb423fa28a6175f8ac
2020-08-15 00:20:44 +00:00
Tony Wickham
d844fe758c Remove ENABLE_OVERVIEW_ACTIONS flag, defaulting to true
We no longer support the "peeking" model where the shelf would
peek on motion pause from an app and overview would peek on motion
pause from home. Thus, removed/inlined the following:
- FlingAndHoldTouchController (merged into its sole subclass
  NoButtonNavbarToOverviewTouchController)
- ShelfPeekAnim
- OverviewPeekState

Change-Id: I066a3ad2636fde4786089c922b896bf1e03361fd
2020-08-14 15:58:29 -07:00
TreeHugger Robot
6c1a88f172 Merge "Track OverviewToHomeAnim with StateManager" into ub-launcher3-rvc-qpr-dev 2020-08-14 22:45:17 +00:00
Tony Wickham
9dfcc316c1 Track OverviewToHomeAnim with StateManager
This way we mark the the current state as NORMAL at the start of
the animation, and cancel it as part of other state transitions.
This allows us to interact with launcher (e.g. to go to all apps
or pull down the notification shade) during the animation.

Also use OverviewToHomeAnim from RecentsView#startHome() to
ensure the animation is consistent, e.g. doesn't fade out
RecentsView, scrolls to page 1, etc.

Bug: 144170434
Change-Id: I5348565b9e705d8ffba39818dde9efe82b16bb7a
Merged-In: I5348565b9e705d8ffba39818dde9efe82b16bb7a
2020-08-14 22:30:33 +00:00
Tony Wickham
4fb5f74bb4 Track OverviewToHomeAnim with StateManager
This way we mark the the current state as NORMAL at the start of
the animation, and cancel it as part of other state transitions.
This allows us to interact with launcher (e.g. to go to all apps
or pull down the notification shade) during the animation.

Also use OverviewToHomeAnim from RecentsView#startHome() to
ensure the animation is consistent, e.g. doesn't fade out
RecentsView, scrolls to page 1, etc.

Bug: 144170434
Change-Id: I5348565b9e705d8ffba39818dde9efe82b16bb7a
2020-08-14 14:38:24 -07:00
Sunny Goyal
5fb83a47f2 Removing icon recents version
Change-Id: Ibdc88715e38590cedf8a7b5174061bb2c6ef9533
2020-08-14 10:49:19 -07:00
Tony Wickham
59d04e6ea6 Use system VelocityTracker instead of forking least squares algorithm
Change-Id: I8e03cdd0942b9037054cd1955bdb6809c89f3ea2
2020-08-13 10:41:49 -07:00
TreeHugger Robot
9529b95e06 Merge "Store mHistoricTimes as longs intead of floats" into ub-launcher3-rvc-qpr-dev am: f35053ad58
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12365858

Change-Id: I3c21d9d47a525e9c975c6acf38c99a2f1668359c
2020-08-13 02:25:50 +00:00
Tony Wickham
a145670969 Store mHistoricTimes as longs intead of floats
The loss of precision was causing us to miscalculate the age of
events, and thus not detecting any pause due to denominator = 0.

Test: have a device that hasn't been rebooted for a certain
amount of time such that SystemClock#uptimeMillis can't be
accurately converted to a float, then try to swipe up and hold

Fixes: 160568387
Change-Id: Idef112187f34a18feea7e6a0b77258626f9d0ed4
2020-08-12 17:02:53 -07:00
TreeHugger Robot
74f218530e Merge "Wrapping display properties in a wrapper class" into ub-launcher3-master 2020-08-12 23:36:27 +00:00
Sunny Goyal
fd58da6a75 Wrapping display properties in a wrapper class
This would allow us to support gestures on multiple-displays

Change-Id: I8f426bbdf04520f4189cadce2bde6aab4933c8d9
2020-08-12 13:43:56 -07:00
Sunny Goyal
d62e797d18 Disabling debug log as the associated bug is closed
Bug: 154951045
Change-Id: I2e503c6d2f0a9f694ee1f88167924114fe495c2f
2020-08-11 12:11:18 -07:00
Tony Wickham
cf5aea05b3 Update overview from home transitions am: 03a4a0cd53
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12184426

Change-Id: Iac33ad0742264a97e754a1cc4336ed3ab727944a
2020-08-10 21:29:00 +00:00
Tony Wickham
03a4a0cd53 Update overview from home transitions
For both NoButtonNavbarToOverviewTouchController and
NavBarToHomeTouchController:
- Have consistent resistance applied such that RecentsView scales
  down and translates up slightly (but not as much as from an app)
- Have consistent animation to home if you fling to that state
  rather than stay in overview. This is handled by a new class,
  OverviewToHomeAnim, which consolidates logic from NBTHTC and
  overrides some interpolators such that RecentsView doesn't fade
  out or translate downwards during the animation (it just slides
  off the screen while the home animation plays).

Also make overview actions not clickable when alpha == 0, so that
you can tap the hotseat/qsb during the transition from home to
overview.

Bug: 144170434
Change-Id: Ic291f285ff2f63c477633c48d4fadb23cf70c28a
2020-08-10 13:15:23 -07:00
Tony Wickham
e6f9e0eb7e Revert "Update overview from home transitions"
This reverts commit f3bc797182.

Reason for revert: updating upstream, need to wait to cherry-pick until that's approved

Change-Id: I702286dba66fb4582ab682a5b0b8cd80ccebf346
2020-08-10 19:13:17 +00:00
Tony Wickham
f3bc797182 Update overview from home transitions
For both NoButtonNavbarToOverviewTouchController and
NavBarToHomeTouchController:
- Have consistent resistance applied such that RecentsView scales
  down and translates up slightly (but not as much as from an app)
- Have consistent animation to home if you fling to that state
  rather than stay in overview. This is handled by a new class,
  OverviewToHomeAnim, which consolidates logic from NBTHTC and
  overrides some interpolators such that RecentsView doesn't fade
  out or translate downwards during the animation (it just slides
  off the screen while the home animation plays).

Also make overview actions not clickable when alpha == 0, so that
you can tap the hotseat/qsb during the transition from home to
overview.

Bug: 144170434
Change-Id: Ic291f285ff2f63c477633c48d4fadb23cf70c28a
2020-08-08 19:18:57 +00:00
Tony Wickham
70a556da1d Add translation component to swipe up resistance am: ce8b2b5180
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12174363

Change-Id: I18d7be49bb3bfc9f846c14a9138b5daf381e1d56
2020-08-07 20:22:52 +00:00
Tony Wickham
ce8b2b5180 Add translation component to swipe up resistance
Now recents view follows your finger all the way to the top of the
screen. Specifically, your finger tracks the bottom of the window
until resistance starts (when RecentsView is at 75% scale), then
we add translation to compensate for the slower rate of scaling
down, such that your finger slips to the top of the window by the
time it reaches the top of the screen.

Also reset this translation back to 0 in the state handlers.

Bug: 149934536
Fixes: 158701272
Change-Id: Iaee58da758d422f0173c29d002f5c451ce0c1809
2020-08-07 12:32:50 -07:00
Jason Chang
8aaafc9186 Merge "Refactoring One-Handed feature flag and others" into ub-launcher3-master 2020-08-05 04:28:29 +00:00
Jason Chang
f66f2f66cf Refactoring One-Handed feature flag and others
Purify some conditions for reducing redundancy codes.

Test: manual
Change-Id: I2f39207424f9db3fb6b12bc08bee525f3dfab0aa
2020-08-04 19:59:42 +08:00
Raman Tenneti
ab98166c36 AOSP/Launcher3 - Update language to comply with Android's inclusive language guidance.
See https://source.android.com/setup/contribute/respectful-code for reference

BUG=161896447

Test: make and Presubmit verify.

Change-Id: I44e903046dd4cd9c7c07872fc56a8d552eb09522
2020-08-04 00:35:03 +00:00
TreeHugger Robot
cb89edcbcc Merge "Changing minimum supported Launcher version to 26" into ub-launcher3-master 2020-08-03 22:24:14 +00:00
TreeHugger Robot
ffc06198ff Merge "Rewrite long swipe resistance ("pullback") logic" into ub-launcher3-rvc-qpr-dev 2020-08-03 22:11:30 +00:00
Tony Wickham
354a436f4e Rewrite long swipe resistance ("pullback") logic
- Rename "pullback" to "resistance" to reduce confusion.
- Remove mDragLengthFactorStartPullback & mDragLengthFactorMaxPullback
- Add AnimatorControllerWithResistance, which has 2 controllers, one
  for the normal shift to overview, then one to apply the resistance
  when swiping beyond that.
- Don't hack animator interpolators/progress; insteaad, allow progress
  to go > 1 (which will run the separate resistance animator).
- Don't start launcher controller separately from window controller;
  instead, both are controlled by mCurrentShift in updateFinalShift().
- The resistance animation logic is shared by both the active window
  and launcher (RecentsView).

Bug: 149934536
Change-Id: Ib0f9da18e10cc9ddf1a2f82ed767f237c89d3a41
Merged-In: Ib0f9da18e10cc9ddf1a2f82ed767f237c89d3a41
2020-08-03 21:01:46 +00:00
Tony Wickham
03c38c5c66 Rewrite long swipe resistance ("pullback") logic
- Rename "pullback" to "resistance" to reduce confusion.
- Remove mDragLengthFactorStartPullback & mDragLengthFactorMaxPullback
- Add AnimatorControllerWithResistance, which has 2 controllers, one
  for the normal shift to overview, then one to apply the resistance
  when swiping beyond that.
- Don't hack animator interpolators/progress; insteaad, allow progress
  to go > 1 (which will run the separate resistance animator).
- Don't start launcher controller separately from window controller;
  instead, both are controlled by mCurrentShift in updateFinalShift().
- The resistance animation logic is shared by both the active window
  and launcher (RecentsView).

Bug: 149934536
Change-Id: Ib0f9da18e10cc9ddf1a2f82ed767f237c89d3a41
2020-08-03 13:59:38 -07:00