Skip to content

Commit

Permalink
修复部分系统Toast.makeText中text参数强制为NonNull导致的空指针异常
Browse files Browse the repository at this point in the history
  • Loading branch information
teble committed May 10, 2024
1 parent f4f15da commit 8ba146b
Showing 1 changed file with 12 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package me.teble.xposed.autodaily.hook.utils

import android.content.Context
import android.os.Build
import android.os.Handler
import android.os.Looper
import android.widget.Toast
import me.teble.xposed.autodaily.config.NAME
import me.teble.xposed.autodaily.hook.base.hostContext
import java.util.Locale

object ToastUtil {

Expand All @@ -18,7 +20,16 @@ object ToastUtil {
}

private fun toast(context: Context, msg: String, longDuration: Boolean) {
val toast = Toast.makeText(context, null, parse(longDuration))
val toast: Toast
if (Build.BRAND.lowercase(Locale.getDefault()) == "xiaomi") {
// 小米系统需要使用该方式避免 Toast 弹窗附带宿主应用名前缀
toast = Toast.makeText(context, null, parse(longDuration))
} else {
// 部分系统会因为魔改 makeText 中的 text 参数为 @NonNull 从而导致空指针异常
toast = Toast(context).apply {
duration = parse(longDuration)
}
}
toast.setText("$NAME: $msg")
toast.show()
}
Expand Down

0 comments on commit 8ba146b

Please sign in to comment.