This CL adds a handler function in SplitAnimationController that manages the complicated logic flow for launching an app pair when already inside of an app.
To give an idea of the complicated logic:
If the user tapped on an app pair while already in an app pair, there are 4 general cases:
a) Clicked app pair A|B, but both apps are already running on screen
b) App A is already on-screen, but App B isn't
c) App B is on-screen, but App A isn't
d) Neither is on-screen
If the user tapped an app pair while inside a single app, there are 3 cases:
a) The on-screen app is App A of the app pair
b) The on-screen app is App B of the app pair
c) It is neither
For each case, we call a different animation and launch the app pair in a different way.
When merged, this patch will fix all animation glitches that are currently happening in these situations, and get us 90% of the way to having the ideal animation in all cases. There are still a few complicated cases that need a polished animation (like when you launch app pairs with custom ratios), which will be implemented in a following patch soon (I thought this CL was big enough already as is).
Bug: 316485863
Fixes: 315190686
Test: Manual testing of all the different launch combinations
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TEAMFOOD
Change-Id: I5c0e03512bb706360c575d833cac6ed02a5de936
This way, we can unify the messages from the test and the messages fom TAPL for TaplTests
Bug: 187761685
Test: presubmit
Flag: N/A
Change-Id: I9360e5d4ef47021d2dd7e01c859181bbc417a67d
This fixes the bug where user performs double swipe back to home and we
have a floating window on the screen.
Fixes: 277515917
Test: From an app, back swipe to home, and then immediately back swipe
to home again
Flag: NONE
Change-Id: If312ee55efeaadde896511c6d449826368b15a84
We found this potential edge case during the creation of AllAppsSearchImageTest.
Search in all apps uses a binary search which requires the list of mApps to be sorted,
which before the function setApps did not do. This could lead to other edge cases of bugs
either in test or production.
Bug: b/318867282
Flag: None
Test: AllAppsSearchImageTest
Change-Id: Iccd57fa8a51c725e8c161cbdf96f77fdc86d42b7
- Calling TIS.onUserUnlocked() will create a new InputConsumerController
and also call register() on that consumer, which will under the hood
destroy and create the consumer with WM. However, if onUserUnlocked()
is called multiple times (generally not the case), the second call
will trigger the creation of a new InputConsumerController and try
to call destroy with the new consumer's token instead of the old
one, and when it creates a new consumer WM will throw an exception
complaining that there is already a consumer.
We should instead use the same input consumer controller instance
for each registration so that we can destroy with the same token that
was previously used to create the consumer
Fixes: 313284686
Test: Force trigger onUserUnlocked() multiple times and ensure no crash
Change-Id: I67da9a1ca82568770d470fd94f17378fd50c02f4
Grant access hidden profiles permission to Launcher3
to access private profile.
Test: checked permission is granted in adb
Bug: 321988638
Flag: NONE
Change-Id: I70657e7972d184986d4bfd82f51d77ce2a275214
Widgets which were expected to be restored, were missing for apps which were pre-archived.
The fix adds checks for archived apps when processing widgets and ensures that icon with cloud overlay is present on the widget.
Test: Flashed device with build containing this fix.
Screenshot right after SuW- http://shortn/_LoLudMXEaT
Bug: 321297173
Flag: ACONFIG com.android.launcher3.enable_support_for_archiving DEVELOPMENT
Change-Id: Ic5fd6b5b2a12f7b2b053ee4ec7c5c7330f0d07e1
Here we:
-Move no widgets text outside of the right pane so that we can center it
-setInset and change the clipping of children in the views so that we can fix the padding at the bottom when we have 3 button nav
-create selectedHeader where we keep track of the currently selected header in order to refresh the widgets for the selected header on rotation
-when widgets are bound we check if there are no recommended widgets, and if there aren't we select the first visible header
Fix: 324002996
Fix: 324001940
Fix: 323417968
Fix: 323460545
Fix: 323409306
Test: WidgetPickerImageTest
Flag: NONE
Change-Id: Ibd85cb086bb6c2aede6cf79da0c688a1fdaec4e5
This fixes the bug where taskbar shows up on home screen.
Fixes: 314790864
Flag: N/A
Test: From overview, tap on app, then immediately swipe to go home
Change-Id: I3aaa8cbe67edefc43ccd6db90ee7647152a862fc
Since shell transition, recents activity will be moved to top for
recents animation if default home is not recents. And because top
activity is able to affect display orientation. Then the appearance
may not look smooth by the orientation change.
Bug: 308639215
Test: Enable auto rotation. Set a 3rd party portrait home.
Enter recents by gesture from home.
The overview should show the same orientation as home.
Change-Id: I36cce1438bef2d2b472b10eebfe00fd3e86eb308
Currently the App Market intent is loaded statically into
Launcher, once during start. Sometimes, this causes the app
market activity start to be blocked, resulting in no action
from button tap.
To fix this, we hot-reload the intent when the plus button is
clicked.
Bug: 323189130
Test: Launcher3 test.
Flag: ACONFIG com.android.launcher3.Flags.enable_private_space TRUNKFOOD
Change-Id: I563d29838a43644ba8e0830b39d4f4ef8c60aeb6
* Previously we assume the split placeholder view shouldn't be
present in any states except launcher split selection, however
with contextual that changes.
* Now we only ensure that view isn't there in all apps when
we are not in split selection.
Test: Test runs and passes locally
Fixes: 323418145
Change-Id: Ida92030f9b139532ebb09c1d2646795bbb940bfc