The problem: when Overview is in split slect mode second split app pick from taskbar take you back home. Why, because upon touch the taskbar touch region get
set to empty and then we later don't meet any conditions to set default touch region to something.
The solution: change the condition of checking overview in onTaskbarOrBubblebarWindowHeightOrInsetsChanged so that we check that taskbar is in any overview s
tate and we don't rely on the stash controller flag alone. we follow similar logic in updateInsetsTouchability, but we gate that only behind transient taskba
r hence this was not an issue for transient taskbar.
Test: Manual
Bug: 373559050
Flag: EXEMPT bugfix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:9aa005b657bebe60867b2c2961c2f5deac8cf359)
Merged-In: Ia507354f42959ce9d320114a313bfc533186b524
Change-Id: Ia507354f42959ce9d320114a313bfc533186b524
- Refactored Taskbar animation duration to under one method and added logic to sync animation duration according to enableScalingRevealHomeAnimation.
- Change the interpolator for TaskbarLauncherStateController based on enableScalingRevealHomeAnimation.
Test: Presubmit, Manual
Bug: 369378541
Flag: EXEMPT Bug Fix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:0a65c5bd72d755856148faeb070a5d2ad2c79cb0)
Merged-In: I942829b475f91e9102801b758eb7ee0d27eee912
Change-Id: I942829b475f91e9102801b758eb7ee0d27eee912
- When invalidateHandler() is called, it calls endRunningWindowAnim()
which includes mParallelRunningAnim. This causes a jump if
mParallelRunningAnim was not already finished, so we now wait to
invalidate the handler after mParallelRunningAnim ends.
Flag: EXEMPT bugfix
Test: AbsSwipeUpHandlerTestCase (added two tests for this)
Fixes: 370208192
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ee98cd4bdf739c2f93f7cf0a20764acb2a837b0c)
Merged-In: I37ed281a993b1d2fa3634754378314511f3295f0
Change-Id: I37ed281a993b1d2fa3634754378314511f3295f0
- There are multiple signals that come just after FLAG_DEVICE_LOCKED
is removed, and those should still be considered part of the unlock
transition. We already did this for TaskbarStashController so I copied
it to TaskbarLauncherStateController.
- Also animate when changing SYSUI_STATE_OVERVIEW_DISABLED, since this
happens when the device is locked/unlocked and changes the visibility
of TaskbarView icons.
Test: manually unlock over both home screen and in-app, verify clean
transition without jump (e.g. Hotseat is immediately visible as part of
Workspace, and Taskbar fades in during unlock to an app)
Flag: EXEMPT bug fix
Fixes: 364586744
(cherry picked from commit 7519b7c2e6)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:060a883fca73711684ad3a1069677569a264b7fb)
Merged-In: If0497fcc17bb0ec44294c4ea1163104b4d8be459
Change-Id: If0497fcc17bb0ec44294c4ea1163104b4d8be459
This cl fixes two taskbar bug being present when invoking CtS.
Solution: simply measure displacement and compare that with slop to animate taksbar background or not.
Test: Presubmit
Bug: 360116669
Flag: EXEMPT Bug Fix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:7cada7c46b0462bc56d2dc363d61e8967a42001f)
Merged-In: I7d5a95e1a3729e30e5cf588dcf5b823f3d7de93f
Change-Id: I7d5a95e1a3729e30e5cf588dcf5b823f3d7de93f
This reverts commit 5dc07d786f.
Reason for revert: b/360116669
Bug: 345768019
Change-Id: Id70ceed141e2106f746d4a0e68a09675ba45dd28
Fixes: 360116669
Test: open taskbar, open all apps w/ ime, use ime back button
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
This CL changes GroupedTaskView#onMeasure() to return more robustly in the case where a single task from a GroupedTaskView is staged.
See bug for fine details, but basically we no longer allow onMeasure() to re-bound the split task to fullsize in split selection state -- we leave it in half size all the time (with scale and translation applied). To allow it to stay scaled-up and translated properly across rotations and stuff, we now avoid resetting translation and scale until split select is exited.
Fixes: 365476600
Test: Manual test with offscreen tiles, rotations, fake landscape and seascape
Flag: NONE bugfix
Change-Id: I0ee8d13d310ed1f134f3f396bb87541a5ea685ef
- Adds placeholder view to represent the Overflow affordance.
- Overflow button will always appear as long as there are any
recent apps.*
- Click / long click on the button will open KeyboardQuickSwitch
- Relevant code is Guarded by Flags.taskbarOverflow.
*Note that this is not up to spec. This change is only meant to
setup the codebase to support Taskbar Overflow.
Bug: 368119679
Test: open app, enter desktop windowing, click overflow button
Flag: com.android.launcher3.taskbar_overflow
Change-Id: I47f96797408fda09e8326ba8fb7981c91de80e36
Follow up to ag/28978773
It seems like mControllers == null doesn't work when folding. The launcher visibility change still triggers the stash animation from onLauncherVisibilityChanged
by LauncherTaskbarUIController#onDestroy
Bug: 362713428
Test: manually make sure that the stash animation isn't triggered from folding
Flag: EXEMPT bugfix
Change-Id: I04539e7a31d6c329eacb54946e3b3c211e47a709
Missed annotating the SettingsChangeLogger as singleton in ag/29424931.
Tested with commands
> m statsd_testdrive
> $ANDROID_HOST_OUT/bin/statsd_testdrive -terse 10108
Verified logSnapshot is called on same instance of SettingsChangeLogger.
Bug: 361850561
Test: Manual
Flag: NONE Dagger Integration
Change-Id: Icdbe57623bb0ce1a2ef55cdab238e1f9bfbedf40
This change adds a new menu option to Taskbar that is invoked when long
pressing an icon. It createds a new instance for an app if the app
supports multi instance in Desktop Mode.
Bug: 315344726
Test: Manual
Flag: com.android.launcher3.enable_multi_instance_menu_taskbar
Change-Id: Ibc42fbb1ad485496cd938af730b86e051cea559a
Moved logic that adjusts the hotseat position from the constructor of
the NavbarButtonsViewController to onTaskbarLayoutChange() method that
is called from the TaskbarViewController TaskbarView layout change
listener.
Test: Manual:
Moved the bubble bar to the default right position. Rebooted the device.
Navigation bar was placed on the left side of the screen.
Flag: com.android.wm.shell.enable_bubble_bar_in_persistent_task_bar
Bug: 367829539
Change-Id: Ife0c48a72b318d6051b7b09bde13818546e65d98
See
https://docs.google.com/drawings/d/1JHFi_nhmQt2xPT1N3FB_1mnaRK5TVqKZ9-fSl3EA7sU/edit?usp=sharing
and
https://docs.google.com/drawings/d/1bx4WURP4uHZGzZ1bWQgpw701jkTkVqlNfA02Yt-ZtSI/edit?usp=sharing&resourcekey=0-oySjsnaCsOSrNIPqqEa0gw
for design details.
We need to make SandboxContext extend LauncherApplication because we
want create MainThreadInitializedObjects in SandboxContext's
AppComponent scope. Since MainThreadInitiliazedObjects are closed in
SandboxContext's OnDestroy() , we need to replicate same thing using
dagger as well.
- DaggerSingletonObject is same as MainThreadInitializedObject but is
used for fetching the dagger created singletons so that we can avoid
major refactors for accessing singletons. This will be deleted soon.
- DaggerSingletonTracker to track dagger created singletons and call
close() on those singleton objects created in SandboxContext scope.
- Annotate the singleton object SettingsChangeLogger constructor with @Inject and execute the statements in Main thread.
- Added createSandboxContextForTest(only for Test) to avoid creation of
dagger component in test. As follow up, I will delete this method and
introduce fakeDaggerComponents in test.
Bug: 361850561
Test: Manual
Flag: NONE Dagger Integration
Change-Id: I2d3762ea64e53baa4de190790568aec750b54201
- waitForToggleCommandComplete was a legacy logic to rate limit OverviewCommandHelper to avoid too many TOGGLE commands simulataneously
- As OverviewCommandHelper iterates, commands are now executed one by one and waitForToggleCommandComplete is no longer useful
- waitForToggleCommandComplete also caused a bug that when OverviewCommandHelper times out, we cancel the command completely, which causes waitForToggleCommandComplete to remain true, as a result all subsequent TOGGLE commands will be ignored
Fix: 368328461
Test: Aggressively keep tapping recents button, it should never get stuck
Test: 3 button Overview tests in presbumit
Flag: EXEMPT BUG_FIX
Change-Id: Ia9b64057ffb8ade6b964eb7f52c2fe72b9e7f77b
Previous sequence of events when swiping home:
- AbsSwipeUpHandler getParallelAnimationToLauncher() ->
TaskbarLauncherStateController#createAnimToLauncher(NORMAL, ...)
(but mLauncherState is still BACKGROUND_APP, so we don't play the
icon alignment anim here)
- AbsSwipeUpHandler#createWindowAnimationToHome ->
LauncherHomeAnimationFactory#createActivityAnimationToHome() sets the
state to NORMAL.
- TaskbarLauncherStateController now animates the icon alignment in
response to the state change, but it's a separate animation from the
one created in createAnimToLauncher()
- If you touch down during the transition to home, we finish the
animation that was returned by createAnimToLauncher(), but that
doesn't include iconAlignment so that part still plays on top
To fix this, we set mLauncherState = toState in createAnimToLauncher so
that the applyState picks it up and does the iconAlignment as part of
that animation.
Test: manual: swipe to home and immediately swipe up to All Apps (or
down for notifications or right for -1), verify no Taskbar on top
Flag: EXEMPT bugfix
Fixes: 360116367
Change-Id: Icd9e4659812c9d77598b9214f51592ce2136b265
Once taskbar is unstashed, the user cannot return back to the overlay. We can
clear it here to set the expected state once the user goes home.
Fixes: 359096594
Test: open -1, launch app, go home
Flag: EXEMPT bugfix
Change-Id: I8059c2c45f10d15701ff2961480aef002d273a06
This CL allows freeform-first devices to lock the taskbar in a pinned
state when Launcher is visible.
Bug: 361419732
Flag: com.android.window.flags.enter_desktop_by_default_on_freeform_displays
Test: DisplayControllerTest
Test: manual
Change-Id: Ic0d2740e33fee19c676d88aa2bcf370eb64366e8