Created
August 18, 2017 07:47
-
-
Save nabeelnazir163/e93df5ad7694fa6d0b7b15d1d89055b0 to your computer and use it in GitHub Desktop.
for a demo purpose i want to move to home_nav avtivity after clicking on a text
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.example.nabeel.ask; | |
import com.bumptech.glide.Glide; | |
import com.facebook.CallbackManager; | |
import com.facebook.FacebookCallback; | |
import com.facebook.FacebookException; | |
import com.facebook.FacebookSdk; | |
import com.facebook.appevents.AppEventsLogger; | |
import com.facebook.login.LoginResult; | |
import com.facebook.login.widget.LoginButton; | |
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.SignInButton; | |
import com.google.android.gms.common.api.GoogleApiClient; | |
import com.google.android.gms.common.api.Result; | |
import com.google.android.gms.common.api.ResultCallback; | |
import com.google.android.gms.common.api.Status; | |
import android.content.Intent; | |
import android.os.Bundle; | |
import android.support.annotation.NonNull; | |
import android.support.v7.app.AppCompatActivity; | |
import android.view.View; | |
import android.widget.Button; | |
import android.widget.ImageView; | |
import android.widget.LinearLayout; | |
import android.widget.TextView; | |
public class signin extends AppCompatActivity implements View.OnClickListener, GoogleApiClient.OnConnectionFailedListener { | |
Intent i; | |
private LinearLayout Prof_Section; | |
private LoginButton loginButton; | |
private CallbackManager callbackManager; | |
private Button SignOut; | |
private TextView Name , Email; | |
private SignInButton SignIn; | |
private GoogleApiClient googleApiClient; | |
private static final int REQ_CODE = 9001; | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
FacebookSdk.sdkInitialize(getApplicationContext()); | |
setContentView(R.layout.activity_signin); | |
Prof_Section = (LinearLayout)findViewById(R.id.prof_section); | |
SignOut = (Button)findViewById(R.id.bn_logout); | |
Name = (TextView)findViewById(R.id.name); | |
Email = (TextView)findViewById(R.id.email); | |
SignIn = (SignInButton)findViewById(R.id.bn_login); | |
SignIn.setOnClickListener(this); | |
SignOut.setOnClickListener(this); | |
Prof_Section.setVisibility(View.GONE); | |
GoogleSignInOptions signInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().build(); | |
googleApiClient = new GoogleApiClient.Builder(this).enableAutoManage(this,this).addApi(Auth.GOOGLE_SIGN_IN_API,signInOptions).build(); | |
loginButton = (LoginButton)findViewById(R.id.login_button); | |
callbackManager = CallbackManager.Factory.create(); | |
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { | |
@Override | |
public void onSuccess(LoginResult loginResult) { | |
i = new Intent(signin.this , home.class); | |
startActivity(i); | |
} | |
@Override | |
public void onCancel() { | |
} | |
@Override | |
public void onError(FacebookException error) { | |
} | |
}); | |
TextView tv_su = (TextView) findViewById(R.id.signup); | |
tv_su.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View view) { | |
Intent i = new Intent(signin.this, signup.class); | |
startActivity(i); | |
} | |
}); | |
TextView tv_si = (TextView) findViewById(R.id.login); | |
tv_si.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View view) { | |
Intent si = new Intent(signin.this, home_nav.class); | |
startActivity(si); | |
} | |
}); | |
} | |
@Override | |
protected void onActivityResult(int requestCode, int resultCode, Intent data) { | |
super.onActivityResult(requestCode, resultCode, data); | |
if(requestCode == REQ_CODE) { | |
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); | |
handleresult(result); | |
} | |
else { | |
callbackManager.onActivityResult(requestCode, resultCode, data); | |
} } | |
@Override | |
public void onClick(View v) { | |
switch (v.getId()){ | |
case R.id.bn_login: | |
signIn(); | |
break; | |
case R.id.bn_logout: | |
signOut(); | |
break; | |
} | |
} | |
@Override | |
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { | |
} | |
private void signIn(){ | |
Intent intent = Auth.GoogleSignInApi.getSignInIntent(googleApiClient); | |
startActivityForResult(intent,REQ_CODE); | |
} | |
private void signOut(){ | |
Auth.GoogleSignInApi.signOut(googleApiClient).setResultCallback(new ResultCallback<Status>() { | |
@Override | |
public void onResult(@NonNull Status status) { | |
updateUI(false); | |
} | |
}); | |
} | |
private void handleresult(GoogleSignInResult result){ | |
if(result.isSuccess()){ | |
i = new Intent(signin.this , home.class); | |
startActivity(i); | |
GoogleSignInAccount account = result.getSignInAccount(); | |
String name = account.getDisplayName(); | |
String email = account.getEmail(); | |
Name.setText(name); | |
Email.setText(email); | |
updateUI(true); | |
} | |
else | |
updateUI(false); | |
} | |
private void updateUI(boolean isLogin){ | |
if(isLogin){ | |
Prof_Section.setVisibility(View.VISIBLE); | |
SignIn.setVisibility(View.GONE); | |
} | |
else{ | |
Prof_Section.setVisibility(View.GONE); | |
SignIn.setVisibility(View.VISIBLE); | |
} | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment