Существует проблема приведения, которая является FirebaseAuthException.В некоторых случаях исключение задачи не может быть преобразовано в FirebaseAuthException.Как я могу справиться с этой ситуацией?Я хочу попробовать этот процесс кастинга.Если это будет успешно, я покажу ошибку с деталями для пользователя.В противном случае, если это не будет успешным, я хочу показать только ошибку.
if(task.getException() != null){
try {
String errorCode = ((FirebaseAuthException) task.getException()).getErrorCode();
switch(errorCode) {
case "ERROR_EMAIL_ALREADY_IN_USE":
Toast.makeText(LoginActivity.this, LoginActivity.this.getResources().getString(R.string.ERROR_EMAIL_ALREADY_IN_USE),
Toast.LENGTH_SHORT).show();
stopIndicator();
break;
case "ERROR_INVALID_EMAIL":
Toast.makeText(LoginActivity.this, LoginActivity.this.getResources().getString(R.string.ERROR_INVALID_EMAIL),
Toast.LENGTH_SHORT).show();
stopIndicator();
break;
case "ERROR_WEAK_PASSWORD":
Toast.makeText(LoginActivity.this, LoginActivity.this.getResources().getString(R.string.ERROR_WEAK_PASSWORD),
Toast.LENGTH_SHORT).show();
stopIndicator();
break;
case "ERROR_CREDENTIAL_ALREADY_IN_USE":
Toast.makeText(LoginActivity.this, "CREDENTIAL ALREADY IN USE",
Toast.LENGTH_SHORT).show();
stopIndicator();
break;
default:
Toast.makeText(LoginActivity.this, LoginActivity.this.getResources().getString(R.string.Error),
Toast.LENGTH_SHORT).show();
stopIndicator();
}
}
catch (WindowManager.BadTokenException e) {
Toast.makeText(LoginActivity.this, LoginActivity.this.getResources().getString(R.string.Error),
Toast.LENGTH_SHORT).show();
stopIndicator();
}
}else{
Toast.makeText(LoginActivity.this, LoginActivity.this.getResources().getString(R.string.Error),
Toast.LENGTH_SHORT).show();
stopIndicator();
}