Commit Graph

10061 Commits

Author SHA1 Message Date
Luca Zuccarini
ff2b38e366 Reuse the main depth controller for launch animations.
The two controllers don't own any unique state, other than the current
depth state. These two _should_ never diverge anyway, because there is
only one valid depth at any given time. By using the same controller all
the time we can enforce this invariant.

Everything else is basically just registered and unregistered listeners,
which the main controller already does properly and always has the same
state in that regard as the ad-hoc one that we're removing.

Finally we don't need to take care of any cleanup explicitly, as we did
before.

Bug: 293427436
Flag: N/A
Test: manual
Change-Id: If6ea68847a60254df76e806eac2679ae0415bfe0
2023-10-17 12:16:25 +00:00
Riddle Hsu
a60c091c94 Merge "Finish recents animation for standalone recents on home" into main 2023-10-17 10:56:28 +00:00
Riddle Hsu
aeb3ff6b5c Finish recents animation for standalone recents on home
(This is to reland with fixing FallbackRecentsTest#testOverview
by excluding fallback overview panel which doesn't show visual
difference from AnomalyDetector)
There was a check from RunningTask to avoid using transient-launch
when launching recents activity on a 3rd party home. But the info
may not be updated in time (from TaskStackChangeListener) if there
are several changes happen in a short time.

Then it may misjudge that home is still on top but the current top
is a normal app. Then the app will be paused unexpected because
setTransientLaunch() is not called.

Since FLAG_MOVED_TO_TOP is introduced, task reorder will also be
collected in transition, so the check of isHomeTask is longer needed.
But RecentsTransitionHandler still needs to cooperate with it about
how to animate the merging animation while recents animation is running.
To simplify it, just finish the recents animation when recents activity
is launched on top of home activity, i.e. consider it as a regular
launch because only the recents activity is on top and there are no
other apps need to keep visible for live-tile.

Note that setTransientLaunch() is still called for the case. However
its effect will be gone after the transition is finished.

This can also fix various issues when using a 3p launcher:
 - When auto rotation is enabled and put device in landscape:
    - Unable to enter recents from gesture mode
    - System bars are disappeared when pressing recents key
 - Jump-cut when pressing home key to leave recents on home.

Bug: 302703228
Bug: 294029838
Test: WindowInsetsBehaviorTests
Test: Rapidly click navigation bar while a regular app is on top.
      The app should not receive onPause.
Change-Id: I387fcb26aa01072dfd5a215107c9c15b28513a82
2023-10-17 05:45:16 +00:00
Alex Chau
d7bd142267 Merge "Avoid drawing live tile behind recents when launching on grid overview" into main 2023-10-16 19:48:23 +00:00
Alex Chau
1f5de2483b Avoid drawing live tile behind recents when launching on grid overview
Fix: 304911154
Flag: none
Test: Swipe up in tablet, scroll to side, launch focused task
Change-Id: I91dd8b4088f02af9dc5e603853d8e26606acc38f
2023-10-16 18:27:10 +01:00
Shan Huang
90f17d44d2 Merge "Fix scrim attachment and detachment issues." into main 2023-10-16 17:17:14 +00:00
Uwais Ashraf
d174fcaa99 Merge "Revert "Finish recents animation for standalone recents on home"" into main 2023-10-16 08:57:59 +00:00
Uwais Ashraf
35af2d967c Revert "Finish recents animation for standalone recents on home"
Revert submission 24941288-b302703228

Reason for revert: Most likely cause of droidmonitored test failures. b/305629625. Original change was merged at this point https://screenshot.googleplex.com/99p3F266XUYYbA2 causing a 100% failure on main.

Reverted changes: /q/submissionid:24941288-b302703228

Bug: 305629625

Change-Id: Id27c68ec70410d16aeae3bde8b361d9b347ec7eb
2023-10-16 08:56:24 +00:00
Riddle Hsu
290aa6f266 Merge "Finish recents animation for standalone recents on home" into main 2023-10-16 05:46:48 +00:00
Tracy Zhou
6bfdfd011b Merge "Correct signal for showing contextual buttons for taskbar" into main 2023-10-13 21:04:13 +00:00
Shan Huang
b78f7de733 Fix scrim attachment and detachment issues.
Attaching: The surface control from Launcher's ViewRootImpl is
occiasionally invalid when back gesture starts, and parenting scrim to
it would fail. We work around this by retrying later on back progressed.

Dettaching: The scrim is not detached in all code paths. We now always
check and detach in finishAnimation() if needed.

This also fixes a possible flicker at the beginning of the transition.
We wait until Launcher is started (and draws at least one frame) to animate the top window.

Test: m -j
Test: Repeatedly trigger back to home animation. Make sure the scrim
attaches and detaches always.

Bug:271606843
Bug:297808832
Bug:217988970
Fixes:271606843
Fixes:297808832
Fixes:217988970

Change-Id: I8b9b023f1fd54bcedd0be15196165e19e8400af7
2023-10-13 13:51:46 -07:00
Ats Jenk
a89365c2be Merge "Use desktop mode flag for split logic" into main 2023-10-13 18:00:53 +00:00
Schneider Victor-tulias
a96537fa65 Merge "Increase the ActiveGestureLog tracked gesture limit" into main 2023-10-13 16:08:32 +00:00
Jeremy Sim
20410d25f9 Merge "Migrate ENABLE_APP_PAIRS flag to aconfig" into main 2023-10-13 05:22:36 +00:00
Ats Jenk
cd789874c3 Use desktop mode flag for split logic
Remove launcher specific split from desktop flag and use the desktop
windowing feature flag.

Bug: 305095670
Flag: persist.wm.debug.desktop_mode_2
Test: enable desktop mode flag, toggle split from a desktop task
Change-Id: I62b91de3deaa5bba3435faf3a268f5b58cda8276
2023-10-12 23:28:42 +00:00
Jeremy Sim
7dc3bdcd85 Migrate ENABLE_APP_PAIRS flag to aconfig
Fixes: 303323964
Flag: com.android.wm.shell.Flags.FLAG_ENABLE_APP_PAIRS
Test: Unit tests still run correctly
Change-Id: I617c699746492c9c0d131a28791d984afbbdda4d
2023-10-12 15:06:32 -07:00
Sunny Goyal
c173c04422 Generalize userproperties to support for more user types in iconCache
Bug: 305062259
Flag: None
Test: Presubmit
Change-Id: I35cd20a03520ada233809930fcc56cdea1dabec6
2023-10-12 21:25:59 +00:00
Sunny Goyal
4588031286 Merge "Moving onboarding prefs to use LauncherPrefs" into main 2023-10-12 20:51:45 +00:00
Schneider Victor-tulias
912b37e45c Increase the ActiveGestureLog tracked gesture limit
Many bugs are coming in where the logs only start shortly after the bug repro. Increasing the limit to capture these logs more reliably.

Flag: not needed
Bug: 303424896
Test: printed gesture logs
Change-Id: I9d02108c7d0def3c0280a2ca6d84aa3c3773b1a7
2023-10-12 14:31:25 -04:00
Tracy Zhou
f11604ee49 Correct signal for showing contextual buttons for taskbar
Apparently isContextualButtonShowing is not the right signal. Checking on dp.isGestureMode instead

Fixes: 300849078
Test: manual
Change-Id: Iac44bb4adbbdd5faf52100c88c2a4a6d95d58b98
2023-10-12 10:43:46 -07:00
Jon Miranda
330b7754c6 Fix bug where All Apps button loads in late in taskbar.
We need to re-create the icon alignment controller if the
stash status changes, otherwise it will use an old value.

Bug: 296414290
Test: home to app then quickly unstash
Change-Id: I35f23842f289fce95d102a9a93dc94cd033fa8cc
2023-10-12 17:14:49 +00:00
Vinit Nayak
e489bd45e6 Merge "Call split finish callback if split invocation fails" into main 2023-10-11 23:33:18 +00:00
Stefan Andonian
3925bdfdf8 Merge "Remove some direct usage of getDevicePrefs()" into main 2023-10-11 23:09:26 +00:00
Stefan Andonian
2171d09fe6 Remove some direct usage of getDevicePrefs()
Bug: 261635315
Test: Manually did testing on device.
Change-Id: I47c88bdc031d330f6efa573411ab5dbf154ec8a2
2023-10-11 23:06:41 +00:00
Tracy Zhou
0dbcbfc08f Merge "Fix transient task bar not automatically stashed in app when ENABLE_TASKBAR_NO_RECREATION is enabled" into main 2023-10-11 22:19:43 +00:00
Schneider Victor-tulias
276420a869 Merge "Fix janky Alt+Tab through overview animation" into main 2023-10-11 18:28:10 +00:00
Tracy Zhou
fbc01a0b4f Fix transient task bar not automatically stashed in app when ENABLE_TASKBAR_NO_RECREATION is enabled
Currently the task bar root layout consumes all the events and does not pass the events to drag layer, without explictly routing those events

Fixes: 303910224
Test: go to an app, swipe home, and then go back to the app. Make sure the task bar is stashed
Change-Id: I6f5e481c267dad25544118134ff95b0cb9bb1a45
2023-10-11 11:25:45 -07:00
Alex Chau
6ae2c4d77d Merge "Revert "Revert "Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig flag""" into main 2023-10-11 15:38:57 +00:00
Vinit Nayak
77ce4c261e Merge "Update API for OneShotRemoteHandler" into main 2023-10-11 15:13:25 +00:00
Vinit Nayak
c4f653c24c Merge "Null out context for all split controllers" into main 2023-10-11 15:12:24 +00:00
Alex Chau
4989f4f36d Revert "Revert "Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig flag""
This reverts commit 7b5472f986.

Reason for revert: aconfig/SetFlagsRule actually works with TAPL tests (http://ag/c/platform/packages/apps/Launcher3/+/24991890/comment/8303a3c6_030ae00b/)
Bug: 270397206

Change-Id: I7529a64c3197e4c2b4d5fb1e46fb29bdea1e52e9
2023-10-11 14:08:22 +00:00
Riddle Hsu
681f340d7d Finish recents animation for standalone recents on home
There was a check from RunningTask to avoid using transient-launch
when launching recents activity on a 3rd party home. But the info
may not be updated in time (from TaskStackChangeListener) if there
are several changes happen in a short time.

Then it may misjudge that home is still on top but the current top
is a normal app. Then the app will be paused unexpected because
setTransientLaunch() is not called.

Since FLAG_MOVED_TO_TOP is introduced, task reorder will also be
collected in transition, so the check of isHomeTask is longer needed.
But RecentsTransitionHandler still needs to cooperate with it about
how to animate the merging animation while recents animation is running.
To simplify it, just finish the recents animation when recents activity
is launched on top of home activity, i.e. consider it as a regular
launch because only the recents activity is on top and there are no
other apps need to keep visible for live-tile.

Note that setTransientLaunch() is still called for the case. However
its effect will be gone after the transition is finished.

This can also fix various issues when using a 3p launcher:
 - When auto rotation is enabled and put device in landscape:
    - Unable to enter recents from gesture mode
    - System bars are disappeared when pressing recents key
 - Jump-cut when pressing home key to leave recents on home.

Bug: 302703228
Bug: 294029838
Test: WindowInsetsBehaviorTests
Test: Rapidly click navigation bar while a regular app is on top.
      The app should not receive onPause.
Change-Id: I9ba9bdb3757bbdcb1cbb363b4fe6431860dac4da
2023-10-11 18:46:35 +08:00
Hyunyoung Song
e0a25fbd51 Merge "Add CUSTOM_LPNH_THRESHOLDS feature flag to customize LPNH" into main 2023-10-11 07:54:26 +00:00
Tracy Zhou
9633e5b74c Merge "Fix phone mode task bar inset values not correctly initialized" into main 2023-10-11 05:32:09 +00:00
Vinit Nayak
def3e9d7f4 Call split finish callback if split invocation fails
Bug: 295981634
Test: Splitting w/ Google TV widget no longer
keeps placeholder views on screen
Flag: ENABLE_SPLIT_WORKSPACE_TO_WORKSPACE

Change-Id: I1d4df9deb9aaaaeef3741a05130429d0091293e8
2023-10-10 21:01:35 -07:00
Vinit Nayak
a439c912d8 Null out context for all split controllers
* Destroy context for AppPairsController and
SplitSelectDataHolder

Bug: 302551868
Change-Id: I5636ecf50d51ad383ac89a457697984bc8d907ca
2023-10-10 20:42:42 -07:00
Vinit Nayak
e83b08ff6e Update API for OneShotRemoteHandler
* All no-ops except SplitSelectStateController

Bug: 295981634
Change-Id: Idabe80951ceb2b0a980f3179366d75fc064c69ec
2023-10-10 15:41:26 -07:00
Tracy Zhou
de28c115b2 Fix phone mode task bar inset values not correctly initialized
We rely on contentHeightToReportToApps and tappableHeightToReportToApps (that ultimately call into DeviceProfile) of TaskbarStashController to initialize the insets. However, DeviceProfile only initializes those values when isTaskbarPresent is true. Rather than completely changing the initialization of DeviceProfile, we special case in TaskbarStashController that uses the bar height for inset

Bug: 274517647
Test: turn on FLAG_HIDE_NAVBAR_WINDOW and TASKBAR_NO_RECREATION, make sure the insets are correct in both 3 button and gesture nav mode
Change-Id: I164a6e2c9f9d24888155b45325ee8ce46ca2c39f
2023-10-10 13:02:16 -07:00
Sunny Goyal
cd44740567 Moving onboarding prefs to use LauncherPrefs
Bug: 301661768
Test: Presubmit
Flag: N/A
Change-Id: Iec8a5e739f394a152d5ffc57b01e0449e94b4084
2023-10-10 11:47:33 -07:00
Jagrut Desai
3872759957 Merge "Stop Active Gesture Error Detection for Non Gestural Navigation Mode" into main 2023-10-10 17:32:47 +00:00
Schneider Victor-tulias
bdae57c157 Fix janky Alt+Tab through overview animation
Flag: not needed
Fixes: 282172884
Test: used alt+tab in overview; also launched overview through keyboard quick switch view
Change-Id: I3d1e54cda317ee8f8d2b2d698480cd3ca01dfc85
2023-10-10 11:20:15 -04:00
Alex Chau
09d8e2ca57 Merge "Revert "Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig flag"" into main 2023-10-10 12:26:21 +00:00
Alex Chau
7b5472f986 Revert "Migrate ENABLE_GRID_ONLY_OVERVIEW to aconfig flag"
This reverts commit 6f264a927b.

Reason for revert: Keeping old flag system so we can test in Tapl tests (b/283246928)
Bug: 270397206

Change-Id: I3e6364ebac8018facc3b22e510615735299a3dad
2023-10-10 10:38:04 +00:00
Tracy Zhou
f14c534ec5 Merge "Set correct stashed task(nav) bar height with taskbar/navbar unification" into main 2023-10-10 05:08:02 +00:00
Tracy Zhou
5bd641e3f5 Merge "Fix task bar crashing in small screen with task bar / nav bar unification on" into main 2023-10-09 20:26:25 +00:00
Alex Chau
461b65fa4e Merge "Use mock TaskStackChangeListeners in RecentsModelTest" into main 2023-10-09 16:39:13 +00:00
Jagrut Desai
5cc3767e60 Stop Active Gesture Error Detection for Non Gestural Navigation Mode
Bug: 290266108
Bug: 294926731
Test: Presubmit
Flag: not needed
Change-Id: I111d60fbedbeb7e8b553cdeadc0e3f39a9a351b2
2023-10-09 09:34:30 -07:00
Vinit Nayak
b95ee09a69 Merge "Dismiss split selection for workspace long-press" into main 2023-10-09 16:13:52 +00:00
Alex Chau
a0c149fc8d Use mock TaskStackChangeListeners in RecentsModelTest
- Also unregistered TaskStackChangeListeners and TaskIconCache listeners in RecentsModel.close(), so clean-up will happen if it's in a SandboxContext

Bug: 303259446
Test: RecentsModelTest
Change-Id: I438a499be8e737de7df79b670ecfd26f0ee70662
2023-10-09 14:31:58 +01:00
Vinit Nayak
4f850a42a0 Merge changes I9e56ddbe,I8767deea into main
* changes:
  Disallow taskbar long click when in split selection state
  Add method to determine if launcher is in split selection state
2023-10-07 00:20:24 +00:00