16
16
17
17
import android .app .Activity ;
18
18
import android .content .Intent ;
19
+ import android .os .Bundle ;
19
20
import android .os .Parcel ;
20
21
import android .os .Parcelable ;
21
22
import android .support .annotation .CallSuper ;
28
29
29
30
import com .facebook .login .LoginManager ;
30
31
import com .firebase .ui .auth .provider .TwitterProvider ;
32
+ import com .firebase .ui .auth .ui .ExtraConstants ;
31
33
import com .firebase .ui .auth .ui .FlowParameters ;
32
34
import com .firebase .ui .auth .ui .idp .AuthMethodPickerActivity ;
33
35
import com .firebase .ui .auth .util .GoogleSignInHelper ;
@@ -104,6 +106,21 @@ public class AuthUI {
104
106
*/
105
107
public static final String PHONE_VERIFICATION_PROVIDER = PhoneAuthProvider .PROVIDER_ID ;
106
108
109
+ /**
110
+ * Bundle key for the default full phone number parameter.
111
+ */
112
+ public static final String EXTRA_DEFAULT_PHONE_NUMBER = ExtraConstants .EXTRA_PHONE ;
113
+
114
+ /**
115
+ * Bundle key for the default phone country code parameter.
116
+ */
117
+ public static final String EXTRA_DEFAULT_COUNTRY_CODE = ExtraConstants .EXTRA_COUNTRY_CODE ;
118
+
119
+ /**
120
+ * Bundle key for the default national phone number parameter.
121
+ */
122
+ public static final String EXTRA_DEFAULT_NATIONAL_NUMBER = ExtraConstants .EXTRA_NATIONAL_NUMBER ;
123
+
107
124
/**
108
125
* Default value for logo resource, omits the logo from the {@link AuthMethodPickerActivity}.
109
126
*/
@@ -269,15 +286,21 @@ public SignInIntentBuilder createSignInIntentBuilder() {
269
286
public static class IdpConfig implements Parcelable {
270
287
private final String mProviderId ;
271
288
private final List <String > mScopes ;
289
+ private final Bundle mParams ;
272
290
273
- private IdpConfig (@ SupportedProvider @ NonNull String providerId , List <String > scopes ) {
291
+ private IdpConfig (
292
+ @ SupportedProvider @ NonNull String providerId ,
293
+ List <String > scopes ,
294
+ Bundle params ) {
274
295
mProviderId = providerId ;
275
296
mScopes = Collections .unmodifiableList (scopes );
297
+ mParams = params ;
276
298
}
277
299
278
300
private IdpConfig (Parcel in ) {
279
301
mProviderId = in .readString ();
280
302
mScopes = Collections .unmodifiableList (in .createStringArrayList ());
303
+ mParams = in .readBundle (getClass ().getClassLoader ());
281
304
}
282
305
283
306
@ SupportedProvider
@@ -289,6 +312,10 @@ public List<String> getScopes() {
289
312
return mScopes ;
290
313
}
291
314
315
+ public Bundle getParams () {
316
+ return mParams ;
317
+ }
318
+
292
319
public static final Creator <IdpConfig > CREATOR = new Creator <IdpConfig >() {
293
320
@ Override
294
321
public IdpConfig createFromParcel (Parcel in ) {
@@ -310,6 +337,7 @@ public int describeContents() {
310
337
public void writeToParcel (Parcel parcel , int i ) {
311
338
parcel .writeString (mProviderId );
312
339
parcel .writeStringList (mScopes );
340
+ parcel .writeBundle (mParams );
313
341
}
314
342
315
343
@ Override
@@ -332,12 +360,14 @@ public String toString() {
332
360
return "IdpConfig{" +
333
361
"mProviderId='" + mProviderId + '\'' +
334
362
", mScopes=" + mScopes +
363
+ ", mParams=" + mParams +
335
364
'}' ;
336
365
}
337
366
338
367
public static class Builder {
339
368
@ SupportedProvider private String mProviderId ;
340
369
private List <String > mScopes = new ArrayList <>();
370
+ private Bundle mParams = new Bundle ();
341
371
342
372
/**
343
373
* Builds the configuration parameters for an identity provider.
@@ -372,8 +402,13 @@ public Builder setPermissions(List<String> permissions) {
372
402
return this ;
373
403
}
374
404
405
+ public Builder setParams (Bundle params ) {
406
+ mParams = params ;
407
+ return this ;
408
+ }
409
+
375
410
public IdpConfig build () {
376
- return new IdpConfig (mProviderId , mScopes );
411
+ return new IdpConfig (mProviderId , mScopes , mParams );
377
412
}
378
413
}
379
414
}
@@ -448,8 +483,8 @@ public T setAvailableProviders(@NonNull List<IdpConfig> idpConfigs) {
448
483
for (IdpConfig config : idpConfigs ) {
449
484
if (mProviders .contains (config )) {
450
485
throw new IllegalArgumentException ("Each provider can only be set once. "
451
- + config .getProviderId ()
452
- + " was set twice." );
486
+ + config .getProviderId ()
487
+ + " was set twice." );
453
488
} else {
454
489
mProviders .add (config );
455
490
}
0 commit comments