Minor copy and layout updates for the astrid login activity

pull/14/head
Sam Bosley 13 years ago
parent 79acc329b7
commit 587c5574b6

@ -9,8 +9,6 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Random;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import org.json.JSONException;
import org.json.JSONObject;
@ -31,6 +29,7 @@ import android.text.Spanned;
import android.text.TextPaint;
import android.text.method.PasswordTransformationMethod;
import android.text.style.ClickableSpan;
import android.text.style.UnderlineSpan;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
@ -187,7 +186,7 @@ public class ActFmLoginActivity extends FragmentActivity implements AuthListener
String tosBase = getString(R.string.welcome_login_tos_base);
String tosLink = getString(R.string.welcome_login_tos_link);
SpannableString link = getLinkStringWithCustomInterval(tosBase, tosLink, tosBase.length() + 2, -1,
SpannableString link = getLinkStringWithCustomInterval(tosBase, tosLink, tosBase.length() + 1, 0,
showTosListener);
tos.setText(link);
}
@ -212,6 +211,13 @@ public class ActFmLoginActivity extends FragmentActivity implements AuthListener
return link;
}
private void setupSignIn(TextView signIn) {
signIn.setOnClickListener(signInListener);
SpannableString content = new SpannableString(getString(R.string.welcome_sign_in));
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
signIn.setText(content);
}
@SuppressWarnings("nls")
protected void initializeUI() {
facebook = new Facebook(APP_ID);
@ -229,8 +235,12 @@ public class ActFmLoginActivity extends FragmentActivity implements AuthListener
if(AmazonMarketStrategy.isKindleFire())
googleLogin.setVisibility(View.GONE);
googleLogin.setOnClickListener(googleListener);
Button pwLogin = (Button) findViewById(R.id.pw_login);
pwLogin.setOnClickListener(signUpListener);
Button signUp = (Button) findViewById(R.id.pw_signup);
signUp.setOnClickListener(signUpListener);
TextView signIn = (TextView) findViewById(R.id.pw_login);
setupSignIn(signIn);
setupTermsOfService((TextView) findViewById(R.id.tos));
}
@ -248,7 +258,7 @@ public class ActFmLoginActivity extends FragmentActivity implements AuthListener
protected final OnClickListener signUpListener = new OnClickListener() {
@Override
public void onClick(View arg0) {
public void onClick(View v) {
final LinearLayout body = new LinearLayout(ActFmLoginActivity.this);
body.setOrientation(LinearLayout.VERTICAL);
body.setPadding(10, 0, 10, 0);
@ -265,35 +275,49 @@ public class ActFmLoginActivity extends FragmentActivity implements AuthListener
InputType.TYPE_TEXT_VARIATION_PERSON_NAME |
InputType.TYPE_TEXT_FLAG_CAP_WORDS);
final AtomicReference<AlertDialog> dialog = new AtomicReference<AlertDialog>();
final AtomicBoolean isNew = new AtomicBoolean(true);
final Button toggleNew = new Button(ActFmLoginActivity.this);
toggleNew.setOnClickListener(new OnClickListener() {
final EditText email = addEditField(body,
R.string.actfm_ALA_email_label);
email.setInputType(InputType.TYPE_CLASS_TEXT |
InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
getCredentials(new OnGetCredentials() {
@Override
public void onClick(View v) {
isNew.set(!isNew.get());
int nameIndex = body.indexOfChild(lastNameField);
int visibility = isNew.get() ? View.VISIBLE : View.GONE;
int passwordVisibility = isNew.get() ? View.GONE : View.VISIBLE;
toggleNew.setText(isNew.get() ? R.string.actfm_ALA_pw_returning
: R.string.actfm_ALA_pw_new);
dialog.get().setTitle(
isNew.get() ? R.string.actfm_ALA_signup_title
: R.string.actfm_ALA_login_title);
body.getChildAt(nameIndex - 3).setVisibility(visibility);
body.getChildAt(nameIndex - 2).setVisibility(visibility);
body.getChildAt(nameIndex - 1).setVisibility(visibility);
body.getChildAt(nameIndex).setVisibility(visibility);
EditText password = (EditText) body.getChildAt(nameIndex + 4);
String passwordText = isNew.get() ? generateRandomPassword() : ""; //$NON-NLS-1$
password.setText(passwordText);
body.getChildAt(nameIndex + 3).setVisibility(passwordVisibility);
body.getChildAt(nameIndex + 4).setVisibility(passwordVisibility);
public void getCredentials(String[] accounts) {
if (accounts != null && accounts.length > 0)
email.setText(accounts[0]);
}
});
toggleNew.setText(R.string.actfm_ALA_pw_returning);
body.addView(toggleNew, 0);
ScrollView bodyScroll = new ScrollView(ActFmLoginActivity.this);
bodyScroll.addView(body);
new AlertDialog.Builder(ActFmLoginActivity.this).setView(
bodyScroll).setIcon(R.drawable.icon_32).setTitle(
R.string.actfm_ALA_signup_title).setPositiveButton(
android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dlg, int which) {
String firstName = firstNameField.getText().toString();
String lastName =lastNameField.getText().toString();
AndroidUtilities.hideSoftInputForViews(ActFmLoginActivity.this, firstNameField, lastNameField, email);
authenticate(email.getText().toString(),
firstName, lastName, ActFmInvoker.PROVIDER_PASSWORD, generateRandomPassword());
StatisticsService.reportEvent(StatisticsConstants.ACTFM_SIGNUP_PW);
}
}).setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dlg, int which) {
AndroidUtilities.hideSoftInputForViews(ActFmLoginActivity.this, firstNameField, lastNameField, email);
}
}).show();
}
};
protected final OnClickListener signInListener = new OnClickListener() {
public void onClick(View v) {
final LinearLayout body = new LinearLayout(ActFmLoginActivity.this);
body.setOrientation(LinearLayout.VERTICAL);
body.setPadding(10, 0, 10, 0);
final EditText email = addEditField(body,
R.string.actfm_ALA_email_label);
@ -313,42 +337,27 @@ public class ActFmLoginActivity extends FragmentActivity implements AuthListener
InputType.TYPE_TEXT_VARIATION_PASSWORD);
password.setTransformationMethod(new PasswordTransformationMethod());
password.setText(generateRandomPassword());
body.getChildAt(body.indexOfChild(password) - 1).setVisibility(View.GONE);
password.setVisibility(View.GONE);
ScrollView bodyScroll = new ScrollView(ActFmLoginActivity.this);
bodyScroll.addView(body);
dialog.set(new AlertDialog.Builder(ActFmLoginActivity.this).setView(
new AlertDialog.Builder(ActFmLoginActivity.this).setView(
bodyScroll).setIcon(R.drawable.icon_32).setTitle(
R.string.actfm_ALA_signup_title).setPositiveButton(
R.string.actfm_ALA_login_title).setPositiveButton(
android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dlg, int which) {
String firstName = isNew.get() ? firstNameField.getText().toString()
: null;
String lastName = isNew.get() ? lastNameField.getText().toString()
: null;
AndroidUtilities.hideSoftInputForViews(ActFmLoginActivity.this, firstNameField, lastNameField, email, password);
AndroidUtilities.hideSoftInputForViews(ActFmLoginActivity.this, email, password);
authenticate(email.getText().toString(),
firstName, lastName, ActFmInvoker.PROVIDER_PASSWORD,
"", "", ActFmInvoker.PROVIDER_PASSWORD, //$NON-NLS-1$//$NON-NLS-2$
password.getText().toString());
if (isNew.get())
StatisticsService.reportEvent(StatisticsConstants.ACTFM_LOGIN_PW);
else
StatisticsService.reportEvent(StatisticsConstants.ACTFM_SIGNUP_PW);
StatisticsService.reportEvent(StatisticsConstants.ACTFM_LOGIN_PW);
}
}).setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dlg, int which) {
AndroidUtilities.hideSoftInputForViews(ActFmLoginActivity.this, firstNameField, lastNameField, email, password);
AndroidUtilities.hideSoftInputForViews(ActFmLoginActivity.this, email, password);
}
}).show());
dialog.get().setOwnerActivity(ActFmLoginActivity.this);
}).show();
}
};

@ -92,7 +92,7 @@
android:layout_gravity="center_horizontal" />
<Button
android:id="@+id/pw_login"
android:id="@+id/pw_signup"
android:layout_width="match_parent"
android:layout_height="45dp"
android:paddingLeft="17dip"
@ -103,6 +103,17 @@
android:textSize="12sp"
android:text="@string/welcome_login_pw"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/pw_login"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:gravity="center"
android:layout_gravity="center_horizontal"
android:layout_above="@id/tos"
android:textColor="#444"
android:textSize="16sp"
android:text="@string/welcome_sign_in"/>
<TextView
android:id="@+id/tos"

@ -48,25 +48,46 @@
android:layout_height="fill_parent"
android:paddingTop="5dip">
<TextView
android:id="@+id/tos"
android:layout_width="fill_parent"
android:layout_height="35dip"
android:layout_alignParentBottom="true"
android:gravity="center"
android:paddingLeft="20dip"
android:paddingRight="20dip"
android:textSize="12.5sp"
android:textColor="#ffffff" />
<TextView
android:id="@+id/pw_login"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:gravity="center"
android:layout_centerHorizontal="true"
android:layout_above="@id/tos"
android:textColor="#444"
android:textSize="16sp"
android:text="@string/welcome_sign_in"/>
<Button
android:id="@+id/pw_login"
android:id="@+id/pw_signup"
android:layout_width="fill_parent"
android:layout_height="45dip"
android:layout_alignParentBottom="true"
android:layout_above="@id/pw_login"
android:paddingLeft="17dip"
android:paddingRight="20dip"
android:layout_marginLeft="15dip"
android:layout_marginRight="15dip"
android:layout_marginBottom="20dip"
android:drawableLeft="@drawable/notif_astrid"
android:textSize="14sp"
android:textSize="16sp"
android:text="@string/welcome_login_pw"/>
<com.facebook.android.LoginButton
android:id="@+id/fb_login"
android:layout_width="fill_parent"
android:layout_height="45dip"
android:layout_above="@id/pw_login"
android:layout_above="@id/pw_signup"
android:paddingLeft="20dip"
android:paddingRight="20dip"
android:layout_marginLeft="15dip"
@ -88,15 +109,5 @@
android:drawableLeft="@drawable/google"
android:text="@string/actfm_ALA_gg_login" />
<TextView
android:id="@+id/tos"
android:layout_width="fill_parent"
android:layout_height="35dip"
android:layout_above="@id/gg_login"
android:gravity="center"
android:paddingLeft="20dip"
android:paddingRight="20dip"
android:textSize="12.5sp"
android:textColor="#ffffff" />
</RelativeLayout>
</LinearLayout>

@ -80,7 +80,7 @@
android:text="@string/actfm_ALA_fb_login" />
<Button
android:id="@+id/pw_login"
android:id="@+id/pw_signup"
android:layout_width="fill_parent"
android:layout_height="45dip"
android:layout_below="@id/fb_login"
@ -89,7 +89,18 @@
android:layout_marginLeft="15dip"
android:layout_marginRight="15dip"
android:textSize="16sp"
android:text="@string/welcome_login_pw"/>
android:text="@string/welcome_login_pw"/>
<TextView
android:id="@+id/pw_login"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:gravity="center"
android:layout_centerHorizontal="true"
android:layout_below="@id/pw_signup"
android:textColor="#444"
android:textSize="16sp"
android:text="@string/welcome_sign_in"/>
<TextView
android:id="@+id/login_later"

@ -260,10 +260,10 @@
<string name="actfm_ALA_password_label">Password</string>
<!-- share login: Sign Up Title -->
<string name="actfm_ALA_signup_title">Create New Account</string>
<string name="actfm_ALA_signup_title">Sign Up</string>
<!-- share login: Login Title -->
<string name="actfm_ALA_login_title">Login to Astrid.com</string>
<string name="actfm_ALA_login_title">Sign In</string>
<!-- share login: Google Auth title -->
<string name="actfm_GAA_title">Select the Google account you want to use:</string>

@ -39,10 +39,12 @@
<!-- slide 7b -->
<string name="welcome_login_tos_base">By using Astrid you agree to the</string>
<string name="welcome_login_tos_link">\"Terms of Service\"</string>
<string name="welcome_login_tos_link">Terms of Service</string>
<!-- slide 7e -->
<string name="welcome_login_pw">Login with Username/Password</string>
<string name="welcome_login_pw">Sign up with email</string>
<string name="welcome_sign_in">Sign in</string>
<!-- slide 7f -->
<string name="welcome_login_later">Connect Later</string>

@ -91,7 +91,7 @@ public class WelcomeWalkthrough extends ActFmLoginActivity {
}
protected void setupPWLogin() {
Button pwLogin = (Button) findViewById(R.id.pw_login);
Button pwLogin = (Button) findViewById(R.id.pw_signup);
pwLogin.setOnClickListener(signUpListener);
}

Loading…
Cancel
Save