diff options
author | Allan Wang <me@allanwang.ca> | 2021-09-28 23:07:57 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-28 23:07:57 -0700 |
commit | 0ef4cbde805db6812b922d967966367ae7c98e60 (patch) | |
tree | 4335658a8313fd5fbb7716c8e5fcf447a11fb4ab /app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt | |
parent | eb9fc5c6a558cdcbe3fe1e1911b22e0855645a38 (diff) | |
parent | 749ebe31d0d23d7097a7c989a8324714aa28d996 (diff) | |
download | frost-0ef4cbde805db6812b922d967966367ae7c98e60.tar.gz frost-0ef4cbde805db6812b922d967966367ae7c98e60.tar.bz2 frost-0ef4cbde805db6812b922d967966367ae7c98e60.zip |
Merge pull request #1818 from AllanWang/resolve-activity
Remove resolveActivity
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt index 4ba87209..896dd6aa 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt @@ -19,6 +19,7 @@ package com.pitchedapps.frost.utils import android.annotation.SuppressLint import android.app.Activity import android.app.ActivityOptions +import android.content.ActivityNotFoundException import android.content.Context import android.content.Intent import android.graphics.Color @@ -135,7 +136,7 @@ private inline fun <reified T : WebOverlayActivityBase> Context.launchWebOverlay ctxCoroutine.launch { fbCookie.logout(this@launchWebOverlayImpl, deleteCookie = false) } - } else if (!(prefs.linksInDefaultApp && resolveActivityForUri(Uri.parse(argUrl)))) { + } else if (!(prefs.linksInDefaultApp && startActivityForUri(Uri.parse(argUrl)))) { startActivity<T>( false, intentBuilder = { @@ -308,7 +309,7 @@ fun Context.createPrivateMediaFile(extension: String) = createPrivateMediaFile(" * returns [true] if activity is resolved, [false] otherwise * For safety, any uri that [isFacebookUrl] without [isExplicitIntent] will return [false] */ -fun Context.resolveActivityForUri(uri: Uri): Boolean { +fun Context.startActivityForUri(uri: Uri): Boolean { val url = uri.toString() if (url.isFacebookUrl && !url.isExplicitIntent) { return false @@ -317,11 +318,12 @@ fun Context.resolveActivityForUri(uri: Uri): Boolean { Intent.ACTION_VIEW, uri.formattedFbUri ) - if (intent.resolveActivity(packageManager) == null) { - return false + return try { + startActivity(intent) + true + } catch (e: ActivityNotFoundException) { + false } - startActivity(intent) - return true } /** |