improved login error handling

This commit is contained in:
nuclearfog 2022-02-23 20:12:03 +01:00
parent 3cca0cdaa6
commit b4e504e4fb
No known key found for this signature in database
GPG Key ID: AA0271FBE406DB98
3 changed files with 16 additions and 13 deletions

View File

@ -1,7 +1,6 @@
package org.nuclearfog.twidda.activities;
import static android.content.Intent.ACTION_VIEW;
import static android.os.AsyncTask.Status.FINISHED;
import static android.os.AsyncTask.Status.RUNNING;
import static android.widget.Toast.LENGTH_LONG;
import static android.widget.Toast.LENGTH_SHORT;
@ -143,7 +142,7 @@ public class LoginActivity extends AppCompatActivity implements OnClickListener
@Override
public void onClick(View v) {
// get login request link
// get login request token
if (v.getId() == R.id.login_get_link) {
if (requestToken == null) {
if (registerAsync == null || registerAsync.getStatus() != RUNNING) {
@ -156,21 +155,25 @@ public class LoginActivity extends AppCompatActivity implements OnClickListener
connect();
}
}
// verify user
// verify login credentials
else if (v.getId() == R.id.login_verifier) {
// check if user clicked on PIN button
if (registerAsync == null || registerAsync.getStatus() != FINISHED) {
if (requestToken == null) {
Toast.makeText(this, R.string.info_get_link, LENGTH_LONG).show();
}
// check if PIN exists
else if (pinInput.getText() != null && pinInput.length() > 0) {
Toast.makeText(this, R.string.info_login_to_twitter, LENGTH_LONG).show();
String twitterPin = pinInput.getText().toString();
registerAsync = new Registration(this);
registerAsync.execute(requestToken, twitterPin);
} else {
else if (pinInput.length() == 0) {
Toast.makeText(this, R.string.error_enter_pin, LENGTH_LONG).show();
}
//
else if (registerAsync == null || registerAsync.getStatus() != RUNNING) {
if (pinInput.getText() != null && pinInput.length() > 0) {
Toast.makeText(this, R.string.info_login_to_twitter, LENGTH_LONG).show();
String twitterPin = pinInput.getText().toString();
registerAsync = new Registration(this);
registerAsync.execute(requestToken, twitterPin);
}
}
}
}
@ -208,7 +211,7 @@ public class LoginActivity extends AppCompatActivity implements OnClickListener
try {
startActivity(loginIntent);
} catch (ActivityNotFoundException err) {
Toast.makeText(this, R.string.error_connection_failed, LENGTH_SHORT).show();
Toast.makeText(this, R.string.error_open_link, LENGTH_SHORT).show();
}
}
}

View File

@ -130,7 +130,7 @@
<string name="error_open_link">Link konnte nicht geöffnet werden!</string>
<string name="tweet_sensitive_media">Sensible Inhalte</string>
<string name="login_info">3 Schritte zum Login</string>
<string name="info_fetching_link">öffne Twitter login Seite</string>
<string name="info_fetching_link">öffne Twitter login Seite. Bitte warten</string>
<string name="info_login_to_twitter">In Twitter einloggen</string>
<string name="userlist_public_sel">öffentlich</string>
<string name="userlist_enter_title">Titel eingeben</string>

View File

@ -17,7 +17,7 @@
<string name="info_user_removed">\@%1$s removed from list</string>
<string name="info_list_updated">Userlist updated</string>
<string name="info_list_created">Userlist created</string>
<string name="info_fetching_link">redirecting to Twitter login</string>
<string name="info_fetching_link">redirecting to Twitter login website. Please wait</string>
<string name="info_login_to_twitter">login to Twitter</string>
<string name="error_wrong_connection_settings">wrong connection settings! Discarc changes?</string>
<string name="info_get_link">please open twitter login page first to get the PIN</string>