* on rotation taskbar re-inflates it's hotseat views.
If we're already in split, then FloatingTaskView tries to do calculations
on the view's position in the window, but has a reference to the
old, pre-rotated view which is no longer in any window.
* This sets startingPosition to be an empty rect, which is used to
set LayoutParam values, which are used downstream in update() to calculate
scale, and thus we end up dividing by 0.
* TODO(b/345556328) figure out a better solution than checking for an
empty rect
Fixes: 342606096
Test: Repro steps don't cause crash
Flag: EXEMPT bugfix
Change-Id: Icb546a05d383d1997a92471fc1de3ffc37d06eca
Merged-In: Icb546a05d383d1997a92471fc1de3ffc37d06eca
(cherry picked from commit 410681a955)
This reverts commit 4304a14206.
Reason for revert: Likely culprit for b/343564388 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: Ibc6fae27f31bcb54406da013babc76b2d5fc7f10
Attempt to improve jank and memory regressions by simplifying the view layout of OverviewActionsView.
Bug: 339688091
Bug: 339853741
Test: testSaveAppPairMenuItemOrActionExistsOnSplitPair()
Flag: EXEMPT bugfix
Change-Id: Ib4a7c5a813b221c0a083144e7fb1e1c5f3fedb1c
- We are currently reporting the content insets for the mandatory system
gestures in taskbar, but for button nav we should actually be
reporting zero, and for gesture nav we should either report the
content height if the taskbar is pinned, or the gesture height
otherwise as the bottom mandatory gesture inset
Fixes: 340134342
Test: atest android.systemui.cts.WindowInsetsBehaviorTests
Change-Id: Ie4d56b62c903c273db95c19c9d34fcfe6c9ce486
Merged-In: Ie4d56b62c903c273db95c19c9d34fcfe6c9ce486
(cherry picked from commit 05682a059f)
- Add legacy resource for supported multi-instance apps that
matches the current SystemUI resource of the same name, and will
be removed as apps migrate to the V manifest property to declare
multi-instance support
- Load the multi-instance state from PackageManager when the db is
first loaded or when packages are updated
- The multi-instance check is then used to determine if an app pair
can be saved (ie. whether the action can be shown)
Bug: 323112914
Test: atest NexusLauncherTests
Merged-In: I565b4bee4ab5f7040910306b1fd60a4fc3bf9a1c
Change-Id: I9658b63672b692c42563c111c11be2433c98d535
- In phone setup mode, gesture mode is no button but the inset we report should be setup inset
Fixes: 340998601
Test: https://screenshot.googleplex.com/8Q4WHorpUeqWSjw
Change-Id: I84d60ecc7179008e80e7b09eda5b3a1abb24e138
(cherry picked from commit b17af6ff75)
This CL fixes a bug caused by ag/27148514. The bug occurred because:
1) The new way we use FloatProperty to set the alpha did not have a working `get()` function, so it just returned a junk value, set to `-1f` (I didn't think `get()` would ever be called meaningfully for this property).
2) However, during certain UI interactions, `RecentsView#updateActionsViewFocusedScroll()` is called many times in a loop, which repeatedly tries to re-start the fade-in animation for actions bar. Pre ag/27148514, even though the fade-in animation was called repeatedly, it would start and then immediately stop running because it realized that it was already set to the desired alpha. However now that we return a junk value for `get()`, it didn't know to skip and just ran the full fade-in animation again and again.
Fixed by refactoring FLOAT_SETTER (now ALPHA_PROPERTY) and creating a new data class, OverviewActionsAlphaProperty, that handles some of the intricacies of this increasingly complicated alpha system.
Fixes: 339545510
Test: Swipe to Overview, move tiles around, actions bar does not flicker.
Flag: ACONFIG com.android.wm.shell.enable_app_pairs NEXTFOOD
Change-Id: I1093363780db5e0780deda2ff14b4f7361d63940
Merged-In: I1093363780db5e0780deda2ff14b4f7361d63940
This CL refactors Overview Actions View so that a separate view, R.id.group_action_buttons, is used for buttons related to grouped tasks. This also changes the way visibility is handled with actions buttons -- instead of all buttons living on one bar and being toggled on and off, sometimes the whole bar is toggled on and off (to change from single task actions to group actions and vice versa).
This prevents the same view from having its visibility changed twice in in one layout and causing the wrong visibility to be rendered.
Fixes: 333844287
Test: Manual
Flag: ACONFIG com.android.wm.shell.enable_app_pairs NEXTFOOD
Change-Id: I1b6be4637ac8c8d424e7633c437fca376ecdd757
Merged-In: I1b6be4637ac8c8d424e7633c437fca376ecdd757
From b/330638194, the requirement is that
1. "all apps" can be focusable with talkback
2. "all apps" text is persisted when in accessibility mode.
Merged-In:Ibabb92bd9d202221fdc9cfacb585755167898187
bug:330638194
Test: manual video: https://drive.google.com/file/d/1QI_F4dUijfnU2ahE2Mg6yrmRJfOVyuVJ/view?usp=sharing
Flag: None
Change-Id: Ibabb92bd9d202221fdc9cfacb585755167898187
A few things to note
- We use gesture nav layoutter because it's the mode in which we show back button rendered by IME. There might be other historical reasons but it is what it is.
- The back button isn't necessarily laid out correctly with this layoutter (currently we don't adjust anything in layoutButtons.
Fixes: 338876161
Test: Repeatedly get in setup mode, and make sure the back button is visible
Change-Id: I402273c2868f3f46a12b00918dab3f36fbe82204
(cherry picked from commit 9d602e684c)
Previously, the following would cause the All Apps panel to appear
in NORMAL state:
1. Start dragging to all apps
2. During the drag, something sets Launcher to NORMAL
3. Release finger -> animation to all apps completes, but state
is still NORMAL
Side effects of this:
- On large screens, All Apps draws its background on Launcher's
ScrimView only if the current state is All Apps. So in this
case, the apps just floated above the workspace.
- On handheld, touches are handled by workspace even though you
can see the All Apps list. So e.g. if you swipe down, the
notification shade appears rather than all apps panel hiding
(although it seems this touch issue was addressed separately).
I'm not sure if this is the main/only case of this state mismatch
happening, but verified with local async state changes that this
could in theory happen. We haven't been able to organically repro
the bug reliably. That being said, it feels plausible that a well
timed screen lock during the all apps transition could also hit
this case.
Demo videos with hard-coded state change to NORMAL 2 seconds after
you start swiping up to all apps (note I release my finger at the
end of each video):
https://drive.google.com/drive/folders/1ul8ep9N2M5oc6ZSbf_ZHQwp9IwTpz7GB?resourcekey=0-4LAufl0rkvtjvgZC0L-eMQ&usp=drive_link
Bug: 239394946
Bug: 331600490
Test: Manual with local async launcher state changes
Flag: NA
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:22dee942b595acae7a804b3008d9b732dad42620)
Merged-In: I6364dbde8aea67f5d1c525edf57ed7eb26096cf9
Change-Id: I6364dbde8aea67f5d1c525edf57ed7eb26096cf9
- Reverted the previous change. It doesn't fix the issue when launching setup mode with command line. The fact that it looked as if it's fixed from factory reset might be a fluke
- Found out that we unstash the task bar to home from setup somewhere in TaskbarStashController. This is related to stashed alpha only.
Fixes: 337738795
Test: Finish setup, swipe home in folded, and observe home handle is visible.
Change-Id: I04daf41ae9a1c3b7e6e4962dd4a8c62b708e0a54
(cherry picked from commit b297d4fb83)
Fixes: 338883705
Test: Go through setup. Make sure the 3-button doesn't show up anytime during setup
Change-Id: Idd62486465d608235abe61b994718311c72cb20c
(cherry picked from commit cb8eb189f1)
* Previously we were comparing bounds of the leash to determine
which leash was leftTop vs bottomRight
* That didn't work when we were translating the split apps when
IME is showing in portrait split screen
* Transitions between IME showing to recents animation could
probably use some work, but that itself is not a regression.
Bug: 330714602
Test: Tested on large and small screen with IME up on both apps
No more empty hole
Change-Id: Ie08ac644e5d1bcc48ba57e05e25bbee66afa3d37
Fixes: 338320015
Test: Run adb shell am start -a android.intent.action.MAIN -n com.google.android.setupwizard/.SetupWizardTestActivity. Make sure the back key shows by default but hides when IME renders back arrow.
Change-Id: I8baeb10d3f5b13c3bac084872d77d881c1513733
(cherry picked from commit 4b43cfbc04)
* Shell will launch single task if requested split apps have one of them
already in Pip
* Create a separate method to set animation for launching from the
appPair icon on workspace
* Reuse the animation method for launching an AppPair icon from taskbar
by specifying which windowing mode to look for if we're launching the
actual split pair vs just one in fullscreen
Bug: 323089902
Test: Launches fine visually
Change-Id: I415343a48e980afd7f4e511558d350cf15b97ca1
Merged-In: I415343a48e980afd7f4e511558d350cf15b97ca1
When foldable is in 3 button, the rotation button is covered by the device’s camera cutout upon rotation.
This CL replaces Contextual Rotation Button with Floating Action Button for taskbar and navbar.
Flag: NONE
Test: Manually tested on Felix & panther.
Bug: 324070001
Change-Id: I8bd9acdeec8ade4c8183c42056bf67b1c825906c
Merged-In: I8bd9acdeec8ade4c8183c42056bf67b1c825906c
Added the reason for creating the overlay. Updated
SwipePipToHomeAnimator constructor also due to the fact the source rect
hint from Builder class is never empty.
Bug: 330488822
Test: manually, follow the reproduce path
Flag: NA
Change-Id: Id98ce799d7c96fff3279c0df0fa49084a49d563a
FLAG_STASHED_SMALL_SCREEN is not updated after setup UI finishes.
Fixes: 337738795
Test: Finish setup, swipe home in folded, and observe home handle is visible.
Change-Id: I297e3b44f49f94ab5a1b9fe5ff16ff64c6cf2c0a
(cherry picked from commit ee67a48d60)
This reverts commit fb092a9a6c.
Reason for revert: b/333937249
Change-Id: I77bd6c0d2fbe2f2dad074e8e0e741b50d4d7c204
(cherry picked from commit a6bf5a0014)