Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package timberwolf.blackmarket.com.blackmarket;
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.graphics.Color;
- import android.graphics.PorterDuff;
- import android.os.Bundle;
- import android.os.CountDownTimer;
- import android.support.annotation.NonNull;
- import android.support.v7.app.AppCompatActivity;
- import android.text.TextUtils;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ImageButton;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.firebase.ui.auth.AuthUI;
- 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.api.GoogleApiClient;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.Task;
- import com.google.firebase.auth.AuthCredential;
- import com.google.firebase.auth.AuthResult;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.auth.FirebaseUser;
- import com.google.firebase.auth.GoogleAuthProvider;
- import org.w3c.dom.Text;
- public class LoginActivity extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener, View.OnClickListener{
- private static final String TAG = "LoginActivity";
- private FirebaseAuth mAuth;
- private FirebaseAuth.AuthStateListener mAuthListener;
- private GoogleApiClient mGoogleApiClient;
- private static int RC_SIGN_IN = 0;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- setTitle("Timberwolf Black Market");
- //start firebase code
- mAuthListener = new FirebaseAuth.AuthStateListener() {
- @Override
- public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
- FirebaseUser user = firebaseAuth.getCurrentUser();
- if (user != null) {
- // User is signed in
- Log.d("AUTH", "onAuthStateChanged:signed_in:" + user.getEmail());
- } else {
- // User is signed out
- Log.d("AUTH", "onAuthStateChanged:signed_out");
- }
- }
- };
- GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
- .requestIdToken(getString(R.string.default_web_client_id))
- .requestEmail()
- .build();
- mGoogleApiClient = new GoogleApiClient.Builder(this)
- .enableAutoManage(this, this)
- .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
- .build();
- findViewById(R.id.sign_in_button).setOnClickListener(this);
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if(requestCode == RC_SIGN_IN){
- GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
- if(result.isSuccess()){
- GoogleSignInAccount account = result.getSignInAccount();
- firebaseAuthWithGoogle(account);
- }else
- Log.d(TAG, "Google Login Failed");
- }
- }
- private void firebaseAuthWithGoogle(GoogleSignInAccount acct){
- AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null);
- mAuth.signInWithCredential(credential)
- .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- Log.d("AUTH", "signInWithCredential:oncomplete: " + task.isSuccessful());
- }
- });
- }
- private void signIn(){
- Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
- startActivityForResult(signInIntent, RC_SIGN_IN);
- }
- private void signOut(){
- FirebaseAuth.getInstance().signOut();
- }
- @Override
- public void onClick(View v) {
- switch(v.getId()){
- case R.id.sign_in_button:
- signIn();
- break;
- }
- }
- @Override
- public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
- Log.d(TAG, "Connection failed");
- }
- @Override
- public void onStart() {
- super.onStart();
- mAuth.addAuthStateListener(mAuthListener);
- }
- @Override
- public void onStop() {
- super.onStop();
- if (mAuthListener != null) {
- mAuth.removeAuthStateListener(mAuthListener);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement