mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 15:26:58 +00:00
* 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>
166 lines
6.8 KiB
Prolog
166 lines
6.8 KiB
Prolog
-keep,allowshrinking,allowoptimization class com.android.launcher3.** {
|
|
*;
|
|
}
|
|
|
|
-keep class com.android.launcher3.graphics.ShadowDrawable {
|
|
public <init>(...);
|
|
}
|
|
|
|
# The support library contains references to newer platform versions.
|
|
# Don't warn about those in case this app is linking against an older
|
|
# platform version. We know about them, and they are safe.
|
|
-dontwarn android.support.**
|
|
-keep class ** extends android.app.Fragment {
|
|
public <init>(...);
|
|
}
|
|
|
|
## Prevent obfuscating various overridable objects
|
|
-keep class ** implements com.android.launcher3.util.ResourceBasedOverride {
|
|
public <init>(...);
|
|
}
|
|
|
|
-keep interface com.android.launcher3.userevent.nano.LauncherLogProto.** {
|
|
*;
|
|
}
|
|
-keep interface com.android.launcher3.model.nano.LauncherDumpProto.** {
|
|
*;
|
|
}
|
|
|
|
# Discovery bounce animation
|
|
-keep class com.android.launcher3.allapps.DiscoveryBounce$VerticalProgressWrapper {
|
|
public void setProgress(float);
|
|
public float getProgress();
|
|
}
|
|
|
|
# BUG(70852369): Suppress additional warnings after changing from Proguard to R8
|
|
-dontwarn android.app.**
|
|
-dontwarn android.graphics.**
|
|
-dontwarn android.os.**
|
|
-dontwarn android.view.**
|
|
-dontwarn android.window.**
|
|
|
|
# Ignore warnings for hidden utility classes referenced from the shared lib
|
|
-dontwarn com.android.internal.util.**
|
|
|
|
################ Do not optimize recents lib #############
|
|
-keep class com.android.systemui.** {
|
|
*;
|
|
}
|
|
|
|
-keep class com.android.quickstep.** {
|
|
*;
|
|
}
|
|
|
|
# Don't touch the restrictionbypass code
|
|
-keep class org.chickenhook.restrictionbypass.** { *; }
|
|
|
|
# Silence warnings from Compose tooling
|
|
-dontwarn sun.misc.Unsafe
|
|
|
|
# Silence warnings about classes that are available at runtime
|
|
# These rules are generated automatically by the Android Gradle plugin.
|
|
-dontwarn android.animation.AnimationHandler*
|
|
-dontwarn android.content.om.**
|
|
-dontwarn android.content.pm.**
|
|
-dontwarn android.content.res.**
|
|
-dontwarn android.hardware.devicestate.DeviceStateManager*
|
|
-dontwarn android.provider.**
|
|
-dontwarn android.service.wallpaper.IWallpaperEngine*
|
|
-dontwarn android.util.**
|
|
-dontwarn android.widget.RemoteViews*
|
|
-dontwarn androidx.compose.runtime.PrimitiveSnapshotStateKt
|
|
-dontwarn androidx.dynamicanimation.animation.AnimationHandler$FrameCallbackScheduler*
|
|
-dontwarn com.android.internal.**
|
|
-dontwarn com.google.android.collect.Sets*
|
|
-dontwarn com.google.protobuf.nano.**
|
|
-dontwarn dagger.**
|
|
-dontwarn javax.inject.**
|
|
-dontwarn android.net.**
|
|
-dontwarn android.os.**
|
|
-dontwarn android.bluetooth.**
|
|
-dontwarn android.appwidget.AppWidgetHost$AppWidgetHostListener
|
|
-dontwarn android.compat.Compatibility
|
|
-dontwarn android.compat.annotation.UnsupportedAppUsage
|
|
-dontwarn com.android.i18n.phonenumbers.PhoneNumberMatch
|
|
-dontwarn com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency
|
|
-dontwarn com.android.i18n.phonenumbers.PhoneNumberUtil
|
|
-dontwarn com.android.wm.shell.animation.FloatProperties
|
|
-dontwarn com.android.wm.shell.animation.PhysicsAnimator$FlingConfig
|
|
-dontwarn com.android.wm.shell.animation.PhysicsAnimator$SpringConfig
|
|
-dontwarn com.android.wm.shell.animation.PhysicsAnimator$UpdateListener
|
|
-dontwarn com.android.wm.shell.animation.PhysicsAnimator
|
|
-dontwarn com.android.wm.shell.bubbles.BubbleDataRepository
|
|
-dontwarn com.android.wm.shell.bubbles.BubbleOverflow
|
|
-dontwarn com.android.wm.shell.bubbles.DismissView
|
|
-dontwarn com.android.wm.shell.bubbles.ManageEducationView
|
|
-dontwarn com.android.wm.shell.bubbles.RelativeTouchListener
|
|
-dontwarn com.android.wm.shell.bubbles.StackEducationView
|
|
-dontwarn com.android.wm.shell.common.FloatingContentCoordinator$FloatingContent
|
|
-dontwarn com.android.wm.shell.common.FloatingContentCoordinator
|
|
-dontwarn com.android.wm.shell.common.magnetictarget.MagnetizedObject$MagnetListener
|
|
-dontwarn com.android.wm.shell.common.magnetictarget.MagnetizedObject$MagneticTarget
|
|
-dontwarn com.android.wm.shell.common.magnetictarget.MagnetizedObject
|
|
-dontwarn com.android.wm.shell.desktopmode.DesktopModeTaskRepository$ActiveTasksListener
|
|
-dontwarn com.android.wm.shell.desktopmode.DesktopModeTaskRepository$VisibleTasksListener
|
|
-dontwarn com.android.wm.shell.desktopmode.DesktopModeTaskRepository
|
|
-dontwarn com.android.wm.shell.desktopmode.DesktopTasksController
|
|
-dontwarn com.android.wm.shell.pip.tv.TvPipKeepClearAlgorithm$Placement
|
|
-dontwarn com.android.wm.shell.pip.tv.TvPipKeepClearAlgorithm
|
|
-dontwarn dalvik.system.BlockGuard$Policy
|
|
-dontwarn dalvik.system.BlockGuard
|
|
-dontwarn dalvik.system.CloseGuard
|
|
-dontwarn dalvik.system.VMRuntime
|
|
-dontwarn java.nio.NioUtils
|
|
-dontwarn libcore.content.type.MimeMap$Builder
|
|
-dontwarn libcore.content.type.MimeMap
|
|
-dontwarn libcore.io.IoUtils
|
|
-dontwarn libcore.net.NetworkSecurityPolicy
|
|
-dontwarn libcore.util.EmptyArray
|
|
-dontwarn libcore.util.HexEncoding
|
|
-dontwarn libcore.util.NativeAllocationRegistry
|
|
-dontwarn lineageos.providers.LineageSettings$System
|
|
-dontwarn org.apache.harmony.dalvik.ddmc.ChunkHandler
|
|
-dontwarn org.apache.harmony.dalvik.ddmc.DdmServer
|
|
-dontwarn org.ccil.cowan.tagsoup.HTMLSchema
|
|
-dontwarn org.ccil.cowan.tagsoup.Parser
|
|
# We can remove these rules after updating to OkHttp 4.10.1
|
|
# https://github.com/square/okhttp/blob/339732e3a1b78be5d792860109047f68a011b5eb/okhttp/src/jvmMain/resources/META-INF/proguard/okhttp3.pro#L11-L14
|
|
-dontwarn okhttp3.internal.platform.**
|
|
-dontwarn org.conscrypt.**
|
|
-dontwarn org.bouncycastle.**
|
|
-dontwarn org.openjsse.**
|
|
|
|
# Preserve Protobuf generated code
|
|
-keep class com.android.launcher3.tracing.nano.LauncherTraceFileProto$* { *; }
|
|
-keep class com.android.launcher3.logger.nano.LauncherAtom$* { *; }
|
|
-keep class com.android.launcher3.tracing.nano.LauncherTraceEntryProto$* { *; }
|
|
-keep class com.android.launcher3.tracing.nano.TouchInteractionServiceProto$* { *; }
|
|
-keep class com.android.launcher3.userevent.nano.LauncherLogProto$* { *; }
|
|
-keep class com.android.launcher3.tracing.nano.LauncherTraceProto$* { *; }
|
|
-keep class com.android.launcher3.userevent.nano.LauncherLogExtensions$* { *; }
|
|
-keep class com.android.launcher3.tracing.LauncherTraceFileProto$* { *; }
|
|
-keep class com.android.launcher3.logger.LauncherAtom$* { *; }
|
|
-keep class com.android.launcher3.tracing.LauncherTraceEntryProto$* { *; }
|
|
-keep class com.android.launcher3.tracing.TouchInteractionServiceProto$* { *; }
|
|
-keep class com.android.launcher3.userevent.LauncherLogProto$* { *; }
|
|
-keep class com.android.launcher3.tracing.LauncherTraceProto$* { *; }
|
|
-keep class com.android.launcher3.userevent.LauncherLogExtensions$* { *; }
|
|
-keep class app.lawnchair.LawnchairProto$* { *; }
|
|
-keep class app.lawnchair.LawnchairApp { *; }
|
|
-keep class com.android.launcher3.Utilities { *; }
|
|
-keep class app.lawnchair.LawnchairLauncher { *; }
|
|
-keep class com.google.protobuf.Timestamp { *; }
|
|
-keep class androidx.core.app.CoreComponentFactory { *; }
|
|
-keepattributes InnerClasses
|
|
|
|
-keep class app.lawnchair.compatlib.** {
|
|
*;
|
|
}
|
|
|
|
-keep class com.android.** {
|
|
*;
|
|
}
|
|
|
|
# Keep Smartspacer's client SDK
|
|
-keep class com.kieronquinn.app.smartspacer.sdk.** { *; }
|