in auth/src/main/java/com/firebase/ui/auth/ui/email/CheckEmailFragment.java [116:176]
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mHandler = new ViewModelProvider(this).get(CheckEmailHandler.class);
mHandler.init(getFlowParams());
FragmentActivity activity = getActivity();
if (!(activity instanceof CheckEmailListener)) {
throw new IllegalStateException("Activity must implement CheckEmailListener");
}
mListener = (CheckEmailListener) activity;
mHandler.getOperation().observe(getViewLifecycleOwner(), new ResourceObserver<User>(
this, R.string.fui_progress_dialog_checking_accounts) {
@Override
protected void onSuccess(@NonNull User user) {
String email = user.getEmail();
String provider = user.getProviderId();
mEmailEditText.setText(email);
//noinspection ConstantConditions new user
if (provider == null) {
mListener.onNewUser(new User.Builder(EmailAuthProvider.PROVIDER_ID, email)
.setName(user.getName())
.setPhotoUri(user.getPhotoUri())
.build());
} else if (provider.equals(EmailAuthProvider.PROVIDER_ID)
|| provider.equals(EMAIL_LINK_PROVIDER)) {
mListener.onExistingEmailUser(user);
} else {
mListener.onExistingIdpUser(user);
}
}
@Override
protected void onFailure(@NonNull Exception e) {
if (e instanceof FirebaseUiException
&& ((FirebaseUiException) e).getErrorCode() == ErrorCodes.DEVELOPER_ERROR) {
mListener.onDeveloperFailure(e);
}
if (e instanceof FirebaseNetworkException) {
Snackbar.make(getView(), getString(R.string.fui_no_internet), Snackbar.LENGTH_SHORT).show();
}
// Otherwise just let the user enter their data
}
});
if (savedInstanceState != null) {
return;
}
// Check for email
String email = getArguments().getString(ExtraConstants.EMAIL);
if (!TextUtils.isEmpty(email)) {
mEmailEditText.setText(email);
validateAndProceed();
} else if (getFlowParams().enableHints) {
mHandler.fetchCredential();
}
}