Пример #1
0
  @Override
  protected ArrayList<LevelItem> doInBackground(Void... params) {
    String[] files = FileHandler.getFileList(FileHandler.download_dir);

    ArrayList<LevelItem> levels = new ArrayList<LevelItem>();
    for (int i = files.length - 1; i >= 0; i--) {
      String full_file = files[i];

      String the_level = FileHandler.readTextFile(FileHandler.download_dir, full_file);

      if (the_level == null || the_level.equals(Constants.empty)) continue;

      LevelItem temp = new LevelItem();

      try {
        temp.lid = Integer.valueOf(RawTextReader.findValueInXML(the_level, lid));
        temp.name = RawTextReader.findValueInXML(the_level, name);
        temp.changed = Long.valueOf(RawTextReader.findValueInXML(the_level, changed));
        temp.download_time = Long.valueOf(RawTextReader.findValueInXML(the_level, download_time));

        temp.this_state = LevelItem.EnumButtonStates.play;

        // finally add and commit
        levels.add(temp);

        the_level = null;
      } catch (java.lang.NumberFormatException e) {
        // could not format, do nothing.
      } catch (java.lang.IllegalStateException e) {
        // bad download, do nothing.
      }
    }

    checkUpdates(levels);

    return levels;
  }