Guest User

Untitled

a guest
Aug 26th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.52 KB | None | 0 0
  1. package com.fixazimbabwe.android.app;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.annotation.NonNull;
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.view.Menu;
  8. import android.view.MenuItem;
  9. import android.view.View;
  10. import android.widget.Button;
  11. import android.widget.EditText;
  12. import android.widget.Toast;
  13.  
  14. import com.google.android.gms.tasks.OnCompleteListener;
  15. import com.google.android.gms.tasks.Task;
  16. import com.google.firebase.auth.AuthResult;
  17. import com.google.firebase.auth.FirebaseAuth;
  18. import com.google.firebase.auth.FirebaseUser;
  19. import com.google.firebase.database.DatabaseReference;
  20. import com.google.firebase.database.FirebaseDatabase;
  21.  
  22. public class MainActivity extends AppCompatActivity {
  23. private android.support.v7.widget.Toolbar toolbar;
  24. private EditText mEmail, mPassword;
  25. private Button mLogin, mRegistration, mWork;
  26. private FirebaseAuth mAuth;
  27. private FirebaseAuth.AuthStateListener firebaseAuthListener;
  28. @Override
  29. protected void onCreate(Bundle savedInstanceState) {
  30. super.onCreate(savedInstanceState);
  31. setContentView(com.fixazimbabwe.android.app.R.layout.activity_main);
  32. toolbar = findViewById(R.id.toolbar);
  33. setSupportActionBar(toolbar);
  34. if (getSupportActionBar() != null) {
  35. getSupportActionBar().setTitle("Fixa Login");
  36. }
  37. toolbar.setSubtitle("we fix everything");
  38. toolbar.inflateMenu(R.menu.menu_main);
  39. mAuth = FirebaseAuth.getInstance();
  40. firebaseAuthListener = (FirebaseAuth firebaseAuth) -> {
  41. FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
  42. if(user!=null){
  43. Intent intent = new Intent(MainActivity.this, PayOrPostActivity.class);
  44. startActivity(intent);
  45. finish();
  46. return;
  47. }
  48. };
  49.  
  50. mEmail = findViewById(com.fixazimbabwe.android.app.R.id.emailEditText);
  51. mPassword = findViewById(com.fixazimbabwe.android.app.R.id.passwordEditText);
  52. mLogin = findViewById(com.fixazimbabwe.android.app.R.id.loginButton);
  53. mRegistration = findViewById(com.fixazimbabwe.android.app.R.id.registerButton);
  54. mWork = findViewById(com.fixazimbabwe.android.app.R.id.applyButton);
  55. //Go to the Fixa Pros Application welcome activity
  56. mWork.setOnClickListener(v -> {
  57. Intent intent = new Intent(MainActivity.this, FixaProApplicationActivity.class);
  58. startActivity(intent);
  59. });
  60.  
  61.  
  62. //Register a customer
  63. mRegistration.setOnClickListener((View v) -> {
  64. final String email = mEmail.getText().toString();
  65. final String password = mPassword.getText().toString();
  66.  
  67. mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
  68.  
  69. @Override
  70. public void onComplete(@NonNull Task<AuthResult> task) {
  71. if(!task.isSuccessful()){
  72. Toast.makeText(MainActivity.this, "Login Error", Toast.LENGTH_SHORT).show();
  73. }else {
  74. String user_id = mAuth.getCurrentUser().getUid();
  75. DatabaseReference current_user_db = FirebaseDatabase.getInstance().getReference().child("Users").child("Customers").child(user_id).child("name");
  76. current_user_db.setValue(email);
  77. }
  78. }
  79. });
  80. });
  81.  
  82. //Login a customer
  83. mLogin.setOnClickListener(v -> {
  84. final String email = mEmail.getText().toString();
  85. final String password = mPassword.getText().toString();
  86. mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
  87. @Override
  88. public void onComplete(@NonNull Task<AuthResult> task) {
  89. if(!task.isSuccessful()){
  90. Toast.makeText(MainActivity.this, "Login Error", Toast.LENGTH_SHORT).show();
  91.  
  92. }
  93. }
  94. });
  95. });
  96. }
  97.  
  98. @Override
  99. public boolean onCreateOptionsMenu(Menu menu) {
  100. // Inflate the menu; this adds items to the action bar if it is present.
  101. getMenuInflater().inflate(R.menu.menu_main, menu);
  102. return true;
  103. }
  104.  
  105. @Override
  106. public boolean onOptionsItemSelected(MenuItem item) {
  107. // Handle action bar item clicks here. The action bar will
  108. // automatically handle clicks on the Home/Up button, so long
  109. // as you specify a parent activity in AndroidManifest.xml.
  110. int id = item.getItemId();
  111.  
  112. //noinspection SimplifiableIfStatement
  113.  
  114. if (id == R.id.action_logout) {
  115.  
  116. FirebaseAuth.getInstance().signOut();
  117. return true;
  118. }
  119.  
  120. if (id == R.id.action_apply) {
  121. Intent intent = new Intent(this,FixaProApplicationFormActivity.class);
  122. this.startActivity(intent);
  123. return true;
  124. }
  125.  
  126. if (id == R.id.action_home) {
  127. Intent intent = new Intent(this,WelcomeActivity.class);
  128. this.startActivity(intent);
  129. return true;
  130. }
  131.  
  132. return super.onOptionsItemSelected(item);
  133. }
  134.  
  135.  
  136. @Override
  137. protected void onStart() {
  138. super.onStart();
  139. mAuth.addAuthStateListener(firebaseAuthListener);
  140. }
  141. @Override
  142. protected void onStop() {
  143. super.onStop();
  144. mAuth.removeAuthStateListener(firebaseAuthListener);
  145. }
  146. }
Add Comment
Please, Sign In to add comment