Fix app crash on startup on some Android TV
Why do you guys even exist # Conflicts: # CHANGELOG.md
This commit is contained in:
@@ -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
|
||||||
|
},
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user