瀏覽代碼

Avoid invalid unset default browser (fixes #6520)

arkon 3 年之前
父節點
當前提交
7de707c60a
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt

+ 4 - 2
app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt

@@ -293,7 +293,7 @@ fun Context.openInBrowser(uri: Uri, @ColorInt toolbarColor: Int? = null) {
             )
             .build()
         // Force default browser so that verified extensions don't re-open Tachiyomi
-        intent.intent.setPackage(defaultBrowserPackageName())
+        defaultBrowserPackageName()?.let { intent.intent.setPackage(it) }
         intent.launchUrl(this, uri)
     } catch (e: Exception) {
         toast(e.message)
@@ -302,7 +302,9 @@ fun Context.openInBrowser(uri: Uri, @ColorInt toolbarColor: Int? = null) {
 
 fun Context.defaultBrowserPackageName(): String? {
     val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse("http://"))
-    return packageManager.resolveActivity(browserIntent, PackageManager.MATCH_DEFAULT_ONLY)?.activityInfo?.packageName
+    return packageManager.resolveActivity(browserIntent, PackageManager.MATCH_DEFAULT_ONLY)
+        ?.activityInfo?.packageName
+        ?.takeIf { it != "android" }
 }
 
 fun Context.createFileInCacheDir(name: String): File {