Example #1
0
  private void check_server() {
    JsonParser jsonParser = new JsonParser(URLForecast);
    WeatherAsyncTask weatherAsyncTask = new WeatherAsyncTask();
    Editor edit;
    try {
      if (necesaryUpdate()) {
        Log.d(LogDavid, "NECESITO ACTUALIZAR");
        Weather weathers[] = weatherAsyncTask.execute(jsonParser).get();
        int n = Conversor.getNextWeather(weathers);
        Weather weather = weathers[n];
        if (n > 0) save_weather(weathers[n - 1]);
        else save_weather(weathers[0]);

        /*
         * Toast toast2 = Toast.makeText(context, R.string.success,
         * Toast.LENGTH_SHORT); toast2.show();
         */

        // if (weather.getRain_threehours() > 0 || weather.getSnow_threehours() > 0) {
        if (notificationNeeded(weather)) {
          Log.d(LogDavid, "NECESITO AVISAR");
          if (Conversor.ifNotificationAllowed(prefs)) {
            Log.d(LogDavid, "PUEDO AVISAR");
            Notifications notif = new Notifications(context);
            notif.notify(weather);
          } else {
            Log.d(LogDavid, "NO PUEDO AVISAR");
          }
        } else {
          Log.d(LogDavid, "NO NECESITO AVISAR - PREVIOUS FALSE");
          edit = prefs.edit();
          edit.putBoolean(Values.getPrevNotif(), false);
          edit.commit();
        }
      } else {
        Log.d(LogDavid, "NO ACTUALIZO");
      }
    } catch (Exception e) {
      Log.e(LogDavid, "Error Refresh: " + e.toString());
      e.printStackTrace();
    }
  }