blob: 6a83d1ff3b8c36c0d080c6e0a9b5d9028b1860ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
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>() {
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>() {
override fun doInBackground() {
account.twitter.savedSearches().destroySavedSearch(id)
}
}
class GetAllSavedSearchesTask(private val account: Account) : BackgroundTask<List<SavedSearch>, Void>() {
override fun doInBackground(): List<SavedSearch> {
return account.twitter.savedSearches().savedSearches.map { SavedSearch.fromTwitter(it) }
}
}
// TODO: List<Tweet> is not good here
class SearchTask(private val account: Account, private val query: Query) : BackgroundTask<List<Tweet>, Void>() {
override fun doInBackground(): List<Tweet> {
return Tweet.fromTwitter(account.twitter.search(query).tweets, account.userId)
}
}
}
|