- 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<ItemUser> call = services.Login(username, password);
- call.enqueue(new Callback<ItemUser>() {
- @Override
- public void onResponse(Call<ItemUser> call, Response<ItemUser> 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<ItemUser> call, Throwable t) {
- Toast.makeText(LoginActivity.this, "Error Try "+t.getMessage(), Toast.LENGTH_SHORT).show();
- }
- });
- }
- }