ReChronoRain / HyperCeiler

MIUI & HyperOS enhancement module - Make MIUI & HyperOS Great Again!
https://hyperceiler.sevtinge.cc
GNU Affero General Public License v3.0
2.19k stars 131 forks source link

🐛 [BUG] <系统桌面崩溃> #606

Open Ban404 opened 4 months ago

Ban404 commented 4 months ago

须知

问题描述

系统桌面崩溃,无法判断是哪个功能导致的,有代码。 应用名:系统桌面 包名:com.miui.home 版本名称:RELEASE-4.39.14.8051-04151827 版本代号:439148051

模块日志

[文件名]:Folderlcon2x2.kt [抛出类]:com.miui.home.launcher.f older.Folderlcon2x2$onWallpaper ColorChanged$2 [抛出方法]:accept

[异常类型及信息]: java.lang.ClassCastException: android.graphics.drawable.Bitm apDrawable cannot be cast to com.miui.home.launcher.folder.Fo Iderlcon4x4NormalBackgroundDra wable [异常堆栈内容]: java.lang.ClassCastException: android.graphics.drawable.Bitm apDrawable cannot be cast to com.miui.home.launcher.folder.Fo lderlcon4x4NormalBackgroundDra wable at com.miui.home.launcher.folder.Fol derlconZx2$onWallpaperColorCha nged$2.accept(Folderlcon2x2.kt:11 7) at com.miui.home.launcher.folder.Fol derlconZx2$onWallpaperColorCha nged$2.accept(Folderlcon2x2.kt:28)at com.miui.home.library.utils.Async TaskExecutorHelper$3.onPostExec ute(AsyncTaskExecutorHelper.jav a:137) at android.os.AsyncTask.finish(AsyncTask.java:771) at android.os.AsyncTask.-$ $Nest$mfinish(Unknown Source:0) at android.os.AsyncTask$lnternalHan dler.handleMessage(AsyncTask.jav a:788) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:224) at android.os.Looper.loop(Looper.java:318) at android.app.ActivityThread.main(ActivityThread.java:8767) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Runtimeln it$MethodAndArgsCaller.run(Runt imelnit.java:561) at com.android.internal.os.Zygotelnit.main(Zygotelnit.java:1013)

复现步骤

出现问题
android.graphics.drawable.BitmapDrawable 对象转换成一个com.miui.home.launcher.folder.FolderIcon4x4NormalBackgroundDrawable 对象,但是这两个类并不兼容。

错误发生在 FolderIcon2x2.kt 文件的第 117 行,在 onWallpaperColorChanged 方法中的某个 lambda 表达式或者匿名内部类 accept 方法中。从堆栈跟踪来看,这个异常似乎是在异步任务(AsyncTask)执行完毕后的回调中触发的。

HyperCeiler 设备信息

Debug Info by HyperCeiler VersionName = 2.4.144_9301f6e6_r3032 VersionCode = 144 BuildTime = (UTC+0:00) 2024-05-05 05:43:35 BuildType = canary GitHash = 9301f6e62ef3cf8971c51f8a22815bfc5178162b GitCode = 3032 Debug = false ApplicationId = com.sevtinge.hyperceiler

MarketName = Redmi Note 12 Turbo DeviceName = marble Model = 23049RAD8C Brand = Redmi Manufacture = Xiaomi Board = taro Soc = SM7475 FingerPrint = Redmi/marble/marble:14/UKQ1.230804.001/V816.0.2.0.UMRCNXM:user/release-keys Locale = zh-CN Language = zhCN#u-fw-mon-mu-celsius AndroidId = *

AndroidVersion = 34 MiuiVersion = 0.0 HyperOsVersion = 1.0 SystemVersion = Builder = builder RomAuthor = BaseOs = Redmi/marble/marble:14/UKQ1.230804.001/V816.0.2.0.UMRCNXM:user/release-keys Host = BuildDate = Mon Apr 22 12:43:56 UTC 2024

Signature = * ModuleActive = true RootPermission = true

Ban404 commented 4 months ago

新版仍复现 VersionName = 2.4.144_c3cbb6bd_r3036 VersionCode = 144 BuildTime = (UTC+0:00) 2024-05-06 04:36:36 BuildType = canary GitHash = c3cbb6bdc43e5d3c65dd177e175ddff9f06b7cc1 GitCode = 3036 Debug = false ApplicationId = com.sevtinge.hyperceiler

HChenX commented 4 months ago

应该是文件夹相关功能