Fix app crash on startup on some Android TV

Why do you guys even exist

# Conflicts:
#	CHANGELOG.md
This commit is contained in:
AntsyLich
2026-03-23 21:12:30 +06:00
committed by Jobobby04
parent d9ca2b69e8
commit bd7201cfb9
@@ -14,6 +14,7 @@ import kotlin.coroutines.resume
object WebViewUtil { object WebViewUtil {
private const val CHROME_PACKAGE = "com.android.chrome" private const val CHROME_PACKAGE = "com.android.chrome"
private const val YOUTUBE_FOR_TV_PACKAGE = "com.google.android.youtube.tv"
private const val SYSTEM_SETTINGS_PACKAGE = "com.android.settings" private const val SYSTEM_SETTINGS_PACKAGE = "com.android.settings"
const val MINIMUM_WEBVIEW_VERSION = 118 const val MINIMUM_WEBVIEW_VERSION = 118
@@ -61,13 +62,16 @@ object WebViewUtil {
} }
fun spoofedPackageName(context: Context): String { fun spoofedPackageName(context: Context): String {
return try { return runCatching { context.packageManager.getPackageInfo(CHROME_PACKAGE, 0) }
context.packageManager.getPackageInfo(CHROME_PACKAGE, PackageManager.GET_META_DATA) .recoverCatching { context.packageManager.getPackageInfo(SYSTEM_SETTINGS_PACKAGE, 0) }
.recoverCatching { context.packageManager.getPackageInfo(YOUTUBE_FOR_TV_PACKAGE, 0) }
CHROME_PACKAGE .fold(
} catch (_: PackageManager.NameNotFoundException) { onSuccess = { it.packageName },
SYSTEM_SETTINGS_PACKAGE onFailure = {
} context.packageManager.getInstalledPackages(0)
.random().packageName
},
)
} }
} }