"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");
        }
    });
}