Initial support quickstep, Android versions from Q to U, ensuring a smooth and efficient user experience. Enjoy effortless navigation and swift app switching on your Android device with QuickSwitch's compatibility across the Q, R, S, T, and U.
Co-authored-by: Goooler <wangzongler@gmail.com>
Co-authored-by: 无言 <57122860+liu-wanshun@users.noreply.github.com>
Lawnchair (Debug) bug report Dec 19, 2023 23:11:30
version: 14 Dev (#199) (14)
commit: 53a1dd0
build.brand: OnePlus
build.device: OnePlus7
build.display: UQ1A.231205.014 release-keys
build.fingerprint: OnePlus/yaap_guacamoleb/OnePlus7:14/UQ1A.231205.014/eng.ido.20231218.155325:user/release-keys
build.hardware: qcom
build.id: UQ1A.231205.014
build.manufacturer: OnePlus
build.model: GM1903
build.security.level: 2023-12-05
build.product: yaap_guacamoleb
build.type: user
version.codename: REL
version.incremental: eng.ido.20231218.155325
version.release: 14
version.sdk_int: 34
display.density_dpi: 403
isRecentsEnabled: true
error: Uncaught exception
java.lang.NoSuchMethodError: No virtual method setRemoteTransition(Landroid/window/RemoteTransition;)V in class Landroid/app/ActivityOptions; or its super classes (declaration of 'android.app.ActivityOptions' appears in /system/framework/framework.jar)
at com.android.launcher3.uioverrides.ApiWrapper.createFadeOutAnimOptions(ApiWrapper.java:70)
at com.android.launcher3.dragndrop.AddItemActivity.onLongClick(AddItemActivity.java:262)
at android.view.View.performLongClickInternal(View.java:7740)
at android.view.View.performLongClick(View.java:7696)
at android.view.View.performLongClick(View.java:7714)
at android.view.View$CheckForLongPress.run(View.java:30126)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8195)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:554)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Lawnchair (Debug) bug report 17-Dec-2023 1:28:22 pm
version: 14 Dev (#97) (13)
commit: c5fd2ac
build.brand: motorola
build.device: dubai
build.display: T1RD33.116-33-13
build.fingerprint: motorola/dubai_g/dubai:13/T1RD33.116-33-13/441420-2d5de8:user/release-keys
build.hardware: qcom
build.id: T1RD33.116-33-13
build.manufacturer: motorola
build.model: motorola edge 30
build.security.level: 2023-10-01
build.product: dubai_g
build.type: user
version.codename: REL
version.incremental: 441420-2d5de8
version.release: 13
version.sdk_int: 33
display.density_dpi: 400
isRecentsEnabled: false
error: Uncaught exception
java.lang.NoSuchMethodError: No virtual method getActivityOverrides()Ljava/util/Map; in class Landroid/content/pm/LauncherApps; or its super classes (declaration of 'android.content.pm.LauncherApps' appears in /system/framework/framework.jar)
at com.android.launcher3.uioverrides.ApiWrapper.getActivityOverrides(ApiWrapper.java:55)
at com.android.launcher3.AutoInstallsLayout.<init>(AutoInstallsLayout.java:208)
at com.android.launcher3.AutoInstallsLayout.<init>(AutoInstallsLayout.java:187)
at com.android.launcher3.AutoInstallsLayout.get(AutoInstallsLayout.java:122)
at com.android.launcher3.model.ModelDbController.loadDefaultFavoritesIfNecessary(ModelDbController.java:381)
at com.android.launcher3.model.LoaderTask.loadWorkspaceImpl(LoaderTask.java:376)
at com.android.launcher3.model.LoaderTask.loadWorkspace(LoaderTask.java:348)
at com.android.launcher3.model.LoaderTask.run(LoaderTask.java:211)
at android.os.Handler.handleCallback(Handler.java:984)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loopOnce(Looper.java:238)
at android.os.Looper.loop(Looper.java:357)
at android.os.HandlerThread.run(HandlerThread.java:85)
* Fix Crash on A9 - LC14 (#1)
* Update VibratorWrapper.java
* Update VibratorWrapper.java
* Update RecentsAnimationDeviceState.java
* Update MotionEventsUtils.java
* Update NoButtonQuickSwitchTouchController.java
* Update MotionEventsUtils.java
* Update Workspace.java
* Update NoButtonQuickSwitchTouchController.java
Remove added check no longer needed
* Update MotionEventsUtils.java
* Update Workspace.java
remove extra check added just now
* Update ApiWrapper.java
fix this issue when when changing the number of lines and columns of home screen grid
```
error: Uncaught exception
java.lang.NoSuchMethodError: No virtual method getActivityOverrides()Ljava/util/Map; in class Landroid/content/pm/LauncherApps; or its super classes (declaration of 'android.content.pm.LauncherApps' appears in /system/framework/framework.jar)
at com.android.launcher3.uioverrides.ApiWrapper.getActivityOverrides(ApiWrapper.java:55)
at com.android.launcher3.AutoInstallsLayout.<init>(AutoInstallsLayout.java:208)
at com.android.launcher3.AutoInstallsLayout.<init>(AutoInstallsLayout.java:187)
at com.android.launcher3.DefaultLayoutParser.<init>(DefaultLayoutParser.java:57)
at com.android.launcher3.model.ModelDbController.getDefaultLayoutParser(ModelDbController.java:494)
at com.android.launcher3.model.ModelDbController.loadDefaultFavoritesIfNecessary(ModelDbController.java:396)
at com.android.launcher3.model.LoaderTask.loadWorkspaceImpl(LoaderTask.java:376)
at com.android.launcher3.model.LoaderTask.loadWorkspace(LoaderTask.java:348)
at app.lawnchair.views.LauncherPreviewView$loadModelData$1.run(LauncherPreviewView.kt:101)
at app.lawnchair.views.LauncherPreviewView.loadModelData(LauncherPreviewView.kt:111)
at app.lawnchair.views.LauncherPreviewView.$r8$lambda$9n1GudRhfMpYAkR1-vecefjJG-A(Unknown Source:0)
at app.lawnchair.views.LauncherPreviewView$$ExternalSyntheticLambda2.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:205)
at android.os.HandlerThread.run(HandlerThread.java:65)
```
* Initial Patches for to support Q,R and S
- TODO create Widget Factory Holder
* Remove tracing
* Fixed Resources$NotFoundException
Lawnchair (Debug) bug report 15-Nov-2023 2:32:03 pm
version: 13 Dev (#2291) (13)
commit: c5bed50
build.brand: samsung
build.device: m30s
build.display: RP1A.200720.012.M307FXXS4CWC2
build.fingerprint: samsung/m30sdd/m30s:11/RP1A.200720.012/M307FXXS4CWC2:user/release-keys
build.hardware: exynos9611
build.id: RP1A.200720.012
build.manufacturer: samsung
build.model: SM-M307F
build.product: m30sdd
build.type: user
version.codename: REL
version.incremental: M307FXXS4CWC2
version.release: 11
version.sdk_int: 30
display.density_dpi: 420
isRecentsEnabled: false
error: Uncaught exception
android.view.InflateException: Binary XML file line #27 in app.lawnchair.debug:layout/task_desktop: Resource ID #0x106002f
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x106002f
at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:255)
at android.content.res.Resources.getColor(Resources.java:1169)
at com.android.quickstep.views.DesktopTaskView.onFinishInflate(DesktopTaskView.java:124)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1134)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
at android.view.LayoutInflater.inflate(LayoutInflater.java:680)
at android.view.LayoutInflater.inflate(LayoutInflater.java:532)
at com.android.launcher3.util.ViewPool.inflateNewView(ViewPool.java:106)
at com.android.launcher3.util.ViewPool.lambda$initPool$1(ViewPool.java:69)
at com.android.launcher3.util.ViewPool.$r8$lambda$wSRnQcMZiOmM7xwf4gm88rNehhg(ViewPool.java:0)
at com.android.launcher3.util.ViewPool$$ExternalSyntheticLambda1.run(R8$$SyntheticClass:0)
at java.lang.Thread.run(Thread.java:923)
* Fix java.lang.NoClassDefFoundError OnBackInvokedCallback$Stub
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/window/IOnBackInvokedCallback$Stub;
at com.android.launcher3.QuickstepTransitionManager.<init>(QuickstepTransitionManager.java:265)
at com.android.launcher3.uioverrides.QuickstepLauncher.buildAppTransitionManager(QuickstepLauncher.java:302)
at com.android.launcher3.uioverrides.QuickstepLauncher.setupViews(QuickstepLauncher.java:236)
at app.lawnchair.LawnchairLauncher.setupViews(LawnchairLauncher.kt:244)
at com.android.launcher3.Launcher.onCreate(Launcher.java:518)
at com.android.launcher3.uioverrides.QuickstepLauncher.onCreate(QuickstepLauncher.java:527)
at app.lawnchair.LawnchairLauncher.onCreate(LawnchairLauncher.kt:186)
at android.app.Activity.performCreate(Activity.java:8057)
at android.app.Activity.performCreate(Activity.java:8037)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1341)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3688)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3864)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2253)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7870)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.window.IOnBackInvokedCallback$Stub" on path: DexPathList[[zip file "/data/app/~~xd_Rtvu8nzsZdmkjP4cE7A==/app.lawnchair.debug-LCjip_oNAIceiLCO_DoA3g==/base.apk"],nativeLibraryDirectories=[/data/app/~~xd_Rtvu8nzsZdmkjP4cE7A==/app.lawnchair.debug-LCjip_oNAIceiLCO_DoA3g==/lib/arm64, /data/app/~~xd_Rtvu8nzsZdmkjP4cE7A==/app.lawnchair.debug-LCjip_oNAIceiLCO_DoA3g==/base.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64, /system/product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.android.launcher3.QuickstepTransitionManager.<init>(QuickstepTransitionManager.java:265)
at com.android.launcher3.uioverrides.QuickstepLauncher.buildAppTransitionManager(QuickstepLauncher.java:302)
at com.android.launcher3.uioverrides.QuickstepLauncher.setupViews(QuickstepLauncher.java:236)
at app.lawnchair.LawnchairLauncher.setupViews(LawnchairLauncher.kt:244)
at com.android.launcher3.Launcher.onCreate(Launcher.java:518)
at com.android.launcher3.uioverrides.QuickstepLauncher.onCreate(QuickstepLauncher.java:527)
at app.lawnchair.LawnchairLauncher.onCreate(LawnchairLauncher.kt:186)
at android.app.Activity.performCreate(Activity.java:8057)
at android.app.Activity.performCreate(Activity.java:8037)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1341)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3688)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3864)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2253)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7870)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
* Clean up and add our own window manager proxy
- Add our own LawnchairWindowManagerProxy based on SystemWindowManagerProxy to reduce conflict when merging aosp
* Keep androidx.core.app.CoreComponentFactory
java.lang.ClassNotFoundException: Didn't find class "androidx.core.app.CoreComponentFactory" on path: DexPathList[[],nativeLibraryDirectories=[/data/app/app.lawnchair.debug-
* Fix crash on LauncherPreviewRenderer on A10
FATAL EXCEPTION: main
Process: app.lawnchair.debug, PID: 8873
java.lang.NoSuchMethodError: No interface method getCurrentWindowMetrics()Landroid/view/WindowMetrics; in class Landroid/view/WindowManager; or its super classes (declaration of 'android.view.WindowManager' appears in /system/framework/framework.jar!classes3.dex)
at com.android.launcher3.graphics.LauncherPreviewRenderer.<init>(LauncherPreviewRenderer.java:246)
at app.lawnchair.views.LauncherPreviewView.renderView(LauncherPreviewView.kt:138)
at app.lawnchair.views.LauncherPreviewView.loadModelData$lambda$3$lambda$2(LauncherPreviewView.kt:109)
at app.lawnchair.views.LauncherPreviewView.$r8$lambda$cYc0chie-2LAfMVJGiDN9mdIeDA(Unknown Source:0)
at app.lawnchair.views.LauncherPreviewView$$ExternalSyntheticLambda1.run(Unknown Source:6)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
* Add our own LawnchairWidgetHolder
* Reformat
* improved readability
* Pass spotless
* Fix Resources$NotFoundException
Lawnchair (Debug) bug report 19 Nov 2023 12:06:33 pm
version: 13 Dev (#2327) (13)
commit: 9683178
build.brand: Teclast
build.device: T40Pro_2022_EEA
build.display: V1.02_20230826
build.fingerprint: Teclast/T40Pro_2022_EEA/T40Pro_2022_EEA:12/SP1A.210812.016/221010:user/release-keys
build.hardware: ums9230_1h10
build.id: SP1A.210812.016
build.manufacturer: Teclast
build.model: T40 Pro_EEA
build.product: T40Pro_2022_EEA
build.type: user
version.codename: REL
version.incremental: 221010
version.release: 12
version.sdk_int: 31
display.density_dpi: 280
isRecentsEnabled: false
error: Uncaught exception
java.lang.RuntimeException: Unable to start activity ComponentInfo{app.lawnchair.debug/app.lawnchair.LawnchairLauncher}: android.content.res.Resources$NotFoundException: Resource ID #0x7f0700b8 type #0x5 is not valid
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3683)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3840)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:105)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:136)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2252)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7941)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:553)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f0700b8 type #0x5 is not valid
at android.content.res.Resources.getFloat(Resources.java:1224)
at com.android.launcher3.DeviceProfile.(DeviceProfile.java:397)
at com.android.launcher3.DeviceProfile$Builder.build(DeviceProfile.java:1938)
at com.android.launcher3.InvariantDeviceProfile.initGrid(InvariantDeviceProfile.java:441)
at com.android.launcher3.InvariantDeviceProfile.initGrid(InvariantDeviceProfile.java:339)
at com.android.launcher3.InvariantDeviceProfile.initGrid(InvariantDeviceProfile.java:353)
at com.android.launcher3.InvariantDeviceProfile.(InvariantDeviceProfile.java:213)
at com.android.launcher3.InvariantDeviceProfile.$r8$lambda$DNcXzmawjoq65q3wgQi9M48DryY(Unknown Source:2)
at com.android.launcher3.InvariantDeviceProfile$$ExternalSyntheticLambda4.get(Unknown Source:0)
at com.android.launcher3.util.MainThreadInitializedObject.lambda$get$0(MainThreadInitializedObject.java:60)
at com.android.launcher3.util.MainThreadInitializedObject.$r8$lambda$xtvr3aByNYHC2nsBQ97HC1SKg4A(Unknown Source:0)
at com.android.launcher3.util.MainThreadInitializedObject$$ExternalSyntheticLambda0.get(Unknown Source:4)
at com.android.launcher3.util.TraceHelper.allowIpcs(TraceHelper.java:84)
at com.android.launcher3.util.MainThreadInitializedObject.get(MainThreadInitializedObject.java:59)
at com.android.launcher3.LauncherAppState.(LauncherAppState.java:166)
at com.android.launcher3.LauncherAppState.(LauncherAppState.java:109)
at com.android.launcher3.LauncherAppState$$ExternalSyntheticLambda12.get(Unknown Source:2)
at com.android.launcher3.util.MainThreadInitializedObject.lambda$get$0(MainThreadInitializedObject.java:60)
at com.android.launcher3.util.MainThreadInitializedObject.$r8$lambda$xtvr3aByNYHC2nsBQ97HC1SKg4A(Unknown Source:0)
at com.android.launcher3.util.MainThreadInitializedObject$$ExternalSyntheticLambda0.get(Unknown Source:4)
at com.android.launcher3.util.TraceHelper.allowIpcs(TraceHelper.java:84)
at com.android.launcher3.util.MainThreadInitializedObject.get(MainThreadInitializedObject.java:59)
at com.android.launcher3.LauncherAppState.getInstance(LauncherAppState.java:97)
at com.android.launcher3.Launcher.onCreate(Launcher.java:492)
at com.android.launcher3.uioverrides.QuickstepLauncher.onCreate(QuickstepLauncher.java:527)
at app.lawnchair.LawnchairLauncher.onCreate(LawnchairLauncher.kt:205)
at android.app.Activity.performCreate(Activity.java:8060)
at android.app.Activity.performCreate(Activity.java:8040)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3653)
... 12 more
* Keep InputMethodService.canImeRenderGesturalNavButtons
---------
Co-authored-by: Goooler <wangzongler@gmail.com>
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
Before this change : When a ReleaseFlag is turned on from server side or
set in DeviceConfig, developer options shows the flag is off.
After this change : When a ReleaseFlag is turned on from server side or
set in DeviceConfig, developer options shows the flag is on.
This change doesn't reflect the DeviceConfig value changes done using
`adb shell device_config put` unless launcher is restarted.
Bug: 297202824
Test: Manual
Flag: NA
Change-Id: I5d83207cf454c60278fd02e59199207e855d51a8
Merged-In: I5d83207cf454c60278fd02e59199207e855d51a8
(cherry picked from commit 9eb68bb7cf)
This method recursively looks up the view hierarchy for a suitable view
to animate. The wrong variable was causing an infinite loop by never
updating the object being checked for the end condition.
With the fix, the animation behaves as expected.
Fix: 302568434
Flag: ENABLE_SEARCH_RESULT_LAUNCH_ANIMATION
Test: see video in the bug.
Change-Id: I123e50f1618a1e48256c0c976eeb46c93e8391b2
Merged-In: I123e50f1618a1e48256c0c976eeb46c93e8391b2
- adding more logs to TaskbarManager to investigate taskbar being present in folded state of the device.
Test: Presubmit
Bug: 254119092
Flag: not needed
Change-Id: I81c475f1c6bbc8d5b7874ddc45e8778861b61cd0
Previously [1] we removed the explicit insetsSizeOverride from the
Taskbar for the IME window, as we now [2] enable hiding the IME nav bar.
This would now send the normal insets the taskbar reports. When running
on pre/postsubmit, with test harness setup, the non-transient taskbar
would show, which is bigger than the IME's navigation bar height.
Due to the current logic in InsetsSource#calculateInsets, this leads to
the IME window receiving top navigation bar insets instead of bottom.
As the IME nav bar is now treated as a (fixed on bottom) caption bar,
the two would no longer overlap, and thus lead to a double insets
dispatch, and also a (temporarily) bigger IME window, for IMEs that set
their decorView height to WRAP_CONTENT (e.g. MockIME used in testing).
This instead keeps the previous insetsSizeOverride for IME, and uses the
stashedTasbarHeight when in gesture nav, which should account for both
transient and normal taskbars.
[1]: I86079cb6670a2ae3b6fa883694f8af81df212408
[2]: I8793db69fb846046300d5a56b3b0060138ef4cd5
Bug: 297000797
Test: atest WindowInsetsControllerTests#testDispatchApplyWindowInsetsCount_ime
Change-Id: I102a8bc1f8869ebbce9f8f1fefa651d49a9538ec
when result was null but getTaskbarUIController() is not null, we don't setPauseUIUpdate to false. This CL ensure we always end up setting pauseUIUpdate to false so that the hotseat suggested apps show up.
Fix: 295892343
Flag: no flag
Test: verify hotseat icons don't disappear
Change-Id: Id872f3174df276cb7a4ed7f6672523d0851a11dd
If we do the reverse, there is a change onAttach will occur before the
callback is registered and invokable (e.g. overlay window already exists
for EDU).
Test: Manual
Fix: 299335210
Flag: None
Change-Id: Ic4befe900c9582e1b01c2bc4699b431f95efa617
ActivityLaunchAnimator.Controller.fromView requires an instance of LaunchableView, however findViewWithBackground had no checks to return one. updated the check to make the exception less likely.
Flag: not needed
Fixes: 297564681
Test: ran launcher and launched apps
Change-Id: Iddbe55c1ff66b067f8456d058cbc60a2a698c4ae
Merged-In: Iddbe55c1ff66b067f8456d058cbc60a2a698c4ae
It looks like from the stack trace that there is an NPE during the setApps() call. So adding nullable and null checking
to make sure mApps is not null.
bug: 296920692
test: presubmit
flag: n/a
Change-Id: If402c0b68db159f7a698e8e2e139d9bd5041b1c1
Previously, users used to be able to swipe down near the
bottom of the screen to leave overview. This was causing the taskbar to
animate to home while still in overview (and causing jank). Since this isn't expected behavior for
how to leave overview, this change removes that method.
Flag: N/A
Fix: 284416178
Test: Completed multiple transitions (ex. Overview to home) with 3
button nav and gesture nav. Ensured swiping down from below the recents
task does not go to the home screen while not affecting other
transitions.
Change-Id: I8cdfde71117dd947174d9c3c3a7f834fbeaddcca
AssistUtils#getSysUiAssistOverrideInvocationTypes(): Sent
over SysUiProxy to request overriding these invocation types.
AssistUtils#tryStartAssistOverride(): Called by OverviewProxy
(TouchInteractionService) for previously requested overrides.
Also used within Launcher for Taskbar and QSB to override
other invocation logic. May return false to indicate that
the override was not handled, so a fallback may be desired.
Bug: 295874732
Test: Manual
Change-Id: I488f3b7da1feb2663feab5d04dfa8d605c070efb
When the bubble bar is collapsed we now show at most 2 bubbles.
Fixes: 295020145
Test: Manual
- Add 1 bubble to the bubble bar
- Collapse bubble bar
-- Observe that only that bubble is visible
- Expand the bubble bar
-- Observe that both that bubble and the overflow are visible
- Add another bubble
-- Observe that 2 bubbles are visible when collapsed
- Add another bubble
-- Observe that only the first 2 bubbles are visible when collapsed
Change-Id: I5f534f53eefe9a920b8b3258813d67d021c5f2a8