· 7 years ago · Mar 11, 2018, 02:56 PM
1package com.example.geowan.bamburicementnativeandroid.auth;
2
3import android.app.ProgressDialog;
4import android.support.v7.app.AppCompatActivity;
5import android.os.Bundle;
6import android.util.Log;
7import android.view.View;
8import android.widget.Button;
9import android.widget.EditText;
10import android.widget.Toast;
11
12import com.example.geowan.bamburicementnativeandroid.R;
13import com.example.geowan.bamburicementnativeandroid.helpers.ApiHelper;
14import com.example.geowan.bamburicementnativeandroid.helpers.ApiSingleton;
15import com.example.geowan.bamburicementnativeandroid.helpers.interfaces.OnLoginCallback;
16import com.example.geowan.bamburicementnativeandroid.helpers.services.AuthService;
17
18import org.json.JSONException;
19import org.json.JSONObject;
20
21
22public class LoginActivity extends AppCompatActivity implements OnLoginCallback {
23
24 private String loginurl = ApiHelper.FRONTEND_APP_URL + "oauth/token";
25 private String error_String = ApiHelper.ERROR_REFERENCE_STRING;
26
27 Button login_btn;
28 private Boolean form_valid = false;
29 EditText login_username;
30 EditText login_password;
31 ApiSingleton singleton;
32 private String TAG = "geowan";
33 private ProgressDialog progress;
34 AuthService authservice;
35
36 @Override
37 protected void onCreate(Bundle savedInstanceState) {
38 super.onCreate(savedInstanceState);
39 setContentView(R.layout.activity_login);
40 authservice = new AuthService(getApplicationContext());
41 login_btn = (Button) findViewById(R.id.btn_login);
42 login_username = (EditText) findViewById(R.id.input_username);
43 login_password = (EditText) findViewById(R.id.input_password);
44 //implement a login screen
45 login_btn.setOnClickListener(new View.OnClickListener() {
46 @Override
47 public void onClick(View v) {
48 trylogin(v);
49 }
50 });
51
52 }
53
54 public void trylogin(View view) {
55 login_btn.setActivated(false);
56 if (!validateform()) {
57 showToastMsg("Check the above errors and correct before trying again.");
58 return;
59 }
60 progress=new ProgressDialog(this);
61 progress.setMessage("Logging in ...");
62 progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
63 progress.setIndeterminate(true);
64 progress.show();
65
66
67 JSONObject postparams = new JSONObject();
68 try {
69 postparams.put("username", login_username.getText());
70 postparams.put("password", login_password.getText());
71 postparams.put("client_secret", ApiHelper.PASSPORT_CLIENT_SECRET);
72 postparams.put("grant_type", ApiHelper.PASSORT_GRANT_TYPE);
73 postparams.put("client_id", ApiHelper.PASSPORT_CLIENT_ID);
74 } catch (JSONException e) {
75 e.printStackTrace();
76 }
77
78 authservice.login(loginurl, postparams);
79
80 }
81 public boolean validateform() {
82 form_valid = true;
83
84 String email = login_username.getText().toString();
85 String password = login_password.getText().toString();
86
87 if (email.isEmpty()) {
88 login_username.setError("Username is Mandatory");
89 form_valid = false;
90 } else {
91 login_username.setError(null);
92 }
93
94 if (password.isEmpty()) {
95 login_password.setError("Password is mandatory");
96 form_valid = false;
97 } else {
98 login_password.setError(null);
99 }
100
101 return form_valid;
102 }
103
104 public void showToastMsg(String msg) {
105 Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
106 }
107
108
109 @Override
110 public void loginResponse(boolean loggedin) {
111 Log.i(TAG, "Loggedin successifully"+loggedin);
112 }
113}