Skip to content

Commit 325c2cf

Browse files
committed
Fixes footer ToS/Pp links. Also made changes based on CR feedback.
1 parent f5b0b75 commit 325c2cf

20 files changed

+486
-388
lines changed

auth/src/main/java/com/firebase/ui/auth/data/model/FlowParameters.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,10 @@
2020
import android.support.annotation.NonNull;
2121
import android.support.annotation.Nullable;
2222
import android.support.annotation.RestrictTo;
23-
import android.support.annotation.StringRes;
2423
import android.support.annotation.StyleRes;
2524
import android.text.TextUtils;
2625

2726
import com.firebase.ui.auth.AuthUI.IdpConfig;
28-
import com.firebase.ui.auth.R;
2927
import com.firebase.ui.auth.util.ExtraConstants;
3028
import com.firebase.ui.auth.util.Preconditions;
3129

@@ -136,19 +134,11 @@ public boolean isSingleProviderFlow() {
136134
return providerInfo.size() == 1;
137135
}
138136

139-
public @StringRes int getGlobalTermsStringResource() {
140-
boolean hasTos = !TextUtils.isEmpty(termsOfServiceUrl);
141-
boolean hasPp = !TextUtils.isEmpty(privacyPolicyUrl);
142-
if(hasTos && hasPp) {
143-
return R.string.fui_tos_and_pp;
144-
} else if(hasTos) {
145-
return R.string.fui_tos_only;
146-
} else {
147-
return R.string.fui_pp_only;
148-
}
137+
public boolean isTermsOfServiceUrlProvided() {
138+
return !TextUtils.isEmpty(termsOfServiceUrl);
149139
}
150140

151-
public @StringRes int getGlobalTermsFooterStringResource() {
152-
return R.string.fui_tos_and_pp_footer;
141+
public boolean isPrivacyPolicyUrlProvided() {
142+
return !TextUtils.isEmpty(privacyPolicyUrl);
153143
}
154144
}

auth/src/main/java/com/firebase/ui/auth/data/remote/SignInKickstarter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,8 @@ public void onComplete(@NonNull Task<CredentialRequestResponse> task) {
9292

9393
private void startAuthMethodChoice() {
9494
List<AuthUI.IdpConfig> idpConfigs = getArguments().providerInfo;
95-
9695
// If there is only one provider selected, launch the flow directly
97-
if (idpConfigs.size() == 1) {
96+
if (getArguments().isSingleProviderFlow()) {
9897
AuthUI.IdpConfig firstIdpConfig = idpConfigs.get(0);
9998
String firstProvider = firstIdpConfig.getProviderId();
10099
switch (firstProvider) {

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

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,12 @@
2020
import com.firebase.ui.auth.data.model.User;
2121
import com.firebase.ui.auth.ui.FragmentBase;
2222
import com.firebase.ui.auth.util.ExtraConstants;
23+
import com.firebase.ui.auth.util.data.PrivacyDisclosureUtils;
2324
import com.firebase.ui.auth.util.ui.ImeHelper;
24-
import com.firebase.ui.auth.util.ui.PreambleHandler;
2525
import com.firebase.ui.auth.util.ui.fieldvalidators.EmailFieldValidator;
2626
import com.firebase.ui.auth.viewmodel.ResourceObserver;
2727
import com.google.firebase.auth.EmailAuthProvider;
2828

29-
import java.util.List;
30-
3129
/**
3230
* Fragment that shows a form with an email field and checks for existing accounts with that email.
3331
* <p>
@@ -102,8 +100,19 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
102100

103101
view.findViewById(R.id.button_next).setOnClickListener(this);
104102

105-
TextView termsView = view.<TextView>findViewById(R.id.email_tos_and_pp_text);
106-
setUpTermsOfService(termsView);
103+
TextView termsText = view.<TextView>findViewById(R.id.email_tos_and_pp_text);
104+
TextView footerText = view.<TextView>findViewById(R.id.email_footer_tos_and_pp_text);
105+
FlowParameters flowParameters = getFlowParams();
106+
if (flowParameters.isSingleProviderFlow()) {
107+
PrivacyDisclosureUtils.setupTermsOfServiceAndPrivacyPolicyText(getContext(),
108+
getFlowParams(),
109+
termsText);
110+
}
111+
if (!flowParameters.isSingleProviderFlow()) {
112+
PrivacyDisclosureUtils.setupTermsOfServiceFooter(getContext(),
113+
getFlowParams(),
114+
footerText);
115+
}
107116
}
108117

109118
@Override
@@ -183,14 +192,4 @@ private void validateAndProceed() {
183192
mHandler.fetchProvider(email);
184193
}
185194
}
186-
187-
private void setUpTermsOfService(TextView termsText) {
188-
FlowParameters flowParameters = getFlowParams();
189-
if (flowParameters.isSingleProviderFlow()) {
190-
PreambleHandler.setup(getContext(),
191-
flowParameters,
192-
flowParameters.getGlobalTermsStringResource(),
193-
termsText);
194-
}
195-
}
196195
}

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

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import android.support.design.widget.TextInputLayout;
2323
import android.support.v4.app.FragmentTransaction;
2424
import android.support.v4.view.ViewCompat;
25-
import android.widget.TextView;
2625

2726
import com.firebase.ui.auth.AuthUI;
2827
import com.firebase.ui.auth.IdpResponse;
@@ -33,7 +32,6 @@
3332
import com.firebase.ui.auth.ui.idp.WelcomeBackIdpPrompt;
3433
import com.firebase.ui.auth.util.ExtraConstants;
3534
import com.firebase.ui.auth.util.data.ProviderUtils;
36-
import com.firebase.ui.auth.util.ui.PreambleHandler;
3735
import com.firebase.ui.auth.viewmodel.RequestCodes;
3836
import com.google.firebase.auth.EmailAuthProvider;
3937

@@ -71,8 +69,6 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
7169
.replace(R.id.fragment_register_email, fragment, CheckEmailFragment.TAG)
7270
.disallowAddToBackStack()
7371
.commit();
74-
75-
setUpTermsOfServiceFooter();
7672
}
7773

7874
@Override
@@ -134,14 +130,4 @@ private void setSlideAnimation() {
134130
// Make the next activity slide in
135131
overridePendingTransition(R.anim.fui_slide_in_right, R.anim.fui_slide_out_left);
136132
}
137-
138-
private void setUpTermsOfServiceFooter() {
139-
FlowParameters flowParameters = getFlowParams();
140-
if(!flowParameters.isSingleProviderFlow()) {
141-
PreambleHandler.setup(EmailActivity.this,
142-
flowParameters,
143-
flowParameters.getGlobalTermsFooterStringResource(),
144-
(TextView) findViewById(R.id.email_footer_tos_and_pp_text));
145-
}
146-
}
147133
}

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

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@
1212
import android.view.View;
1313
import android.view.ViewGroup;
1414
import android.widget.EditText;
15+
import android.widget.TextView;
1516

1617
import com.firebase.ui.auth.AuthUI;
1718
import com.firebase.ui.auth.IdpResponse;
1819
import com.firebase.ui.auth.R;
1920
import com.firebase.ui.auth.data.model.User;
2021
import com.firebase.ui.auth.ui.FragmentBase;
2122
import com.firebase.ui.auth.util.ExtraConstants;
23+
import com.firebase.ui.auth.util.data.PrivacyDisclosureUtils;
2224
import com.firebase.ui.auth.util.data.ProviderUtils;
2325
import com.firebase.ui.auth.util.ui.ImeHelper;
2426
import com.firebase.ui.auth.util.ui.fieldvalidators.BaseValidator;
@@ -78,7 +80,9 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
7880
@Override
7981
protected void onSuccess(@NonNull IdpResponse response) {
8082
startSaveCredentials(
81-
mHandler.getCurrentUser(), response, mPasswordEditText.getText().toString());
83+
mHandler.getCurrentUser(),
84+
response,
85+
mPasswordEditText.getText().toString());
8286
}
8387

8488
@Override
@@ -164,6 +168,9 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
164168
} else {
165169
safeRequestFocus(mEmailEditText);
166170
}
171+
172+
TextView footerText = view.<TextView>findViewById(R.id.email_footer_tos_and_pp_text);
173+
PrivacyDisclosureUtils.setupTermsOfServiceFooter(getContext(), getFlowParams(), footerText);
167174
}
168175

169176
private void safeRequestFocus(final View v) {
@@ -226,11 +233,11 @@ private void validateAndRegisterUser() {
226233
boolean nameValid = mNameValidator.validate(name);
227234
if (emailValid && passwordValid && nameValid) {
228235
mHandler.startSignIn(new IdpResponse.Builder(
229-
new User.Builder(EmailAuthProvider.PROVIDER_ID, email)
230-
.setName(name)
231-
.setPhotoUri(mUser.getPhotoUri())
232-
.build())
233-
.build(),
236+
new User.Builder(EmailAuthProvider.PROVIDER_ID, email)
237+
.setName(name)
238+
.setPhotoUri(mUser.getPhotoUri())
239+
.build())
240+
.build(),
234241
password);
235242
}
236243
}

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

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
import com.firebase.ui.auth.data.remote.PhoneSignInHandler;
4444
import com.firebase.ui.auth.data.remote.TwitterSignInHandler;
4545
import com.firebase.ui.auth.ui.AppCompatBase;
46-
import com.firebase.ui.auth.util.ui.PreambleHandler;
46+
import com.firebase.ui.auth.util.data.PrivacyDisclosureUtils;
4747
import com.firebase.ui.auth.viewmodel.ResourceObserver;
4848
import com.firebase.ui.auth.viewmodel.idp.ProviderSignInBase;
4949
import com.firebase.ui.auth.viewmodel.idp.SocialProviderResponseHandler;
@@ -109,7 +109,10 @@ protected void onFailure(@NonNull Exception e) {
109109
}
110110
});
111111

112-
setUpTermsOfService();
112+
TextView termsText = findViewById(R.id.main_tos_and_pp);
113+
PrivacyDisclosureUtils.setupTermsOfServiceAndPrivacyPolicyText(AuthMethodPickerActivity.this,
114+
getFlowParams(),
115+
termsText);
113116
}
114117

115118
private void populateIdpList(List<IdpConfig> providerConfigs,
@@ -208,15 +211,6 @@ public void onClick(View view) {
208211
}
209212
}
210213

211-
private void setUpTermsOfService() {
212-
TextView termsText = (TextView) findViewById(R.id.main_tos_and_pp);
213-
FlowParameters flowParameters = getFlowParams();
214-
PreambleHandler.setup(AuthMethodPickerActivity.this,
215-
flowParameters,
216-
flowParameters.getGlobalTermsStringResource(),
217-
termsText);
218-
}
219-
220214
@Override
221215
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
222216
super.onActivityResult(requestCode, resultCode, data);

auth/src/main/java/com/firebase/ui/auth/ui/phone/PhoneActivity.java

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import android.support.v7.app.AlertDialog;
2929
import android.text.TextUtils;
3030
import android.util.Log;
31-
import android.widget.TextView;
3231

3332
import com.firebase.ui.auth.IdpResponse;
3433
import com.firebase.ui.auth.R;
@@ -37,7 +36,6 @@
3736
import com.firebase.ui.auth.ui.AppCompatBase;
3837
import com.firebase.ui.auth.util.ExtraConstants;
3938
import com.firebase.ui.auth.util.FirebaseAuthError;
40-
import com.firebase.ui.auth.util.ui.PreambleHandler;
4139
import com.google.android.gms.tasks.OnFailureListener;
4240
import com.google.android.gms.tasks.OnSuccessListener;
4341
import com.google.firebase.FirebaseException;
@@ -93,7 +91,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
9391
mPhoneNumber = savedInstanceState.getString(KEY_VERIFICATION_PHONE);
9492

9593
if (savedInstanceState.getSerializable(KEY_STATE) != null) {
96-
mVerificationState = (VerificationState) savedInstanceState.getSerializable(KEY_STATE);
94+
mVerificationState = (VerificationState) savedInstanceState.getSerializable(
95+
KEY_STATE);
9796
}
9897
return;
9998
}
@@ -105,7 +104,6 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
105104
.replace(R.id.fragment_verify_phone, fragment, VerifyPhoneNumberFragment.TAG)
106105
.disallowAddToBackStack()
107106
.commit();
108-
setUpTermsOfServiceFooter();
109107
}
110108

111109
@Override
@@ -168,7 +166,8 @@ public void submitConfirmationCode(@NonNull String confirmationCode) {
168166
// See: https://github.com/firebase/FirebaseUI-Android/issues/922
169167
Log.w(PHONE_VERIFICATION_LOG_TAG,
170168
String.format("submitConfirmationCode: mVerificationId is %s ; " +
171-
"confirmationCode is %s", TextUtils.isEmpty(mVerificationId) ? "empty" : "not empty",
169+
"confirmationCode is %s",
170+
TextUtils.isEmpty(mVerificationId) ? "empty" : "not empty",
172171
TextUtils.isEmpty(confirmationCode) ? "empty" : "not empty"));
173172
return;
174173
}
@@ -314,7 +313,8 @@ private void showAlertDialog(@StringRes int messageId,
314313
String s = getString(messageId);
315314
mAlertDialog = new AlertDialog.Builder(this)
316315
.setMessage(s)
317-
.setPositiveButton(R.string.fui_incorrect_code_dialog_positive_button_text, onClickListener)
316+
.setPositiveButton(R.string.fui_incorrect_code_dialog_positive_button_text,
317+
onClickListener)
318318
.show();
319319
}
320320

@@ -354,7 +354,8 @@ public void onFailure(@NonNull Exception e) {
354354
R.string.fui_incorrect_code_dialog_body,
355355
new DialogInterface.OnClickListener() {
356356
@Override
357-
public void onClick(DialogInterface dialog, int which) {
357+
public void onClick(DialogInterface dialog,
358+
int which) {
358359
getSubmitConfirmationCodeFragment()
359360
.setConfirmationCode("");
360361
}
@@ -365,7 +366,8 @@ public void onClick(DialogInterface dialog, int which) {
365366
R.string.fui_error_session_expired,
366367
new DialogInterface.OnClickListener() {
367368
@Override
368-
public void onClick(DialogInterface dialog, int which) {
369+
public void onClick(DialogInterface dialog,
370+
int which) {
369371
getSubmitConfirmationCodeFragment()
370372
.setConfirmationCode("");
371373
}
@@ -409,14 +411,4 @@ private SubmitConfirmationCodeFragment getSubmitConfirmationCodeFragment() {
409411
return (SubmitConfirmationCodeFragment) getSupportFragmentManager().findFragmentByTag
410412
(SubmitConfirmationCodeFragment.TAG);
411413
}
412-
413-
private void setUpTermsOfServiceFooter() {
414-
FlowParameters flowParameters = getFlowParams();
415-
if(!flowParameters.isSingleProviderFlow()) {
416-
PreambleHandler.setup(PhoneActivity.this,
417-
flowParameters,
418-
flowParameters.getGlobalTermsFooterStringResource(),
419-
(TextView) findViewById(R.id.email_footer_tos_and_pp_text));
420-
}
421-
}
422414
}

auth/src/main/java/com/firebase/ui/auth/ui/phone/SubmitConfirmationCodeFragment.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import com.firebase.ui.auth.ui.FragmentBase;
3535
import com.firebase.ui.auth.util.CustomCountDownTimer;
3636
import com.firebase.ui.auth.util.ExtraConstants;
37+
import com.firebase.ui.auth.util.data.PrivacyDisclosureUtils;
3738
import com.firebase.ui.auth.util.ui.BucketedTextChangeListener;
3839
import com.firebase.ui.auth.util.ui.ImeHelper;
3940

@@ -71,8 +72,10 @@ public static SubmitConfirmationCodeFragment newInstance(FlowParameters flowPara
7172

7273
@Nullable
7374
@Override
74-
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable
75-
Bundle savedInstanceState) {
75+
public View onCreateView(@NonNull LayoutInflater inflater,
76+
@Nullable ViewGroup container,
77+
@Nullable
78+
Bundle savedInstanceState) {
7679
View v = inflater.inflate(R.layout.fui_confirmation_code_layout, container, false);
7780
FragmentActivity parentActivity = getActivity();
7881

@@ -93,6 +96,13 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c
9396
return v;
9497
}
9598

99+
@Override
100+
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
101+
super.onViewCreated(view, savedInstanceState);
102+
TextView footerText = view.<TextView>findViewById(R.id.email_footer_tos_and_pp_text);
103+
PrivacyDisclosureUtils.setupTermsOfServiceFooter(getContext(), getFlowParams(), footerText);
104+
}
105+
96106
@Override
97107
public void onStart() {
98108
super.onStart();

0 commit comments

Comments
 (0)