Skip to content

Commit ec6b88b

Browse files
SUPERCILEXsamtstern
authored andcommitted
Show loading dialog while providers are fetching extra information (#1204)
1 parent acd5384 commit ec6b88b

File tree

5 files changed

+33
-3
lines changed

5 files changed

+33
-3
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ protected void onCleared() {
112112
private class Callback implements FacebookCallback<LoginResult> {
113113
@Override
114114
public void onSuccess(LoginResult result) {
115+
setResult(Resource.<IdpResponse>forLoading());
116+
115117
GraphRequest request = GraphRequest.newMeRequest(result.getAccessToken(),
116118
new ProfileRequest(result));
117119

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ public void onActivityResult(int requestCode, int resultCode, @Nullable Intent d
8888
private class TwitterSessionResult extends Callback<TwitterSession> {
8989
@Override
9090
public void success(final Result<TwitterSession> sessionResult) {
91+
setResult(Resource.<IdpResponse>forLoading());
9192
TwitterCore.getInstance()
9293
.getApiClient()
9394
.getAccountService()

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,16 @@ private void populateIdpList(List<IdpConfig> providerConfigs,
170170
provider.getOperation().observe(this, new Observer<Resource<IdpResponse>>() {
171171
@Override
172172
public void onChanged(Resource<IdpResponse> resource) {
173-
handler.startSignIn(IdpResponse.from(resource));
173+
if (resource.getState() == State.LOADING) {
174+
getDialogHolder().showLoadingDialog(R.string.fui_progress_dialog_loading);
175+
return;
176+
}
177+
getDialogHolder().dismissDialog();
178+
179+
if (resource.getState() == State.SUCCESS
180+
|| resource.getState() == State.FAILURE) {
181+
handler.startSignIn(IdpResponse.from(resource));
182+
}
174183
}
175184
});
176185

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,16 @@ protected void onCreate(Bundle savedInstanceState) {
8181
mProvider.getOperation().observe(this, new Observer<Resource<IdpResponse>>() {
8282
@Override
8383
public void onChanged(Resource<IdpResponse> resource) {
84-
mHandler.startSignIn(IdpResponse.from(resource));
84+
if (resource.getState() == State.LOADING) {
85+
getDialogHolder().showLoadingDialog(R.string.fui_progress_dialog_loading);
86+
return;
87+
}
88+
getDialogHolder().dismissDialog();
89+
90+
if (resource.getState() == State.SUCCESS
91+
|| resource.getState() == State.FAILURE) {
92+
mHandler.startSignIn(IdpResponse.from(resource));
93+
}
8594
}
8695
});
8796

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,16 @@ protected void onCreate(Bundle savedInstanceState) {
128128
mProvider.getOperation().observe(this, new Observer<Resource<IdpResponse>>() {
129129
@Override
130130
public void onChanged(Resource<IdpResponse> resource) {
131-
handler.startSignIn(IdpResponse.from(resource));
131+
if (resource.getState() == State.LOADING) {
132+
getDialogHolder().showLoadingDialog(R.string.fui_progress_dialog_loading);
133+
return;
134+
}
135+
getDialogHolder().dismissDialog();
136+
137+
if (resource.getState() == State.SUCCESS
138+
|| resource.getState() == State.FAILURE) {
139+
handler.startSignIn(IdpResponse.from(resource));
140+
}
132141
}
133142
});
134143

0 commit comments

Comments
 (0)