Commit Graph

5786 Commits

Author SHA1 Message Date
TreeHugger Robot aabead2db8 Merge "Fix testStressSwipeToOverview" into sc-dev 2021-12-22 01:50:59 +00:00
Brian Isganitis f7c2adf861 Avoid race condition with hotseat predictions.
Make sure that the ArrayList cannot be cleared on the model thread while
it is being used on the UI thread to render a launcher preview.

Test: Manual
Fix: 210123588
Change-Id: I5a47cb3f28f5ac9e400f6ae535e410c345e14ee1
2021-12-22 01:08:46 +00:00
Thiru Ramasamy 7d04782532 Log launcher settings whenever launcher layout is logged using pull atom.
* Whenever launcher setting is changed, only log the changed setting instead of all

Bug: 181703659
Test: wwdebug && wwlogcat AND statsd_testdrive 10108

Change-Id: I9c6b7a17d653038a91f885df455e5ebbb401b49a
Merged-In: I9c6b7a17d653038a91f885df455e5ebbb401b49a
(cherry picked from commit f7ebfb9a7f)
2021-12-21 19:58:15 +00:00
Vinit Nayak a54b468caf Merge "Use all targets passed back for recents animation" into sc-v2-dev am: d0b4d10f0e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16459078

Change-Id: I13e0167719700c7e7ad776d852df11023325cd64
2021-12-21 17:24:41 +00:00
Vinit Nayak d0b4d10f0e Merge "Use all targets passed back for recents animation" into sc-v2-dev 2021-12-21 17:10:00 +00:00
Vinit Nayak f421ad2ef8 Use all targets passed back for recents animation
* Previously we were removing all targets except for
the app that was to be animated. That caused issues
because we look for the home app to determine if the
app leashes need to be drawn underneath or not.
* Now (assuming at most two non-home app leashes will
be sent) we add all the non-home targets along with
the desired app target by excluding 1 of the 2 non-home
apps

Bug: 199936292
Merged-In: I252d6c663e9ca145ef394ac08d9a32da02d4a03b
Change-Id: I252d6c663e9ca145ef394ac08d9a32da02d4a03b
2021-12-21 05:45:00 +00:00
Vinit Nayak b61a2f6bd4 Merge "Use all targets passed back for recents animation" 2021-12-21 01:34:22 +00:00
Winson Chung 7512ab6025 Add logs for null task list am: a46d36240b am: 2af8b3ebd7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16495546

Change-Id: I91933c5a71feb13184cac0578fd1108d791bf106
2021-12-20 23:17:07 +00:00
Winson Chung 2af8b3ebd7 Add logs for null task list am: a46d36240b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16495546

Change-Id: I64a851428833a4d127e4a3ffc23a6fe511ceb73d
2021-12-20 23:04:23 +00:00
Vinit Nayak 44b86c89bb Use all targets passed back for recents animation
* Previously we were removing all targets except for
the app that was to be animated. That caused issues
because we look for the home app to determine if the
app leashes need to be drawn underneath or not.
* Now (assuming at most two non-home app leashes will
be sent) we add all the non-home targets along with
the desired app target by excluding 1 of the 2 non-home
apps

Bug: 199936292
Change-Id: I252d6c663e9ca145ef394ac08d9a32da02d4a03b
2021-12-20 14:54:03 -08:00
Winson Chung a46d36240b Add logs for null task list
Bug: 206648922
Test: Adding logs
Change-Id: I23b8a9fadd1e555f1c3f7a75940bd7faa56b777b
2021-12-20 22:49:10 +00:00
wilsonshih 651d22c907 Public API setSplashScreenStyle(3/N)
Use public API setSplashScreenStyle to set preferred style directly.

Bug: 203497083
Test: atest SplashscreenTests
Change-Id: Iac9bbef39fd1398e5612709056f49ee94eb805cf
2021-12-20 17:23:54 +08:00
Siarhei Vishniakou d85be8e64a Add ALLOW_SLIPPERY_TOUCHES to make StatusBarTouchController slippery
LauncherActivity uses FLAG_SLIPPERY for certain interactions. For
example, when home screen is shown, and the user pulls down from not the
top of the screen, and notification shade is getting displayed, then the
touch should be getting transferred to the NotificationShade using
FLAG_SLIPPERY.

The newly introduced permission is added to launcher in order for this
flag to be applied to the window.

Bug: 206188649
Bug: 157929241
Test: reviewed logs, ensure that NexusLauncherActivity has FLAG_SLIPPERY
Test: re-ran the performance regression test
Change-Id: I8d05fa3663687b5382a59b0d47cdac404844c3b7
2021-12-17 08:50:20 +00:00
Winson Chung 3ed9d508bd Merge "Fix some small related to back button alpha" into sc-v2-dev am: 75867ae0ba am: 747dae3bb2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16487030

Change-Id: I1392f9f16613ef9fb0add480260d9d5af3fbed16
2021-12-16 22:58:29 +00:00
Winson Chung 33f1d348ab Temporarily disable SUW specific insets logic am: 361f82b237 am: 3b22691fe2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16492581

Change-Id: I797fca3adbe2fdd95b0a59607f97b4d5273f1c37
2021-12-16 22:57:14 +00:00
Winson Chung 75867ae0ba Merge "Fix some small related to back button alpha" into sc-v2-dev 2021-12-16 21:59:27 +00:00
Winson Chung 361f82b237 Temporarily disable SUW specific insets logic
Bug: 204384193
Test: Check that SUW is inset

Change-Id: Id00f10f51b52ef8ec375f650fd44bb2c6eb31e09
2021-12-16 18:45:25 +00:00
Winson Chung e62a1996b7 Fix some small related to back button alpha
- Skip updating nav button dark intensity if we're setting it manually
  while SUW is running
- There should only be one alpha StatePropertyHolder for the same view
  otherwise when updating the properties it can clobber a previous state

Bug: 204384193
Test: Disable dark mode on SUW and verify nav buttons show
Change-Id: I450c3a5697954d9b464bdd622847beb2d01f3802
2021-12-16 17:47:53 +00:00
TreeHugger Robot 365560199f Merge "Show Digital Wellbeing Banners for split tasks" into sc-v2-dev am: 8d25a0a363 am: 510d9060a7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16459079

Change-Id: If24107dc1d3e0d83557da8409a891471e25fc979
2021-12-16 11:49:47 +00:00
TreeHugger Robot 8d25a0a363 Merge "Show Digital Wellbeing Banners for split tasks" into sc-v2-dev 2021-12-16 11:13:10 +00:00
Vinit Nayak ebf2cdd0f1 Show Digital Wellbeing Banners for split tasks
Fixes: 199936292
Change-Id: I38743d58f53a65ef717b1babc21ad1df2dc840a4
2021-12-15 22:19:02 -08:00
Vinit Nayak 84292da6c2 Merge "Save multiple RunningTaskInfo in GestureState" into sc-v2-dev am: 20102c3dd7 am: a51f394504
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16482597

Change-Id: If69bd5e02de59bdfe05a8f7fcc03a4ff235d4c41
2021-12-16 00:54:45 +00:00
TreeHugger Robot 368eb46da5 Merge "Set navBarDarkIntensity based on dark theme in SUW" into sc-v2-dev am: f9f90d6dc2 am: 5ebda13e05
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16482607

Change-Id: I8babe4bae067d8feab9d80c41b48994a33bf19df
2021-12-16 00:50:57 +00:00
Vinit Nayak 20102c3dd7 Merge "Save multiple RunningTaskInfo in GestureState" into sc-v2-dev 2021-12-16 00:03:20 +00:00
TreeHugger Robot f9f90d6dc2 Merge "Set navBarDarkIntensity based on dark theme in SUW" into sc-v2-dev 2021-12-15 23:42:06 +00:00
Tony Wickham 70d237d8f3 Set navBarDarkIntensity based on dark theme in SUW
- Also remove old tinting based on textColorPrimary, as it's no longer necessary with dark intensity tinting.

Test: Run SetupWizardTestActivity in both dark and light theme, ensure back button visible
Fixes: 204384193
Change-Id: I2dc2e94bc0318ded62419b9ae0eed719db289d7f
2021-12-15 21:37:15 +00:00
Vinit Nayak dcd7ac4011 Save multiple RunningTaskInfo in GestureState
* With new split screen running two active tasks for
a given gesture, we need to get all running task
infos instead of the single most recent used one
* TODO(b/210903248) for proper refactoring for
GestureState

Fixes: 205675364
Test: Swiping up on overview no longer crashes
Change-Id: Iea1f193149657182311a97f46007b4d43e8ad549
2021-12-15 13:11:11 -08:00
Jon Miranda 78b12de4d2 Merge "Scale, crop, and translate window when swiping back to home." into sc-v2-dev am: 80aa8da7e3 am: e589eaded8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16470663

Change-Id: Id6d210fdcc9bda55a8666121bd5418a48da40c55
2021-12-15 20:35:18 +00:00
Winson Chung 1944ab39b9 Merge "Wait for the Launcher activity to bind to TIS before animating" into sc-v2-dev am: 2ecf688de6 am: 049a345cbe
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16420662

Change-Id: I12d9cbe53afd42cfade93d1c957f3f9aa1be520a
2021-12-15 20:33:32 +00:00
Jon Miranda 80aa8da7e3 Merge "Scale, crop, and translate window when swiping back to home." into sc-v2-dev 2021-12-15 20:29:59 +00:00
Brian Isganitis 3523b241cc Merge "Include border spacing to align tasbar icons with hotseat." 2021-12-15 20:17:35 +00:00
Winson Chung 2ecf688de6 Merge "Wait for the Launcher activity to bind to TIS before animating" into sc-v2-dev 2021-12-15 19:44:26 +00:00
Shuming Hao 33e97f1ca4 Merge changes from topic "kingyo-new-buttons-master"
* changes:
  Toggle notification panel when new buttons are clicked in taskbar
  Add new buttons to taskbar
2021-12-15 16:49:19 +00:00
Tony Wickham f540e5caa2 Fix testStressSwipeToOverview
- Finish recents controller to app rather than to launcher, to ensure taskbar state uses in-app configuration
- Also fix an issue when a gesture completes before onLauncherStart, which happens in 3 button mode. The error I saw in the test was:
java.lang.AssertionError: http://go/tapl test failure: Failed to receive an event for the state change: expected [Overview], actual: [Background, Normal];
Context: want to switch from background to overview, clicking Recents button; now visible state is Background
(This also accurately describes what I saw on the device, where the LauncherState went to Normal but the task was still running in the live tile)

Test: testStressSwipeToOverview
Fixes: 203577620
Change-Id: I19616f7921c9821f1b45a90a3e4bec4fb3b8a9d3
Merged-In: I19616f7921c9821f1b45a90a3e4bec4fb3b8a9d3
(cherry picked from commit ce6bf7dd7f)
2021-12-15 05:45:43 +00:00
Tony Wickham ee24e46a61 Fix issues with starting new recents animation before previous onRecentsAnimationStart
- Fix logic for canceling animation for continued quick switch, so that this case (starting a new gesture before onRecentsAnimationStart() of the previous gesture) instead goes to the STATE_FINISH_WITH_NO_END flow.
- Update the end target so that we go to that state instead of always overview state if swipe was past the halfway threshold when we call endLauncherTransitionController(). This is specifically so we don't use OverviewInputConsumer on the second gesture, given the first one was canceled and didn't actually go to overview.
- GestureState#isRecentsAnimationRunning() now checks for STATE_RECENTS_ANIMATION_STARTED rather than _INITIALIZED, to be consistent with its javadoc and TaskAnimationManager#isRecentsAnimationRunning(). This also ensures we can correctly calculate continued quick switch (see above).
- Call cleanUpRecentsAnimation() before creating a new one in TaskAnimationManager. This ensures that the previous listener doesn't immediately cleanup the new gesture when it gets onRecentsAnimationCanceled() due to the new recents animation starting.

Test: swipe to home twice from the app, locally ignoring the onRecentsAnimationStart() from the first one, and ensure the second one responds normally
Bug: 193851085
Change-Id: I76e27c96b54293805546c0d6c82e77f975c69d7a
Merged-In: I76e27c96b54293805546c0d6c82e77f975c69d7a
(cherry picked from commit 66ed0ff23e)
2021-12-15 05:44:27 +00:00
Jon Miranda 32ec4d52e1 Scale, crop, and translate window when swiping back to home.
This makes the animation consistent with what happens
when swiping up to home.

Bug: 208292857
Test: open app, swipe back to close, test on portrait and landscape
Change-Id: I096b20fe3d3398001e442d41981350e7b0321a46
2021-12-15 01:34:12 +00:00
Brian Isganitis 19ab3a5582 Include border spacing to align tasbar icons with hotseat.
The original calculation was including spacing in the the
hotseatCellSize, but that causes us to incorrectly compute the
hotseatIconCenter. If we take advantage of
DeviceProfile.calculateCellWidth, we get the width without the spacing.
Then we can add spacing for every icon to the left of the current one
when figuring out the center.

Test: Manual on tablet using device types tablet and multi display.
Fix: 210123477
Change-Id: Ie182718ad3a229ffa8bae031f3ac7f73f8539f49
2021-12-15 01:15:30 +00:00
Vinit Nayak 8581dfc218 Wait for the Launcher activity to bind to TIS before animating
- Mainly a test issue where we destroy the activity and immediately
  enter overview without preloading launcher.  In this case, the task
  bar does not animate due to the delayed cycled of activity create
  -> bind service -> service connected -> taskbar ui controller init.
  As a result, the bar can occlude content from Launcher preventing
  the test from finding the overview actions.

  Instead, in cases where we need to animate with launcher, we wait
  for Launcher to be created (generally already the case) and the
  service has bound before proceeding.

Bug: 189807374
Bug: 204891006
Test: atest NexusLauncherTests:com.android.quickstep.StartLauncherViaGestureTests
Change-Id: I2cfccae67ac0e5a591639c6c99df032451dae16d
2021-12-15 00:53:54 +00:00
TreeHugger Robot 3611e9d656 Merge "Ensure some taskbar states are initialized correctly" into sc-v2-dev am: 9b3b2b9c7e am: 4ab25b564e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16463952

Change-Id: I7bcf495a8774df2ac99dd6b9cf3c65f6d5f46461
2021-12-14 23:26:08 +00:00
TreeHugger Robot 9b3b2b9c7e Merge "Ensure some taskbar states are initialized correctly" into sc-v2-dev 2021-12-14 22:49:50 +00:00
Tracy Zhou bec00acf28 Delay showing task bar until the user releases their finger dragging from all apps to normal
Fixes: 208802276
Test: drag from all apps to normal, and the task bar doesn't stash until the user releases their finger
Change-Id: I53133cc80749bdc62e77d858b5714ae32facbd1d
2021-12-15 06:35:41 +08:00
Winson Chung 7f5e4ca06c Ensure some taskbar states are initialized correctly
- Update FLAG_IN_APP to account for setup state to ensure that the
  stashed state is correct. This needs to be done in the stash
  controller since SUW is the home activity on startup and the
  launcher state controller will not be initialized until after
  SUW finishes
- Initialize the launcher state and resumed flags in case Launcher
  restarts while another app is resumed

Bug: 204384193
Test: Run through SUW, ensure the background is not visible
Change-Id: I5ce061ad16e79226c8428339ccd0b5ac55c07205
2021-12-14 19:08:55 +00:00
Tony Wickham ba19137cd8 Merge "Don't clobber in progress page transition in applyLoadPlan()" into sc-v2-dev am: 36e5f812d5 am: 19ce4e2586
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16459220

Change-Id: I0a9facc24dd47b4463a0b3872b3bdef7eb94def0
2021-12-14 16:53:39 +00:00
Tony Wickham 36e5f812d5 Merge "Don't clobber in progress page transition in applyLoadPlan()" into sc-v2-dev 2021-12-14 16:18:39 +00:00
Tony Wickham db34fba43f Don't clobber in progress page transition in applyLoadPlan()
Also only reloadIfNeeded() instead of always reloading in showCurrentTask(), which is called twice as the gesture starts and could contribute to jank.

Test: quickly quick switch from app A to B, ensure no jumpcut back to A
Bug: 205499708
Change-Id: I516020551d3f76eb4025df848bf4c88adf5499b7
2021-12-14 00:25:08 +00:00
TreeHugger Robot 46643ab66d Merge "Add cheap aidl tracing suitable for always-on-tracing (3/3)" 2021-12-13 13:55:32 +00:00
Shawn Lin 39ada8ad58 Merge "Notify system to report the rounded corners that task bar draws" 2021-12-13 08:26:01 +00:00
shawnlin beae64cd95 Notify system to report the rounded corners that task bar draws
Task bar draws fake rouned corner above itself and it should notify
system to report that fake ones to apps.

Bug: 196387239
Test: make

Change-Id: I1d9732de71fbe653ed56e468e211b1bfb4dd2b37
2021-12-13 13:33:59 +08:00
Winson Chung 1d85bd4130 Merge "Account for early display rotation for gestures with shell transitions" 2021-12-13 05:29:09 +00:00
Siarhei Vishniakou 81ff81227e Add ALLOW_SLIPPERY_TOUCHES to make StatusBarTouchController slippery
LauncherActivity uses FLAG_SLIPPERY for certain interactions. For
example, when home screen is shown, and the user pulls down from not the
top of the screen, and notification shade is getting displayed, then the
touch should be getting transferred to the NotificationShade using
FLAG_SLIPPERY.

The newly introduced permission is added to launcher in order for this
flag to be applied to the window.

Bug: 206188649
Bug: 157929241
Test: reviewed logs, ensure that NexusLauncherActivity has FLAG_SLIPPERY
Test: re-ran the performance regression test
Change-Id: I8d05fa3663687b5382a59b0d47cdac404844c3b7
2021-12-12 06:22:08 +00:00