public void loginStandard(
      final String username, final String password, final DataLoadedHandler<User> loadedHandler) {

    LoginAccessTask loginAccessTask = new LoginAccessTask(GRANT_TYPE, username, password);
    loginAccessTask.callback(
        new OnTaskCompleted() {
          @Override
          public void onTaskCompleted(final JSONObject accessObj) {
            if (accessObj != null) {
              String accessToken = "";
              try {
                accessToken = accessObj.getString("access_token");
              } catch (Exception e) {
                e.printStackTrace();
                Log.e(TAG, "Error: " + e.getMessage());
              }
              String url = String.format("%s?access_token=%s", URL_LOGIN, accessToken);
              aq.ajax(
                  url,
                  JSONObject.class,
                  new AjaxCallback<JSONObject>() {
                    @Override
                    public void callback(String url, JSONObject loginObj, AjaxStatus status) {
                      try {
                        if (!loginObj.isNull("data") && loginObj.getString("status").equals("OK")) {
                          User u = parseJsonObject(loginObj.getJSONObject("data"), User.class);
                          saveAccessData(
                              accessObj.getString("token_type"),
                              accessObj.getString("access_token"),
                              accessObj.getString("refresh_token"));

                          Log.e(
                              "Login acces Data",
                              accessObj.getString("token_type")
                                  + " "
                                  + accessObj.getString("access_token")
                                  + " "
                                  + accessObj.getString("refresh_token"));
                          u.setUsername(username);
                          u.setPassword(password);
                          saveUserData(u);
                          loadedHandler.loaded(u);
                        } else {
                          loadedHandler.error("Ups! Contáctese con el administrador...");
                        }
                      } catch (Exception e) {
                        e.printStackTrace();
                        Log.e(TAG, "Error: " + e.getMessage());
                        loadedHandler.error("Usuario y/o contraseña invalido.");
                      }
                    }
                  });
            }
          }
        });
    loginAccessTask.execute(ACCESS_URL_LOGIN);
  }
 public void reLogin(final OnTaskCompleted callback) {
   SharedPreferences sp =
       context.getSharedPreferences("co.winsportsonline.wso", Context.MODE_PRIVATE);
   if (sp.getString("userdata", null) != null) {
     User u = loadUserData();
     LoginAccessTask loginAccessTask =
         new LoginAccessTask(GRANT_TYPE, u.getUsername(), u.getPassword());
     loginAccessTask.callback(
         new OnTaskCompleted() {
           @Override
           public void onTaskCompleted(final JSONObject accessObj) {
             try {
               saveAccessData(
                   accessObj.getString("token_type"),
                   accessObj.getString("access_token"),
                   accessObj.getString("refresh_token"));
             } catch (Exception e) {
               context
                   .getSharedPreferences("co.winsportsonline.wso", Context.MODE_PRIVATE)
                   .edit()
                   .clear()
                   .commit();
               callback.onTaskCompleted(null);
             }
           }
         });
     loginAccessTask.execute(ACCESS_URL_LOGIN);
   } else if (sp.getString("name", null) != null && sp.getString("id", null) != null) {
     String url = "https://winsportsonline.com/signin/auth-fb-api";
     Map<String, Object> params = new HashMap<String, Object>();
     params.put("t", sp.getString("facebook_token", ""));
     aq.ajax(
         url,
         params,
         JSONObject.class,
         new AjaxCallback<JSONObject>() {
           @Override
           public void callback(String url, JSONObject object, AjaxStatus status) {
             try {
               context
                   .getSharedPreferences("co.winsportsonline.wso", Context.MODE_PRIVATE)
                   .edit()
                   .putString(
                       "access_token", object.getJSONObject("data").getString("access_token"))
                   .commit();
             } catch (Exception e) {
               context
                   .getSharedPreferences("co.winsportsonline.wso", Context.MODE_PRIVATE)
                   .edit()
                   .clear()
                   .commit();
               callback.onTaskCompleted(null);
             }
           }
         });
   }
 }