SHARE
TWEET

Login

a guest Jun 25th, 2019 106 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top