packagecom.bkno3.app;importandroid.app.Application;importandroid.content.SharedPreferences;importandroid.os.AsyncTask;importandroid.widget.Toast;importcom.google.android.gms.auth.api.Auth;importcom.google.android.gms.auth.api.signin.GoogleSignInOptions;importcom.google.android.gms.common.Scopes;importcom.google.android.gms.common.api.GoogleApiClient;importcom.google.android.gms.common.api.ResultCallback;importcom.google.android.gms.common.api.Scope;importcom.google.android.gms.common.api.Status;importorg.json.JSONObject;importjava.io.IOException;/***Createdbyrooton12/09/16.*/publicclassloginSingletonextendsApplication{privatestaticloginSingletonmInstance=null;publicGoogleApiClientmGoogleApiClient;SharedPreferencesstoreToken;privateloginSingleton(){StringstringUrl="xxx";//urltogetgoogleclientidfrommyAPInewgetConfiguration().execute(stringUrl);}publicstaticloginSingletongetInstance(){if(mInstance==null){mInstance=newloginSingleton();}returnmInstance;}privateclassgetConfigurationextendsAsyncTask<String,Void,String>{@OverrideprotectedStringdoInBackground(String...urls){try{WebRequestapiconn=newWebRequest();returnapiconn.apiConnectionGet(urls[0]);}catch(IOExceptione){return"Unable to make the API call. Url may be invalid";}}protectedvoidonPostExecute(Stringresult){try{JSONObjectreader=newJSONObject(result);Stringgoogleid=reader.getString("GOOGLE_CLIENT_ID");GoogleSignInOptionsgso=newGoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestScopes(newScope(Scopes.PLUS_LOGIN)).requestServerAuthCode(googleid,false).requestEmail().build();mGoogleApiClient=newGoogleApiClient.Builder(loginSingleton.this).enableAutoManage(this/*FragmentActivity*/,this/*OnConnectionFailedListener*/).addApi(Auth.GOOGLE_SIGN_IN_API,gso).build();}catch(Exceptione){}}}publicvoidgoogleSignOut(){Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(newResultCallback<Status>(){@OverridepublicvoidonResult(Statusstatus){Toast.makeText(getApplicationContext(),"signedout",Toast.LENGTH_LONG).show();}});}}
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.