- 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
Setup codepath to animate the Taskbar when going to and from Launcher,
primarily by listening for pause/resume signals but also hints from
gesture nav and AppToOverviewAnimationProvider.
Additionally, add TaskbarStateHandler to listen for Launcher state
changes if Taskbar is enabled. Combined, the end behavior is:
- Background alpha is 0 when Launcher is resumed, and 1 when Launcher
is paused (we can make this animation more interesting later).
- Taskbar is always visible when Launcher is paused, otherwise its
visibility is determined by multiple factors: LauncherState and
whether the IME is showing.
Bug: 171917176
Change-Id: I7856fc979931c9d12d714dee11d179fd1b5a6968
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>
- 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
- Implement SearchServicePipeline which utilizes system Search services for AllAppsSearch Results
- Parse android.app.search.SearchTarget handling for Shortcut, Slice, Settings and Play results
- Aggregate SearchTargets to a tree structure for in-line Search Results
Bug: 177223401
Test: Manual
Change-Id: Iddc0f3691578fd332cd2df643a237b29f3eccd0d
Hook up the shell-transitions RemoteTransition to
launcher.
Bug: 169035082
Test: Launch an app from a launcher icon and observe
Change-Id: Ie327c11bbc59f19fb969f159f8380c10e4a84e50
New app launch crops the app window from the center, which is meant
to align with the centered icon in the new preview window, and then
it "reveals" the rest of the app window from center to out.
Code is behind same prop as the shell starting surface.
To enable:
- adb shell set prop persist.debug.shell_starting_surface true
- reboot
Bug: 177264697
Change-Id: I78f2eab216d4bb40dedae245f47a89fe677dd6e9
- Adds support for android.app.search.SearchTarget in plugin while maintaining plugin SearchTarget support
- Introduces SEARCH_TARGET_LEGACY temporary to switch between plugin and sdk variants.
- Maps resultType and layoutType pairs to the appropriate view
Bug: 177223401
Test: Manual
Change-Id: If8d4bb7c21c47a12447dcb0c56eed8781bd21e54
Setup architecture for separation between aosp and quickstep search as setup for switch to android.app.SearchTarget
Bug: 177223401
Test: manual
Change-Id: Iefd069a34d5e5551bf731e9171958e93377774aa
Move all the logic that calculate the app open float properties
to a separate class.
This is in preparation for the new app launch properties.
Change-Id: I1a008b2ea1379cbf667c5ad3ad58ece04bd88185
- Map to progress 1 instead of dividing by 0 if expectedDuration == 0
- Map to starting progress one frame ahead based on velocity
- Change direction of velocity so it's in the same direction as the
task progress (0 is down and 1 is up).
Change-Id: I5ac3f8a0d6c616bd303ac1a902242964bb33d3c7
Pending a resolution in b/174174514, disabling the visibility-gating of hotseat and all app prediction row updates. Updates will be allowed regardless of visibility.
Test: manual
Change-Id: I10e4dae9aad9af7b799fdad3b231c734e383b493
Previously, we were using scroll direction POSITIVE as a catch all
to mean "up" but in seascape, we actually want NEGATIVE. Added
getUpDirection() to capture that. Tried to clarify the code a bit
by putting all the methods used solely by TaskViewTouchController
together with documentation. It's still pretty confusing and feels
redundant, but couldn't think of an obvious way to simplify.
Test: Swipe up and down on a task in all permutations of:
- 3 button mode
- Gesture navigation
- Portrait
- Landscape
- Seascape
- LTR
- RTL
- Home rotation allowed
- Home rotation disallowed
Fixes: 174009771
Fixes: 173567204
Change-Id: Id0f8d6f4365d888eb46182d8544d18206795dfb8
It will help finding jank in the quick switch
scenario.
Also removing tracing for cases when it's done
by the jank monitor.
Test: manual
Bug: 174892351
Change-Id: I16fc784ddb52203dba54eab2700b5a04a10088ff
Test: manual, presubmit on the source branch
x20/teams/android-launcher/merge/ub-launcher3-master_master_6976145.html
Change-Id: Ic13b1a20cc3d555e8e86717ca0da97103ff09c85
This is a part of Blue Chip de-janking effort and is
a P0 item in our CUJ list.
In the last frame of the app-open animation, we have
a
android.view.IRemoteAnimationFinishedCallback$Stub$Proxy.onAnimationFinished call
which is blocking and prone to lock contention in WindowManager.
Moving the call to after the animation.
Bug: 173072373
Change-Id: If5eb6469900d1892b861eda6d6b4807d90630b6b
Hotseat predicted app updates were only being allowed then the hotseat was invisible or when the workspace was loading. This was too strict. Changed the logic to ignore hotseat visibility when the workspace is loading, when there are empty spots in the hotseat and when the predicted items are unchanged. This ensures the hotseat always has the intended number of icons and that icons can be updated in-place.
Fixes: 172597819
Demo: https://drive.google.com/file/d/100svnqX048Da7vues2p-vvQNN6sIF8v4/view?usp=sharing
Change-Id: I2f93ff44618c0282a6411918c34d70f75ec73b73