diff options
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/twitter/task/Searches.kt')
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/twitter/task/Searches.kt | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Searches.kt b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Searches.kt new file mode 100644 index 00000000..9ea1792b --- /dev/null +++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Searches.kt @@ -0,0 +1,51 @@ +package net.lacolaco.smileessence.twitter.task + +import net.lacolaco.smileessence.data.Account +import net.lacolaco.smileessence.entity.SavedSearch +import net.lacolaco.smileessence.entity.Tweet +import net.lacolaco.smileessence.util.BackgroundTask +import twitter4j.Query +import twitter4j.TwitterException + +class Searches { + class CreateSavedSearchTask(private val account: Account, private val query: String) : BackgroundTask<SavedSearch, Void>() { + + @Throws(Exception::class) + override fun doInBackground(): SavedSearch { + return SavedSearch.fromTwitter(account.twitter.savedSearches().createSavedSearch(query)) + } + } + + class DestroySavedSearchTask(private val account: Account, private val id: Long) : BackgroundTask<Unit, Void>() { + + @Throws(Exception::class) + override fun doInBackground() { + account.twitter.savedSearches().destroySavedSearch(id) + } + } + + class GetAllSavedSearchesTask(private val account: Account) : BackgroundTask<List<SavedSearch>, Void>() { + + @Throws(Exception::class) + override fun doInBackground(): List<SavedSearch> { + return account.twitter.savedSearches().savedSearches.map { SavedSearch.fromTwitter(it)} + } + } + + // TODO: List<Tweet> is not good here + class SearchTask + // --------------------------- CONSTRUCTORS --------------------------- + + ( + // ------------------------------ FIELDS ------------------------------ + + private val account: Account, private val query: Query) : BackgroundTask<List<Tweet>, Void>() { + + // ------------------------ OVERRIDE METHODS ------------------------ + + @Throws(TwitterException::class) + override fun doInBackground(): List<Tweet> { + return Tweet.fromTwitter(account.twitter.search(query).tweets, account.userId) + } + } +} |