Advertisement
Guest User

Login

a guest
Jun 25th, 2019
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.25 KB | None | 0 0
  1. package asap20.com.tracker;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.text.TextUtils;
  6. import android.util.Log;
  7. import android.view.View;
  8. import android.widget.Button;
  9. import android.widget.TextView;
  10. import android.widget.Toast;
  11.  
  12. import androidx.annotation.NonNull;
  13. import androidx.annotation.Nullable;
  14. import androidx.appcompat.app.AppCompatActivity;
  15.  
  16. import com.google.android.gms.tasks.OnCompleteListener;
  17. import com.google.android.gms.tasks.Task;
  18. import com.google.firebase.auth.AuthResult;
  19. import com.google.firebase.auth.FirebaseAuth;
  20. import com.google.firebase.auth.FirebaseUser;
  21. import com.google.firebase.database.DatabaseReference;
  22. import com.google.firebase.database.FirebaseDatabase;
  23. import com.rengwuxian.materialedittext.MaterialEditText;
  24.  
  25. import asap20.com.tracker.model.Admin;
  26.  
  27. public class Login extends AppCompatActivity {
  28.  
  29.     TextView btnTracker, btnYangDiTrack;
  30.     Button btnLogin;
  31.     MaterialEditText fieldUsername, fieldPassword;
  32.     String mode="tracker";
  33.  
  34.     FirebaseAuth auth;
  35.     DatabaseReference databaseReference;
  36.  
  37.     @Override
  38.     protected void onCreate(@Nullable Bundle savedInstanceState) {
  39.         super.onCreate(savedInstanceState);
  40.  
  41.         databaseReference = FirebaseDatabase.getInstance().getReference();
  42.         auth = FirebaseAuth.getInstance();
  43.  
  44.         btnTracker = findViewById(R.id.loginBtnTracker);
  45.         btnYangDiTrack = findViewById(R.id.loginBtnYangDiTrack);
  46.         btnLogin = findViewById(R.id.loginBtnLogin);
  47.         fieldUsername = findViewById(R.id.loginFieldUsername);
  48.         fieldPassword = findViewById(R.id.loginFieldPassword);
  49.  
  50.         btnLogin.setOnClickListener(new View.OnClickListener() {
  51.             @Override
  52.             public void onClick(View v) {
  53.                 signIn();
  54.             }
  55.         });
  56.  
  57.         btnTracker.setOnClickListener(new View.OnClickListener() {
  58.             @Override
  59.             public void onClick(View v) {
  60.                 mode = "tracker";
  61.                 switchButtonPrevilages();
  62.             }
  63.         });
  64.  
  65.         btnYangDiTrack.setOnClickListener(new View.OnClickListener() {
  66.             @Override
  67.             public void onClick(View v) {
  68.                 mode = "yangditrack";
  69.                 switchButtonPrevilages();
  70.             }
  71.         });
  72.     }
  73.  
  74.     private void switchButtonPrevilages(){
  75.         if (mode.equalsIgnoreCase("tracker")){
  76.             btnTracker.setBackgroundResource(R.drawable.borderwhite);
  77.             btnTracker.setTextColor(getResources().getColor(R.color.colorPrimary));
  78.             btnYangDiTrack.setBackgroundResource(0);
  79.             btnYangDiTrack.setTextColor(getResources().getColor(R.color.white));
  80.         } else {
  81.             btnTracker.setBackgroundResource(0);
  82.             btnTracker.setTextColor(getResources().getColor(R.color.white));
  83.             btnYangDiTrack.setBackgroundResource(R.drawable.borderwhite);
  84.             btnYangDiTrack.setTextColor(getResources().getColor(R.color.colorPrimary));
  85.         }
  86.     }
  87.  
  88.     private void signIn(){
  89.         Log.d("signin", "signin");
  90.         if (!validateForm()){
  91.             return;
  92.         }
  93.  
  94.         String email = fieldUsername.getText().toString();
  95.         String pass = fieldPassword.getText().toString();
  96.  
  97.         auth.signInWithEmailAndPassword(email,pass)
  98.                 .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
  99.                     @Override
  100.                     public void onComplete(@NonNull Task<AuthResult> task) {
  101.                         Log.d("sukses", "sukses " + task.isSuccessful());
  102.                         //hideprogressdialog
  103.  
  104.                         if (task.isSuccessful()){
  105.                             onAuthSuccess(task.getResult().getUser());
  106.                         } else {
  107.                             Toast.makeText(Login.this, "GAGAL", Toast.LENGTH_SHORT).show();
  108.                         }
  109.                     }
  110.                 });
  111.     }
  112.  
  113.     //auth berhasil
  114.     private void onAuthSuccess(FirebaseUser use){
  115.         String username = usernameFromEmail(use.getEmail());
  116.  
  117.         //membuat user admin baru
  118.         writeNewAdmin(use.getUid(), username, use.getEmail());
  119.  
  120.         //goto main activity
  121.         startActivity(new Intent(Login.this, MainActivity.class));
  122.         finish();
  123.     }
  124.  
  125.     private String usernameFromEmail(String email) {
  126.         if (email.contains("@")) {
  127.             return email.split("@")[0];
  128.         } else {
  129.             return email;
  130.         }
  131.     }
  132.  
  133.     // menulis ke Database
  134.     private void writeNewAdmin(String userId, String name, String email) {
  135.         Admin admin = new Admin(name, email);
  136.  
  137.         databaseReference.child("admins").child(userId).setValue(admin);
  138.     }
  139.  
  140.     private boolean validateForm() {
  141.         boolean result = true;
  142.         if (TextUtils.isEmpty(fieldUsername.getText().toString())) {
  143.             fieldUsername.setError("Required");
  144.             result = false;
  145.         } else {
  146.             fieldUsername.setError(null);
  147.         }
  148.  
  149.         if (TextUtils.isEmpty(fieldPassword.getText().toString())) {
  150.             fieldPassword.setError("Required");
  151.             result = false;
  152.         } else {
  153.             fieldPassword.setError(null);
  154.         }
  155.  
  156.         return result;
  157.     }
  158.  
  159. }
  160. Login
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement