Skip to content

Commit

Permalink
fix exception on wrong error class, fix stuck button
Browse files Browse the repository at this point in the history
  • Loading branch information
or-else committed Aug 26, 2022
1 parent dd86b2c commit b01957a
Showing 1 changed file with 27 additions and 17 deletions.
44 changes: 27 additions & 17 deletions app/src/main/java/co/tinode/tindroid/SignUpFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import java.util.Map;

Expand Down Expand Up @@ -40,6 +42,8 @@
public class SignUpFragment extends Fragment
implements View.OnClickListener, UiUtils.AvatarPreviewer {

private static final String TAG ="SignUpFragment";

private final ActivityResultLauncher<Intent> mAvatarPickerLauncher =
UiUtils.avatarPickerLauncher(this, this);

Expand Down Expand Up @@ -217,24 +221,30 @@ public PromisedReply<ServerMessage> onFailure(Exception err) {
if (!SignUpFragment.this.isVisible()) {
return null;
}
final String cause = ((ServerResponseException) err).getReason();
if (cause != null) {
parent.runOnUiThread(() -> {
signUp.setEnabled(true);
switch (cause) {
case "auth":
// Invalid login
((EditText) parent.findViewById(R.id.newLogin))
.setError(getText(R.string.login_rejected));
break;
case "email":
// Duplicate email:
((EditText) parent.findViewById(R.id.email))
.setError(getText(R.string.email_rejected));
break;
parent.runOnUiThread(() -> {
signUp.setEnabled(true);
if (err instanceof ServerResponseException) {
final String cause = ((ServerResponseException) err).getReason();
if (cause != null) {
switch (cause) {
case "auth":
// Invalid login
((EditText) parent.findViewById(R.id.newLogin))
.setError(getText(R.string.login_rejected));
break;
case "email":
// Duplicate email:
((EditText) parent.findViewById(R.id.email))
.setError(getText(R.string.email_rejected));
break;
}
}
});
}
} else {
Log.w(TAG, "Failed create account", err);
Toast.makeText(parent, parent.getString(R.string.action_failed),
Toast.LENGTH_SHORT).show();
}
});
parent.reportError(err, signUp, 0, R.string.error_new_account_failed);
return null;
}
Expand Down

0 comments on commit b01957a

Please sign in to comment.