As seen in the bug, an exception caused rest of onDestroy to not clean
up the other objects - which could cause other leaks.
So, for somewhat non-trivial clean ups, I've wrapped them in try-catch.
This way, with Log.e we still will know about them, but not crash
destruction of activity and other clean up.
Bug: 400793700
Flag: EXEMPT BUGFIX
Test: Leak canary and studio heap dump
Change-Id: I45e7298394eafff182a2c800eebfa5f772fbe2de
This CLs removes DeviceProfile of the display before destroying the
taskbar in onDisplayRemoved(). This makes sure DeviceProfile is null
when destroyTaskbarForDisplay() is called in onDisplayRemoved(), so that
removeTaskbarRootViewFromWindow() can be executed when display mirroring
starts.
Bug: 401180264
Test: adb shell settings put secure mirror_built_in_display 1
Flag: EXEMPT bug fix
Change-Id: I42cb8a1ecfdf1aa57d8ee3d01242a156f8a92cd9
Since developers have been relying on detecting leaks from studio build
and this exception can cause rest of on destroy to not run, to avoid
false positives, we could just rely on Log.e instead.
See bug for more details.
Bug: 400793700
Flag: EXEMPT BUGFIX
Test: Leak canary and studio heap dump
Change-Id: Ieea35ecfcc4b0f048b47c204809bbbf39e367b06
Fix crash due to taskbarActivityContext being initialized too late.
Flag: EXEMPT not adding new behavior
Bug: 402671805
Test: Manual
Change-Id: I1e6fcbac823dbd436579f1be2558b7855778a44c
Having DesktopWallpaperActivity in TTT sometimes cause crashes as it's a
system activity and launcher doesn't have the permission to read its
package info.
Bug: 398943577
Test: manually verify that WallpaperActivity is filtered out
Flag: EXEMPT Bug fix
Change-Id: I305763f5393350127e4046f1fcf7f3d8ed883f25
Consolidated the existing logic from OtherActivityInputConsumer
into AbsSwipeUpHandler#getLaunchIntent() directly, so it is
inherited for both AbsSwipeUpHandler and OverviewCommandHelper.
This change means we stop starting RecentsActivity when pressing
the overview button. (And, in turn, this means we no longer use
FallbackTaskbarUIController<RecentsActivity>.)
Bug: 401382430
Test: Open an app, press Overview button, dump TaskbarUIController
Flag: com.android.launcher3.enable_fallback_overview_in_window
Flag: com.android.launcher3.enable_launcher_overview_in_window
Change-Id: Ib5da181ecd41141634127d3a70c816d2f45fad08
When a bubble is dragged to full screen, pass the x and y coordinates
of where the bubble was released to wm shell. The coordinates are used
as a starting point for expanding the full screen task.
Flag: com.android.wm.shell.enable_bubble_to_fullscreen
Bug: 388858013
Test: treehugger
Change-Id: I28bb10bdfb00786e43b350239cfdeb3df20b4a6f
Flag: None fixing regression
Test: built and ran locally, verified home button is showing in the
proper scenarios.
Bug: 376851989
Change-Id: Ifcc6c5e41135a7e67aa20c18efac34af32b71e15
This enables blur both for Taskbar and Launcher, but in slightly
different ways.
For Taskbar All Apps, we apply blur to the overlay window, and
for Launcher All Apps, we utilize the existing DepthController to
blur the wallpaper window. For similicity, we currently fade out
workspace/hotseat to avoid awkward view + window blurs which
don't look that good. This is not the POR, but I think it achieves
most of the effect and will help us get some blur exposure.
Separately I will continue to investigate options such as blurring
workspace in a clever way so it feels blended with the wallpaper,
reusing the Taskbar window and connecting it to LauncherState, or
using a SurfaceView (though I spent quite some time trying this and
it seemed the same as the original issue).
In both cases, we use a 20-30% opacity scrim with a set color, and a
panel that blends 40% opacity of a dark/light color with 10% white.
Also updated some incorrect isTablet checks which really should have
been checking shouldShowAllAppsOnSheet(), which includes the
all_apps_sheet_for_handheld flag.
Demo: https://drive.google.com/file/d/1Ov9Dg3R9YHNfisfxNf97ZIhlDeEA1IWj/view?usp=sharing&resourcekey=0-l_SDpqpS4HtOb10a3b_jNg
Other upcoming improvements: interpolator tweaks, colors of things
inside the app panel (tabs, private space, search results, etc).
Bug: 400827727
Bug: 371343636
Test: Manual
Flag: com.android.launcher3.all_apps_blur
Change-Id: Ic7063cd822f39a5977715b5477f825bf11e57bdf
Bubble bar drop targets have been added to the TaskbarDragController
used in the TaskbarOverlayContext. This enables dragging taskbar icons
to the bubble bar drop zone from the search view on the overview screen.
Bug: 399678274
Flag: com.android.wm.shell.enable_create_any_bubble
Test: Manual. Go to the overview screen. Click the search icon. Drag any
application icon from the grid to the bubble bar drop zone. Drop the
application icon.
Change-Id: I33eb13785d8837fefc717a95a6566d3091ec855b
Added logic to check the bubble bar stash state and perform appropriate
animations based on that state.
Bug: 399678274
Test: Manual: Have bubbles in the bubble bar. Go to an application.
Swipe up the taskbar handle so the taskbar is shown. Click the search
icon in the taskbar. Start a drag on any icon in the grid. The bubble
bar stashes immediately on drag start. When the icon is dragged over the
bubble bar drop zone, the bubble bar unstashes and is shown at the
dragged location.
Flag: com.android.wm.shell.enable_create_any_bubble
Change-Id: I9663a03a7daacdfaba071d5e35d5b7404cefed4e
This is more consistent with pre-LayoutTransition approach, and should
behave more reliably on phones.
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Bug: 343521765
Test: go/testedequals
Change-Id: Ib758b1e44c3b87d6d2ff71425ed40ff621261104
Updates border color to have more contrast to the background, and adds
2dp padding between the border and the task content view - done by
updating BorderAnimator not to assume the border width and stroke are
the same.
Adding padding between the border and task view content exopsed an issue
where the second thumbnail in a split task's borders were not clipped
correctly when adding a border (it looked like the clip rect was not
properly scaled down). This is addressed by moving the tack view
background (and the outline) from the root KeyboardQuickSwitchTaskViews
to the content views (i.e. moving the outline to the view that does not
get scaled when adding a border, and having the second thumbnail end
edge of the clip rectangle match the clip rectangle of the clipped
ancestor view).
Bug: 398770098
Test: Manual
Flag: EXEMPT (a11y) bug fix
Change-Id: Ie058c932411a6b47815b0abf756f739c55b8342f
Bug: 383974843
Test: Verified via go/web-hv that the hitbox sizes were correct. Measured the width and height within the folder for 1 through 7 pages, and everything looked great.Change title worked, and pressing on arrows to change page worked great.
Flag: com.android.launcher3.enable_launcher_visual_refresh
Change-Id: Ic095b2abe330544882467fb4803724e8d50a1798
The problem: Due to complexitiy of recent animation, taskbar is currently getting recreated upon recent animation being canceled for Desktop Mode.
Upon canceling of recent animation showDesktopApps is called again, but user is already in desktop mode.
The solution: simply check if user is in desktop mode upon getting onEnterDesktopMode transition callback before recreating taskbar.
Test: Manual
Bug: 399857150
Flag: EXEMPT bugfix
Change-Id: I8f36a8c8c834bca7be1ce7164cd712a7578c1ab4
Track the DesktopTaskView through its `deskId` if it is the current
TaskView or the running TaskView. This is done to support emtpy
desk which has no tasks inside.
Bug: 400532675
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: Id1e7e7efc2a6ac3126d0320d85a3d327eec0f3c1