AutofillSmsActivity: use runCatching to replace exception handling

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya
2020-09-05 04:42:09 +05:30
parent 90c9ce1b91
commit c3e6006895

View File

@@ -19,6 +19,8 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.github.ajalt.timberkt.e import com.github.ajalt.timberkt.e
import com.github.ajalt.timberkt.w 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.SmsCodeRetriever
import com.google.android.gms.auth.api.phone.SmsRetriever import com.google.android.gms.auth.api.phone.SmsRetriever
import com.google.android.gms.common.ConnectionResult import com.google.android.gms.common.ConnectionResult
@@ -124,18 +126,18 @@ class AutofillSmsActivity : AppCompatActivity() {
private suspend fun waitForSms() { private suspend fun waitForSms() {
val smsClient = SmsCodeRetriever.getAutofillClient(this@AutofillSmsActivity) val smsClient = SmsCodeRetriever.getAutofillClient(this@AutofillSmsActivity)
try { runCatching {
withContext(Dispatchers.IO) { withContext(Dispatchers.IO) {
smsClient.startSmsCodeRetriever().suspendableAwait() smsClient.startSmsCodeRetriever().suspendableAwait()
} }
} catch (e: ResolvableApiException) { }.onFailure { e ->
withContext(Dispatchers.Main) { if (e is ResolvableApiException) {
e.startResolutionForResult(this@AutofillSmsActivity, 1) e.startResolutionForResult(this@AutofillSmsActivity, 1)
} } else {
} catch (e: Exception) { e(e)
e(e) withContext(Dispatchers.Main) {
withContext(Dispatchers.Main) { finish()
finish() }
} }
} }
} }