summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/src/nonFree/java/com/zeapo/pwdstore/autofill/oreo/ui/AutofillSmsActivity.kt18
1 files changed, 10 insertions, 8 deletions
diff --git a/app/src/nonFree/java/com/zeapo/pwdstore/autofill/oreo/ui/AutofillSmsActivity.kt b/app/src/nonFree/java/com/zeapo/pwdstore/autofill/oreo/ui/AutofillSmsActivity.kt
index 4413ea10..25a5ef93 100644
--- a/app/src/nonFree/java/com/zeapo/pwdstore/autofill/oreo/ui/AutofillSmsActivity.kt
+++ b/app/src/nonFree/java/com/zeapo/pwdstore/autofill/oreo/ui/AutofillSmsActivity.kt
@@ -19,6 +19,8 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import com.github.ajalt.timberkt.e
import com.github.ajalt.timberkt.w
+import com.github.michaelbull.result.onFailure
+import com.github.michaelbull.result.runCatching
import com.google.android.gms.auth.api.phone.SmsCodeRetriever
import com.google.android.gms.auth.api.phone.SmsRetriever
import com.google.android.gms.common.ConnectionResult
@@ -124,18 +126,18 @@ class AutofillSmsActivity : AppCompatActivity() {
private suspend fun waitForSms() {
val smsClient = SmsCodeRetriever.getAutofillClient(this@AutofillSmsActivity)
- try {
+ runCatching {
withContext(Dispatchers.IO) {
smsClient.startSmsCodeRetriever().suspendableAwait()
}
- } catch (e: ResolvableApiException) {
- withContext(Dispatchers.Main) {
+ }.onFailure { e ->
+ if (e is ResolvableApiException) {
e.startResolutionForResult(this@AutofillSmsActivity, 1)
- }
- } catch (e: Exception) {
- e(e)
- withContext(Dispatchers.Main) {
- finish()
+ } else {
+ e(e)
+ withContext(Dispatchers.Main) {
+ finish()
+ }
}
}
}