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
When navigation mode is set to 3 buttons, it is possible for user to
click on recent apps button, so for such scenario taskbar should be
immediately un-stashed
Test: Manual
Set 3 buttons navigation mode. Go to Launcher home. Expand bubble bar.
Press recent apps button. Press the home button. Observe hotseat is
visible. Video:
http://recall/-/gx8ASgewUeUS3QYohfrd1J/fX0gSp18Riw8mYYAw0wj8W
Bug: 367488218
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Id65fd9add720125a340294311d470f2be50d43f8
This reverts commit d511538361.
Reason for revert: Droidmonitor created revert due to b/367736714. Will be verifying through ABTD before submission.
Change-Id: I01281bd48c4ba7d07dc0308c504f21aad751ea44
Initial version of the flyout view for displaying bubble bar
notification.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarFlyoutViewScreenshotTest
Test: atest BubbleBarFlyoutControllerTest
Change-Id: I5d0643fe5d2691ad2349b45eaaad6cd2660d9df0
Update education stats when
- go overview and all apps by swiping up at homepage (AbstractStateChangeTouchController)
- go home from all apps by swiping down the all apps panel (AbstractStateChangeTouchController)
- go home from all apps or overview by swiping up from the bottom nav bar (NavBarToHomeTouchController)
- in 3 button navgiation mode (TaskbarNavButtonController)
NavBarToHomeTouchController does not inherit from AbstractStateChangeTouchController so logic are added separately.
Bug: 363480554
Test: TaskbarNavButtonControllerTest
Flag: com.android.systemui.keyboard_touchpad_contextual_education
Change-Id: I0662704a9093b9f5a4d2f086a8297429fbc49881
Don't set the alpha to 1 in the drag reset method unless the bar
is actually expanded.
When theme changes, everything gets recreated... so the location of
the bubble bar gets set which triggers drag reset which would make
the bar visible when it shouldn't be.
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual - have bubbles in app (stashed), change theme, observe
that bubbles are not visible
- test dragging bubbles from left to right via expanded
view, individual bubble, and collapsed stack
Bug: 358304168 (not exact bug but noted in the video of comment#13)
Change-Id: I291cdb206532efe386684e36a78b9d66018f3cb1
Added logic to stash the hotseat when on launcher home screen.
Bug: 280494203
Test: Manual:
http://recall/-/gx8ASgewUeUS3QYohfrd1J/fjfjUw296LRXUm9uYqXU4K
all tests in com.android.launcher3.taskbar
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I67b298831eaed9c549a2fae7dc5a0d9fae51f7c4
We set it only when user swipes up to unstash.
Fixes: 360778703
Test: swipe up to home, long click on taskbar icon before it settles
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
Change-Id: I24ff466ee6730e3739d85307363567cfa1455cbf
This reverts commit a555f4ca1b, and relands commit 9420ba7515.
- attachAlpha should only be reset in onRecycle, otherwise applyLoadPlan or moveRunningTaskToFront will unexpectedly reset it via resetViewTransforms. This fixes TaplTestsQuickstep.testQuickSwitchFromApp which assert all visible task must be on the left hand side of the screen during swipe up
Fix: 353950224
Change-Id: If1c1524e435c8007844bcd51d8695a6d3b00450b
The previous behavior positioned the second bubble correctly but all
other bubbles behind the second bubble.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 366254467
Test: manual
- create multiple bubbles in the bubble bar
- expand and collapse the bubble bar and observe bubbles
move correctly from right to left when expanding and from
left to right when collapsing
Change-Id: I1db6daf629826af8d079a27d582e0c7e89fe2289
Fixes a flicker with bubble bar briefly attempting to stash when swiping
up on home screen.
Keeps bubble bar visible when dragging an icon on home screen.
Bug: 365561149
Flag: com.android.wm.shell.enable_bubble_bar
Test: swipe up on home screen, check that bubble bar does not stash
Test: drag a home screen icon, check that bubble bar does not stash
Change-Id: Ic8f4bf6051ed437167f369e8581a631b73e839b2
For the stash and unstash animation we use separate timings for the
Bubble views and background. In other animations we animate the entire
bubble bar alpha as one.
To achieve this during unstash animation we set the bubble views and
background alpha to 0. And then set the bar alpha to 1.
Since alpha animation has a delay during unstash, we need to set the
initial values as the start of the entire animation and not just the
alpha part. Otherwise there are flickers in the animation.
We also need to set initial values for the alpha animator that the
AnimatedFloat creates. AnimatedFloat uses the current values as the
start value. If we update it later, the animator was already created and
it won't have an effect. To fix this, we set the start and end values
for the alpha animators created by AnimatedFloat.
Bug: 345488489
Flag: com.android.wm.shell.enable_bubble_bar
Test: slow down animations and unstash bubble bar, check that bubbles
alpha slowly animates in
Change-Id: I3cfdb715e1703bd2195c809fd77751a216558176