Report more sign in errors

pull/1281/head
Alex Baker 5 years ago
parent 08eeb26a67
commit aa569ca80b

@ -22,7 +22,6 @@ import android.widget.BaseAdapter
import android.widget.ImageView import android.widget.ImageView
import android.widget.TextView import android.widget.TextView
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.annotation.AnyThread
import androidx.annotation.MainThread import androidx.annotation.MainThread
import androidx.annotation.WorkerThread import androidx.annotation.WorkerThread
import androidx.browser.customtabs.CustomTabsIntent import androidx.browser.customtabs.CustomTabsIntent
@ -153,7 +152,7 @@ class SignInActivity : InjectingAppCompatActivity(), PurchaseDialog.PurchaseHand
authStateManager.signOut() authStateManager.signOut()
} }
if (!configuration.isValid) { if (!configuration.isValid) {
returnError(configuration.configurationError) returnError(Exception(configuration.configurationError))
return return
} }
if (configuration.hasConfigurationChanged()) { if (configuration.hasConfigurationChanged()) {
@ -170,8 +169,7 @@ class SignInActivity : InjectingAppCompatActivity(), PurchaseDialog.PurchaseHand
newPurchaseDialog(tasksPayment = true, github = authService.isGitHub) newPurchaseDialog(tasksPayment = true, github = authService.isGitHub)
.show(supportFragmentManager, FRAG_TAG_PURCHASE_DIALOG) .show(supportFragmentManager, FRAG_TAG_PURCHASE_DIALOG)
} else { } else {
firebase.reportException(e) returnError(e)
returnError(e.message)
} }
} }
@ -188,7 +186,7 @@ class SignInActivity : InjectingAppCompatActivity(), PurchaseDialog.PurchaseHand
val account = try { val account = try {
viewModel.handleResult(authService, data!!) viewModel.handleResult(authService, data!!)
} catch (e: Exception) { } catch (e: Exception) {
returnError(e.message) returnError(e)
} }
if (account != null) { if (account != null) {
setResult(RESULT_OK) setResult(RESULT_OK)
@ -196,7 +194,7 @@ class SignInActivity : InjectingAppCompatActivity(), PurchaseDialog.PurchaseHand
} }
} }
} else { } else {
returnError(getString(R.string.authorization_cancelled)) returnError(Exception(getString(R.string.authorization_cancelled)), report = false)
} }
} else { } else {
super.onActivityResult(requestCode, resultCode, data) super.onActivityResult(requestCode, resultCode, data)
@ -250,8 +248,7 @@ class SignInActivity : InjectingAppCompatActivity(), PurchaseDialog.PurchaseHand
config: AuthorizationServiceConfiguration?, config: AuthorizationServiceConfiguration?,
ex: AuthorizationException?) { ex: AuthorizationException?) {
if (config == null) { if (config == null) {
Timber.i(ex, "Failed to retrieve discovery document") returnError(ex ?: Exception("Failed to retrieve discovery document"))
returnError("Failed to retrieve discovery document: " + ex!!.message)
return return
} }
Timber.i("Discovery document retrieved") Timber.i("Discovery document retrieved")
@ -298,8 +295,7 @@ class SignInActivity : InjectingAppCompatActivity(), PurchaseDialog.PurchaseHand
ex: AuthorizationException?) { ex: AuthorizationException?) {
authStateManager.updateAfterRegistration(response, ex) authStateManager.updateAfterRegistration(response, ex)
if (response == null) { if (response == null) {
Timber.i(ex, "Failed to dynamically register client") runOnUiThread { returnError(ex ?: Exception("Failed to dynamically register client")) }
displayErrorLater("Failed to register client: " + ex!!.message)
return return
} }
Timber.i("Dynamically registered client: %s", response.clientId) Timber.i("Dynamically registered client: %s", response.clientId)
@ -326,18 +322,14 @@ class SignInActivity : InjectingAppCompatActivity(), PurchaseDialog.PurchaseHand
} }
@MainThread @MainThread
private fun returnError(error: String?) { private fun returnError(e: Throwable, report: Boolean = true) {
Timber.e(error) if (report) {
setResult(RESULT_CANCELED, Intent().putExtra(EXTRA_ERROR, error)) firebase.reportException(e)
}
setResult(RESULT_CANCELED, Intent().putExtra(EXTRA_ERROR, e.message))
finish() finish()
} }
// WrongThread inference is incorrect in this case
@AnyThread
private fun displayErrorLater(error: String) {
runOnUiThread { returnError(error) }
}
@MainThread @MainThread
private fun initializeAuthRequest() { private fun initializeAuthRequest() {
createAuthRequest() createAuthRequest()

Loading…
Cancel
Save