Advertisement
Guest User

fit

a guest
Jul 25th, 2016
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.66 KB | None | 0 0
  1. package pi.laundry.com.laundrypi;
  2.  
  3. import android.os.Bundle;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.app.ProgressDialog;
  6. import android.support.v7.widget.AppCompatButton;
  7. import android.support.v7.widget.AppCompatEditText;
  8. import android.util.Log;
  9.  
  10. import android.content.Intent;
  11. import android.view.View;
  12. import android.widget.Button;
  13. import android.widget.EditText;
  14. import android.widget.TextView;
  15. import android.widget.Toast;
  16.  
  17. import butterknife.ButterKnife;
  18. import butterknife.BindView;
  19. import com.android.volley.AuthFailureError;
  20. import com.android.volley.Request.Method;
  21. import com.android.volley.Response;
  22. import com.android.volley.VolleyError;
  23. import com.android.volley.toolbox.StringRequest;
  24. import com.android.volley.toolbox.HttpHeaderParser;
  25.  
  26. import org.json.JSONException;
  27. import org.json.JSONObject;
  28.  
  29. import java.util.HashMap;
  30. import java.util.Map;
  31.  
  32. import pi.laundry.com.laundrypi.AppConfig;
  33. import pi.laundry.com.laundrypi.AppController;
  34. import pi.laundry.com.laundrypi.SQLiteHandler;
  35. import pi.laundry.com.laundrypi.SessionManager;
  36.  
  37. /**
  38. * Created by mydisha on 7/6/16.
  39. */
  40. public class LoginActivity extends AppCompatActivity {
  41.  
  42. private static final String TAG = SignUpActivity.class.getSimpleName();
  43.  
  44. @BindView(R.id.txtEmail)
  45. AppCompatEditText txtEmail;
  46. @BindView(R.id.txtPassword) AppCompatEditText txtPassword;
  47. @BindView(R.id.btn_login) AppCompatButton btnLogin;
  48. @BindView(R.id.btn_signup) AppCompatButton _btnSignUp;
  49.  
  50. private ProgressDialog pDialog;
  51. private SessionManager session;
  52. private SQLiteHandler db;
  53. @Override protected void onCreate(Bundle savedInstanceState) {
  54. super.onCreate(savedInstanceState);
  55. setContentView(R.layout.activity_login);
  56. ButterKnife.bind(this);
  57.  
  58. pDialog = new ProgressDialog(this);
  59. pDialog.setCancelable(false);
  60. db = new SQLiteHandler(getApplicationContext());
  61. session = new SessionManager(getApplicationContext());
  62.  
  63. _btnSignUp.setOnClickListener(new View.OnClickListener() {
  64. @Override
  65. public void onClick(View v) {
  66. Intent intent = new Intent(getApplicationContext(), SignUpActivity.class);
  67. startActivityForResult(intent, 0);
  68. }
  69. });
  70.  
  71. btnLogin.setOnClickListener(new View.OnClickListener() {
  72. @Override
  73. public void onClick(View v) {
  74. String email = txtEmail.getText().toString().trim();
  75. String password = txtPassword.getText().toString().trim();
  76.  
  77. if (!email.isEmpty() && !password.isEmpty()) {
  78. checkLogin(email,password);
  79. } else {
  80. Toast.makeText(getApplicationContext(),
  81. "Email / Password masih kosong!", Toast.LENGTH_LONG)
  82. .show();
  83. }
  84. }
  85. });
  86.  
  87. if (session.isLoggedIn()) {
  88. Intent intent = new Intent(LoginActivity.this, MainActivity.class);
  89. startActivity(intent);
  90. finish();
  91. }
  92. }
  93.  
  94. private void checkLogin(final String email, final String password) {
  95. String tag_string_req = "req_login";
  96. pDialog.setMessage("Sedang Login...");
  97. showDialog();
  98.  
  99. StringRequest strReq = new StringRequest(Method.POST, AppConfig.API_LOGIN, new Response.Listener<String>() {
  100.  
  101. @Override
  102. public void onResponse(String response) {
  103. Log.d(TAG, "Login Response :" + response.toString());
  104. hideDialog();
  105.  
  106. try {
  107. JSONObject jObj = new JSONObject(response);
  108. String error = jObj.getString("error");
  109.  
  110. if (error.equals("false")) {
  111. session.setLogin(true);
  112.  
  113. JSONObject created = jObj.getJSONObject("created");
  114. String token = jObj.getString("token");
  115. Integer user_id = jObj.getInt("userid");
  116. String username = jObj.getString("username");
  117. String email = jObj.getString("email");
  118. String created_at = created.getString("date");
  119.  
  120. db.addUser(user_id, username, email, token, created_at);
  121. // Toast.makeText(getApplicationContext(), "Username : " + username + "Token : " + token, Toast.LENGTH_SHORT).show();
  122. Intent intent = new Intent(LoginActivity.this, MainActivity.class);
  123. startActivity(intent);
  124. finish();
  125. } else if (error.equals("incorect")) {
  126. // String errorMsg = "Password / Email salah!";
  127. String gagal = jObj.getString("message");
  128. Toast.makeText(getApplicationContext(), gagal, Toast.LENGTH_LONG).show();
  129. } else {
  130. String gagal = jObj.getString("message");
  131. Toast.makeText(getApplicationContext(), gagal, Toast.LENGTH_LONG).show();
  132. }
  133. } catch (JSONException e) {
  134. e.printStackTrace();
  135. Toast.makeText(getApplicationContext(), "Json Error : " + e.getMessage(), Toast.LENGTH_LONG).show();
  136. }
  137. }
  138. }, new Response.ErrorListener() {
  139. public void onErrorResponse(VolleyError error) {
  140. Log.e(TAG, "Login Error :" + error.getMessage());
  141. Toast.makeText(getApplicationContext(), "Gagal Terhubung ke Server", Toast.LENGTH_LONG).show();
  142. hideDialog();
  143. }
  144. }) {
  145. @Override
  146. protected Map<String, String> getParams() {
  147. Map<String, String> params = new HashMap<String, String>();
  148. params.put("email", email);
  149. params.put("password", password);
  150.  
  151. return params;
  152. }
  153.  
  154. // @Override
  155. // public Map<String, String> getHeaders() throws AuthFailureError {
  156. // Map<String, String> headers = new HashMap<String, String>();
  157. //
  158. // headers.put("Content-Type", "application/json; charset=utf-8");
  159. //
  160. // return headers;
  161. // }
  162. };
  163. AppController.getmInstance().addToRequestQueue(strReq, tag_string_req);
  164. }
  165.  
  166. private void showDialog() {
  167. if (!pDialog.isShowing())
  168. pDialog.show();
  169. }
  170.  
  171. private void hideDialog() {
  172. if (pDialog.isShowing())
  173. pDialog.dismiss();
  174. }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement