ErrorFormatter: create interface
This commit is contained in:
parent
6e4830e325
commit
92e60c939d
|
@ -26,6 +26,8 @@ import dagger.Provides
|
||||||
import im.vector.matrix.android.api.Matrix
|
import im.vector.matrix.android.api.Matrix
|
||||||
import im.vector.matrix.android.api.auth.AuthenticationService
|
import im.vector.matrix.android.api.auth.AuthenticationService
|
||||||
import im.vector.matrix.android.api.session.Session
|
import im.vector.matrix.android.api.session.Session
|
||||||
|
import im.vector.riotx.core.error.DefaultErrorFormatter
|
||||||
|
import im.vector.riotx.core.error.ErrorFormatter
|
||||||
import im.vector.riotx.features.navigation.DefaultNavigator
|
import im.vector.riotx.features.navigation.DefaultNavigator
|
||||||
import im.vector.riotx.features.navigation.Navigator
|
import im.vector.riotx.features.navigation.Navigator
|
||||||
import im.vector.riotx.features.ui.SharedPreferencesUiStateRepository
|
import im.vector.riotx.features.ui.SharedPreferencesUiStateRepository
|
||||||
|
@ -72,6 +74,9 @@ abstract class VectorModule {
|
||||||
@Binds
|
@Binds
|
||||||
abstract fun bindNavigator(navigator: DefaultNavigator): Navigator
|
abstract fun bindNavigator(navigator: DefaultNavigator): Navigator
|
||||||
|
|
||||||
|
@Binds
|
||||||
|
abstract fun bindErrorFormatter(errorFormatter: DefaultErrorFormatter): ErrorFormatter
|
||||||
|
|
||||||
@Binds
|
@Binds
|
||||||
abstract fun bindUiStateRepository(uiStateRepository: SharedPreferencesUiStateRepository): UiStateRepository
|
abstract fun bindUiStateRepository(uiStateRepository: SharedPreferencesUiStateRepository): UiStateRepository
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,14 +25,15 @@ import java.net.SocketTimeoutException
|
||||||
import java.net.UnknownHostException
|
import java.net.UnknownHostException
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class ErrorFormatter @Inject constructor(private val stringProvider: StringProvider) {
|
interface ErrorFormatter {
|
||||||
|
fun toHumanReadable(throwable: Throwable?): String
|
||||||
|
}
|
||||||
|
|
||||||
fun toHumanReadable(failure: Failure): String {
|
class DefaultErrorFormatter @Inject constructor(
|
||||||
// Default
|
private val stringProvider: StringProvider
|
||||||
return failure.localizedMessage
|
) : ErrorFormatter {
|
||||||
}
|
|
||||||
|
|
||||||
fun toHumanReadable(throwable: Throwable?): String {
|
override fun toHumanReadable(throwable: Throwable?): String {
|
||||||
return when (throwable) {
|
return when (throwable) {
|
||||||
null -> null
|
null -> null
|
||||||
is Failure.NetworkConnection -> {
|
is Failure.NetworkConnection -> {
|
||||||
|
@ -57,19 +58,19 @@ class ErrorFormatter @Inject constructor(private val stringProvider: StringProvi
|
||||||
&& throwable.error.message == "Invalid password" -> {
|
&& throwable.error.message == "Invalid password" -> {
|
||||||
stringProvider.getString(R.string.auth_invalid_login_param)
|
stringProvider.getString(R.string.auth_invalid_login_param)
|
||||||
}
|
}
|
||||||
throwable.error.code == MatrixError.M_USER_IN_USE -> {
|
throwable.error.code == MatrixError.M_USER_IN_USE -> {
|
||||||
stringProvider.getString(R.string.login_signup_error_user_in_use)
|
stringProvider.getString(R.string.login_signup_error_user_in_use)
|
||||||
}
|
}
|
||||||
throwable.error.code == MatrixError.M_BAD_JSON -> {
|
throwable.error.code == MatrixError.M_BAD_JSON -> {
|
||||||
stringProvider.getString(R.string.login_error_bad_json)
|
stringProvider.getString(R.string.login_error_bad_json)
|
||||||
}
|
}
|
||||||
throwable.error.code == MatrixError.M_NOT_JSON -> {
|
throwable.error.code == MatrixError.M_NOT_JSON -> {
|
||||||
stringProvider.getString(R.string.login_error_not_json)
|
stringProvider.getString(R.string.login_error_not_json)
|
||||||
}
|
}
|
||||||
throwable.error.code == MatrixError.M_LIMIT_EXCEEDED -> {
|
throwable.error.code == MatrixError.M_LIMIT_EXCEEDED -> {
|
||||||
limitExceededError(throwable.error)
|
limitExceededError(throwable.error)
|
||||||
}
|
}
|
||||||
throwable.error.code == MatrixError.M_THREEPID_NOT_FOUND -> {
|
throwable.error.code == MatrixError.M_THREEPID_NOT_FOUND -> {
|
||||||
stringProvider.getString(R.string.login_reset_password_error_not_found)
|
stringProvider.getString(R.string.login_reset_password_error_not_found)
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
|
|
Loading…
Reference in New Issue