diff --git a/auth/README.md b/auth/README.md index 70d89d00e..87e6832a3 100644 --- a/auth/README.md +++ b/auth/README.md @@ -68,7 +68,7 @@ dependencies { implementation 'com.firebaseui:firebase-ui-auth:6.2.1' // Required only if Facebook login support is required - // Find the latest Facebook SDK releases here: https://goo.gl/Ce5L94 + // Find the latest Facebook SDK releases here: https://github.com/facebook/facebook-android-sdk/blob/master/CHANGELOG.md implementation 'com.facebook.android:facebook-login:4.x' } ``` diff --git a/auth/src/main/java/com/firebase/ui/auth/ui/idp/AuthMethodPickerActivity.java b/auth/src/main/java/com/firebase/ui/auth/ui/idp/AuthMethodPickerActivity.java index 5c467cae0..6c5701704 100644 --- a/auth/src/main/java/com/firebase/ui/auth/ui/idp/AuthMethodPickerActivity.java +++ b/auth/src/main/java/com/firebase/ui/auth/ui/idp/AuthMethodPickerActivity.java @@ -51,7 +51,6 @@ import com.google.firebase.auth.EmailAuthProvider; import com.google.firebase.auth.FacebookAuthProvider; import com.google.firebase.auth.FirebaseAuth; -import com.google.firebase.auth.GithubAuthProvider; import com.google.firebase.auth.GoogleAuthProvider; import com.google.firebase.auth.PhoneAuthProvider; @@ -229,14 +228,32 @@ private void populateIdpListCustomLayout(List providerConfigs) { for (IdpConfig idpConfig : providerConfigs) { final String providerId = providerOrEmailLinkProvider(idpConfig.getProviderId()); - if (!providerButtonIds.containsKey(providerId)) { + Integer buttonResId = providerButtonIds.get(providerId); + if (buttonResId == null) { throw new IllegalStateException("No button found for auth provider: " + idpConfig.getProviderId()); } - @IdRes int buttonId = providerButtonIds.get(providerId); + @IdRes int buttonId = buttonResId; View loginButton = findViewById(buttonId); handleSignInOperation(idpConfig, loginButton); } + //hide custom layout buttons that don't have their identity provider set + for (String providerBtnId : providerButtonIds.keySet()) { + if (providerBtnId == null) continue; + boolean hasProvider = false; + for (IdpConfig idpConfig : providerConfigs) { + if (providerBtnId.equals(idpConfig.getProviderId())) { + hasProvider = true; + break; + } + } + if (!hasProvider) { + Integer resId = providerButtonIds.get(providerBtnId); + if (resId == null) continue; + @IdRes int buttonId = resId; + findViewById(buttonId).setVisibility(View.GONE); + } + } } @NonNull diff --git a/firestore/README.md b/firestore/README.md index 7ee7b17da..f5d21c473 100644 --- a/firestore/README.md +++ b/firestore/README.md @@ -247,7 +247,7 @@ FirestoreRecyclerAdapter adapter = new FirestoreRecyclerAdapter