package com.zulip.android.util;
import android.os.Bundle;
import android.support.annotation.Nullable;
import com.google.android.gms.auth.api.Auth;
import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
import com.google.android.gms.common.api.GoogleApiClient;
import com.zulip.android.BuildConfig;
import com.zulip.android.ZulipApp;
/**
* Class to encapsulate logic for the Google Authentication flows
*/
public class GoogleAuthHelper implements GoogleApiClient.ConnectionCallbacks {
private GoogleApiClient mGoogleApiClient;
public void logOutGoogleAuth() {
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestIdToken(BuildConfig.GOOGLE_CLIENT_ID)
.build();
mGoogleApiClient = new GoogleApiClient.Builder(ZulipApp.get())
.addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
.addConnectionCallbacks(this)
.build();
mGoogleApiClient.connect();
}
@Override
public void onConnected(@Nullable Bundle bundle) {
Auth.GoogleSignInApi.signOut(mGoogleApiClient);
}
@Override
public void onConnectionSuspended(int i) {
// do nothing
}
}