Allow choosing browser apps from WebView even when extension deep links are verified in Android 12+

This commit is contained in:
arkon 2022-01-24 09:26:08 -05:00
parent 89dbb4d300
commit adab8e3ed8

View File

@ -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()) {