Allow choosing browser apps from WebView even when extension deep links are verified in Android 12+
This commit is contained in:
parent
89dbb4d300
commit
adab8e3ed8
1 changed files with 10 additions and 0 deletions
|
@ -292,12 +292,22 @@ fun Context.openInBrowser(uri: Uri, @ColorInt toolbarColor: Int? = null) {
|
||||||
.build()
|
.build()
|
||||||
)
|
)
|
||||||
.build()
|
.build()
|
||||||
|
// Force allowing browser selection for Android 12+ so that verified extensions don't
|
||||||
|
// re-open Tachiyomi
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||||
|
intent.intent.setPackage(defaultBrowserPackageName())
|
||||||
|
}
|
||||||
intent.launchUrl(this, uri)
|
intent.launchUrl(this, uri)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
toast(e.message)
|
toast(e.message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Context.defaultBrowserPackageName(): String? {
|
||||||
|
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse("http://"))
|
||||||
|
return packageManager.resolveActivity(browserIntent, PackageManager.MATCH_DEFAULT_ONLY)?.activityInfo?.packageName
|
||||||
|
}
|
||||||
|
|
||||||
fun Context.createFileInCacheDir(name: String): File {
|
fun Context.createFileInCacheDir(name: String): File {
|
||||||
val file = File(externalCacheDir, name)
|
val file = File(externalCacheDir, name)
|
||||||
if (file.exists()) {
|
if (file.exists()) {
|
||||||
|
|
Reference in a new issue