Skip to content

sudhanshugaur4/googleplussignin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

googleplussignin

package com.example.khaalijeb.newlistview_module;

import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.Signature; import android.location.Address; import android.location.Geocoder; import android.net.Uri; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.design.widget.NavigationView; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Base64; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.WindowManager; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast;

import com.facebook.AccessToken; import com.facebook.AccessTokenTracker; import com.facebook.CallbackManager; import com.facebook.FacebookCallback; import com.facebook.FacebookException; import com.facebook.FacebookSdk; import com.facebook.GraphRequest; import com.facebook.GraphResponse; import com.facebook.ProfileTracker; import com.facebook.login.LoginResult; import com.facebook.login.widget.LoginButton; import com.facebook.share.model.ShareLinkContent; import com.facebook.share.widget.ShareDialog; import com.google.android.gms.auth.api.Auth; import com.google.android.gms.auth.api.signin.GoogleSignInAccount; import com.google.android.gms.auth.api.signin.GoogleSignInOptions; import com.google.android.gms.auth.api.signin.GoogleSignInResult; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.Scopes; import com.google.android.gms.common.SignInButton; 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 com.google.android.gms.plus.Plus; import com.google.android.gms.plus.PlusShare; import com.google.android.gms.plus.model.people.Person; import com.squareup.okhttp.OkHttpClient;

import org.json.JSONException; import org.json.JSONObject;

import java.io.IOException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.List;

import models.success_message; import retrofit.Callback; import retrofit.RestAdapter; import retrofit.RetrofitError; import retrofit.client.OkClient; import retrofit.client.Response;

public class MainActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, Notifications.MyNotificationsListener, Brandship.MyBrandshipListener {

private static final int RC_SIGN_IN = 9001;

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
    Log.d("api", "onactivityresult requestcode: " + requestCode);
    if (requestCode == RC_SIGN_IN) {
        Log.d("api", "google onactivityresult");
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        handleSignInResult(result);
    } else {
        Log.d("api", "facebook onactivityresult" + "requestcode: " + requestCode);
        mCallbackmanager.onActivityResult(requestCode, resultCode, data)
        ;
    }
}

private void handleSignInResult(GoogleSignInResult result) {
    Log.d("google", "handleSignInResult:" + result.isSuccess());
    if (result.isSuccess()) {
        // Signed in successfully, show authenticated UI.
        GoogleSignInAccount acct = result.getSignInAccount();
        if (acct != null) {
            Toast.makeText(getBaseContext(), "Google Sign In Welcome " + acct.getDisplayName() + acct.getGrantedScopes() + acct.getEmail() + acct.getPhotoUrl() + acct.getId(), Toast.LENGTH_LONG).show();
            Log.d("api", "Google Sign In Welcome " + acct.getDisplayName() + acct.getGrantedScopes() + acct.getEmail() + acct.getPhotoUrl() + acct.getId());
        }
        Log.d("api", "Google Sign In Welcome " + acct.toString() +  acct.describeContents() + acct.getGrantedScopes() + acct.getEmail() + acct.getPhotoUrl() + acct.getId());

        if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) {
            Log.d("api", "true");
            Toast.makeText(getBaseContext(), "true", Toast.LENGTH_LONG).show();

            Person currentPerson = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient);
            String personName = currentPerson.getDisplayName();
            String personGooglePlusProfile = currentPerson.getUrl();
            int persongender = currentPerson.getGender();
            String personbirthday = currentPerson.getBirthday();
            Log.d("api", "connected" + "gender: " + persongender + " birthday: " + personbirthday);
        } else {
            Toast.makeText(getBaseContext(), "false", Toast.LENGTH_LONG).show();
            Log.d("api", "false");
        }

        //

    } else {

    }
}

GoogleApiClient mGoogleApiClient;

@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
    // An unresolvable error has occurred and Google APIs (including Sign-In) will not
    // be available.
    Log.d("google", "onConnectionFailed:" + connectionResult);
}

private void signIn() {
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
    startActivityForResult(signInIntent, RC_SIGN_IN);
}

private void signOut() {
    Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
            new ResultCallback<Status>() {
                @Override
                public void onResult(Status status) {

                }
            });
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestScopes(new Scope(Scopes.PLUS_LOGIN))
            .requestEmail()
            .build();


    mGoogleApiClient = new GoogleApiClient.Builder(this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(Plus.API)
            .addScope(Plus.SCOPE_PLUS_LOGIN)
            .addScope(Plus.SCOPE_PLUS_PROFILE)
            .build();

    mGoogleApiClient = new GoogleApiClient.Builder(this)
            .enableAutoManage(this, this)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .addApi(Plus.API)
            .build();

    SignInButton signInButton = (SignInButton) findViewById(R.id.sign_in_button);
    signInButton.setSize(SignInButton.SIZE_STANDARD);
    signInButton.setScopes(gso.getScopeArray());
    signInButton.setOnClickListener(new View.OnClickListener() {
        @Override

        public void onClick(View v) {
            signIn();
        }
    });
    Button google_logout = (Button) findViewById(R.id.google_signout);
    google_logout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            signOut();
        }
    });
    //

}        

@Override
public void onConnected(Bundle bundle) {
    Log.d("api", "google connected");
    //
    if (Plus.PeopleApi.getCurrentPerson(mGoogleApiClient) != null) {
        Person currentPerson = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient);
        String personName = currentPerson.getDisplayName();
        String personGooglePlusProfile = currentPerson.getUrl();
        int persongender = currentPerson.getGender();
        String personbirthday = currentPerson.getBirthday();
        Log.d("api", "connected" + "gender: " + persongender + " birthday: " + personbirthday);
    }
    //

}

@Override
public void onConnectionSuspended(int i) {
    Log.d("api", "google connection suspended");
}

}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published