Commit Graph

4297 Commits

Author SHA1 Message Date
TreeHugger Robot
c0a6d3fc8f Merge "TalkBack doesn't announce when a task has being closed." into sc-v2-dev 2022-01-13 20:36:44 +00:00
Winson Chung
b92c4e2319 Merge "Revert "Add logs for null task list"" into sc-v2-dev 2022-01-12 23:00:00 +00:00
Jerry Chang
f6086e74e3 Merge "Fix NPE when consuming snapshots for recent animation" into sc-v2-dev 2022-01-12 01:21:14 +00:00
Winson Chung
08126d915c Revert "Add logs for null task list"
This reverts commit a46d36240b.

Reason for revert: Reverting logs for release

Change-Id: I65ae1ea691d5fb3d70a2db4beba08d7460b99e2b
2022-01-11 20:06:16 +00:00
Vinit Nayak
2c97c4ab19 Remove code that assumes single GroupedTaskView
* Old code assumes there will only be a single
GroupedTaskView, removing those code paths helps
consolidate single and grouped task code flows
* Correctly check when we need to add a stub
taskView for GroupedTaskViews by checking each
individual taskId

Test: Swiping with multiple split pairs doesn't
cause a cycle
Fixes: 213355942

Change-Id: Ibb98ae0dfcd4f52b762685aec9d2ee6445b9ef54
2022-01-10 15:59:33 -08:00
Jerry Chang
7f8e57ed68 Fix NPE when consuming snapshots for recent animation
Fix: 207716265
Test: no exception throws after recent animation
Change-Id: Ic35aea2285fb120f7d0b5215137ad9450518702f
2022-01-10 18:48:16 +08:00
TreeHugger Robot
d873788275 Merge "Add null check when logging quick switch" into sc-v2-dev 2022-01-07 22:13:12 +00:00
Tony Wickham
688148ac69 Add null check when logging quick switch
Test: none
Fixes: 209993127
Change-Id: I927f8969cf5ef3759b501fe1ada4d3b061b53d06
2022-01-07 18:32:14 +00:00
TreeHugger Robot
19b3b93e5c Merge "Don't show split option if device in "Lock task mode"" into sc-v2-dev 2022-01-06 23:20:54 +00:00
Vinit Nayak
c09012766b Don't show split option if device in "Lock task mode"
fixes: 199342537
Change-Id: Id212cce20b792fb8b16e9fa8eca4635773ae5ea7
2022-01-06 13:37:46 -08:00
TreeHugger Robot
5735251c33 Merge "Use list instead of array when filtering non-app leashes" into sc-v2-dev 2022-01-06 00:25:34 +00:00
TreeHugger Robot
3a6a0f5a31 Merge "Handle split selection when animation is disabled" into sc-v2-dev 2022-01-05 22:56:01 +00:00
Vinit Nayak
d25fb5bd0b Use list instead of array when filtering non-app leashes
* Non-apps leashes can contain non-divider targets, which
was creating null elements in the array when an index didn't
get assigned.
* With a list we don't have to worry about empty index gaps
* Also remove the animation for the divider for certain
gestures because the surface isn't always valid for the
full duration of the animation. We probably would need to
synchronize with rest of recents animation

Fixes: 212218930
Test: No longer crashes when swipe up, hold, then swipe down
Change-Id: Ia1fc4d66e73f21b55fdbfe59342af025e2a525d9
2022-01-05 14:43:43 -08:00
Vinit Nayak
1465a5af7b Handle split selection when animation is disabled
* Consolidate setState() and setStateWithAnimation()
to be handled in the same manner
* If no animation, we run the created
PendingAnimation right away

Fixes: 209935590
Test: Tested w/ and w/o animation
Change-Id: I1d6fdba21761b6721e6bd52234016178547cd437
2022-01-05 12:19:11 -08:00
Hyunyoung Song
d96e07035c Merge "Apply scrim protection to atomic state transition ALLAPPS -> NORMAL" into sc-v2-dev 2022-01-05 19:27:04 +00:00
Hyunyoung Song
153cd69d14 Apply scrim protection to atomic state transition ALLAPPS -> NORMAL
Bug: 209480401

Test: manual, video attached on the bug

TL;DR;; minimized the delta for sc-v2

Change-Id: If8c9281bb4366540b9a4ea10a9b363ce82d78daf
2022-01-04 21:55:14 -08:00
TreeHugger Robot
59ebc0c3c9 Merge "Add ALLOW_SLIPPERY_TOUCHES to make StatusBarTouchController slippery" into sc-dev am: c0231f8d0f am: f58691ae42
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16444734

Change-Id: Idd834fc5a587e2cdb3425612514efe54ece792cc
2021-12-23 07:15:54 +00:00
TreeHugger Robot
f58691ae42 Merge "Add ALLOW_SLIPPERY_TOUCHES to make StatusBarTouchController slippery" into sc-dev am: c0231f8d0f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16444734

Change-Id: I405e4c79cc91ccbeb0472870ad1395eccaa8b64b
2021-12-23 06:55:10 +00:00
TreeHugger Robot
c0231f8d0f Merge "Add ALLOW_SLIPPERY_TOUCHES to make StatusBarTouchController slippery" into sc-dev 2021-12-23 06:40:12 +00:00
TreeHugger Robot
5181163070 Merge "Fix testStressSwipeToOverview" into sc-dev am: aabead2db8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16471550

Change-Id: Id7353bbafe62f70b0b1659455e731bc3ecf85de2
2021-12-22 20:23:47 +00:00
TreeHugger Robot
925768d35a Merge "Fix issues with starting new recents animation before previous onRecentsAnimationStart" into sc-dev am: 1a453f1547
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16471461

Change-Id: Ia6ddad23a2ebaa5737ffe12ce91501ec23dc8489
2021-12-22 20:23:45 +00:00
TreeHugger Robot
092c90c55e Merge "Log launcher settings whenever launcher layout is logged using pull atom." into sc-v2-dev 2021-12-22 19:55:44 +00:00
Tony Huang
fc6fc6d651 Merge "Animate split divider" into sc-v2-dev 2021-12-22 02:47:05 +00:00
TreeHugger Robot
aabead2db8 Merge "Fix testStressSwipeToOverview" into sc-dev 2021-12-22 01:50:59 +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
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
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
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
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
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
80aa8da7e3 Merge "Scale, crop, and translate window when swiping back to home." into sc-v2-dev 2021-12-15 20:29:59 +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
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
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
9b3b2b9c7e Merge "Ensure some taskbar states are initialized correctly" into sc-v2-dev 2021-12-14 22:49:50 +00: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
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
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
TreeHugger Robot
be0360c6d8 Merge "Report contentInsets only based on what they will be inside apps" into sc-v2-dev 2021-12-11 01:30:26 +00:00
Tony Wickham
c7b8957bbb Report contentInsets only based on what they will be inside apps
This avoids changing them when going from an app to launcher (most obvious when going to overview).

This also allows us to not change insets on apps when opening/closing IME, which reduces potential jumpiness.

Finally, also use this logic for 3P launchers by calling directly from TaskbarDragLayerController instead of TaskbarUIController (which was only overridden by LauncherTaskbarUIController). This fixes some bad issues like sending fullscreen insets when opening a folder from taskbar.

Test: Open Calculator, unstash taskbar, go to overview and ensure no jump as taskbar stashes.
Fixes: 200805319
Change-Id: I4f1cc187398d0051863ff44ea90b7ab9c6aaa8f9
2021-12-10 23:47:18 +00:00