diff options
| author | Harsh Shandilya <me@msfjarvis.dev> | 2022-01-09 17:04:16 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-09 17:04:16 +0530 |
| commit | 1738879fb3ba1b2c2d0ca7933c861bf99ae32535 (patch) | |
| tree | 42b339b07e3c45922310afd01e8ce357f99beeb6 /app/src/main/java/dev/msfjarvis/aps/util/extensions | |
| parent | 799f1393e49955d05f68b81af26d6cfaf9beadfd (diff) | |
| download | HardenedPass-1738879fb3ba1b2c2d0ca7933c861bf99ae32535.tar.gz HardenedPass-1738879fb3ba1b2c2d0ca7933c861bf99ae32535.zip | |
Integrate PGPainless backend into the UI properly (#1647)
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/util/extensions')
| -rw-r--r-- | app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt | 6 | ||||
| -rw-r--r-- | app/src/main/java/dev/msfjarvis/aps/util/extensions/Extensions.kt | 13 |
2 files changed, 19 insertions, 0 deletions
diff --git a/app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt b/app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt index 7671adb4..4e045715 100644 --- a/app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt +++ b/app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt @@ -8,6 +8,7 @@ package dev.msfjarvis.aps.util.extensions import android.app.KeyguardManager import android.content.ClipboardManager import android.content.Context +import android.content.Intent import android.content.SharedPreferences import android.content.pm.PackageManager import android.os.Build @@ -119,6 +120,11 @@ fun FragmentActivity.snackbar( return snackbar } +/** Launch an activity denoted by [clazz]. */ +fun <T : FragmentActivity> FragmentActivity.launchActivity(clazz: Class<T>) { + startActivity(Intent(this, clazz)) +} + /** Simplifies the common `getString(key, null) ?: defaultValue` case slightly */ fun SharedPreferences.getString(key: String): String? = getString(key, null) diff --git a/app/src/main/java/dev/msfjarvis/aps/util/extensions/Extensions.kt b/app/src/main/java/dev/msfjarvis/aps/util/extensions/Extensions.kt index 6c779af6..6e14a29d 100644 --- a/app/src/main/java/dev/msfjarvis/aps/util/extensions/Extensions.kt +++ b/app/src/main/java/dev/msfjarvis/aps/util/extensions/Extensions.kt @@ -4,6 +4,9 @@ */ package dev.msfjarvis.aps.util.extensions +import com.github.michaelbull.result.Err +import com.github.michaelbull.result.Ok +import com.github.michaelbull.result.Result import com.github.michaelbull.result.getOrElse import com.github.michaelbull.result.runCatching import dev.msfjarvis.aps.data.repo.PasswordRepository @@ -82,3 +85,13 @@ fun <T> unsafeLazy(initializer: () -> T) = lazy(LazyThreadSafetyMode.NONE) { ini /** A convenience extension to turn a [Throwable] with a message into a loggable string. */ fun Throwable.asLog(message: String): String = "$message\n${asLog()}" + +/** Extension on [Result] that returns if the type is [Ok] */ +fun <V, E> Result<V, E>.isOk(): Boolean { + return this is Ok<V> +} + +/** Extension on [Result] that returns if the type is [Err] */ +fun <V, E> Result<V, E>.isErr(): Boolean { + return this is Err<E> +} |
