aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/dev/msfjarvis/aps/util
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/util')
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt6
-rw-r--r--app/src/main/java/dev/msfjarvis/aps/util/extensions/Extensions.kt13
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>
+}