From 1738879fb3ba1b2c2d0ca7933c861bf99ae32535 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 9 Jan 2022 17:04:16 +0530 Subject: Integrate PGPainless backend into the UI properly (#1647) --- .../dev/msfjarvis/aps/util/extensions/AndroidExtensions.kt | 6 ++++++ .../java/dev/msfjarvis/aps/util/extensions/Extensions.kt | 13 +++++++++++++ 2 files changed, 19 insertions(+) (limited to 'app/src/main/java/dev/msfjarvis/aps/util/extensions') 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 FragmentActivity.launchActivity(clazz: Class) { + 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 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 Result.isOk(): Boolean { + return this is Ok +} + +/** Extension on [Result] that returns if the type is [Err] */ +fun Result.isErr(): Boolean { + return this is Err +} -- cgit v1.2.3