Проблема ООП это неочевидное поведение, пока не развернешь всю лапшу и унаследованные классы, не поймешь что и как работает, начтите с функции onStart
Этот кусок обновит какие-то данные о пользователе в приложении в двух неочевидных случаях:
1. если он уже зарегистрирован, то покажет к примеру его профиль
2. если не зарегистрирован, то тоже что-то обновит, но неизвестно что, к примеру ничего
FirebaseUser currentUser = mAuth.getCurrentUser();
updateUI(currentUser);
Этот кусок будет выполнятся только в одном случае, если пользователь еще не прошел верификацию, т.е. в данный момент логинится, ждет смску или что-то еще
if (mVerificationInProgress && validatePhoneNumber()) {
startPhoneNumberVerification(phone);
}
Регистрация, либо логин завершится в этом месте, если пользователь только что создан или зашел с существующим логином. В случае если пользователь уже логинился раньше и приложение его помнит, то до этого куска кода дело не дойдет.
Log.d(TAG, "signInWithCredential:success");
FirebaseUser user = task.getResult().getUser();
// [START_EXCLUDE]
updateUI(STATE_SIGNIN_SUCCESS, user);
// [END_EXCLUDE]