Skip to content

Commit fbd3c9e

Browse files
committed
Merge remote-tracking branch 'upstream/version-3.3.0-dev' into silent-sign-in
# Conflicts: # app/src/main/java/com/firebase/uidemo/auth/AuthUiActivity.java
2 parents ff2814d + 3ee1155 commit fbd3c9e

40 files changed

+347
-390
lines changed

app/src/main/java/com/firebase/uidemo/ChooserActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import android.content.Intent;
1818
import android.os.Bundle;
19+
import android.support.annotation.Nullable;
1920
import android.support.annotation.StringRes;
2021
import android.support.v7.app.AppCompatActivity;
2122
import android.support.v7.widget.LinearLayoutManager;
@@ -38,7 +39,7 @@ public class ChooserActivity extends AppCompatActivity {
3839
RecyclerView mActivities;
3940

4041
@Override
41-
protected void onCreate(Bundle savedInstanceState) {
42+
protected void onCreate(@Nullable Bundle savedInstanceState) {
4243
super.onCreate(savedInstanceState);
4344
setContentView(R.layout.activity_chooser);
4445
ButterKnife.bind(this);

app/src/main/java/com/firebase/uidemo/auth/AuthUiActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import android.os.Bundle;
2020
import android.support.annotation.DrawableRes;
2121
import android.support.annotation.NonNull;
22+
import android.support.annotation.Nullable;
2223
import android.support.annotation.StringRes;
2324
import android.support.annotation.StyleRes;
2425
import android.support.design.widget.Snackbar;
@@ -104,7 +105,7 @@ public static Intent createIntent(Context context) {
104105
}
105106

106107
@Override
107-
public void onCreate(Bundle savedInstanceState) {
108+
public void onCreate(@Nullable Bundle savedInstanceState) {
108109
super.onCreate(savedInstanceState);
109110
setContentView(R.layout.auth_ui_layout);
110111
ButterKnife.bind(this);

app/src/main/java/com/firebase/uidemo/auth/SignedInActivity.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,11 @@ public class SignedInActivity extends AppCompatActivity {
6565

6666
public static Intent createIntent(Context context, IdpResponse idpResponse) {
6767
return new Intent().setClass(context, SignedInActivity.class)
68-
.putExtra(ExtraConstants.EXTRA_IDP_RESPONSE, idpResponse);
68+
.putExtra(ExtraConstants.IDP_RESPONSE, idpResponse);
6969
}
7070

7171
@Override
72-
public void onCreate(Bundle savedInstanceState) {
72+
public void onCreate(@Nullable Bundle savedInstanceState) {
7373
super.onCreate(savedInstanceState);
7474

7575
FirebaseUser currentUser = FirebaseAuth.getInstance().getCurrentUser();
@@ -79,7 +79,7 @@ public void onCreate(Bundle savedInstanceState) {
7979
return;
8080
}
8181

82-
IdpResponse response = getIntent().getParcelableExtra(ExtraConstants.EXTRA_IDP_RESPONSE);
82+
IdpResponse response = getIntent().getParcelableExtra(ExtraConstants.IDP_RESPONSE);
8383

8484
setContentView(R.layout.signed_in_layout);
8585
ButterKnife.bind(this);

app/src/main/java/com/firebase/uidemo/database/firestore/FirestoreChatActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.os.Bundle;
44
import android.support.annotation.NonNull;
5+
import android.support.annotation.Nullable;
56
import android.support.v7.app.AppCompatActivity;
67
import android.support.v7.widget.LinearLayoutManager;
78
import android.support.v7.widget.RecyclerView;
@@ -64,7 +65,7 @@ public class FirestoreChatActivity extends AppCompatActivity
6465
TextView mEmptyListMessage;
6566

6667
@Override
67-
protected void onCreate(Bundle savedInstanceState) {
68+
protected void onCreate(@Nullable Bundle savedInstanceState) {
6869
super.onCreate(savedInstanceState);
6970
setContentView(R.layout.activity_chat);
7071
ButterKnife.bind(this);

app/src/main/java/com/firebase/uidemo/database/realtime/RealtimeDbChatActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.os.Bundle;
44
import android.support.annotation.NonNull;
5+
import android.support.annotation.Nullable;
56
import android.support.v7.app.AppCompatActivity;
67
import android.support.v7.widget.LinearLayoutManager;
78
import android.support.v7.widget.RecyclerView;
@@ -61,7 +62,7 @@ public class RealtimeDbChatActivity extends AppCompatActivity
6162
TextView mEmptyListMessage;
6263

6364
@Override
64-
protected void onCreate(Bundle savedInstanceState) {
65+
protected void onCreate(@Nullable Bundle savedInstanceState) {
6566
super.onCreate(savedInstanceState);
6667
setContentView(R.layout.activity_chat);
6768
ButterKnife.bind(this);

app/src/main/java/com/firebase/uidemo/storage/ImageActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import android.os.Bundle;
77
import android.provider.MediaStore;
88
import android.support.annotation.NonNull;
9+
import android.support.annotation.Nullable;
910
import android.support.v7.app.AppCompatActivity;
1011
import android.util.Log;
1112
import android.view.View;
@@ -54,7 +55,7 @@ public class ImageActivity extends AppCompatActivity implements EasyPermissions.
5455
ImageView mImageView;
5556

5657
@Override
57-
protected void onCreate(Bundle savedInstanceState) {
58+
protected void onCreate(@Nullable Bundle savedInstanceState) {
5859
super.onCreate(savedInstanceState);
5960
setContentView(R.layout.activity_image);
6061
ButterKnife.bind(this);

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

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ public class AuthUI {
154154
* instead.
155155
*/
156156
@Deprecated
157-
public static final String EXTRA_DEFAULT_PHONE_NUMBER = ExtraConstants.EXTRA_PHONE;
157+
public static final String EXTRA_DEFAULT_PHONE_NUMBER = ExtraConstants.PHONE;
158158

159159
/**
160160
* Bundle key for the default phone country code parameter.
@@ -163,7 +163,7 @@ public class AuthUI {
163163
* String)} instead.
164164
*/
165165
@Deprecated
166-
public static final String EXTRA_DEFAULT_COUNTRY_CODE = ExtraConstants.EXTRA_COUNTRY_ISO;
166+
public static final String EXTRA_DEFAULT_COUNTRY_CODE = ExtraConstants.COUNTRY_ISO;
167167

168168
/**
169169
* Bundle key for the default national phone number parameter.
@@ -172,7 +172,7 @@ public class AuthUI {
172172
* String)} instead.
173173
*/
174174
@Deprecated
175-
public static final String EXTRA_DEFAULT_NATIONAL_NUMBER = ExtraConstants.EXTRA_NATIONAL_NUMBER;
175+
public static final String EXTRA_DEFAULT_NATIONAL_NUMBER = ExtraConstants.NATIONAL_NUMBER;
176176

177177
/**
178178
* Default value for logo resource, omits the logo from the {@link AuthMethodPickerActivity}.
@@ -533,7 +533,7 @@ public List<String> getScopes() {
533533
List<String> permissions;
534534
if (mProviderId.equals(GoogleAuthProvider.PROVIDER_ID)) {
535535
Scope[] array = ((GoogleSignInOptions)
536-
mParams.getParcelable(ExtraConstants.EXTRA_GOOGLE_SIGN_IN_OPTIONS))
536+
mParams.getParcelable(ExtraConstants.GOOGLE_SIGN_IN_OPTIONS))
537537
.getScopeArray();
538538

539539
List<String> scopes = new ArrayList<>();
@@ -542,7 +542,7 @@ public List<String> getScopes() {
542542
}
543543
permissions = scopes;
544544
} else if (mProviderId.equals(FacebookAuthProvider.PROVIDER_ID)) {
545-
permissions = mParams.getStringArrayList(ExtraConstants.EXTRA_FACEBOOK_PERMISSIONS);
545+
permissions = mParams.getStringArrayList(ExtraConstants.FACEBOOK_PERMISSIONS);
546546
} else {
547547
permissions = null;
548548
}
@@ -701,7 +701,7 @@ public EmailBuilder() {
701701
*/
702702
@NonNull
703703
public EmailBuilder setAllowNewAccounts(boolean allow) {
704-
getParams().putBoolean(ExtraConstants.EXTRA_ALLOW_NEW_EMAILS, allow);
704+
getParams().putBoolean(ExtraConstants.ALLOW_NEW_EMAILS, allow);
705705
return this;
706706
}
707707

@@ -713,7 +713,7 @@ public EmailBuilder setAllowNewAccounts(boolean allow) {
713713
*/
714714
@NonNull
715715
public EmailBuilder setRequireName(boolean requireName) {
716-
getParams().putBoolean(ExtraConstants.EXTRA_REQUIRE_NAME, requireName);
716+
getParams().putBoolean(ExtraConstants.REQUIRE_NAME, requireName);
717717
return this;
718718
}
719719
}
@@ -735,13 +735,13 @@ public PhoneBuilder() {
735735
public PhoneBuilder setDefaultNumber(@NonNull String number) {
736736
Preconditions.checkUnset(getParams(),
737737
"Cannot overwrite previously set phone number",
738-
ExtraConstants.EXTRA_COUNTRY_ISO,
739-
ExtraConstants.EXTRA_NATIONAL_NUMBER);
738+
ExtraConstants.COUNTRY_ISO,
739+
ExtraConstants.NATIONAL_NUMBER);
740740
if (!PhoneNumberUtils.isValid(number)) {
741741
throw new IllegalStateException("Invalid phone number: " + number);
742742
}
743743

744-
getParams().putString(ExtraConstants.EXTRA_PHONE, number);
744+
getParams().putString(ExtraConstants.PHONE, number);
745745

746746
return this;
747747
}
@@ -757,13 +757,13 @@ public PhoneBuilder setDefaultNumber(@NonNull String number) {
757757
public PhoneBuilder setDefaultNumber(@NonNull String iso, @NonNull String number) {
758758
Preconditions.checkUnset(getParams(),
759759
"Cannot overwrite previously set phone number",
760-
ExtraConstants.EXTRA_PHONE);
760+
ExtraConstants.PHONE);
761761
if (!PhoneNumberUtils.isValidIso(iso)) {
762762
throw new IllegalStateException("Invalid country iso: " + iso);
763763
}
764764

765-
getParams().putString(ExtraConstants.EXTRA_COUNTRY_ISO, iso);
766-
getParams().putString(ExtraConstants.EXTRA_NATIONAL_NUMBER, number);
765+
getParams().putString(ExtraConstants.COUNTRY_ISO, iso);
766+
getParams().putString(ExtraConstants.NATIONAL_NUMBER, number);
767767

768768
return this;
769769
}
@@ -778,14 +778,14 @@ public PhoneBuilder setDefaultNumber(@NonNull String iso, @NonNull String number
778778
public PhoneBuilder setDefaultCountryIso(@NonNull String iso) {
779779
Preconditions.checkUnset(getParams(),
780780
"Cannot overwrite previously set phone number",
781-
ExtraConstants.EXTRA_PHONE,
782-
ExtraConstants.EXTRA_COUNTRY_ISO,
783-
ExtraConstants.EXTRA_NATIONAL_NUMBER);
781+
ExtraConstants.PHONE,
782+
ExtraConstants.COUNTRY_ISO,
783+
ExtraConstants.NATIONAL_NUMBER);
784784
if (!PhoneNumberUtils.isValidIso(iso)) {
785785
throw new IllegalStateException("Invalid country iso: " + iso);
786786
}
787787

788-
getParams().putString(ExtraConstants.EXTRA_COUNTRY_ISO, iso);
788+
getParams().putString(ExtraConstants.COUNTRY_ISO, iso);
789789

790790
return this;
791791
}
@@ -831,21 +831,21 @@ public GoogleBuilder setScopes(@NonNull List<String> scopes) {
831831
public GoogleBuilder setSignInOptions(@NonNull GoogleSignInOptions options) {
832832
Preconditions.checkUnset(getParams(),
833833
"Cannot overwrite previously set sign-in options.",
834-
ExtraConstants.EXTRA_GOOGLE_SIGN_IN_OPTIONS);
834+
ExtraConstants.GOOGLE_SIGN_IN_OPTIONS);
835835

836836
GoogleSignInOptions.Builder builder = new GoogleSignInOptions.Builder(options);
837837
builder.requestEmail().requestIdToken(getApplicationContext()
838838
.getString(R.string.default_web_client_id));
839839
getParams().putParcelable(
840-
ExtraConstants.EXTRA_GOOGLE_SIGN_IN_OPTIONS, builder.build());
840+
ExtraConstants.GOOGLE_SIGN_IN_OPTIONS, builder.build());
841841

842842
return this;
843843
}
844844

845845
@NonNull
846846
@Override
847847
public IdpConfig build() {
848-
if (!getParams().containsKey(ExtraConstants.EXTRA_GOOGLE_SIGN_IN_OPTIONS)) {
848+
if (!getParams().containsKey(ExtraConstants.GOOGLE_SIGN_IN_OPTIONS)) {
849849
setScopes(Collections.<String>emptyList());
850850
}
851851

@@ -888,7 +888,7 @@ public FacebookBuilder() {
888888
@NonNull
889889
public FacebookBuilder setPermissions(@NonNull List<String> permissions) {
890890
getParams().putStringArrayList(
891-
ExtraConstants.EXTRA_FACEBOOK_PERMISSIONS, new ArrayList<>(permissions));
891+
ExtraConstants.FACEBOOK_PERMISSIONS, new ArrayList<>(permissions));
892892
return this;
893893
}
894894
}

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

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import android.support.annotation.RestrictTo;
2424
import android.text.TextUtils;
2525

26-
import com.firebase.ui.auth.data.model.Resource;
2726
import com.firebase.ui.auth.data.model.User;
2827
import com.firebase.ui.auth.util.ExtraConstants;
2928
import com.google.firebase.auth.GoogleAuthProvider;
@@ -92,22 +91,12 @@ private IdpResponse(
9291
@Nullable
9392
public static IdpResponse fromResultIntent(@Nullable Intent resultIntent) {
9493
if (resultIntent != null) {
95-
return resultIntent.getParcelableExtra(ExtraConstants.EXTRA_IDP_RESPONSE);
94+
return resultIntent.getParcelableExtra(ExtraConstants.IDP_RESPONSE);
9695
} else {
9796
return null;
9897
}
9998
}
10099

101-
@NonNull
102-
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
103-
public static IdpResponse from(@NonNull Resource<IdpResponse> resource) {
104-
IdpResponse response = resource.getValue();
105-
if (resource.getException() != null) {
106-
response = from(resource.getException());
107-
}
108-
return response;
109-
}
110-
111100
@NonNull
112101
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
113102
public static IdpResponse from(@NonNull Exception e) {
@@ -127,7 +116,7 @@ public static Intent getErrorIntent(@NonNull Exception e) {
127116
@NonNull
128117
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
129118
public Intent toIntent() {
130-
return new Intent().putExtra(ExtraConstants.EXTRA_IDP_RESPONSE, this);
119+
return new Intent().putExtra(ExtraConstants.IDP_RESPONSE, this);
131120
}
132121

133122
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)

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

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
package com.firebase.ui.auth;
22

3-
import android.arch.lifecycle.Observer;
43
import android.arch.lifecycle.ViewModelProviders;
54
import android.content.Context;
65
import android.content.DialogInterface;
76
import android.content.Intent;
87
import android.net.ConnectivityManager;
98
import android.os.Bundle;
9+
import android.support.annotation.NonNull;
10+
import android.support.annotation.Nullable;
1011
import android.support.annotation.RestrictTo;
1112

1213
import com.firebase.ui.auth.data.model.FlowParameters;
13-
import com.firebase.ui.auth.data.model.Resource;
14-
import com.firebase.ui.auth.data.model.State;
1514
import com.firebase.ui.auth.data.model.UserCancellationException;
1615
import com.firebase.ui.auth.data.remote.SignInKickstarter;
1716
import com.firebase.ui.auth.ui.HelperActivityBase;
1817
import com.firebase.ui.auth.util.PlayServicesHelper;
19-
import com.firebase.ui.auth.util.ui.FlowUtils;
2018
import com.firebase.ui.auth.viewmodel.RequestCodes;
19+
import com.firebase.ui.auth.viewmodel.ResourceObserver;
2120

2221
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
2322
public class KickoffActivity extends HelperActivityBase {
@@ -27,32 +26,27 @@ public class KickoffActivity extends HelperActivityBase {
2726
private boolean mIsWaitingForPlayServices = false;
2827

2928
public static Intent createIntent(Context context, FlowParameters flowParams) {
30-
return HelperActivityBase.createBaseIntent(context, KickoffActivity.class, flowParams);
29+
return createBaseIntent(context, KickoffActivity.class, flowParams);
3130
}
3231

3332
@Override
34-
protected void onCreate(Bundle savedInstanceState) {
33+
protected void onCreate(@Nullable Bundle savedInstanceState) {
3534
super.onCreate(savedInstanceState);
3635
mKickstarter = ViewModelProviders.of(this).get(SignInKickstarter.class);
3736
mKickstarter.init(getFlowParams());
38-
mKickstarter.getOperation().observe(this, new Observer<Resource<IdpResponse>>() {
37+
mKickstarter.getOperation().observe(this, new ResourceObserver<IdpResponse>(
38+
this, R.string.fui_progress_dialog_loading) {
3939
@Override
40-
public void onChanged(Resource<IdpResponse> resource) {
41-
if (resource.getState() == State.LOADING) {
42-
getDialogHolder().showLoadingDialog(R.string.fui_progress_dialog_loading);
43-
return;
44-
}
45-
getDialogHolder().dismissDialog();
40+
protected void onSuccess(@NonNull IdpResponse response) {
41+
finish(RESULT_OK, response.toIntent());
42+
}
4643

47-
if (resource.getState() == State.SUCCESS) {
48-
finish(RESULT_OK, resource.getValue().toIntent());
49-
} else if (resource.getState() == State.FAILURE) {
50-
Exception e = resource.getException();
51-
if (!FlowUtils.handleError(KickoffActivity.this, e)) {
52-
finish(RESULT_CANCELED, IdpResponse.getErrorIntent(e));
53-
} else if (e instanceof UserCancellationException) {
54-
finish(RESULT_CANCELED, null);
55-
}
44+
@Override
45+
protected void onFailure(@NonNull Exception e) {
46+
if (e instanceof UserCancellationException) {
47+
finish(RESULT_CANCELED, null);
48+
} else {
49+
finish(RESULT_CANCELED, IdpResponse.getErrorIntent(e));
5650
}
5751
}
5852
});

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,14 @@ public FlowParameters(
8181
* Extract FlowParameters from an Intent.
8282
*/
8383
public static FlowParameters fromIntent(Intent intent) {
84-
return intent.getParcelableExtra(ExtraConstants.EXTRA_FLOW_PARAMS);
84+
return intent.getParcelableExtra(ExtraConstants.FLOW_PARAMS);
8585
}
8686

8787
/**
8888
* Extract FlowParameters from a Bundle.
8989
*/
9090
public static FlowParameters fromBundle(Bundle bundle) {
91-
return bundle.getParcelable(ExtraConstants.EXTRA_FLOW_PARAMS);
91+
return bundle.getParcelable(ExtraConstants.FLOW_PARAMS);
9292
}
9393

9494
@Override

0 commit comments

Comments
 (0)