Previously it was using OtherActivityInputConsumer, which got things in a
pretty weird state (e.g. most recent app would appear in the center as if
it was the active app when you started Quick Switching, etc.).
By default (toggleable by a feature flag), OverviewWithoutFocusInputConsumer
is used because Assistant doesn't seem to respect the CLOSE_SYSTEM_DIALOGS
broadcast, at least in half-shelf mode. In this case, the Home intent is
sent on swipe up, or you can dismiss it with the back gesture or by tapping
above the half shelf.
The new feature flag ASSISTANT_GIVES_LAUNCHER_FOCUS routes touches through
OverviewInputConsumer. As opposed to OverviewWithoutFocusInputConsumer,
this allows Quick Step to work while Assistant is running. Additional logic
is added to dismiss the Assistant when appropriate. Note that the dismissal
happens atomically, so it's not completely fluid with the other animations.
As mentioned above, this is disabled by default because Assistant doesn't
currently respect CLOSE_SYSTEM_DIALOGS.
Demo with the flag enabled (and Assistant respecting CLOSE_SYSTEM_DIALOGS):
https://drive.google.com/open?id=1W5jGpn_TEC-KjrYwQtaBT3pzxG_5tC4W
Bug: 139661510
Change-Id: I261653118aff289b329ec2a7ca6e52f100f7835a
Tested: Manually used quick switch after invoking Assistant from home screen.
This will allow subclassing BitmapInfo to support custom icon/dynamic
icons which can be loaded on the background thread instead of going
through IconFactory which runs on UiThread
Change-Id: Ieced6e91330bdff1b505826d097a8df711dfe967
- We were not getting callbacks for sessions created under work profile.
- We did not pass in the user when creating the workspace item infos.
- Added check for if app is installed before adding item to workspace
to prevent any stale promise icons. This seems to happen when uninstalling
and then immediately reinstalling an application.
Bug: 141556707
Change-Id: Ie0320f3ede70b6c7543cb60c3b95a2fe398eecb5
Merged-In: I2db2d8da449c37eb248a59fbc9e7b517f50855c1
- We did not pass in the user when creating the workspace item infos.
- Added check for if app is installed before adding item to workspace
to prevent any stale promise icons. This seems to happen when uninstalling
and then immediately reinstalling an application.
Bug: 141556707
Change-Id: I2db2d8da449c37eb248a59fbc9e7b517f50855c1
Existing clients now use the SingleAxisSwipeDetector subclass. A
followup CL will add BothAxesSwipeDetector, whose first client will be
the quick switch from home controller.
Bug: 126596417
Change-Id: I54c71088cfe99ff28cdc719a1eb7a7d06ac95d2d
Merged-In: I54c71088cfe99ff28cdc719a1eb7a7d06ac95d2d
Existing clients now use the SingleAxisSwipeDetector subclass. A
followup CL will add BothAxesSwipeDetector, whose first client will be
the quick switch from home controller.
Bug: 126596417
Change-Id: I54c71088cfe99ff28cdc719a1eb7a7d06ac95d2d
> Connect to a predefined content provider to get package specific action
> Add that action to shortcut menu and task menu
Change-Id: Ide5c09d04112e86c8e19c2f9e66c88c15b3fd04e
> This makes easier to extend the factory and callbacks separately
> Availability checks are only performed once when getting the shortcut
Change-Id: I413541eabfb2b9e987c852d5171c6696b1853958
Allows us to override only the required methods, instead of providing
a proxy method for everything
Change-Id: I816dcdb2a8d5432496050118ded0f2bbe7122cf7
If attachTo happens before the view is attached to window,
ViewOnDrawExecutor hooks to the tree observer twice (second time from
onViewAttachedToWindow). It only unhooks once.
Since tree observer is global, this leads to leaking the activity, and
besides, all old activities getting the events from the tree observer.
Bug: 139137636
Change-Id: Ie2641b8f3614545052fe34ad6588b070c3b82a33
(cherry picked from commit ebb5c75344)
If attachTo happens before the view is attached to window,
ViewOnDrawExecutor hooks to the tree observer twice (second time from
onViewAttachedToWindow). It only unhooks once.
Since tree observer is global, this leads to leaking the activity, and
besides, all old activities getting the events from the tree observer.
Bug: 139137636
Change-Id: Ie2641b8f3614545052fe34ad6588b070c3b82a33
- Add TaskAnimationManager which keeps track of the animation state whose
lifecycle can be longer than the gesture. Move some of the logic related
to cleaning up old animations into this class (called when the state is
shared across gestures).
- Instead of calling into the shared state directly via UIFactory, add
callback to cleanup the animation and shared state from Launcher
Bug: 141886704
Change-Id: Ib6140b37162f7460a20fa1046cfd4f4068e4a1c6
Signed-off-by: Winson Chung <winsonc@google.com>
This reverts commit 28dc8de660.
Reason for revert: the code change introduces significant delay when saving deep shortcut icons in cache.
Change-Id: I5d67ac0c4c867a40e882b7a46be446f8f7f63ac7
This reverts commit 4ec390e490.
Reason for revert: the code change introduces significant delay when saving deep shortcut icons in cache.
Bug: 142514365
Change-Id: If7a69844aba7f32690ff347f2db11f0a8041b9e4
- Adding trace tokens since we can be starting/ending traces out of order
- Fixing issue with draw hitting twice causing the trace stack to be
popped twice
- Fix issue with endFlagOverrides not removing from the stack
Bug: 142803200
Change-Id: I8649b94249910a352f00f2f2c2459c355d2bab00
We build an IDP with no grid size override values. This
allows us to reference the profile measurements so that we can have a
consistent UI for areas that the grid size change should not affect.
Bug: 124967099
Change-Id: I6235862c95800d8f31dbf2de1d12b1fcf4dbd850
Previously we correctly set mSubtractDisplacement when re-catching
during the SETTLING state, but then immediately overrode it to be
+/-mTouchSlop.
Test: Swipe up to all apps, catch it by touching down during the
transition, ensure there's no jump when starting to move again.
Change-Id: I5d543e8a8b027b68bafb26b752e70862f6ae0777
Bug: 141568904
Test: Manually verified use cases from following call-site (with and
without delay)
LauncherAppsCompatVO
1. (Custom Shortcut) Long click on google maps -> widgets ->
drag driving mode to workspace.
2. Open chrome -> add to home screen -> add -> add automatically.
InstallShortcutReceiver
Removed the line that trigger above flow for android O and above,
then open chrome -> add to home screen -> add -> add automatically.
ShortcutDragPreviewProvider
qdb -> long press on suggested app that has deep shortcut -> drag
to workspace.
Change-Id: I59a4d004913a8df697af1fcfe0a080b6da01eefd
This reverts commit 52908c9adc.
Reason for revert: roll-forward and fixes the crash due to access icon cache on main thread
Bug: 141568904
Change-Id: I1274db349c4f508d9cf59735b5f15180bb0ec033