AutofillScenario: use runCatching to replace exception handling

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-09-05 20:32:33 +05:30
parent 82c83a5bed
commit c62e1303b1
No known key found for this signature in database
GPG Key ID: 366D7BBAD1031E80

View File

@ -12,6 +12,8 @@ import android.view.autofill.AutofillId
import android.view.autofill.AutofillValue
import androidx.annotation.RequiresApi
import com.github.ajalt.timberkt.e
import com.github.michaelbull.result.getOrElse
import com.github.michaelbull.result.runCatching
enum class AutofillAction {
Match, Search, Generate, FillOtpFromSms
@ -36,7 +38,7 @@ sealed class AutofillScenario<out T : Any> {
const val BUNDLE_KEY_GENERIC_PASSWORD_IDS = "genericPasswordIds"
fun fromBundle(clientState: Bundle): AutofillScenario<AutofillId>? {
return try {
return runCatching {
Builder<AutofillId>().apply {
username = clientState.getParcelable(BUNDLE_KEY_USERNAME_ID)
fillUsername = clientState.getBoolean(BUNDLE_KEY_FILL_USERNAME)
@ -57,8 +59,8 @@ sealed class AutofillScenario<out T : Any> {
) ?: emptyList()
)
}.build()
} catch (exception: IllegalArgumentException) {
e(exception)
}.getOrElse { e ->
e(e)
null
}
}