/** Get events filtered by program orgUnit and between dates. */
  public static List<Event> getEvents(String program, String orgUnit, Date minDate, Date maxDate) {
    try {
      Response response;

      String DHIS_URL = PreferencesState.getInstance().getDhisURL();
      String startDate = EventExtended.format(minDate, EventExtended.AMERICAN_DATE_FORMAT);
      String endDate =
          EventExtended.format(
              new Date(maxDate.getTime() + (8 * 24 * 60 * 60 * 1000)),
              EventExtended.AMERICAN_DATE_FORMAT);
      String url =
          String.format(DHIS_URL + DHIS_CHECK_EVENT_API, program, orgUnit, startDate, endDate);
      Log.d(TAG, url);
      url = ServerAPIController.encodeBlanks(url);

      response = ServerAPIController.executeCall(null, url, "GET");
      if (!response.isSuccessful()) {
        Log.e(TAG, "pushData (" + response.code() + "): " + response.body().string());
        throw new IOException(response.message());
      }
      JSONObject events = new JSONObject(response.body().string());
      ObjectMapper mapper = new ObjectMapper();
      JsonNode jsonNode = mapper.convertValue(mapper.readTree(events.toString()), JsonNode.class);

      return EventsWrapper.getEvents(jsonNode);

    } catch (Exception ex) {
      ex.printStackTrace();
      return null;
    }
  }
 /**
  * Download the related events. and checks all the quarantine surveys. If a survey is in the
  * server, the survey should be set as sent. Else, the survey should be set as completed and it
  * will be resend.
  */
 public static void checkAllQuarantineSurveys() {
   List<Survey> quarantineSurveys = Survey.getAllQuarantineSurveys();
   Date minDate = Survey.getMinQuarantineEventDate();
   Date maxDate = Survey.getMaxQuarantineEventDate();
   String program = quarantineSurveys.get(0).getProgram().getUid();
   String orgUnit = OrgUnit.findUIDByName(PreferencesState.getInstance().getOrgUnit());
   List<Event> events = getEvents(program, orgUnit, minDate, maxDate);
   if (events != null) {
     for (Survey survey : quarantineSurveys) {
       updateQuarantineSurveysStatus(events, survey);
     }
   }
 }
 public void setActionBarDashboard() {
   if (PreferencesState.getInstance().isVerticalDashboard()) {
     LayoutUtils.setActionbarAppName(dashboardActivity);
   } else {
     // Get Tab + User
     String title = getCapitalizeName();
     String user = getCurrentUsername();
     String appNameColorString = getAppNameColorString();
     String appName = getAppName();
     Spanned spannedTitle =
         Html.fromHtml(
             String.format(
                 "<font color=\"#%s\"><b>%s</b></font> | %s", appNameColorString, appName, title));
     LayoutUtils.setActionbarTitle(dashboardActivity, spannedTitle, user);
   }
 }