diff options
Diffstat (limited to 'app/src/main/java/fr/gouv/etalab/mastodon/sqlite/SearchDAO.java')
-rw-r--r-- | app/src/main/java/fr/gouv/etalab/mastodon/sqlite/SearchDAO.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/sqlite/SearchDAO.java b/app/src/main/java/fr/gouv/etalab/mastodon/sqlite/SearchDAO.java index f0c20f9a1..0bf333b5a 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/sqlite/SearchDAO.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/sqlite/SearchDAO.java @@ -23,6 +23,8 @@ import android.database.sqlite.SQLiteDatabase; import java.util.ArrayList; import java.util.Date; import java.util.List; + +import fr.gouv.etalab.mastodon.client.Entities.TagTimeline; import fr.gouv.etalab.mastodon.helper.Helper; @@ -136,4 +138,41 @@ public class SearchDAO { //Search list is returned return searches; } + + + /** + * Returns TagTimeline information by its keyword in db + * @return info List<TagTimeline> + */ + public List<TagTimeline> getTimelineInfo(String keyword){ + try { + Cursor c = db.query(Sqlite.TABLE_SEARCH, null, Sqlite.COL_KEYWORDS + " = \"" + keyword + "\" AND " + Sqlite.COL_USER_ID + " = \"" + userId+ "\"", null, null, null, null, null); + return cursorToTagTimelineSearch(c); + } catch (Exception e) { + return null; + } + } + + /*** + * Method to hydrate stored search from database + * @param c Cursor + * @return List<String> + */ + private List<TagTimeline> cursorToTagTimelineSearch(Cursor c){ + //No element found + if (c.getCount() == 0) + return null; + List<TagTimeline> searches = new ArrayList<>(); + while (c.moveToNext() ) { + TagTimeline tagTimeline = new TagTimeline(); + tagTimeline.setName(c.getString(c.getColumnIndex(Sqlite.COL_KEYWORDS))); + tagTimeline.setART(c.getInt(c.getColumnIndex(Sqlite.COL_IS_ART))==1); + tagTimeline.setNSFW(c.getInt(c.getColumnIndex(Sqlite.COL_IS_NSFW))==1); + searches.add(tagTimeline); + } + //Close the cursor + c.close(); + //Search list is returned + return searches; + } } |