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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
package net.lacolaco.smileessence.twitter.task
import net.lacolaco.smileessence.data.Account
import net.lacolaco.smileessence.entity.User
import net.lacolaco.smileessence.util.BackgroundTask
import twitter4j.Relationship
import twitter4j.TwitterException
class Users {
class GetTask : BackgroundTask<User, Void> {
private val account: Account
private val userID: Long
private val screenName: String?
constructor(account: Account, userID: Long) {
this.account = account
this.userID = userID
this.screenName = null
}
constructor(account: Account, screenName: String) {
this.account = account
this.screenName = screenName
this.userID = -1
}
override fun doInBackground(): User {
return if (screenName != null) {
User.fromTwitter(account.twitter.users().showUser(screenName))
} else {
User.fromTwitter(account.twitter.users().showUser(userID))
}
}
}
class GetManyTask(private val account: Account) : BackgroundTask<List<String>, Void>() {
override fun doInBackground(): List<String> {
return account.twitter.list().getUserLists(account.userId).map { it.fullName }
}
}
class FollowTask(private val account: Account, private val userID: Long) : BackgroundTask<User, Void>() {
override fun doInBackground(): User {
return User.fromTwitter(account.twitter.friendsFollowers().createFriendship(userID))
}
}
class UnfollowTask(private val account: Account, private val userID: Long) : BackgroundTask<User, Void>() {
override fun doInBackground(): User {
return User.fromTwitter(account.twitter.friendsFollowers().destroyFriendship(userID))
}
}
class BlockTask(private val account: Account, private val userID: Long) : BackgroundTask<User, Void>() {
override fun doInBackground(): User {
return User.fromTwitter(account.twitter.users().createBlock(userID))
}
}
class ReportForSpamTask(private val account: Account, private val userID: Long) : BackgroundTask<User, Void>() {
override fun doInBackground(): User {
return User.fromTwitter(account.twitter.spamReporting().reportSpam(userID))
}
}
class UnblockTask(private val account: Account, private val userID: Long) : BackgroundTask<User, Void>() {
override fun doInBackground(): User {
return User.fromTwitter(account.twitter.users().destroyBlock(userID))
}
}
class ShowFriendshipTask(private val account: Account, private val userID: Long) : BackgroundTask<Relationship, Void>() {
override fun doInBackground(): Relationship {
return account.twitter.friendsFollowers().showFriendship(account.twitter.id, userID)
}
}
}
|