diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/src/nonFree/java/com/zeapo/pwdstore/autofill/oreo/ui/AutofillSmsActivity.kt | 18 |
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() + } } } } |