Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.57 KB | None | 0 0
  1. final String credentials = Credentials.basic(etUserName.getText().toString(), etPassword.getText().toString());
  2.                 final Request request = new Request.Builder()
  3.                         .url("")
  4.                         .get()
  5.                         .addHeader("authorization", credentials)
  6.                         .addHeader("cache-control", "no-cache")
  7.                         .build();
  8.  
  9.                 new AsyncTask<Request, Integer, String>(){
  10.                     @Override
  11.                     protected String doInBackground(Request... params) {
  12.                         OkHttpClient client = new OkHttpClient();
  13.                         try {
  14.                             Response response = client.newCall(request).execute();
  15.                             String responseBody = response.body().string();
  16.                             if (response.isSuccessful()) {
  17.                                 return responseBody;
  18.                             }
  19.  
  20.                         } catch (Exception e) {
  21.                             Log.v(TAG, e.toString());
  22.                         }
  23.                         return null;
  24.                     }
  25.  
  26.                     @Override
  27.                     protected void onPostExecute(String responseBody) {
  28.  
  29.                         if (responseBody != null) {
  30.                             if (createTokenSharedPreferences(responseBody, etUserName.getText().toString())) {
  31.                                 Intent bNextIntent = new Intent(LoginActivity.this, MainActivity.class);
  32.                                 startFirebaseServices();
  33.                                 bNextIntent.putExtra("userName", etUserName.getText());
  34.                                 bNextIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
  35.                                 LoginActivity.this.startActivity(bNextIntent);
  36.                                 return;
  37.                             }
  38.                         }
  39.                         Log.e(TAG, "Login failed!");
  40.                         etPassword.setText("");
  41.                         v.setClickable(true);
  42.                         Toast.makeText(getApplicationContext(), "Wrong credentials. Please try again.", Toast.LENGTH_LONG).show();
  43.                     }
  44.  
  45.                     private boolean createTokenSharedPreferences(String responseBody, String userName) {
  46.                         try {
  47.                             DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  48.                             DocumentBuilder db = dbf.newDocumentBuilder();
  49.                             InputSource userInfo = new InputSource(new StringReader(responseBody));
  50.                             Document doc = db.parse(userInfo);
  51.  
  52.                             NodeList nodeList = doc.getElementsByTagName("token");
  53.  
  54.                             for (int i = 0; i < nodeList.getLength(); i++) {
  55.                                 Node node = nodeList.item(i);
  56.  
  57.                                 Element firstElement = (Element) node;
  58.                                 NodeList valueList = firstElement.getElementsByTagName("value");
  59.                                 Element valueElement = (Element) valueList.item(0);
  60.                                 valueList = valueElement.getChildNodes();
  61.  
  62.                                 NodeList expiresList = firstElement.getElementsByTagName("expires-in");
  63.                                 Element expiresElement = (Element) expiresList.item(0);
  64.                                 expiresList = expiresElement.getChildNodes();
  65.  
  66.                                 SharedPreferences.Editor editor = getSharedPreferences(User.LEVEL_1_AUTH_TOKEN, MODE_PRIVATE).edit();
  67.  
  68.                                 editor.putString("value", (valueList.item(0)).getNodeValue());
  69.  
  70.                                 long expiryTimeS = Long.parseLong((expiresList.item(0)).getNodeValue());
  71.                                 long currentTimeMS = System.currentTimeMillis();
  72.  
  73.                                 editor.putLong("expiryTimeS", expiryTimeS);
  74.                                 editor.putLong("currentTimeMS", currentTimeMS);
  75.                                 editor.putString("userName", userName);
  76.                                 editor.apply();
  77.                             }
  78.                         } catch (Exception e) {
  79.                             Log.e(TAG, "XML Parsing Exception = " + e.toString());
  80.                             return false;
  81.                         }
  82.                         return true;
  83.                     }
  84.                 }.execute(request);
  85.             }
  86.         });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement