Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.ratih.mtf_go_scanner_java;
- import android.content.Intent;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- import android.content.SharedPreferences;
- import com.example.ratih.mtf_go_scanner_java.api.ApiHelper;
- import com.example.ratih.mtf_go_scanner_java.api.req.LoginReq;
- import com.example.ratih.mtf_go_scanner_java.api.resp.BaseResp;
- import com.example.ratih.mtf_go_scanner_java.api.resp.LoginResp;
- import com.google.gson.Gson;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Response;
- public class LoginActivity extends AppCompatActivity {
- Button btnLogin;
- EditText edUname, edPass;
- ApiHelper apiHelper;
- SessionManager session;
- public static final String TAG = "MTF-GO";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_login);
- btnLogin = (Button) findViewById(R.id.btnLogin);
- edUname = (EditText) findViewById(R.id.edUname);
- edPass = (EditText) findViewById(R.id.edPass);
- session = new SessionManager(getApplicationContext());
- btnLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- login();
- }
- });
- if(session.isLoggedIn()){
- startActivity(new Intent(LoginActivity.this, MainActivity.class));
- finish();
- }
- }
- public void login() {
- Log.d(TAG, "Login");
- if (validate() == false) {
- onLoginFailed();
- return;
- }
- requestLogin();
- }
- private void requestLogin() {
- final String username = edUname.getText().toString();
- String password = edPass.getText().toString();
- apiHelper = ApiHelper.getInstance();
- Call<BaseResp<LoginResp>> call = apiHelper.login(username, password);
- call.enqueue(new Callback<BaseResp<LoginResp>>() {
- @Override
- public void onResponse(Call<BaseResp<LoginResp>> call, Response<BaseResp<LoginResp>> response) {
- if (response.isSuccessful()) {
- if (response.body().isSuccess()) {
- String id = response.body().getData().getId();
- String token = response.body().getData().getToken();
- session.savePrefString(SessionManager.KEY_ID,id);
- session.savePrefString(SessionManager.KEY_TOKEN,token);
- session.savePrefBoolean(SessionManager.IS_LOGIN, true);
- startActivity(new Intent(LoginActivity.this, MainActivity.class));
- Toast.makeText(LoginActivity.this, "Succesfully login", Toast.LENGTH_SHORT).show();
- finish();
- } else if (response.body().isNotFound() && response.body().isTokenExpired()){
- Toast.makeText(getBaseContext(), "Username or password is incorrect", Toast.LENGTH_SHORT).show();
- btnLogin.setEnabled(true);
- }
- } else {
- Log.d("onResponse", "" + response.body().getMessage());
- Toast.makeText(LoginActivity.this, "Please try again", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onFailure(Call<BaseResp<LoginResp>> call, Throwable t) {
- Log.e("debug", "onFailure: ERROR > " + t.toString());
- }
- });
- }
- public void onLoginFailed() {
- Toast.makeText(getBaseContext(), "Login failed", Toast.LENGTH_LONG).show();
- btnLogin.setEnabled(true);
- }
- public boolean validate() {
- boolean valid = true;
- String username = edUname.getText().toString();
- String password = edPass.getText().toString();
- if (username.isEmpty()) {
- edUname.setError("Username is empty");
- valid = false;
- } else {
- edUname.setError(null);
- }
- if (password.isEmpty()) {
- edPass.setError("Password is empty");
- valid = false;
- } else {
- edPass.setError(null);
- }
- return valid;
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement