package com.pkl.aplikasilogin; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.view.WindowManager; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import com.pkl.aplikasilogin._api.ApiServices; import com.pkl.aplikasilogin._api.ApiUrl; import com.pkl.aplikasilogin._modul.ItemUser; import com.pkl.aplikasilogin._modul.ResponseApiModul; import com.pkl.aplikasilogin._util.SessionManager; import java.lang.reflect.Type; import java.nio.IntBuffer; import java.util.BitSet; import java.util.Collection; import java.util.List; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; public class LoginActivity extends AppCompatActivity { private EditText edUsername, edPassword; private TextView name, email, phone, gender, date; SessionManager sessionManager; @Override protected void onCreate(Bundle savedInstanceState){ // getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, // WindowManager.LayoutParams.FLAG_FULLSCREEN); super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); sessionManager = new SessionManager(this); edUsername = (EditText) findViewById(R.id.username); edPassword = (EditText) findViewById(R.id.password); Button btnLogin = (Button) findViewById(R.id.btn_login); btnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String username = String.valueOf(edUsername.getText()); String password = String.valueOf(edPassword.getText()); name = findViewById(R.id.txtUsername); email = findViewById(R.id.txtEmail); phone = findViewById(R.id.txtPhone); gender = findViewById(R.id.txtGender); date = findViewById(R.id.txtDate); if (username.equals("")){ edUsername.setError("Harap diisi"); } else if (password.equals("")){ edPassword.setError("Harap diisi"); } else { sendTokenToServer(username, password); } } }); } public void sendTokenToServer (String username, String password){ Gson gson = new GsonBuilder() .setLenient() .create(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(ApiUrl.URL_HEAD) .addConverterFactory(GsonConverterFactory.create(gson)) .build(); ApiServices services = retrofit.create(ApiServices.class); Call call = services.Login(username, password); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()){ Boolean status = Boolean.valueOf(response.body().getStatus()); if (status){ String message = response.body().getMessage(); String username = response.body().getUsername(); String name = response.body().getName(); String email = response.body().getEmail(); String phone = response.body().getNoHandphone(); String gender = response.body().getJenisKelamin(); String date = response.body().getDateOfBirthday(); String id = response.body().getId(); String token = response.body().getAuthentifikasi(); sessionManager.createSession(name, email, phone, gender, date, id); String error = "Sukses, "+message; Toast.makeText(LoginActivity.this, error, Toast.LENGTH_SHORT).show(); finish(); Intent goMain = new Intent(LoginActivity.this, MainActivity.class); goMain.putExtra("username", username); goMain.putExtra("token", token); goMain.putExtra("name", name); goMain.putExtra("email", email); goMain.putExtra("phone", phone); goMain.putExtra("gender", gender); goMain.putExtra("date", date); startActivity(goMain); } else { String message = response.body().getMessage(); String error = "Gagal, "+message; Toast.makeText(LoginActivity.this, error, Toast.LENGTH_SHORT).show(); } } else { String error = "Error Retrive Data From Server"; Toast.makeText(LoginActivity.this, error, Toast.LENGTH_SHORT).show(); } } @Override public void onFailure(Call call, Throwable t) { Toast.makeText(LoginActivity.this, "Error Try "+t.getMessage(), Toast.LENGTH_SHORT).show(); } }); } }