Snippets

Anbu EBkxX: Untitled snippet

Created by Anbu

File loginSingleton Added

  • Ignore whitespace
  • Hide word diff
+package com.bkno3.app;
+
+import android.app.Application;
+import android.content.SharedPreferences;
+import android.os.AsyncTask;
+import android.widget.Toast;
+
+import com.google.android.gms.auth.api.Auth;
+import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
+import com.google.android.gms.common.Scopes;
+import com.google.android.gms.common.api.GoogleApiClient;
+import com.google.android.gms.common.api.ResultCallback;
+import com.google.android.gms.common.api.Scope;
+import com.google.android.gms.common.api.Status;
+
+import org.json.JSONObject;
+
+import java.io.IOException;
+
+/**
+ * Created by root on 12/09/16.
+ */
+public class loginSingleton extends Application {
+
+    private static loginSingleton mInstance = null;
+
+    public GoogleApiClient mGoogleApiClient;
+
+    SharedPreferences storeToken;
+
+    private loginSingleton(){
+
+        String stringUrl = "xxx"; //url to get google client id from my API
+
+        new getConfiguration().execute(stringUrl);
+
+    }
+
+    public static loginSingleton getInstance(){
+        if(mInstance == null)
+        {
+            mInstance = new loginSingleton();
+        }
+        return mInstance;
+
+    }
+
+    private class getConfiguration extends AsyncTask<String, Void, String> {
+        @Override
+        protected String doInBackground(String... urls){
+            try{
+                WebRequest apiconn = new WebRequest();
+                return apiconn.apiConnectionGet(urls[0]);
+            } catch (IOException e){
+                return "Unable to make the API call. Url may be invalid";
+            }
+        }
+
+        protected void onPostExecute(String result) {
+
+            try {
+                JSONObject reader = new JSONObject(result);
+                String googleid = reader.getString("GOOGLE_CLIENT_ID");
+
+                GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestScopes(new Scope(Scopes.PLUS_LOGIN)).requestServerAuthCode(googleid, false).requestEmail().build();
+                mGoogleApiClient = new GoogleApiClient.Builder(loginSingleton.this).enableAutoManage(this/*FragmentActivity*/, this /*OnConnectionFailedListener*/).addApi(Auth.GOOGLE_SIGN_IN_API, gso).build();
+
+
+            } catch (Exception e){
+
+            }
+
+        }
+    }
+
+    public void googleSignOut() {
+        Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
+                new ResultCallback<Status>() {
+                    @Override
+                    public void onResult(Status status) {
+
+                        Toast.makeText(getApplicationContext(), "signedout",Toast.LENGTH_LONG).show();
+                    }
+                });
+    }
+
+
+}
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.