Advertisement
Guest User

LoginActivity

a guest
Apr 19th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. package com.example.ratih.mtf_go_scanner_java;
  2.  
  3. import android.content.Intent;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.View;
  8. import android.widget.Button;
  9. import android.widget.EditText;
  10. import android.widget.Toast;
  11. import android.content.SharedPreferences;
  12.  
  13. import com.example.ratih.mtf_go_scanner_java.api.ApiHelper;
  14. import com.example.ratih.mtf_go_scanner_java.api.req.LoginReq;
  15. import com.example.ratih.mtf_go_scanner_java.api.resp.BaseResp;
  16. import com.example.ratih.mtf_go_scanner_java.api.resp.LoginResp;
  17. import com.google.gson.Gson;
  18.  
  19. import retrofit2.Call;
  20. import retrofit2.Callback;
  21. import retrofit2.Response;
  22.  
  23. public class LoginActivity extends AppCompatActivity {
  24.  
  25. Button btnLogin;
  26. EditText edUname, edPass;
  27. ApiHelper apiHelper;
  28. SessionManager session;
  29. public static final String TAG = "MTF-GO";
  30.  
  31. @Override
  32. protected void onCreate(Bundle savedInstanceState) {
  33. super.onCreate(savedInstanceState);
  34. setContentView(R.layout.activity_login);
  35.  
  36. btnLogin = (Button) findViewById(R.id.btnLogin);
  37. edUname = (EditText) findViewById(R.id.edUname);
  38. edPass = (EditText) findViewById(R.id.edPass);
  39. session = new SessionManager(getApplicationContext());
  40.  
  41. btnLogin.setOnClickListener(new View.OnClickListener() {
  42. @Override
  43. public void onClick(View v) {
  44. login();
  45. }
  46. });
  47.  
  48. if(session.isLoggedIn()){
  49. startActivity(new Intent(LoginActivity.this, MainActivity.class));
  50. finish();
  51. }
  52. }
  53.  
  54. public void login() {
  55. Log.d(TAG, "Login");
  56.  
  57. if (validate() == false) {
  58. onLoginFailed();
  59. return;
  60. }
  61. requestLogin();
  62. }
  63.  
  64.  
  65. private void requestLogin() {
  66. final String username = edUname.getText().toString();
  67. String password = edPass.getText().toString();
  68. apiHelper = ApiHelper.getInstance();
  69.  
  70. Call<BaseResp<LoginResp>> call = apiHelper.login(username, password);
  71. call.enqueue(new Callback<BaseResp<LoginResp>>() {
  72. @Override
  73. public void onResponse(Call<BaseResp<LoginResp>> call, Response<BaseResp<LoginResp>> response) {
  74. if (response.isSuccessful()) {
  75. if (response.body().isSuccess()) {
  76. String id = response.body().getData().getId();
  77. String token = response.body().getData().getToken();
  78. session.savePrefString(SessionManager.KEY_ID,id);
  79. session.savePrefString(SessionManager.KEY_TOKEN,token);
  80. session.savePrefBoolean(SessionManager.IS_LOGIN, true);
  81. startActivity(new Intent(LoginActivity.this, MainActivity.class));
  82. Toast.makeText(LoginActivity.this, "Succesfully login", Toast.LENGTH_SHORT).show();
  83. finish();
  84. } else if (response.body().isNotFound() && response.body().isTokenExpired()){
  85. Toast.makeText(getBaseContext(), "Username or password is incorrect", Toast.LENGTH_SHORT).show();
  86. btnLogin.setEnabled(true);
  87. }
  88. } else {
  89. Log.d("onResponse", "" + response.body().getMessage());
  90. Toast.makeText(LoginActivity.this, "Please try again", Toast.LENGTH_SHORT).show();
  91. }
  92. }
  93.  
  94. @Override
  95. public void onFailure(Call<BaseResp<LoginResp>> call, Throwable t) {
  96. Log.e("debug", "onFailure: ERROR > " + t.toString());
  97. }
  98. });
  99. }
  100.  
  101. public void onLoginFailed() {
  102. Toast.makeText(getBaseContext(), "Login failed", Toast.LENGTH_LONG).show();
  103.  
  104. btnLogin.setEnabled(true);
  105. }
  106.  
  107. public boolean validate() {
  108. boolean valid = true;
  109.  
  110. String username = edUname.getText().toString();
  111. String password = edPass.getText().toString();
  112.  
  113. if (username.isEmpty()) {
  114. edUname.setError("Username is empty");
  115. valid = false;
  116. } else {
  117. edUname.setError(null);
  118. }
  119.  
  120. if (password.isEmpty()) {
  121. edPass.setError("Password is empty");
  122. valid = false;
  123. } else {
  124. edPass.setError(null);
  125. }
  126.  
  127. return valid;
  128. };
  129.  
  130.  
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement