Skip to content

Commit a69f22e

Browse files
committed
Adding Firebase Auth Listener and Timber
1 parent 1cc3d17 commit a69f22e

File tree

1 file changed

+36
-6
lines changed

1 file changed

+36
-6
lines changed

app/src/main/java/in/codelab/androidauthdemo/MainActivity.java

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import android.os.Bundle;
55
import android.support.annotation.NonNull;
66
import android.support.v7.app.AppCompatActivity;
7-
import android.util.Log;
87
import android.view.View;
98
import android.widget.Button;
109
import android.widget.TextView;
@@ -20,6 +19,10 @@
2019
import com.google.android.gms.common.api.PendingResult;
2120
import com.google.android.gms.common.api.ResultCallback;
2221
import com.google.android.gms.common.api.Status;
22+
import com.google.firebase.auth.FirebaseAuth;
23+
import com.google.firebase.auth.FirebaseUser;
24+
25+
import timber.log.Timber;
2326

2427
public class MainActivity
2528
extends AppCompatActivity
@@ -29,6 +32,8 @@ public class MainActivity
2932
private Button signOutButton;
3033
TextView statusTextView;
3134
GoogleApiClient mGoogleApiClient;
35+
FirebaseAuth firebaseAuth;
36+
FirebaseAuth.AuthStateListener authStateListener;
3237
private static final String TAG = "SignInActivity";
3338
private static final int RC_SIGN_IN = 9001;
3439

@@ -37,6 +42,19 @@ protected void onCreate(Bundle savedInstanceState) {
3742
super.onCreate(savedInstanceState);
3843
setContentView(R.layout.activity_main);
3944

45+
firebaseAuth = FirebaseAuth.getInstance();
46+
authStateListener = new FirebaseAuth.AuthStateListener() {
47+
@Override
48+
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
49+
FirebaseUser currentUser = firebaseAuth.getCurrentUser();
50+
if (currentUser != null) {
51+
Timber.d("Current loggedin user is %s", currentUser.getDisplayName());
52+
} else {
53+
Timber.d("User signed out..");
54+
}
55+
}
56+
};
57+
4058
GoogleSignInOptions gso = new GoogleSignInOptions
4159
.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
4260
.requestEmail()
@@ -55,6 +73,20 @@ protected void onCreate(Bundle savedInstanceState) {
5573
signOutButton.setOnClickListener(this);
5674
}
5775

76+
@Override
77+
protected void onStart() {
78+
super.onStart();
79+
firebaseAuth.addAuthStateListener(authStateListener);
80+
}
81+
82+
@Override
83+
protected void onStop() {
84+
super.onStop();
85+
if (firebaseAuth != null) {
86+
firebaseAuth.removeAuthStateListener(authStateListener);
87+
}
88+
}
89+
5890
@Override
5991
public void onClick(View v) {
6092
switch(v.getId()){
@@ -65,15 +97,13 @@ public void onClick(View v) {
6597
signOut();
6698
break;
6799
default:
68-
Log.d(MainActivity.class.getCanonicalName(), "Unknown id clicked : "+v.getId());
100+
Timber.d("Unknown id clicked : %d", v.getId());
69101
break;
70-
71-
72102
}
73103
}
74104

75105
private void signOut() {
76-
Log.d(MainActivity.class.getCanonicalName(), "Signing out...");
106+
Timber.d("Signing out...");
77107
PendingResult<Status> statusPendingResult = Auth.GoogleSignInApi.signOut(mGoogleApiClient);
78108
statusPendingResult.setResultCallback(new ResultCallback<Status>() {
79109
@Override
@@ -100,7 +130,7 @@ private void signIn() {
100130
@Override
101131
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
102132
// An unresolvable error has occurred and Google APIs won't be available.
103-
Log.d(TAG, "onConnectionFailed:" + connectionResult);
133+
Timber.d( "onConnectionFailed: %s", connectionResult.getErrorMessage());
104134
}
105135

106136
@Override

0 commit comments

Comments
 (0)