I try to create simple app lecturer-student. On login I receive boolean data from Firebase to check if user is student or lecturer. Then I go to "home view". The problem is that updating view is faster then receiving data and always first login after opening app is incorrect. It shows default value from SharedPrefference (after getting boolean i'm sharing it to home activity). Like in code below:
mDatabase.child("Users").child(mAuth.getCurrentUser().getUid()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
User data = dataSnapshot.getValue(User.class);
lecturer = data.getLecturer();
editor.putBoolean("Lecturer", lecturer).commit();
}
}
updateUI();
Then in home activity I got:
boolean lecturer = pref.getBoolean("Lecturer", false);
if(lecturer == false) {
setFragment(studentHome);
} else {
setFragment(lecturerHome);
}
Is there any simple solution to my problem? I would like to create some kind of promise to first receive data and then updateUI()