Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.26 KB | None | 0 0
  1. package timberwolf.blackmarket.com.blackmarket;
  2.  
  3. import android.content.Intent;
  4. import android.content.SharedPreferences;
  5. import android.graphics.Color;
  6. import android.graphics.PorterDuff;
  7. import android.os.Bundle;
  8. import android.os.CountDownTimer;
  9. import android.support.annotation.NonNull;
  10. import android.support.v7.app.AppCompatActivity;
  11. import android.text.TextUtils;
  12. import android.util.Log;
  13. import android.view.View;
  14. import android.widget.Button;
  15. import android.widget.EditText;
  16. import android.widget.ImageButton;
  17. import android.widget.TextView;
  18. import android.widget.Toast;
  19.  
  20. import com.firebase.ui.auth.AuthUI;
  21. import com.google.android.gms.auth.api.Auth;
  22. import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
  23. import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
  24. import com.google.android.gms.auth.api.signin.GoogleSignInResult;
  25. import com.google.android.gms.common.ConnectionResult;
  26. import com.google.android.gms.common.api.GoogleApiClient;
  27. import com.google.android.gms.tasks.OnCompleteListener;
  28. import com.google.android.gms.tasks.Task;
  29. import com.google.firebase.auth.AuthCredential;
  30. import com.google.firebase.auth.AuthResult;
  31. import com.google.firebase.auth.FirebaseAuth;
  32. import com.google.firebase.auth.FirebaseUser;
  33.  
  34. import com.google.firebase.auth.GoogleAuthProvider;
  35.  
  36. import org.w3c.dom.Text;
  37.  
  38. public class LoginActivity extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener, View.OnClickListener{
  39.  
  40. private static final String TAG = "LoginActivity";
  41. private FirebaseAuth mAuth;
  42. private FirebaseAuth.AuthStateListener mAuthListener;
  43. private GoogleApiClient mGoogleApiClient;
  44. private static int RC_SIGN_IN = 0;
  45.  
  46. @Override
  47. protected void onCreate(Bundle savedInstanceState) {
  48. super.onCreate(savedInstanceState);
  49. setContentView(R.layout.activity_login);
  50. setTitle("Timberwolf Black Market");
  51.  
  52. //start firebase code
  53.  
  54. mAuthListener = new FirebaseAuth.AuthStateListener() {
  55. @Override
  56. public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
  57. FirebaseUser user = firebaseAuth.getCurrentUser();
  58. if (user != null) {
  59. // User is signed in
  60. Log.d("AUTH", "onAuthStateChanged:signed_in:" + user.getEmail());
  61. } else {
  62. // User is signed out
  63. Log.d("AUTH", "onAuthStateChanged:signed_out");
  64.  
  65. }
  66. }
  67. };
  68.  
  69. GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
  70. .requestIdToken(getString(R.string.default_web_client_id))
  71. .requestEmail()
  72. .build();
  73.  
  74.  
  75. mGoogleApiClient = new GoogleApiClient.Builder(this)
  76. .enableAutoManage(this, this)
  77. .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
  78. .build();
  79.  
  80. findViewById(R.id.sign_in_button).setOnClickListener(this);
  81.  
  82. }
  83.  
  84. @Override
  85. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  86. super.onActivityResult(requestCode, resultCode, data);
  87.  
  88. if(requestCode == RC_SIGN_IN){
  89. GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
  90.  
  91. if(result.isSuccess()){
  92. GoogleSignInAccount account = result.getSignInAccount();
  93. firebaseAuthWithGoogle(account);
  94. }else
  95. Log.d(TAG, "Google Login Failed");
  96. }
  97.  
  98. }
  99.  
  100. private void firebaseAuthWithGoogle(GoogleSignInAccount acct){
  101. AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null);
  102. mAuth.signInWithCredential(credential)
  103. .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
  104. @Override
  105. public void onComplete(@NonNull Task<AuthResult> task) {
  106. Log.d("AUTH", "signInWithCredential:oncomplete: " + task.isSuccessful());
  107. }
  108. });
  109. }
  110.  
  111. private void signIn(){
  112. Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
  113. startActivityForResult(signInIntent, RC_SIGN_IN);
  114. }
  115.  
  116. private void signOut(){
  117. FirebaseAuth.getInstance().signOut();
  118. }
  119.  
  120. @Override
  121. public void onClick(View v) {
  122.  
  123. switch(v.getId()){
  124. case R.id.sign_in_button:
  125. signIn();
  126. break;
  127. }
  128.  
  129. }
  130.  
  131. @Override
  132. public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
  133. Log.d(TAG, "Connection failed");
  134. }
  135.  
  136. @Override
  137. public void onStart() {
  138. super.onStart();
  139. mAuth.addAuthStateListener(mAuthListener);
  140. }
  141.  
  142. @Override
  143. public void onStop() {
  144. super.onStop();
  145. if (mAuthListener != null) {
  146. mAuth.removeAuthStateListener(mAuthListener);
  147. }
  148. }
  149.  
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement