title: Test whether this is the first time the facebook login was called with firebase
body: <p>For the email and password authentication in firebase we have both "register" and "log in" functions, but for the log in with Facebook we only have the login(or am i'm wrong?)<br>
  I'm trying to determine whether this is the first time the user have connected to the application with this facebook account, and if so, add it to the database as well.</p>
  
  <p>this is my current code, becuase firebase is an async database, this mechanizem does not work<br></p>
  
  <pre><code>@Override
  protected void onCreate (Bundle savedInstanceState){
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main_customer);
  
      mLoginButton = (LoginButton) findViewById(R.id.login_button);
      mLoginButton.setVisibility(View.GONE);
  
      mCallbackManager = CallbackManager.Factory.create();
      mLoginButton.setReadPermissions("email", "public_profile");
      mLoginButton.registerCallback(mCallbackManager, new FacebookCallback&lt;LoginResult&gt;() {
          @Override
          public void onSuccess(LoginResult loginResult) {
              handleFacebookAccessToken(loginResult.getAccessToken());
              Toast.makeText(MainCustomerActivity.this, "Login Success", Toast.LENGTH_SHORT).show();
          }
  
          @Override
          public void onCancel() {
              Toast.makeText(MainCustomerActivity.this, "Cancelled", Toast.LENGTH_SHORT).show();
          }
  
          @Override
          public void onError(FacebookException error) {
              Log.d(TAG, error.toString());
              Toast.makeText(MainCustomerActivity.this, "Error!", Toast.LENGTH_SHORT).show();
          }
      });
  
      private void handleFacebookAccessToken (AccessToken token) {
          Log.d(TAG, "handleFacebookAccessToken:" + token);
  
          AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
          mAuth.signInWithCredential(credential)
              .addOnCompleteListener(this, new OnCompleteListener&lt;AuthResult&gt;() {
                  @Override
                  public void onComplete(@NonNull Task&lt;AuthResult&gt; task) {
                      if (task.isSuccessful()) {
                          // Sign in success, update UI with the signed-in user's information
                          Log.d(TAG, "signInWithCredential:success");
                          currentUser = mAuth.getCurrentUser();
                          testRegisterNewUser();
                          updateUI();
                      } else {
                          // If sign in fails, display a message to the user.
                          Log.w(TAG, "signInWithCredential:failure", task.getException());
                          Toast.makeText(MainCustomerActivity.this, "Authentication failed.",
                                  Toast.LENGTH_SHORT).show();
                          //TODO: HANDLE BAD LOGIN
                      }
                      // ...
                  }
              });
      }
  
      private void testRegisterNewUser () {
          String uid = currentUser.getUid();
  
          mDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child(uid);
          mDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
              @Override
              public void onDataChange(DataSnapshot dataSnapshot) {
                  testRegisterUserName = (String) dataSnapshot.getValue();
  
              }
  
              @Override
              public void onCancelled(DatabaseError databaseError) {
  
              }
          });
  
          //this is where I want to find whether this uid is already in the database
          if (testRegisterUserName != null) {
              return;
          } else {
              //this is where I want to store to the database
  </code></pre>
  
  <p>Can I somehow query the handleFacebookAccessToken to determine if it's the first time the user logged in to the server?</p>