Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package asap20.com.tracker;
- import android.content.Intent;
- import android.os.Bundle;
- import android.text.TextUtils;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.Toast;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import androidx.appcompat.app.AppCompatActivity;
- import com.google.android.gms.tasks.OnCompleteListener;
- import com.google.android.gms.tasks.Task;
- import com.google.firebase.auth.AuthResult;
- import com.google.firebase.auth.FirebaseAuth;
- import com.google.firebase.auth.FirebaseUser;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.rengwuxian.materialedittext.MaterialEditText;
- import asap20.com.tracker.model.Admin;
- public class Login extends AppCompatActivity {
- TextView btnTracker, btnYangDiTrack;
- Button btnLogin;
- MaterialEditText fieldUsername, fieldPassword;
- String mode="tracker";
- FirebaseAuth auth;
- DatabaseReference databaseReference;
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- databaseReference = FirebaseDatabase.getInstance().getReference();
- auth = FirebaseAuth.getInstance();
- btnTracker = findViewById(R.id.loginBtnTracker);
- btnYangDiTrack = findViewById(R.id.loginBtnYangDiTrack);
- btnLogin = findViewById(R.id.loginBtnLogin);
- fieldUsername = findViewById(R.id.loginFieldUsername);
- fieldPassword = findViewById(R.id.loginFieldPassword);
- btnLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- signIn();
- }
- });
- btnTracker.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mode = "tracker";
- switchButtonPrevilages();
- }
- });
- btnYangDiTrack.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mode = "yangditrack";
- switchButtonPrevilages();
- }
- });
- }
- private void switchButtonPrevilages(){
- if (mode.equalsIgnoreCase("tracker")){
- btnTracker.setBackgroundResource(R.drawable.borderwhite);
- btnTracker.setTextColor(getResources().getColor(R.color.colorPrimary));
- btnYangDiTrack.setBackgroundResource(0);
- btnYangDiTrack.setTextColor(getResources().getColor(R.color.white));
- } else {
- btnTracker.setBackgroundResource(0);
- btnTracker.setTextColor(getResources().getColor(R.color.white));
- btnYangDiTrack.setBackgroundResource(R.drawable.borderwhite);
- btnYangDiTrack.setTextColor(getResources().getColor(R.color.colorPrimary));
- }
- }
- private void signIn(){
- Log.d("signin", "signin");
- if (!validateForm()){
- return;
- }
- String email = fieldUsername.getText().toString();
- String pass = fieldPassword.getText().toString();
- auth.signInWithEmailAndPassword(email,pass)
- .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- Log.d("sukses", "sukses " + task.isSuccessful());
- //hideprogressdialog
- if (task.isSuccessful()){
- onAuthSuccess(task.getResult().getUser());
- } else {
- Toast.makeText(Login.this, "GAGAL", Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- //auth berhasil
- private void onAuthSuccess(FirebaseUser use){
- String username = usernameFromEmail(use.getEmail());
- //membuat user admin baru
- writeNewAdmin(use.getUid(), username, use.getEmail());
- //goto main activity
- startActivity(new Intent(Login.this, MainActivity.class));
- finish();
- }
- private String usernameFromEmail(String email) {
- if (email.contains("@")) {
- return email.split("@")[0];
- } else {
- return email;
- }
- }
- // menulis ke Database
- private void writeNewAdmin(String userId, String name, String email) {
- Admin admin = new Admin(name, email);
- databaseReference.child("admins").child(userId).setValue(admin);
- }
- private boolean validateForm() {
- boolean result = true;
- if (TextUtils.isEmpty(fieldUsername.getText().toString())) {
- fieldUsername.setError("Required");
- result = false;
- } else {
- fieldUsername.setError(null);
- }
- if (TextUtils.isEmpty(fieldPassword.getText().toString())) {
- fieldPassword.setError("Required");
- result = false;
- } else {
- fieldPassword.setError(null);
- }
- return result;
- }
- }
- Login
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement