Commit Graph

10492 Commits

Author SHA1 Message Date
TreeHugger Robot 8d65ab8c81 Merge "Hide IME when scrolling happens on all apps screen/scroller" into ub-launcher3-master 2020-08-20 05:36:37 +00:00
TreeHugger Robot a96f44b853 Merge "Using persisted item storage for install queue." into ub-launcher3-master 2020-08-20 04:16:37 +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
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
Sunny Goyal 104c9d1206 Using persisted item storage for install queue.
Shared prefs are loaded during startup and should avoid large objects

Change-Id: Ibb5c8307dbccb9414b42454825e6c3c2a972efa6
2020-08-19 17:38:58 -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
Samuel Fufa dc4545ec29 Merge "Introduce support for play results in launcher" into ub-launcher3-master 2020-08-19 16:44:29 +00:00
Hyunyoung Song b9f9d69f67 Hide IME when scrolling happens on all apps screen/scroller
Bug: 161594550

TL;DR;;
- draging an item closes the IME
- clearing a searchbox to empty string has no effect on IME

Change-Id: Ic3a91d1b22434dcb78347dd8b12b5ceab14eb928
2020-08-19 01:20:06 -07:00
TreeHugger Robot a92c26b161 Merge "Update worksace page indicator during HINT_STATE transition" into ub-launcher3-master 2020-08-18 23:35:09 +00:00
Tony Wickham 1fbab3ad2c Update worksace page indicator during HINT_STATE transition
Test: Scroll to workspace page 2, then swipe up from the nav bar;
ensure that the page indicator fades in and scrolls to page 1

Change-Id: Ie0157c8e67b94509d3817f7e160d26f505185bbb
2020-08-18 15:12:56 -07:00
TreeHugger Robot 217dbfea01 Merge "Removing static state management from the install shortcut queue" into ub-launcher3-master 2020-08-18 22:00:23 +00:00
Samuel Fufa 114de69c98 Introduce support for play results in launcher
Introduces PluginSearchPipeline class, a plugin listener for AllAppsSearchPlugin. Coverts from List<Bundle> results from callback to AdapterItems to be rendered in SearchController.
- Moves AdapterItem to AllAppsGridAdapter

Bug: 164699827
Test: Manual
Change-Id: I20ec147e6b3f4707cf69d62b4b4ac70a90196345
2020-08-18 11:34:09 -07: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
Hyunyoung Song 1ae2937f75 Merge "Hookup existing AllAppsSearchPlugin interface to SearchBarController Bug: 161801331" into ub-launcher3-master 2020-08-14 19:34:50 +00:00
Sunny Goyal 5fb83a47f2 Removing icon recents version
Change-Id: Ibdc88715e38590cedf8a7b5174061bb2c6ef9533
2020-08-14 10:49:19 -07:00
Hyunyoung Song 8cac927bdb Hookup existing AllAppsSearchPlugin interface to SearchBarController
Bug: 161801331

Change-Id: Ied575f78ad2139c6818ae5a13467b7399b9ab17a
2020-08-14 03:54:04 -07:00
Andy Wickham a9f9551732 Merge "Refactors LauncherPreviewRenderer to better support subclassing." into ub-launcher3-master 2020-08-13 19:22:12 +00:00
TreeHugger Robot ba9415162c Merge "Use system VelocityTracker instead of forking least squares algorithm" into ub-launcher3-master 2020-08-13 18:17:41 +00:00
TreeHugger Robot 58a1689cef Merge "Overview Actions - enable proactive actions flag." into ub-launcher3-rvc-qpr-dev am: 2ddbe127fb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12286410

Change-Id: I54898c6a1a47d271c8d18c17d24a5acb6e67fd1e
2020-08-13 18:05:50 +00:00
Tony Wickham 59d04e6ea6 Use system VelocityTracker instead of forking least squares algorithm
Change-Id: I8e03cdd0942b9037054cd1955bdb6809c89f3ea2
2020-08-13 10:41:49 -07:00
Andy Wickham a310e9c035 Refactors LauncherPreviewRenderer to better support subclassing.
Basically this removes the inner class MainThreadRenderer, which
was only created and used for its populate() method in the parent's
getRenderedView() method. All methods and members of that subclass
are merged into the parent LauncherPreviewRenderer class, and
getRenderedView() simply inlines the previous populate() code.

Other smaller changes:
 - Extracted out shouldShowQsb() and shouldShowRealLauncherPreview()
 - Disables search view and its children to prevent interaction

Change-Id: I7d0cce73efbe022c16661a0ad66eefe5cb285641
2020-08-12 20:02:27 -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
Zak Cohen 1e414d5005 Overview Actions - enable proactive actions flag.
Bug: 162623012
Test: local
Change-Id: I343ae83601ebdab4dacc9f4611b069f87b5542eb
2020-08-12 16:32:45 -07:00
Sunny Goyal 60e68c91e9 Removing static state management from the install shortcut queue
Change-Id: I0b74a843b2081ee314e0840d5ea8ab8ddabde32b
2020-08-12 14:37:15 -07: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 53116c6cc8 Simplifying InstallShortcutReceiver
> Removing support for legacy shortcuts (with embedded icon)
> Unifying pattern for storing the data in prefs

Change-Id: Ife250807c7ce5337969d25444ee23c751bc2a487
2020-08-11 16:41:45 -07:00
Sunny Goyal 762d06136c Caching last predictions and loading it with model
Adding support for persisting itemInfos on disk. This uses
a separate xml file. Unlike prefs, it does not keep the items
in memory and is just a wraper over reading/writing a file.

Bug: 160748731
Change-Id: Iaccab9928ab8f30127fb3c2d630ca8ca83f0bd05
2020-08-11 13:23:29 -07:00
Hyunyoung Song 3003e57d17 Merge "Handle IME selection focus for ENABLE_DEVICE_SEARCH" into ub-launcher3-master 2020-08-11 17:56:59 +00:00
Hyunyoung Song 5dd045bec6 Handle IME selection focus for ENABLE_DEVICE_SEARCH
Bug: 162861289
Change-Id: I15e4eae09be2aa9f89a5157fd74c95e91e64bc53
2020-08-11 09:27:45 -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
TreeHugger Robot a2c6c97374 Merge "Revert "Update overview from home transitions"" into ub-launcher3-master 2020-08-10 20:01:06 +00: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
TreeHugger Robot cb4c4dea95 Merge "[Overview Actions] Add a logging event for tapping images in select mode." into ub-launcher3-rvc-qpr-dev am: 6bd1882eae
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12336644

Change-Id: I2dba3dda4d6ef8a8857e18708a96ebab9da30f20
2020-08-10 16:31:55 +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
Becky Qiu 14e03d1c4d [Overview Actions] Add a logging event for tapping images in select mode.
Event IDs were generated by command line on my workstation by uieventscli.
Manually added to StatsLogManager.

Test: local
Bug: 161273376
Change-Id: Iee36c450ddb207f87653a8da2355c720369caa34
2020-08-07 15:07:04 -07: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
Samuel Fufa 87805cd941 Merge "Introduce support for Hero app Section" into ub-launcher3-master 2020-08-07 18:11:59 +00:00
Samuel Fufa 4a53c70c57 Introduce support for Hero app Section
[Video attached to bug report]

Bug: 162871508
Test: Manual
Change-Id: Ia6f5621d6220f55e6fd5e56530853c267838442c
2020-08-07 17:29:19 +00:00
TreeHugger Robot 4ade3fd561 Merge "Fix adjacent page offset in landscape orientation" into ub-launcher3-rvc-qpr-dev am: 3f20e33af6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12327711

Change-Id: I8f2da96439372a9f6671469c3c41e4c0a43a4067
2020-08-07 00:10:05 +00:00
TreeHugger Robot 3f20e33af6 Merge "Fix adjacent page offset in landscape orientation" into ub-launcher3-rvc-qpr-dev 2020-08-06 23:52:04 +00:00
Tony Wickham 3b9d5843c9 Fix adjacent page offset in landscape orientation
Before, the adjacent tasks were coming in from the top and bottom
of the screen rather than the sides.

Bug: 149934536
Change-Id: Id6e57dcbc1967d70869df06068d25717de116934
2020-08-06 15:04:51 -07:00
Andy Wickham 8ccd877f42 Merge "Adjusts Clear all to be vertically centered with the tasks." into ub-launcher3-master 2020-08-06 19:37:35 +00:00
Andy Wickham 17d0080cc3 Adjusts Clear all to be vertically centered with the tasks.
I made a sample task where the content of the app was
centered, and I added lines to demonstrate the center
while in Overview. As you can see, the center of the
app content is slightly different from the TaskView
in Recents - it seems part of the bottom of the app
gets removed when transitioning to Recents (for the
rounded corner radius or nav bar?). On Pixel 4, I
had to add 46dp of padding to the bottom line for it
to appear at the bottom of the screenshot in Recents.

Screenshot: https://drive.google.com/file/d/1xzQNXWb0T0UGDhDS9Ov-AduM3nd-pfg8/view?usp=sharing
Before: https://drive.google.com/file/d/1ghN9VWP44XjcZkdmI106dy4_jB4Vs4J3/view?usp=sharing

Rotating between landscape and portrait:
https://drive.google.com/file/d/1OD5aKT9LCE5w950-6AaHfWXU4sLyW3Qe/view?usp=sharing

Fixes: 154964045
Change-Id: I594057e3b5df58c5a907b6ca14daa700d5011b7b
2020-08-05 19:44:07 -07:00
TreeHugger Robot 7f28b8814b Merge "Moving data sanitization to the end, as it need not block the loading" into ub-launcher3-master 2020-08-05 19:44:57 +00:00