Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.android.sumbangin_android;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.EditText;
- import android.widget.Toast;
- import com.example.android.sumbangin_android.preferences.AppPreference;
- import com.example.android.sumbangin_android.service.Api;
- import com.example.android.sumbangin_android.service.ServiceGenerator;
- import com.example.android.sumbangin_android.service.UserSerializer;
- import java.io.Serializable;
- import java.util.HashMap;
- import java.util.Map;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Response;
- public class SignIn extends BaseActivity implements Serializable {
- EditText emailAddress;
- EditText password;
- Api api;
- AppPreference appPreference;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_sign_in);
- appPreference = getPref();
- emailAddress = findViewById(R.id.edittext_signin_email);
- password = findViewById(R.id.edittext_signin_password);
- api = ServiceGenerator.createService(Api.class);
- }
- public void onSignInButtonClick(View view) {
- if(requiredFields()) {
- if (view.getId() == R.id.button_signin_signin) {
- makeRequest(api, getTextData());
- }
- }
- }
- private Map<String, String> getTextData() {
- Map<String, String> fields = new HashMap<>();
- fields.put("email", emailAddress.getText().toString());
- fields.put("password", password.getText().toString();
- }
- public void makeRequest(Api api, Map<String, String> fields) {
- Call<UserSerializer> user = api.loginRequest(fields);
- user.enqueue(new Callback<UserSerializer>() {
- @Override
- public void onResponse(Call<UserSerializer> call, Response<UserSerializer> response) {
- if(response.isSuccessful()){
- appPreference.loggedIn();
- appPreference.removeKey("user");
- appPreference.saveUser(response.body());
- Intent i = new Intent(SignIn.this, MainActivity.class);
- startActivity(i);
- }
- else{
- Toast.makeText(SignIn.this, "Email atau Password salah", Toast.LENGTH_LONG).show();
- }
- }
- @Override
- public void onFailure(Call<UserSerializer> call, Throwable t) {
- Toast.makeText(SignIn.this, "Error", Toast.LENGTH_SHORT).show();
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement