Introducing isTinyTaskbar and using in a few places to show Taskbar on
phones.
Disabling for three button mode since the buttons will take up most of
the space. Could also prototype adding meta key as a 4th button in
this case if we feel like it.
Flag: com.android.wm.shell.enable_tiny_taskbar
Test: Manual
Bug: 341784466
Change-Id: Iba07382d9bd5d14fc29ef080a390db561f6fd454
When a task is minimised, it becomes invisible but is still running.
WMShell now signals to the launcher when a task's visibility changes.
The task bar takes the visibility into account to know if a running task
is, in fact, minimised.
Test: atest NexusLauncherTests:DesktopTaskbarRunningAppsControllerTest
Flag: com.android.window.flags.enable_desktop_windowing_taskbar_running_apps
Bug: 333872717
Change-Id: Iaff6b1240d354bb3c4de8e4884948acf9bf40112
- onDetachedFromWindow is a sign RecentsView or even activity will be destroyed, if we don't reset RecentsAnimationController will be stuck without finsihing, causing live tile to be stuck on screen
Bug: 339747262
Test: Swithcing apps (recents button, quick switch, OVerview) from Maps driving mode, live tile not stuck
Flag: EXEMPT bugfix
Change-Id: I990cfe0fc814c9125dbfbaf8a298f1b871e0194e
- 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
Bug: 341921089
Flag: ACONFIG com.android.window.flags.predictive_back_system_anims NEXTFOOD
Test: Manual, i.e. testing verifying on device that the color switch happens when the closing window passes the middle of the statusbar
Change-Id: I885e8142e52d29d13232cd588108fb1fb2742036
- Because ag/27301532 we have restriction in setModalness that forbid setModalAlpha be called multiple times, this was a hack to avoid setModalAlpha interferring with setContentAlpha
- As part of ag/27301532 modalness.set no longer have the field != value check, which cause the regression that icon appears in quick switch carousel
- Now it follows IconAppChipView's implementation to use MuiliValueAlpha
Bug: 339787593
Test: Swipe up from app, or quick switch then swipe up, icon shouldn't be visible
Flag: EXEMPT refactor
Change-Id: I0abb8df951ef32ba8a0f9bbfa385c0aa3b96dd7f
In some occasions, launcher leaks through DesktopVisibilityController
and SplitFromDesktopController. Set mDesktopVisibilityController and mSplitSelectStateController to null
after their onDestroy() methods are called.
Bug: 332339792
Test: m
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode TEAMFOOD
Change-Id: I66418f30ec5d2735f812ee6e4180f55f67d7b46f
- Most TaskView method will now loop through taskContainer instead of accessing the first/second
- Moved TaskThumbnailView, showWindowsView, and TaskOverlay to be part of TaskContainer. There are still some TaskOverlay access from TaskThumbnailViewDeprecated that should be remove as we start using TaskThumbnailView
Fix: 339787250
Test: Manual
Flag: EXEMPT refactor
Change-Id: Icfaa4f5eb50582faed01113465335b6d2899f781
- 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)
Stop sending entire bubble bar bounds to shell.
Keeping the bounds in sync was error prone as bubble bar can expand and
collapse. Bubbles can be added/removed.
In each of these cases we had to make sure that shell gets updated.
Shell only needed the full bounds for collapse/expand animation. But
after updating the animation, shell only needs the top coordinate of the
bubble bar.
Bug: 330585402
Flag: com.android.wm.shell.enable_bubble_bar
Test: bubble bar drag
- drag bar from right to left
- expand the bar
- check that expanded view scales in from left edge
- collapse and drag bar back, check the animation
Test: selected bubble drag
- drag expanded bubble from right to left
- check that expanded view scales in from the left edge
- drag the bubble back to right, check animation
Test: other bubble drag
- drag a unselected bubble from right to left
- check that the selected bubble expands in from left edge
- drag the bubble back to right, check animation again
Test: drag bubble from right to left, observe that expanded view
expand animation originates from the bubble bar
Change-Id: Ib66cef8d3c04bce54a69e30e99edd408a31f018f
Translation for bubble after drag release was based on bubble bar translation. TranslationX was adjusted for bubble position. And translationY was reused from bubble bar.
Before ag/27284635 bubble bar translationY just copied over the input translation value. But the cl introduced a fixed translationY applied to bubble bar.
This was getting applied to the bubble as well. And resulted in bubble being out of its target position when releasing drag.
Bug: 330585402
Test: drag a bubble from bubble bar and release it, observe it animates
to its correct position in the bar
Change-Id: I48f2a84b60a9cc6047e9841c254b4035212f3c0e
- 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
When the IME is visible we now don't animate the bubble bar.
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 340532785
Test: manual
Change-Id: I31fcf6a1fe81d907a9a02780ba42813111ac7e90
- PS1: Android Studio conversion (unformatted, cannot compile)
- PS2: Fix compilation issues and formatting
- PS3: First pass ready for review
- PS4: Minor changes (Remove Consumer, remove unnecessary null-checks)
- PS5: Removed check() around taskContainers, which is now lateinit and should always be initiailzed. Also ensure TaskView is bound before adding to parent.
- PS6: Move a bunch of getters to use .property style
- PS8: Refacoted RecentsView.applyLoadPlan bind logic, to avoid inflating TaksView, bind, add then immediatley remove
- PS10: Turned more functions to express functions; added an extension function
- PS11: Re-order functions, no code changes
- PS12: Reverted unit express function back to {} style
Bug: 339787593
Test: Manual
Flag: NONE
Change-Id: I75c06cf29718d8f258a4124997bcb054f5eb056f
In some occasions, launcher leaks through DesktopVisibilityController
and SplitFromDesktopController. It seems that we don't set the listeners
to null after we unregister which might be the reason why they hold on
to the launcher activity.
Bug: 332339792
Test: m
Flag: ACONFIG com.android.window.flags.enable_desktop_windowing_mode TEAMFOOD
Change-Id: If52ae87cec959264109e59b1144679183c8fedcc
Updates to existing bubbles now cause the bubble bar to animate in
similarly to new bubble notifications.
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Bug: 280605846
Test: manual
Change-Id: Ib53316889170e0392f055242c6206882084b4a46
Bug: 309481654
Change-Id: Id7b5db662d578eb625171055d30c37cd59e7d73c
Flag: EXEMPT refactor since it is removing obsolete code with no changes to current behavior.
- Reuse existing TaskSwitcherContainer for Overview metric logging
- Log current orientation state for Overview when interacting with
gestures or via three button nav
- Log current orientation state on each phone rotation
Bug: 332870519
Test: Manual
Flag: NA
Change-Id: Ia10cf1acb809432175daab55151998f0d77362f9
The removeBubble method was only used for dismissing a bubble via drag
in Launcher. Renaming the method to indicate it is only for this
purpose.
This allows us to reduce remote calls from launcher to shell when a
bubble is dismissed via drag. Otherwise we would need to make two calls,
one for removing a bubble and other for stopping the drag.
As shell keeps track of drag status in launcher for hiding the expanded
view.
Also removing the bubble key from remote call to shell to signal drag
has finished. The bubble key was not used.
Bug: 330585402
Flag: ACONFIG com.android.wm.shell.enable_bubble_bar DEVELOPMENT
Test: drag a bubble that is not expanded to dismiss target, previously
expanded bubble should expand again
Change-Id: I57484aa3a2c0585ff7c3974d9f0d19dc1ab9dbd2
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