title: GetCurrent user return only logged user from Firebase Google app
body: <p>I have a login and registration app that does 2 steps</p>
  
  <p>In one activity, he logs the user in, everything is correct, when I log in I can pull the user correctly to my NavHeader, however, when I need to register a new user, a big problem arises.</p>
  
  <p>I do every method of registration and even see my user registered in the Firebase Console, however, when I try to pull this user with <code>user.getCurrentUser ();</code> it returns me the LAST LOGIN user in the app, ie the user who has just registered is not returned as current.</p>
  
  <p>This method is response for update my nav bar with current user:</p>
  
  <pre class="lang-java prettyprint-override"><code>
      private void updateNavHeader() { // Funcao responsável por atualizar a navegação lateral de informações do usuario, tais como nome, foto e email
          // A funcao ainda não funciona corretamente, corrigir os métodos necessários para obtenção das informações
         NavigationView navigationView = findViewById(R.id.nav_view);
          View headerView = navigationView.getHeaderView(0);
          TextView barNomeUser = (TextView) headerView.findViewById(R.id.textViewNome);
          TextView barEmailUser = (TextView) headerView.findViewById(R.id.textViewEmail);
          TelaCadastroInicio telaCadastroInicio = new TelaCadastroInicio();
          FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
  
              if(user != null) {
                  barNomeUser.setText(user.getDisplayName());
                  barEmailUser.setText(user.getEmail());
              } else {
                  barEmailUser.setText("Usuario nao logado");
              }
  
      }
  
  </code></pre>
  
  <p>This method register user in my app (first time)</p>
  
  <pre class="lang-java prettyprint-override"><code>
      private void cadastroUser(){ // Função responsável por coletar as informações dadas pelo usuario
          String emailUser1; // String interna para o email do usuario
          String passwordUser; // tring interna para a senha do usuario
          String nameUser = barNomeUser.getText().toString(); // Converte o nome do usuario para caixa de texto simples e atribui a String
          emailUser1 = barEmailUser.getText().toString(); // Converte o email pra caixa de texto idem
          passwordUser = barPasswordUser.getText().toString(); // Idem aos processos anteriores
          if(passwordUser == null || passwordUser.isEmpty() || emailUser1 == null || emailUser1.isEmpty() || nameUser == null || nameUser.isEmpty()){ // Verificação se os campos estiverem vazios
              Toast.makeText(this, "Campos não preenchido corretamente", Toast.LENGTH_SHORT).show(); // Erro exibido ao usuario no caso de não preencher os campos
          }
          FirebaseAuth.getInstance().createUserWithEmailAndPassword(emailUser1, passwordUser) // Caso usuario preencha, criamos esse usuario no servirdor de autenticacao do Firebase
                  .addOnCompleteListener(new OnCompleteListener&lt;AuthResult&gt;() { // Se a criação no servidor do Firebase for um sucesso, prosseguimos com os métodos abaixo
                      @Override
                      public void onComplete(@NonNull Task&lt;AuthResult&gt; task) {
                          if(task.isSuccessful())
                          Log.i("Sucesso!", task.getResult().getUser().getUid());
                          saveUserInFirebase(); //Salva o usuario no banco de dados
                      }
                  })
                  .addOnFailureListener(new OnFailureListener() { // Se o cadastro falhar, entramos em uma exceção no aplicativo e coletamos o erro
                      @Override
                      public void onFailure(@NonNull Exception e) {
                          Log.i("Erro interno", e.getMessage());
                      }
                  });
  
      }
  </code></pre>
  
  <p>This method is user for login in my app</p>
  
  <pre class="lang-java prettyprint-override"><code>
                  FirebaseAuth.getInstance().signInWithEmailAndPassword(email, passwordUser).addOnCompleteListener(new OnCompleteListener&lt;AuthResult&gt;() {
                      @Override
                      public void onComplete(@NonNull Task&lt;AuthResult&gt; task) { // Caso não entre nos casos acima, tenta logar com o email e senha
  // inserido pelo usuario nos campos, se o servirdor receber corretamente tudo abaixo daqui dá certo
                          Log.i("Login Completo", task.getResult().getUser().getUid()); // Notifica que deu certo
                          Intent intent = new Intent(TelaLoginInicio.this, MenuDeslizanteDaTela.class); //Muda para outra tela
                          intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                          startActivity(intent);
                      }
                  }).addOnFailureListener(new OnFailureListener() {
                      @Override
                      public void onFailure(@NonNull Exception e) { //Se der qualquer erro no Login, como credenciais não conferirem com nenhum cadastro existente no nosso banco de dados.
                          Log.i("Erro no processo", e.getMessage()); //Avisa no log sobre o errro do processo
                          Toast.makeText(TelaLoginInicio.this, "Email ou senha incorreto, tente novamente", Toast.LENGTH_SHORT).show();
                      }
                  });
              }
          });
  </code></pre>