Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion auth/src/main/java/com/firebase/ui/auth/AuthUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,7 @@ public PhoneBuilder() {
public PhoneBuilder setDefaultNumber(@NonNull String number) {
Preconditions.checkUnset(getParams(),
"Cannot overwrite previously set phone number",
ExtraConstants.PHONE,
ExtraConstants.COUNTRY_ISO,
ExtraConstants.NATIONAL_NUMBER);
if (!PhoneNumberUtils.isValid(number)) {
Expand All @@ -604,7 +605,9 @@ public PhoneBuilder setDefaultNumber(@NonNull String number) {
public PhoneBuilder setDefaultNumber(@NonNull String iso, @NonNull String number) {
Preconditions.checkUnset(getParams(),
"Cannot overwrite previously set phone number",
ExtraConstants.PHONE);
ExtraConstants.PHONE,
ExtraConstants.COUNTRY_ISO,
ExtraConstants.NATIONAL_NUMBER);
if (!PhoneNumberUtils.isValidIso(iso)) {
throw new IllegalStateException("Invalid country iso: " + iso);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.firebase.ui.auth.data.model;

import android.support.annotation.NonNull;
import android.support.annotation.RestrictTo;

import com.firebase.ui.auth.ErrorCodes;
import com.firebase.ui.auth.FirebaseUiException;

/**
* Represents an error in which the phone number couldn't be automatically verified and must
* therefore be manually verified by the client by sending an SMS code.
*/
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public class PhoneNumberVerificationRequiredException extends FirebaseUiException {
private final String mPhoneNumber;

/**
* @param number the phone number requiring verification, formatted with a country code prefix
*/
public PhoneNumberVerificationRequiredException(@NonNull String number) {
super(ErrorCodes.PROVIDER_ERROR, "Phone number requires verification.");
mPhoneNumber = number;
}

/**
* @return the phone number requiring verification
*/
@NonNull
public String getPhoneNumber() {
return mPhoneNumber;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
import com.firebase.ui.auth.data.model.UserCancellationException;
import com.firebase.ui.auth.ui.HelperActivityBase;
import com.firebase.ui.auth.ui.email.EmailActivity;
import com.firebase.ui.auth.viewmodel.ProviderSignInBase;
import com.firebase.ui.auth.viewmodel.RequestCodes;
import com.firebase.ui.auth.viewmodel.idp.ProviderSignInBase;

@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public class EmailSignInHandler extends ProviderSignInBase<Void> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import com.firebase.ui.auth.data.model.User;
import com.firebase.ui.auth.ui.HelperActivityBase;
import com.firebase.ui.auth.util.ExtraConstants;
import com.firebase.ui.auth.viewmodel.idp.ProviderSignInBase;
import com.firebase.ui.auth.viewmodel.ProviderSignInBase;
import com.google.firebase.auth.FacebookAuthProvider;

import org.json.JSONException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
import com.firebase.ui.auth.data.model.User;
import com.firebase.ui.auth.ui.HelperActivityBase;
import com.firebase.ui.auth.util.ExtraConstants;
import com.firebase.ui.auth.viewmodel.ProviderSignInBase;
import com.firebase.ui.auth.viewmodel.RequestCodes;
import com.firebase.ui.auth.viewmodel.idp.ProviderSignInBase;
import com.google.android.gms.auth.api.signin.GoogleSignIn;
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
import com.firebase.ui.auth.data.model.UserCancellationException;
import com.firebase.ui.auth.ui.HelperActivityBase;
import com.firebase.ui.auth.ui.phone.PhoneActivity;
import com.firebase.ui.auth.viewmodel.ProviderSignInBase;
import com.firebase.ui.auth.viewmodel.RequestCodes;
import com.firebase.ui.auth.viewmodel.idp.ProviderSignInBase;

@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public class PhoneSignInHandler extends ProviderSignInBase<AuthUI.IdpConfig> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import android.app.Activity;
import android.app.Application;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
Expand All @@ -18,6 +19,7 @@
import com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity;
import com.firebase.ui.auth.ui.idp.SingleSignInActivity;
import com.firebase.ui.auth.ui.phone.PhoneActivity;
import com.firebase.ui.auth.util.ExtraConstants;
import com.firebase.ui.auth.util.GoogleApiUtils;
import com.firebase.ui.auth.util.data.ProviderUtils;
import com.firebase.ui.auth.viewmodel.AuthViewModelBase;
Expand Down Expand Up @@ -120,21 +122,31 @@ private void startAuthMethodChoice() {
}
}

private void redirectSignIn(String provider, String email) {
private void redirectSignIn(String provider, String id) {
switch (provider) {
case EmailAuthProvider.PROVIDER_ID:
setResult(Resource.<IdpResponse>forFailure(new IntentRequiredException(
EmailActivity.createIntent(getApplication(), getArguments(), email),
EmailActivity.createIntent(getApplication(), getArguments(), id),
RequestCodes.EMAIL_FLOW)));
break;
case PhoneAuthProvider.PROVIDER_ID:
Bundle args = new Bundle();
args.putString(ExtraConstants.PHONE, id);
setResult(Resource.<IdpResponse>forFailure(new IntentRequiredException(
PhoneActivity.createIntent(
getApplication(),
getArguments(),
args),
RequestCodes.PHONE_FLOW)));
break;
case GoogleAuthProvider.PROVIDER_ID:
case FacebookAuthProvider.PROVIDER_ID:
case TwitterAuthProvider.PROVIDER_ID:
setResult(Resource.<IdpResponse>forFailure(new IntentRequiredException(
SingleSignInActivity.createIntent(
getApplication(),
getArguments(),
new User.Builder(provider, email).build()),
new User.Builder(provider, id).build()),
RequestCodes.PROVIDER_FLOW)));
break;
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import com.firebase.ui.auth.data.model.User;
import com.firebase.ui.auth.ui.HelperActivityBase;
import com.firebase.ui.auth.util.data.ProviderAvailability;
import com.firebase.ui.auth.viewmodel.idp.ProviderSignInBase;
import com.firebase.ui.auth.viewmodel.ProviderSignInBase;
import com.google.firebase.auth.TwitterAuthProvider;
import com.twitter.sdk.android.core.Callback;
import com.twitter.sdk.android.core.Result;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import com.firebase.ui.auth.IdpResponse;
import com.firebase.ui.auth.data.model.FlowParameters;
import com.firebase.ui.auth.ui.credentials.CredentialSaveActivity;
import com.firebase.ui.auth.util.AuthHelper;
import com.firebase.ui.auth.util.CredentialUtils;
import com.firebase.ui.auth.util.ExtraConstants;
import com.firebase.ui.auth.util.data.ProviderUtils;
Expand All @@ -27,7 +26,6 @@
public class HelperActivityBase extends AppCompatActivity {
private FlowParameters mParams;

private AuthHelper mAuthHelper;
private ProgressDialogHolder mProgressDialogHolder;

protected static Intent createBaseIntent(
Expand All @@ -44,7 +42,6 @@ protected static Intent createBaseIntent(
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mAuthHelper = new AuthHelper(getFlowParams());
mProgressDialogHolder = new ProgressDialogHolder(this);
}

Expand All @@ -70,10 +67,6 @@ public FlowParameters getFlowParams() {
return mParams;
}

public AuthHelper getAuthHelper() {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now the helper activity doesn't even have a helper! Love seeing this class die haha.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, that was the first class to die when I started the refactor—it killed me when I had to add it back for the staged PRs. 😆

return mAuthHelper;
}

public ProgressDialogHolder getDialogHolder() {
return mProgressDialogHolder;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
import com.firebase.ui.auth.util.ui.fieldvalidators.PasswordFieldValidator;
import com.firebase.ui.auth.util.ui.fieldvalidators.RequiredFieldValidator;
import com.firebase.ui.auth.viewmodel.ResourceObserver;
import com.firebase.ui.auth.viewmodel.idp.EmailProviderResponseHandler;
import com.firebase.ui.auth.viewmodel.email.EmailProviderResponseHandler;
import com.google.firebase.auth.EmailAuthProvider;
import com.google.firebase.auth.FirebaseAuthInvalidCredentialsException;
import com.google.firebase.auth.FirebaseAuthWeakPasswordException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@
import com.firebase.ui.auth.data.remote.PhoneSignInHandler;
import com.firebase.ui.auth.data.remote.TwitterSignInHandler;
import com.firebase.ui.auth.ui.AppCompatBase;
import com.firebase.ui.auth.viewmodel.ProviderSignInBase;
import com.firebase.ui.auth.viewmodel.ResourceObserver;
import com.firebase.ui.auth.viewmodel.idp.ProviderSignInBase;
import com.firebase.ui.auth.viewmodel.idp.SocialProviderResponseHandler;
import com.google.firebase.auth.EmailAuthProvider;
import com.google.firebase.auth.FacebookAuthProvider;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
import com.firebase.ui.auth.ui.HelperActivityBase;
import com.firebase.ui.auth.util.ExtraConstants;
import com.firebase.ui.auth.util.data.ProviderUtils;
import com.firebase.ui.auth.viewmodel.ProviderSignInBase;
import com.firebase.ui.auth.viewmodel.ResourceObserver;
import com.firebase.ui.auth.viewmodel.idp.ProviderSignInBase;
import com.firebase.ui.auth.viewmodel.idp.SocialProviderResponseHandler;
import com.google.firebase.auth.FacebookAuthProvider;
import com.google.firebase.auth.GoogleAuthProvider;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@
import com.firebase.ui.auth.ui.AppCompatBase;
import com.firebase.ui.auth.util.ExtraConstants;
import com.firebase.ui.auth.util.data.ProviderUtils;
import com.firebase.ui.auth.viewmodel.ProviderSignInBase;
import com.firebase.ui.auth.viewmodel.ResourceObserver;
import com.firebase.ui.auth.viewmodel.idp.LinkingSocialProviderResponseHandler;
import com.firebase.ui.auth.viewmodel.idp.ProviderSignInBase;
import com.google.firebase.auth.FacebookAuthProvider;
import com.google.firebase.auth.GoogleAuthProvider;
import com.google.firebase.auth.TwitterAuthProvider;
Expand Down
Loading