Commit Graph

4236 Commits

Author SHA1 Message Date
John Andrew Camu
c31b41ae73 QuickSwitch Compat Q to U (#3948)
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>
2024-01-26 05:59:47 +08:00
MrSluffy
32922a2e02 Fix conflicts 2024-01-08 16:03:01 +08:00
Goooler
20c884d972 Merge tag 'android-14.0.0_r21' into 14-dev-merge-launcher3
https://android.googlesource.com/platform/packages/apps/Launcher3/+/refs/tags/android-14.0.0_r21

Android 14.0.0 release 21
2024-01-08 14:45:36 +08:00
MrSluffy
5297d83ce4 Fixed No virtual method setRemoteTransition
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)
2023-12-20 12:29:29 +08:00
Suphon Thanakornpakapong
e50e2e8231 Bring back status bar expansion for non-quickstep 2023-12-18 10:42:04 +07:00
MrSluffy
be01a70323 Fixed No method for some stock oem
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)
2023-12-18 07:17:34 +08:00
Rafael de Moura Dev
c6f9bc7be0 Fix Crash on A9 - LC14 (#3871)
* 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)

```
2023-12-18 05:17:35 +08:00
MrSluffy
4276067c6c Bring back OnBackPressedHandler
- Bring back OnBackPressedHandler so we can support lower version

TODO : Recreate OnBackAnimationCallback
2023-12-16 18:59:08 +08:00
MrSluffy
cc8f9828ab Merge branch 'heads/android-14.0.0_r18' into 14-dev 2023-12-16 17:18:13 +08:00
MrSluffy
32700b0100 Merge branch 'android14-release' into 14-dev 2023-12-13 18:47:55 +08:00
John Andrew Camu
5931c9afec Fix crash a9 (#3836)
* Fix crash on Android 9 (#3808)

- Initial support for A9


Co-authored-by: John Andrew Camu <werdna.jac@gmail.com>
Co-authored-by: Rafael de Moura Dev <93414086+Rafael2616@users.noreply.github.com>
2023-12-09 14:13:47 +08:00
Goooler
b7a32a0711 Add a switch to control suggested apps showing (#3803) 2023-12-01 14:49:17 +08:00
John Andrew Camu
ffacafc22c Revert back configs (#3802) 2023-12-01 06:33:12 +08:00
Goooler
2c8539c8f0 Catch RemoteAnimationTarget.rotationChange (#3776) 2023-11-27 10:42:32 +08:00
John Andrew Camu
e994660cb0 Patches for crashes in Android Q, R and S (#3728)
* 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>
2023-11-20 14:46:36 +08:00
MrSluffy
19bf26dd5a Merge branch 'aosp-13' into 13-wip 2023-10-21 09:52:01 +08:00
Jon @
5838767cc2 Merge "Fix bug where All Apps button loads in late in taskbar." into udc-qpr-dev 2023-10-13 18:37:04 +00:00
Jon Miranda
1e931890d1 Fix bug where All Apps button loads in late in taskbar.
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
2023-10-11 13:28:08 -07:00
Anushree Ganjam
13517070d8 Developer options should reflect the correct DeviceConfig value for ReleaseFlag.
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)
2023-10-05 01:45:32 +00:00
Luca Zuccarini
ba44979d79 [Toast] Fix ANR when tapping on rich card chip.
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
2023-09-29 11:41:55 +00:00
Jagrut Desai
f2412770e2 Merge "Add more debugs logs to TaskbarManager" into udc-qpr-dev 2023-09-29 02:39:18 +00:00
Jagrut Desai
c1bd53c3f0 Add more debugs logs to TaskbarManager
- 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
2023-09-28 15:46:22 -07:00
Felix Stern
795dc83c72 Merge "Use stashedTaskbarHeight for IME insets override" into udc-qpr-dev 2023-09-22 17:04:19 +00:00
Brandon Dayauon
28ae77df37 Merge "Fix big icon when dragging Toast by isolating the previous QL fix display to SEARCH_RESULT_APP_ROW" into udc-qpr-dev 2023-09-22 14:36:45 +00:00
Cosmin Băieș
df2ceac06c Use stashedTaskbarHeight for IME insets override
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
2023-09-22 14:16:03 +00:00
Brandon Dayauon
47000ae6e6 Fix big icon when dragging Toast by isolating the previous QL fix display to SEARCH_RESULT_APP_ROW
- Create another icon, "all_apps_predicted_row_icon" that will be the mDisplay for the predicted app row
in AllAppsList

Bug:299171695
Test: video
Before: https://drive.google.com/file/d/1HxNW0015nQHCc7eQiySf-gwsHrLs_JjR/view?usp=sharing
after: https://drive.google.com/file/d/1HyEwKI-yumILTCjglKcqovhTlRVjNGxg/view?usp=sharing - making sure that QL is fine and dragging regular Toast results are normal
Flag: N/a
Change-Id: Ie002cacb168396dbea39f79679bd6a04b80e374b
2023-09-20 14:21:10 -07:00
Sunny Goyal
5b86162853 Overriding the default TextClock and AnalogClock behavior to avoid RPCs on main thread
during onAttachToWindow

Bug: 294352799
Test: Verified on device
Flag: N/A
Change-Id: I3cce6900cd62a6e9a57c155b74c15c2340c6011b
2023-09-18 23:04:33 +00:00
Vinit Nayak
8ad9393213 Merge "Provide bgExecutor for RotationButtonController" into udc-qpr-dev 2023-09-15 17:20:43 +00:00
Vinit Nayak
9b3598f154 Provide bgExecutor for RotationButtonController
Bug: 289341065
Test: Unfolded, checked perfetto trace, it
shows up not on UI thread

Change-Id: I9a080c9a5c3c57f38eb6719ed73952dde4f6bba1
2023-09-15 10:46:00 -04:00
Federico Baron
15b81093d7 Merge "Ensure PauseUIUpdate always ends up getting set to false" into udc-qpr-dev 2023-09-14 16:26:34 +00:00
fbaron
a101ac696f Ensure PauseUIUpdate always ends up getting set to false
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
2023-09-13 16:56:02 -07:00
Jagrut Desai
733d440ac1 Merge "Apply ForciblyShown WindowLayoutParam flags for Transient Taskbar" into udc-qpr-dev 2023-09-11 21:52:08 +00:00
Jagrut Desai
6472119d4b Apply ForciblyShown WindowLayoutParam flags for Transient Taskbar
Test: Manual
Bug: 278078311
Flag: Not needed
Change-Id: Ia963e45b3b4e6d928b6292b80b73394e76fe2325
2023-09-11 09:39:23 -07:00
Schneider Victor-tulias
9e6a845ca4 Merge "Add error handling to prevent IllegalArgumentException" into udc-qpr-dev 2023-09-11 15:30:05 +00:00
Andy Wickham
3289e4fa35 Merge "Add tests for LPH override for 3 button mode Taskbar." into udc-qpr-dev 2023-09-07 23:43:42 +00:00
Brian Isganitis
503f04f86d Register OnAttachStateChangeListener before attaching to container.
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
2023-09-07 19:15:10 +00:00
Brandon Dayauon
31679166a7 Merge "Add nullable annotation" into udc-qpr-dev 2023-09-05 16:50:38 +00:00
Schneider Victor-tulias
785a7511b6 Add error handling to prevent IllegalArgumentException
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
2023-09-05 13:58:42 +00:00
Brandon Dayauon
75d8994e6f Add nullable annotation
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
2023-08-31 13:59:13 -07:00
Saumya Prakash
dbd47e9f75 Merge "Remove extraneous transition from Overview to Home screen" into udc-qpr-dev 2023-08-30 23:06:15 +00:00
Andy Wickham
976876ec5b Add tests for LPH override for 3 button mode Taskbar.
Override == Launcher handles via AssistUtils instead of SysUI.

Bug: 297561673
Test: TaskbarNavButtonControllerTest + bug bash session
Change-Id: I079d4b9045d6f7d94d74e91bcabbbc182de6e17d
2023-08-30 14:45:18 -07:00
Saumya Prakash
c4cc4b13b1 Remove extraneous transition from Overview to Home screen
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
2023-08-30 21:24:45 +00:00
Treehugger Robot
41d269a43b Merge "Add logs around hotseat suggested apps" into udc-qpr-dev 2023-08-28 23:09:44 +00:00
Andy Wickham
b2ac210120 Rename AssistUtilsBase -> AssistUtils
Bug: n/a
Test: n/a
Flag: n/a
Change-Id: Ia227b180732d0acfdc4b648885d5ce208d86ee49
2023-08-25 12:12:17 -07:00
Treehugger Robot
dddd60e84f Merge "Cap the width of the bubble bar when collapsed" into udc-qpr-dev 2023-08-25 15:07:56 +00:00
Andy Wickham
5ed1b4001b Merge "Use new AssistUtils(Base) to override SysUI Assist invocations." into udc-qpr-dev 2023-08-24 19:36:12 +00:00
fbaron
6707ddd016 Add logs around hotseat suggested apps
Bug: 295892343
Test: n/a
Flag: no flag
Change-Id: Id6f464c8614317f58f6886734ad1f9b9709d6aa3
2023-08-24 11:15:46 -07:00
Andy Wickham
f7554ff718 Use new AssistUtils(Base) to override SysUI Assist invocations.
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
2023-08-23 15:49:02 -07:00
Liran Binyamin
90d3a422f8 Cap the width of the bubble bar when collapsed
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
2023-08-23 07:40:56 +00:00
Liran Binyamin
5e7ca0c0b3 Merge "Handle touches on the bubble bar in Overview" into udc-qpr-dev 2023-08-23 07:13:16 +00:00