public ArrayList<Episode> listBySerie(Serie serie) { Cursor c = getCursor(); ArrayList<Episode> episodes = new ArrayList<Episode>(); if (c.moveToFirst()) { int idxName = c.getColumnIndex(Episodes.NAME); int idxId = c.getColumnIndex(Episodes.PK_ID); int idxSeason = c.getColumnIndex(Episodes.SEASON); int idxEpisode = c.getColumnIndex(Episodes.NUMBER); int idxIdSerie = c.getColumnIndex(Episodes.ID_SERIE); do { if (serie.getId() == c.getLong(idxIdSerie)) { Episode episode = new Episode(); episode.setName(c.getString(idxName)); episode.setId(c.getLong(idxId)); episode.setSeason(c.getInt(idxSeason)); episode.setNumber(c.getInt(idxEpisode)); episodes.add(episode); if (serie.getSeasonEpisodes().containsKey(episode.getSeason())) { if (serie.getSeasonEpisodes().get(episode.getSeason()) < episode.getNumber()) { serie.getSeasonEpisodes().put(episode.getSeason(), episode.getNumber()); } } else { serie.getSeasonEpisodes().put(episode.getSeason(), episode.getNumber()); } } } while (c.moveToNext()); } c.close(); super.close(); return episodes; }