in app/src/main/java/com/firebase/uidemo/auth/AuthUiActivity.java [81:152]
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBinding = AuthUiLayoutBinding.inflate(getLayoutInflater());
setContentView(mBinding.getRoot());
// Workaround for vector drawables on API 19
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
if (ConfigurationUtils.isGoogleMisconfigured(this)) {
mBinding.googleProvider.setChecked(false);
mBinding.googleProvider.setEnabled(false);
mBinding.googleProvider.setText(R.string.google_label_missing_config);
setGoogleScopesEnabled(false);
} else {
setGoogleScopesEnabled(mBinding.googleProvider.isChecked());
mBinding.googleProvider.setOnCheckedChangeListener((compoundButton, checked) -> setGoogleScopesEnabled(checked));
}
if (ConfigurationUtils.isFacebookMisconfigured(this)) {
mBinding.facebookProvider.setChecked(false);
mBinding.facebookProvider.setEnabled(false);
mBinding.facebookProvider.setText(R.string.facebook_label_missing_config);
setFacebookPermissionsEnabled(false);
} else {
setFacebookPermissionsEnabled(mBinding.facebookProvider.isChecked());
mBinding.facebookProvider.setOnCheckedChangeListener((compoundButton, checked) -> setFacebookPermissionsEnabled(checked));
}
mBinding.emailLinkProvider.setOnCheckedChangeListener((buttonView, isChecked) -> flipPasswordProviderCheckbox(isChecked));
mBinding.emailProvider.setOnCheckedChangeListener((buttonView, isChecked) -> flipEmailLinkProviderCheckbox(isChecked));
mBinding.emailLinkProvider.setChecked(false);
mBinding.emailProvider.setChecked(true);
// The custom layout in this app only supports Email and Google providers.
mBinding.customLayout.setOnCheckedChangeListener((compoundButton, checked) -> {
if (checked) {
mBinding.googleProvider.setChecked(true);
mBinding.emailProvider.setChecked(true);
mBinding.facebookProvider.setChecked(false);
mBinding.twitterProvider.setChecked(false);
mBinding.emailLinkProvider.setChecked(false);
mBinding.phoneProvider.setChecked(false);
mBinding.anonymousProvider.setChecked(false);
mBinding.microsoftProvider.setChecked(false);
mBinding.yahooProvider.setChecked(false);
mBinding.appleProvider.setChecked(false);
mBinding.githubProvider.setChecked(false);
}
});
// useEmulator can't be reversed until the FirebaseApp is cleared, so we make this
// checkbox "sticky" until the app is restarted
mBinding.useAuthEmulator.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked) {
mBinding.useAuthEmulator.setEnabled(false);
}
});
mBinding.signIn.setOnClickListener(view -> signIn());
mBinding.signInSilent.setOnClickListener(view -> silentSignIn());
if (ConfigurationUtils.isGoogleMisconfigured(this)
|| ConfigurationUtils.isFacebookMisconfigured(this)) {
showSnackbar(R.string.configuration_required);
}
catchEmailLinkSignIn();
}