"GoogleApiClient is not connected yet" on logout when using Firebase auth with google sign in
Register a Connection Callback to Google Api Client
Classes Used:
- LoginActivity class (Activity to Login)
- LogoutActivity class (Activity to Logout)
Code:
public void logout() {
mGoogleApiClient.connect();
mGoogleApiClient.registerConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
@Override
public void onConnected(@Nullable Bundle bundle) {
FirebaseAuth.getInstance().signOut();
if(mGoogleApiClient.isConnected()) {
Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(@NonNull Status status) {
if (status.isSuccess()) {
Log.d(TAG, "User Logged out");
Intent intent = new Intent(LogoutActivity.this, LoginActivity.class);
startActivity(intent);
finish();
}
}
});
}
}
@Override
public void onConnectionSuspended(int i) {
Log.d(TAG, "Google API Client Connection Suspended");
}
});
}