Advertisement
Guest User

Untitled

a guest
Feb 2nd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.62 KB | None | 0 0
  1. public class LoginActivity extends AppCompatActivity {
  2.  
  3. private static final String TAG = "LoginActivity";
  4.  
  5. private FirebaseAuth.AuthStateListener mAuthListener;
  6.  
  7. private TextView mRegister;
  8. private EditText mEmail, mPassword;
  9. private Button mLogin;
  10. private ProgressBar mProgressBar;
  11. private ImageView mLogo;
  12.  
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16.  
  17. setContentView(R.layout.activity_login);
  18. mRegister = findViewById(R.id.link_register);
  19. mEmail = findViewById(R.id.input_email);
  20. mPassword = findViewById(R.id.input_password);
  21. mLogin = findViewById(R.id.btn_login);
  22. mProgressBar = findViewById(R.id.progressBar);
  23. mLogo = findViewById(R.id.logo);
  24.  
  25. initImageLoader();
  26. initProgressBar();
  27. setupFirebaseAuth();
  28. init();
  29.  
  30. }
  31.  
  32. private void init() {
  33. mLogin.setOnClickListener(new View.OnClickListener() {
  34. @Override
  35. public void onClick(View view) {
  36. //check if the fields are filled out
  37. if (!isEmpty(mEmail.getText().toString())
  38. && !isEmpty(mPassword.getText().toString())) {
  39. Log.d(TAG, "onClick: attempting to authenticate.");
  40.  
  41. showProgressBar();
  42.  
  43. FirebaseAuth.getInstance().signInWithEmailAndPassword(mEmail.getText().toString(),
  44. mPassword.getText().toString())
  45. .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  46. @Override
  47. public void onComplete(@NonNull Task<AuthResult> task) {
  48.  
  49. hideProgressBar();
  50.  
  51. }
  52. }).addOnFailureListener(new OnFailureListener() {
  53. @Override
  54. public void onFailure(@NonNull Exception e) {
  55. Toast.makeText(LoginActivity.this, "Authentication Failed", Toast.LENGTH_SHORT).show();
  56. hideProgressBar();
  57. }
  58. });
  59. } else {
  60. Toast.makeText(LoginActivity.this, "You didn't fill in all the fields.", Toast.LENGTH_SHORT).show();
  61. }
  62. }
  63. });
  64.  
  65. mRegister.setOnClickListener(new View.OnClickListener() {
  66. @Override
  67. public void onClick(View view) {
  68. Log.d(TAG, "onClick: Navigating to Register Screen");
  69.  
  70. Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
  71. startActivity(intent);
  72. }
  73. });
  74.  
  75. UniversalImageLoader.setImage("assets://shopping.png", mLogo);
  76.  
  77. hideSoftKeyboard();
  78. }
  79.  
  80.  
  81. private void initImageLoader() {
  82. UniversalImageLoader imageLoader = new UniversalImageLoader(LoginActivity.this);
  83. ImageLoader.getInstance().init(imageLoader.getConfig());
  84. }
  85.  
  86. private boolean isEmpty(String string) {
  87. return string.equals("");
  88. }
  89.  
  90. private void showProgressBar() {
  91. mProgressBar.setVisibility(View.VISIBLE);
  92.  
  93. }
  94.  
  95. private void hideProgressBar() {
  96. if (mProgressBar.getVisibility() == View.VISIBLE) {
  97. mProgressBar.setVisibility(View.INVISIBLE);
  98. }
  99. }
  100.  
  101. private void initProgressBar() {
  102. mProgressBar = (ProgressBar) findViewById(R.id.progressBar);
  103. mProgressBar.setVisibility(View.INVISIBLE);
  104. }
  105.  
  106. private void hideSoftKeyboard() {
  107. this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
  108. }
  109.  
  110.  
  111. /*----------------------------- Firebase ---------------------------------*/
  112.  
  113. private void setupFirebaseAuth() {
  114. Log.d(TAG, "setupFirebaseAuth: started");
  115.  
  116. mAuthListener = new FirebaseAuth.AuthStateListener() {
  117. @Override
  118. public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
  119. FirebaseUser user = firebaseAuth.getCurrentUser();
  120. if (user != null) {
  121.  
  122. //check if email is verified
  123. if (user.isEmailVerified()) {
  124. Log.d(TAG, "onAuthStateChanged: signed_in: " + user.getUid());
  125. Toast.makeText(LoginActivity.this, "Authenticated with: " + user.getEmail(), Toast.LENGTH_SHORT).show();
  126.  
  127. Intent intent = new Intent(LoginActivity.this, SearchActivity.class);
  128. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
  129. startActivity(intent);
  130. finish();
  131.  
  132. } else {
  133. Toast.makeText(LoginActivity.this, "Email is not Verified\nCheck your Inbox", Toast.LENGTH_SHORT).show();
  134. FirebaseAuth.getInstance().signOut();
  135. }
  136.  
  137. } else {
  138. // User is signed out
  139. Log.d(TAG, "onAuthStateChanged: signed_out");
  140. }
  141. // ...
  142. }
  143. };
  144. }
  145.  
  146. @Override
  147. public void onStart() {
  148. super.onStart();
  149. FirebaseAuth.getInstance().addAuthStateListener(mAuthListener);
  150. }
  151.  
  152. @Override
  153. public void onStop() {
  154. super.onStop();
  155. if (mAuthListener != null) {
  156. FirebaseAuth.getInstance().removeAuthStateListener(mAuthListener);
  157. }
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement