Skip to content

Commit e19b2e2

Browse files
lsiracsamtstern
authored andcommitted
Change provider priorities (#1530)
1 parent 7fdf785 commit e19b2e2

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

auth/src/main/java/com/firebase/ui/auth/util/data/ProviderUtils.java

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,14 +221,29 @@ public Task<List<String>> then(@NonNull Task<SignInMethodQueryResult> task) {
221221
}
222222
// Reorder providers from most to least usable. Usability is determined by
223223
// how many steps a user needs to perform to log in.
224-
maximizePriority(lastSignedInProviders, GoogleAuthProvider.PROVIDER_ID);
224+
reorderPriorities(lastSignedInProviders);
225225

226226
return Tasks.forResult(lastSignedInProviders);
227227
}
228228

229-
private void maximizePriority(List<String> providers, String id) {
229+
private void reorderPriorities(List<String> providers) {
230+
// Prioritize Google over everything else
231+
// Prioritize email-password sign in second
232+
// De-prioritize email link sign in
233+
changePriority(providers, EmailAuthProvider.PROVIDER_ID, true);
234+
changePriority(providers, GoogleAuthProvider.PROVIDER_ID, true);
235+
changePriority(providers, EMAIL_LINK_PROVIDER, false);
236+
}
237+
238+
private void changePriority(List<String> providers,
239+
String id,
240+
boolean maximizePriority) {
230241
if (providers.remove(id)) {
231-
providers.add(0, id);
242+
if (maximizePriority) {
243+
providers.add(0, id);
244+
} else {
245+
providers.add(id);
246+
}
232247
}
233248
}
234249
});

0 commit comments

Comments
 (0)