Added a forgot password link to the sign in screen

pull/14/head
Sam Bosley 12 years ago
parent aad8ebbc98
commit f6be6998cc

@ -27,11 +27,14 @@ import android.text.InputType;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.method.PasswordTransformationMethod;
import android.text.style.ClickableSpan;
import android.text.style.UnderlineSpan;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
@ -338,6 +341,23 @@ public class ActFmLoginActivity extends FragmentActivity implements AuthListener
InputType.TYPE_TEXT_VARIATION_PASSWORD);
password.setTransformationMethod(new PasswordTransformationMethod());
TextView forgotPassword = new TextView(ActFmLoginActivity.this);
SpannableString text = new SpannableString(getString(R.string.actfm_ALA_forgot_password));
text.setSpan(new UnderlineSpan(), 0, text.length(), 0);
forgotPassword.setText(text);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
DisplayMetrics metrics = getResources().getDisplayMetrics();
lp.setMargins(0, (int) (8 * metrics.density), 0, (int) (8 * metrics.density));
forgotPassword.setLayoutParams(lp);
forgotPassword.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
forgotPassword(email.getText().toString());
}
});
body.addView(forgotPassword);
ScrollView bodyScroll = new ScrollView(ActFmLoginActivity.this);
bodyScroll.addView(body);
@ -362,6 +382,27 @@ public class ActFmLoginActivity extends FragmentActivity implements AuthListener
}
};
private void forgotPassword(final String email) {
if (TextUtils.isEmpty(email)) {
DialogUtilities.okDialog(this, getString(R.string.actfm_ALA_enter_email), null);
} else {
final ProgressDialog pd = DialogUtilities.progressDialog(this, getString(R.string.DLG_please_wait));
new Thread(new Runnable() {
@Override
public void run() {
try {
actFmInvoker.invoke("user_reset_password", "email", email); //$NON-NLS-1$ //$NON-NLS-2$
DialogUtilities.okDialog(ActFmLoginActivity.this, getString(R.string.actfm_ALA_reset_sent, email), null);
} catch (IOException e) {
handleError(e);
} finally {
DialogUtilities.dismissDialog(ActFmLoginActivity.this, pd);
}
}
}).start();
}
}
private String generateRandomPassword() {
String acceptable = "abcdefghijklmnopqrstuvwxyz1234567890"; //$NON-NLS-1$
char[] chars = new char[8];
@ -565,6 +606,8 @@ public class ActFmLoginActivity extends FragmentActivity implements AuthListener
message = getString(R.string.actfm_ALA_error_user_exists);
else if ("incorrect_password".equals(code))
message = getString(R.string.actfm_ALA_error_wrong_password);
else if ("user_not_found".equals(code))
message = getString(R.string.actfm_ALA_error_user_not_found);
}
}
errors.setText(message);

@ -276,6 +276,18 @@
<!-- Login error: wrong password -->
<string name="actfm_ALA_error_wrong_password">Sorry, that password was incorrect. Please try again.</string>
<!-- Forgot password link -->
<string name="actfm_ALA_forgot_password">Forgot password?</string>
<!-- Forgot password email prompt -->
<string name="actfm_ALA_enter_email">Please enter your email</string>
<!-- Password reset sent (%s -> email) -->
<string name="actfm_ALA_reset_sent">Password reset sent to %s</string>
<!-- User not found -->
<string name="actfm_ALA_error_user_not_found">User not found by that email. Try signing up instead!</string>
<!-- ================================================ Featured Lists -->
<string name="actfm_feat_list_clone">Copy list</string>

Loading…
Cancel
Save