/** * this method checks if the service can precache media files based on the user preference and the * type of network connection currently held * * @param type * @return */ private boolean canDownload(int precacheOptionIndex) { boolean ok = false; if (precacheOptionIndex > -1 && ConstantUtil.PRECACHE_WIFI_ONLY_IDX == precacheOptionIndex) { ok = StatusUtil.hasDataConnection(this, true); } else { ok = StatusUtil.hasDataConnection(this, false); } return ok; }
/** * invokes a service call to get the header information for a single survey * * @param serverBase * @param surveyId * @return */ private ArrayList<Survey> getSurveyHeader(String serverBase, String surveyId, String deviceId) { String response = null; ArrayList<Survey> surveys = new ArrayList<Survey>(); try { response = HttpUtil.httpGet( serverBase + SURVEY_HEADER_SERVICE_PATH + surveyId + "&devicePhoneNumber=" + StatusUtil.getPhoneNumber(this) + (deviceId != null ? (DEV_ID_PARAM + URLEncoder.encode(deviceId, "UTF-8")) : "")); if (response != null) { StringTokenizer strTok = new StringTokenizer(response, "\n"); while (strTok.hasMoreTokens()) { String currentLine = strTok.nextToken(); String[] touple = currentLine.split(","); if (touple.length < 4) { Log.e(TAG, "Survey list response is in an unrecognized format"); } else { Survey temp = new Survey(); temp.setId(touple[0]); temp.setName(touple[1]); temp.setLanguage(touple[2]); temp.setVersion(Double.parseDouble(touple[3])); temp.setType(ConstantUtil.FILE_SURVEY_LOCATION_TYPE); surveys.add(temp); } } } } catch (HttpException e) { Log.e(TAG, "Server returned an unexpected response", e); PersistentUncaughtExceptionHandler.recordException(e); } catch (Exception e) { Log.e(TAG, "Could not get survey headers", e); PersistentUncaughtExceptionHandler.recordException(e); } return surveys; }
/** * this method checks if the service can perform the requested operation. If there is no * connectivity, this will return false, otherwise it will return true * * @param type * @return */ private boolean isAbleToRun() { return StatusUtil.hasDataConnection(this, false); }