diff options
author | Allan Wang <me@allanwang.ca> | 2017-08-07 14:56:48 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-07 14:56:48 -0700 |
commit | ab7ec131b62ac1567e983c846c921bd3ada11dd4 (patch) | |
tree | 1e9e7db2151ba531f438a2ac9c4fc960c913dc46 /app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt | |
parent | 7746e63373c905faa6d7e45e45fffc48d3ffff85 (diff) | |
download | frost-ab7ec131b62ac1567e983c846c921bd3ada11dd4.tar.gz frost-ab7ec131b62ac1567e983c846c921bd3ada11dd4.tar.bz2 frost-ab7ec131b62ac1567e983c846c921bd3ada11dd4.zip |
Fix/2FA (#115)
* Create basis for downloading videos
* Resolve some download errors and allow video to be opened in external apps
* Remove url checks for loging
* Update readme with build links
* Allow for all apks to build
* Fix travis apk uploads
* Fix null mapping
* Fix some notation
* Add commit message to test builds
* Remove faulty commit from test release
* Add intent overriding to login web client
* Add resource logging
* Add intent verification without url check
* Simplify login activity
* Check start activity for result
* Add check before resolving intent
* Fix wrong index
* Temporary fix for 2FA login with U2F (#116)
* Clean up and add comments
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 | 26 |
1 files changed, 25 insertions, 1 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 cc3ea52e..496a6b5b 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/Utils.kt @@ -2,8 +2,10 @@ package com.pitchedapps.frost.utils import android.app.Activity import android.content.Context +import android.content.Intent import android.graphics.Color import android.graphics.drawable.ColorDrawable +import android.net.Uri import android.support.annotation.StringRes import android.support.design.internal.SnackbarContentLayout import android.support.design.widget.Snackbar @@ -22,8 +24,11 @@ import com.pitchedapps.frost.BuildConfig import com.pitchedapps.frost.R import com.pitchedapps.frost.activities.* import com.pitchedapps.frost.dbflow.CookieModel +import com.pitchedapps.frost.facebook.FACEBOOK_COM import com.pitchedapps.frost.facebook.FbTab import com.pitchedapps.frost.facebook.formattedFbUrl +import java.io.IOException +import java.util.* /** * Created by Allan Wang on 2017-06-03. @@ -145,4 +150,23 @@ fun Activity.frostNavigationBar() { navigationBarColor = if (Prefs.tintNavBar) Prefs.headerColor else Color.BLACK } -fun <T> RequestBuilder<T>.withRoundIcon() = apply(RequestOptions().transform(CircleCrop()))!!
\ No newline at end of file +fun <T> RequestBuilder<T>.withRoundIcon() = apply(RequestOptions().transform(CircleCrop()))!! + +@Throws(IOException::class) +fun createMediaFile(extension: String) = createMediaFile("Frost", extension) + +@Throws(IOException::class) +fun Context.createPrivateMediaFile(extension: String) = createPrivateMediaFile("Frost", extension) + +/** + * Tries to send the uri to the proper activity via an intent + * @returns {@code true} if activity is resolved, {@code false} otherwise + */ +fun Context.resolveActivityForUri(uri: Uri): Boolean { + if (uri.toString().contains(FACEBOOK_COM) && !uri.toString().contains("intent:")) return false //ignore response as we will be triggering ourself + val intent = Intent(Intent.ACTION_VIEW, uri) + if (intent.resolveActivity(packageManager) == null) return false + startActivity(intent) + return true +} + |