Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- final String credentials = Credentials.basic(etUserName.getText().toString(), etPassword.getText().toString());
- final Request request = new Request.Builder()
- .url("")
- .get()
- .addHeader("authorization", credentials)
- .addHeader("cache-control", "no-cache")
- .build();
- new AsyncTask<Request, Integer, String>(){
- @Override
- protected String doInBackground(Request... params) {
- OkHttpClient client = new OkHttpClient();
- try {
- Response response = client.newCall(request).execute();
- String responseBody = response.body().string();
- if (response.isSuccessful()) {
- return responseBody;
- }
- } catch (Exception e) {
- Log.v(TAG, e.toString());
- }
- return null;
- }
- @Override
- protected void onPostExecute(String responseBody) {
- if (responseBody != null) {
- if (createTokenSharedPreferences(responseBody, etUserName.getText().toString())) {
- Intent bNextIntent = new Intent(LoginActivity.this, MainActivity.class);
- startFirebaseServices();
- bNextIntent.putExtra("userName", etUserName.getText());
- bNextIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
- LoginActivity.this.startActivity(bNextIntent);
- return;
- }
- }
- Log.e(TAG, "Login failed!");
- etPassword.setText("");
- v.setClickable(true);
- Toast.makeText(getApplicationContext(), "Wrong credentials. Please try again.", Toast.LENGTH_LONG).show();
- }
- private boolean createTokenSharedPreferences(String responseBody, String userName) {
- try {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
- InputSource userInfo = new InputSource(new StringReader(responseBody));
- Document doc = db.parse(userInfo);
- NodeList nodeList = doc.getElementsByTagName("token");
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
- Element firstElement = (Element) node;
- NodeList valueList = firstElement.getElementsByTagName("value");
- Element valueElement = (Element) valueList.item(0);
- valueList = valueElement.getChildNodes();
- NodeList expiresList = firstElement.getElementsByTagName("expires-in");
- Element expiresElement = (Element) expiresList.item(0);
- expiresList = expiresElement.getChildNodes();
- SharedPreferences.Editor editor = getSharedPreferences(User.LEVEL_1_AUTH_TOKEN, MODE_PRIVATE).edit();
- editor.putString("value", (valueList.item(0)).getNodeValue());
- long expiryTimeS = Long.parseLong((expiresList.item(0)).getNodeValue());
- long currentTimeMS = System.currentTimeMillis();
- editor.putLong("expiryTimeS", expiryTimeS);
- editor.putLong("currentTimeMS", currentTimeMS);
- editor.putString("userName", userName);
- editor.apply();
- }
- } catch (Exception e) {
- Log.e(TAG, "XML Parsing Exception = " + e.toString());
- return false;
- }
- return true;
- }
- }.execute(request);
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement