Skip to content

Commit ff427d6

Browse files
SUPERCILEXsamtstern
authored andcommitted
Remove unnecessary SignInActivity (#443)
1 parent 7ac1953 commit ff427d6

16 files changed

+95
-296
lines changed

auth/src/main/AndroidManifest.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,6 @@
3737
android:exported="false"
3838
android:theme="@style/FirebaseUI"/>
3939

40-
<activity
41-
android:name=".ui.email.SignInActivity"
42-
android:label="@string/title_sign_in_activity"
43-
android:exported="false"
44-
android:theme="@style/FirebaseUI"/>
45-
4640
<activity
4741
android:name=".ui.accountlink.WelcomeBackIdpPrompt"
4842
android:label="@string/title_welcome_back_idp_prompt"

auth/src/main/java/com/firebase/ui/auth/ui/ActivityHelper.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,11 @@ public void saveCredentialsOrFinish(
5353
IdpResponse response) {
5454
saveCredentialsOrFinish(saveSmartLock, mActivity, firebaseUser, password, response);
5555
}
56+
57+
public void saveCredentialsOrFinish(
58+
@Nullable SaveSmartLock saveSmartLock,
59+
FirebaseUser firebaseUser,
60+
IdpResponse response) {
61+
saveCredentialsOrFinish(saveSmartLock, mActivity, firebaseUser, null, response);
62+
}
5663
}

auth/src/main/java/com/firebase/ui/auth/ui/BaseHelper.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,6 @@ public boolean isProgressDialogShowing() {
5959
return mProgressDialog != null && mProgressDialog.isShowing();
6060
}
6161

62-
public Context getApplicationContext() {
63-
return mContext.getApplicationContext();
64-
}
65-
6662
public String getAppName() {
6763
return mFlowParams.appName;
6864
}

auth/src/main/java/com/firebase/ui/auth/ui/accountlink/WelcomeBackPasswordPrompt.java

Lines changed: 36 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import android.text.TextUtils;
2727
import android.text.style.StyleSpan;
2828
import android.view.View;
29+
import android.view.WindowManager;
2930
import android.widget.EditText;
3031
import android.widget.TextView;
3132

@@ -44,6 +45,7 @@
4445
import com.google.android.gms.tasks.OnSuccessListener;
4546
import com.google.firebase.auth.AuthCredential;
4647
import com.google.firebase.auth.AuthResult;
48+
import com.google.firebase.auth.EmailAuthProvider;
4749
import com.google.firebase.auth.FirebaseAuth;
4850

4951
/**
@@ -65,13 +67,17 @@ public class WelcomeBackPasswordPrompt extends AppCompatBase implements View.OnC
6567
protected void onCreate(Bundle savedInstanceState) {
6668
super.onCreate(savedInstanceState);
6769
setContentView(R.layout.welcome_back_password_prompt_layout);
68-
mSaveSmartLock = mActivityHelper.getSaveSmartLockInstance();
69-
mPasswordLayout = (TextInputLayout) findViewById(R.id.password_layout);
70-
mPasswordField = (EditText) findViewById(R.id.password);
7170

71+
// Show keyboard
72+
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
73+
74+
mSaveSmartLock = mActivityHelper.getSaveSmartLockInstance();
7275
mIdpResponse = IdpResponse.fromResultIntent(getIntent());
7376
mEmail = mIdpResponse.getEmail();
7477

78+
mPasswordLayout = (TextInputLayout) findViewById(R.id.password_layout);
79+
mPasswordField = (EditText) findViewById(R.id.password);
80+
7581
// Create welcome back text with email bolded
7682
String bodyText = getResources().getString(R.string.welcome_back_password_prompt_body);
7783
bodyText = String.format(bodyText, mEmail);
@@ -94,7 +100,6 @@ protected void onCreate(Bundle savedInstanceState) {
94100
public void onClick(View view) {
95101
final int id = view.getId();
96102
if (id == R.id.button_done) {
97-
mActivityHelper.showLoadingDialog(R.string.progress_dialog_signing_in);
98103
next(mEmail, mPasswordField.getText().toString());
99104
} else if (id == R.id.trouble_signing_in) {
100105
startActivity(RecoverPasswordActivity.createIntent(
@@ -108,11 +113,12 @@ public void onClick(View view) {
108113
private void next(final String email, final String password) {
109114
// Check for null or empty password
110115
if (TextUtils.isEmpty(password)) {
111-
mPasswordField.setError(getString(R.string.required_field));
116+
mPasswordLayout.setError(getString(R.string.required_field));
112117
return;
113118
} else {
114-
mPasswordField.setError(null);
119+
mPasswordLayout.setError(null);
115120
}
121+
mActivityHelper.showLoadingDialog(R.string.progress_dialog_signing_in);
116122

117123
final FirebaseAuth firebaseAuth = mActivityHelper.getFirebaseAuth();
118124
// Sign in with known email and the password provided
@@ -122,29 +128,32 @@ private void next(final String email, final String password) {
122128
.addOnSuccessListener(new OnSuccessListener<AuthResult>() {
123129
@Override
124130
public void onSuccess(AuthResult authResult) {
125-
// Get the social AuthCredential from the IDPResponse object, link
126-
// it to the email/password account.
127131
AuthCredential authCredential =
128132
AuthCredentialHelper.getAuthCredential(mIdpResponse);
129-
authResult.getUser().linkWithCredential(authCredential);
130-
firebaseAuth.signOut();
131-
132-
// Sign in with the credential
133-
firebaseAuth.signInWithCredential(authCredential)
134-
.addOnFailureListener(
135-
new TaskFailureLogger(TAG,
136-
"Error signing in with credential"))
137-
.addOnSuccessListener(
138-
new OnSuccessListener<AuthResult>() {
139-
@Override
140-
public void onSuccess(AuthResult authResult) {
141-
mActivityHelper.saveCredentialsOrFinish(
142-
mSaveSmartLock,
143-
authResult.getUser(),
144-
password,
145-
mIdpResponse);
146-
}
147-
});
133+
134+
// If authCredential is null, the user only has an email account.
135+
// Otherwise, the user has an email account that we need to link to an idp.
136+
if (authCredential == null) {
137+
mActivityHelper.saveCredentialsOrFinish(
138+
mSaveSmartLock,
139+
authResult.getUser(),
140+
password,
141+
new IdpResponse(EmailAuthProvider.PROVIDER_ID, email));
142+
} else {
143+
authResult.getUser()
144+
.linkWithCredential(authCredential)
145+
.addOnFailureListener(new TaskFailureLogger(
146+
TAG, "Error signing in with credential"))
147+
.addOnSuccessListener(new OnSuccessListener<AuthResult>() {
148+
@Override
149+
public void onSuccess(AuthResult authResult) {
150+
mActivityHelper.saveCredentialsOrFinish(
151+
mSaveSmartLock,
152+
authResult.getUser(),
153+
mIdpResponse);
154+
}
155+
});
156+
}
148157
}
149158
})
150159
.addOnFailureListener(this, new OnFailureListener() {

auth/src/main/java/com/firebase/ui/auth/ui/email/RecoverPasswordActivity.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import com.firebase.ui.auth.ui.email.fieldvalidators.EmailFieldValidator;
3232
import com.google.android.gms.tasks.OnFailureListener;
3333
import com.google.android.gms.tasks.OnSuccessListener;
34-
import com.google.firebase.auth.FirebaseAuth;
3534
import com.google.firebase.auth.FirebaseAuthInvalidUserException;
3635

3736
/**
@@ -47,12 +46,12 @@ public class RecoverPasswordActivity extends AppCompatBase implements View.OnCli
4746
protected void onCreate(Bundle savedInstanceState) {
4847
super.onCreate(savedInstanceState);
4948
setContentView(R.layout.forgot_password_layout);
50-
String email = getIntent().getStringExtra(ExtraConstants.EXTRA_EMAIL);
51-
52-
mEmailFieldValidator = new EmailFieldValidator(
53-
(TextInputLayout) findViewById(R.id.email_layout));
5449

50+
mEmailFieldValidator =
51+
new EmailFieldValidator((TextInputLayout) findViewById(R.id.email_layout));
5552
mEmailEditText = (EditText) findViewById(R.id.email);
53+
54+
String email = getIntent().getStringExtra(ExtraConstants.EXTRA_EMAIL);
5655
if (email != null) {
5756
mEmailEditText.setText(email);
5857
}
@@ -61,8 +60,8 @@ protected void onCreate(Bundle savedInstanceState) {
6160
}
6261

6362
private void next(final String email) {
64-
FirebaseAuth firebaseAuth = mActivityHelper.getFirebaseAuth();
65-
firebaseAuth.sendPasswordResetEmail(email)
63+
mActivityHelper.getFirebaseAuth()
64+
.sendPasswordResetEmail(email)
6665
.addOnFailureListener(
6766
new TaskFailureLogger(TAG, "Error sending password reset email"))
6867
.addOnSuccessListener(new OnSuccessListener<Void>() {
@@ -89,11 +88,10 @@ public void onFailure(@NonNull Exception e) {
8988
@Override
9089
public void onClick(View view) {
9190
if (view.getId() == R.id.button_done) {
92-
if (!mEmailFieldValidator.validate(mEmailEditText.getText())) {
93-
return;
91+
if (mEmailFieldValidator.validate(mEmailEditText.getText())) {
92+
mActivityHelper.showLoadingDialog(R.string.progress_dialog_sending);
93+
next(mEmailEditText.getText().toString());
9494
}
95-
mActivityHelper.showLoadingDialog(R.string.progress_dialog_sending);
96-
next(mEmailEditText.getText().toString());
9795
}
9896
}
9997

auth/src/main/java/com/firebase/ui/auth/ui/email/RegisterEmailActivity.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import com.firebase.ui.auth.ui.FlowParameters;
4444
import com.firebase.ui.auth.ui.TaskFailureLogger;
4545
import com.firebase.ui.auth.ui.accountlink.WelcomeBackIdpPrompt;
46+
import com.firebase.ui.auth.ui.accountlink.WelcomeBackPasswordPrompt;
4647
import com.firebase.ui.auth.ui.email.fieldvalidators.EmailFieldValidator;
4748
import com.firebase.ui.auth.ui.email.fieldvalidators.PasswordFieldValidator;
4849
import com.firebase.ui.auth.ui.email.fieldvalidators.RequiredFieldValidator;
@@ -249,12 +250,13 @@ public void onSuccess(ProviderQueryResult result) {
249250

250251
String provider = providers.get(0);
251252
if (provider.equalsIgnoreCase(EmailAuthProvider.PROVIDER_ID)) {
252-
Intent signInIntent = SignInActivity.createIntent(
253-
RegisterEmailActivity.this,
254-
mActivityHelper.getFlowParams(),
255-
email);
256-
mActivityHelper.startActivityForResult(signInIntent,
257-
RC_SIGN_IN);
253+
mActivityHelper.startActivityForResult(
254+
WelcomeBackPasswordPrompt.createIntent(
255+
RegisterEmailActivity.this,
256+
mActivityHelper.getFlowParams(),
257+
new IdpResponse(EmailAuthProvider.PROVIDER_ID,
258+
email)),
259+
RC_SIGN_IN);
258260
} else {
259261
Intent intent = WelcomeBackIdpPrompt.createIntent(
260262
RegisterEmailActivity.this,
@@ -313,8 +315,7 @@ public void onComplete(@NonNull Task<Void> task) {
313315
mSaveSmartLock,
314316
user,
315317
password,
316-
new IdpResponse(EmailAuthProvider.PROVIDER_ID,
317-
email));
318+
new IdpResponse(EmailAuthProvider.PROVIDER_ID, email));
318319
}
319320
});
320321
}

auth/src/main/java/com/firebase/ui/auth/ui/email/SignInActivity.java

Lines changed: 0 additions & 131 deletions
This file was deleted.

auth/src/main/java/com/firebase/ui/auth/ui/idp/AuthMethodPickerActivity.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
import com.firebase.ui.auth.util.signincontainer.SaveSmartLock;
4343
import com.google.firebase.auth.AuthCredential;
4444
import com.google.firebase.auth.FacebookAuthProvider;
45-
import com.google.firebase.auth.FirebaseAuth;
4645
import com.google.firebase.auth.GoogleAuthProvider;
4746
import com.google.firebase.auth.TwitterAuthProvider;
4847

@@ -159,9 +158,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
159158
@Override
160159
public void onSuccess(final IdpResponse response) {
161160
AuthCredential credential = AuthCredentialHelper.getAuthCredential(response);
162-
final FirebaseAuth firebaseAuth = mActivityHelper.getFirebaseAuth();
163-
164-
firebaseAuth
161+
mActivityHelper.getFirebaseAuth()
165162
.signInWithCredential(credential)
166163
.addOnFailureListener(
167164
new TaskFailureLogger(TAG, "Firebase sign in with credential unsuccessful"))

0 commit comments

Comments
 (0)