Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QuickSwitch Compat Q to U #3948

Merged
merged 45 commits into from
Jan 25, 2024
Merged

QuickSwitch Compat Q to U #3948

merged 45 commits into from
Jan 25, 2024

Conversation

MrSluffy
Copy link
Member

@MrSluffy MrSluffy commented Jan 8, 2024

Description

Quickswitch compatibility in Q to U

Special Thanks @liu-wanshun : https://github.com/liu-wanshun/LauncherC

Type of change

❌ General change (non-breaking change that doesn't fit the below categories like copyediting)
❌ Bug fix (non-breaking change which fixes an issue)
✅ New feature (non-breaking change which adds functionality)
❌ Breaking change (fix or feature that would cause existing functionality to not work as expected)

@MrSluffy MrSluffy marked this pull request as draft January 8, 2024 08:10
@MrSluffy MrSluffy linked an issue Jan 8, 2024 that may be closed by this pull request
@MrSluffy MrSluffy changed the title QuickSwitch Compat R to U QuickSwitch Compat R to T Jan 9, 2024
@MrSluffy MrSluffy changed the title QuickSwitch Compat R to T QuickSwitch Compat Q to T Jan 13, 2024
@MrSluffy MrSluffy force-pushed the quickswitch-compat-r-u branch from c4b08f8 to d2b397b Compare January 14, 2024 15:06
- Seperate compatlib for U for future changes
- Fixed Opening animation in U
- Fixed issue on empty recent on A13 release to qpr2
@MrSluffy MrSluffy force-pushed the quickswitch-compat-r-u branch 4 times, most recently from 06b296b to d8c5fd8 Compare January 18, 2024 07:44
- Temp add RemoteTransition, IRemoteTransitionFinishedCallback, TransitionFilter until we create our own implementation
@MrSluffy MrSluffy force-pushed the quickswitch-compat-r-u branch from d8c5fd8 to ce4abff Compare January 18, 2024 08:24
 repro : Open app -> tap nav : flick starting
@MrSluffy MrSluffy marked this pull request as ready for review January 22, 2024 08:15
Goooler and others added 6 commits January 22, 2024 16:43
Lawnchair (Debug) bug report 22 янв. 2024 г. 17:33:14
version: 14 Dev (#363) (14)
commit: 1f3491f
build.brand: OnePlus
build.device: OnePlus9
build.display: TQ2A.230505.002
build.fingerprint: OnePlus/lemonade/lemonade:13/TQ2A.230505.002/1241:user/release-keys
build.hardware: qcom
build.id: TQ2A.230505.002
build.manufacturer: OnePlus
build.model: LE2110
build.security.level: 2023-05-05
build.product: OnePlus9
build.type: user
version.codename: REL
version.incremental: 1686400879
version.release: 13
version.sdk_int: 33
display.density_dpi: 443
isRecentsEnabled: true

error: Uncaught exception

java.lang.NoSuchMethodError: No virtual method registerForCallingUser()V in class Lcom/android/internal/policy/GestureNavigationSettingsObserver; or its super classes (declaration of 'com.android.internal.policy.GestureNavigationSettingsObserver' appears in /system/framework/framework.jar!classes4.dex)
	at com.android.launcher3.taskbar.TaskbarInsetsController.init(TaskbarInsetsController.kt:80)
	at com.android.launcher3.taskbar.TaskbarControllers.init(TaskbarControllers.java:168)
	at com.android.launcher3.taskbar.TaskbarActivityContext.init(TaskbarActivityContext.java:313)
	at com.android.launcher3.taskbar.TaskbarManager.recreateTaskbar(TaskbarManager.java:460)
	at com.android.launcher3.taskbar.TaskbarManager.onUserUnlocked(TaskbarManager.java:364)
	at com.android.quickstep.TouchInteractionService$$ExternalSyntheticLambda7.run(Unknown Source:2)
	at com.android.launcher3.util.RunnableList.add(RunnableList.java:36)
	at com.android.launcher3.util.LockedUserState.runOnUserUnlocked(LockedUserState.kt:72)
	at com.android.quickstep.TouchInteractionService.onCreate(TouchInteractionService.java:506)
	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4494)
	at android.app.ActivityThread.-$$Nest$mhandleCreateService(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2158)
	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:7891)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:550)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Lawnchair (Debug) bug report Jan 23, 2024 01:35:38
version: 14 Dev (#365) (14)
commit: ab25769
build.brand: samsung
build.device: b2q
build.display: TP1A.220624.014.F711BXXS6FWK2
build.fingerprint: samsung/b2qxeea/b2q:13/TP1A.220624.014/F711BXXS6FWK2:user/release-keys
build.hardware: qcom
build.id: TP1A.220624.014
build.manufacturer: samsung
build.model: SM-F711B
build.security.level: 2023-11-01
build.product: b2qxeea
build.type: user
version.codename: REL
version.incremental: F711BXXS6FWK2
version.release: 13
version.sdk_int: 33
display.density_dpi: 391
isRecentsEnabled: true

error: Uncaught exception

java.lang.RuntimeException: Unable to start activity ComponentInfo{app.lawnchair.debug/app.lawnchair.LawnchairLauncher}: java.lang.IllegalArgumentException: width & height must be > 0
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4184)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4340)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
	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:2584)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:226)
	at android.os.Looper.loop(Looper.java:313)
	at android.app.ActivityThread.main(ActivityThread.java:8810)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Caused by: java.lang.IllegalArgumentException: width & height must be > 0
	at android.graphics.Bitmap.createBitmap(Bitmap.java:1300)
	at android.graphics.Bitmap.createBitmap(Bitmap.java:1277)
	at com.android.launcher3.icons.BitmapRenderer.createHardwareBitmap(BitmapRenderer.java:52)
	at com.android.launcher3.icons.ShadowGenerator$Builder.createPill(ShadowGenerator.java:151)
	at com.android.launcher3.icons.ShadowGenerator$Builder.createPill(ShadowGenerator.java:138)
	at com.android.launcher3.icons.DotRenderer.<init>(DotRenderer.java:78)
	at com.android.launcher3.DeviceProfile.createDotRenderer(DeviceProfile.java:726)
	at com.android.launcher3.DeviceProfile.<init>(DeviceProfile.java:708)
	at com.android.launcher3.DeviceProfile$Builder.build(DeviceProfile.java:2255)
	at com.android.launcher3.InvariantDeviceProfile.initGrid(InvariantDeviceProfile.java:470)
	at com.android.launcher3.InvariantDeviceProfile.initGrid(InvariantDeviceProfile.java:359)
	at com.android.launcher3.InvariantDeviceProfile.initGrid(InvariantDeviceProfile.java:373)
	at com.android.launcher3.InvariantDeviceProfile.<init>(InvariantDeviceProfile.java:233)
	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:100)
	at com.android.launcher3.util.MainThreadInitializedObject.get(MainThreadInitializedObject.java:59)
	at com.android.launcher3.LauncherAppState.<init>(LauncherAppState.java:165)
	at com.android.launcher3.LauncherAppState.<init>(LauncherAppState.java:111)
	at com.android.launcher3.LauncherAppState$$ExternalSyntheticLambda16.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:100)
	at com.android.launcher3.util.MainThreadInitializedObject.get(MainThreadInitializedObject.java:59)
	at com.android.launcher3.LauncherAppState.getInstance(LauncherAppState.java:99)
	at com.android.launcher3.Launcher.onCreate(Launcher.java:519)
	at com.android.launcher3.uioverrides.QuickstepLauncher.onCreate(QuickstepLauncher.java:578)
	at app.lawnchair.LawnchairLauncher.onCreate(LawnchairLauncher.kt:215)
	at android.app.Activity.performCreate(Activity.java:8657)
	at android.app.Activity.performCreate(Activity.java:8636)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1417)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4165)
	... 12 more
@MrSluffy MrSluffy force-pushed the quickswitch-compat-r-u branch from 061ccbf to b5f4b92 Compare January 23, 2024 01:15
@Goooler Goooler force-pushed the quickswitch-compat-r-u branch from 12880ee to da87ef9 Compare January 23, 2024 10:10
@MrSluffy MrSluffy linked an issue Jan 24, 2024 that may be closed by this pull request
MrSluffy and others added 5 commits January 25, 2024 02:34
Lawnchair (Debug) bug report Jan 24, 2024 11:10:46 AM
version: 14 Dev (#368) (14)
commit: cde8994
build.brand: POCO
build.device: alioth
build.display: UQ1A.240105.004 release-keys
build.fingerprint: POCO/alioth_global/alioth:13/TKQ1.220829.002/V14.0.4.0.TKHMIXM:user/release-keys
build.hardware: qcom
build.id: UQ1A.240105.004
build.manufacturer: Xiaomi
build.model: M2012K11AG
build.security.level: 2024-01-05
build.product: lineage_alioth
build.type: user
version.codename: REL
version.incremental: 1705128613
version.release: 14
version.sdk_int: 34
display.density_dpi: 420
isRecentsEnabled: true

error: Uncaught exception

java.lang.SecurityException: Permission Denial: createSearchSession from pid=7829, uid=10727
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3061)
	at android.os.Parcel.createException(Parcel.java:3045)
	at android.os.Parcel.readException(Parcel.java:3028)
	at android.os.Parcel.readException(Parcel.java:2970)
	at android.app.search.ISearchUiManager$Stub$Proxy.createSearchSession(ISearchUiManager.java:219)
	at android.app.search.SearchSession.<init>(SearchSession.java:110)
	at android.app.search.SearchUiManager.createSearchSession(SearchUiManager.java:54)
	at app.lawnchair.search.LawnchairDeviceSearchAlgorithm$Companion.checkSearchCompatibility$lambda$2(LawnchairDeviceSearchAlgorithm.kt:128)
	at app.lawnchair.search.LawnchairDeviceSearchAlgorithm$Companion.$r8$lambda$Xo_kUeSrgktAFvrDmVpYiu_nWd4(Unknown Source:0)
	at app.lawnchair.search.LawnchairDeviceSearchAlgorithm$Companion$$ExternalSyntheticLambda0.run(Unknown Source:2)
	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.os.HandlerThread.run(HandlerThread.java:67)
Caused by: android.os.RemoteException: Remote stack trace:
	at com.android.server.searchui.SearchUiManagerService$SearchUiManagerStub.runForUserLocked(SearchUiManagerService.java:173)
	at com.android.server.searchui.SearchUiManagerService$SearchUiManagerStub.createSearchSession(SearchUiManagerService.java:109)
	at android.app.search.ISearchUiManager$Stub.onTransact(ISearchUiManager.java:126)
	at android.os.Binder.execTransactInternal(Binder.java:1358)
	at android.os.Binder.execTransact(Binder.java:1304)
@MrSluffy MrSluffy merged commit c31b41a into 14-dev Jan 25, 2024
4 checks passed
@MrSluffy MrSluffy deleted the quickswitch-compat-r-u branch January 25, 2024 21:59
nulldrf pushed a commit to nulldrf/lawnchair that referenced this pull request Jan 27, 2024
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 <[email protected]>
Co-authored-by: 无言 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment