aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2018-08-30 17:01:03 +0900
committerKazuki Yamaguchi <k@rhe.jp>2018-08-30 17:01:03 +0900
commit657e64e22adc0a9583cc548e5f2097aa1bcba427 (patch)
tree034eeb215c86eaf17a96b309282b41527565b40d
parent723c92644d85ad8a7f1e468a29d9baf40ebd239b (diff)
downloadSmileEssence-2018-08-30.tar.gz
poepoestreaming fix2018-08-30
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/PoePoeStreaming.kt85
1 files changed, 48 insertions, 37 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/PoePoeStreaming.kt b/app/src/main/java/net/lacolaco/smileessence/twitter/PoePoeStreaming.kt
index 928036cd..5f3c7db8 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/PoePoeStreaming.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/PoePoeStreaming.kt
@@ -65,44 +65,55 @@ class PoePoeStreaming(private val world: World) {
esr = EventStreamReader(response!!.asStream())
esr.subscribe { event, data ->
- when (event) {
- "tweet_create_events" -> onTweets(JSONArray(data))
- "favorite_events" -> {
- val obj = JSONObject(data)
- val tweet = getTweet(obj.getJSONObject("favorited_status"))
- val source = getUser(obj.getJSONObject("user"))
- tweet.favoriters += source.id
- if (tweet.user === world.user)
- addToHistory(Event(Event.EnumEvent.FAVORITED, source, tweet))
+ try {
+ when (event) {
+ "tweet_create_events" -> onTweets(JSONArray(data))
+ "favorite_events" -> {
+ val ary = JSONArray(data)
+ for (i in 0 until ary.length()) {
+ val obj = ary.getJSONObject(i)
+ val tweet = getTweet(obj.getJSONObject("favorited_status"))
+ val source = getUser(obj.getJSONObject("user"))
+ tweet.favoriters += source.id
+ if (tweet.user === world.user)
+ addToHistory(Event(Event.EnumEvent.FAVORITED, source, tweet))
+ }
+ }
+ "follow_events" -> {
+ val ary = JSONArray(data)
+ for (i in 0 until ary.length()) {
+ val obj = ary.getJSONObject(i)
+ val target = getUser(obj.getJSONObject("target"))
+ val source = getUser(obj.getJSONObject("source"))
+ if (target === world.user && source !== world.user)
+ addToHistory(Event(Event.EnumEvent.FOLLOWED, source))
+ }
+ }
+ "block_events" -> {
+ // TODO
+ }
+ "mute_events" -> {
+ // TODO
+ }
+ "direct_message_events" -> {
+ // TODO
+ }
+ "direct_message_indicate_typing_events" -> {
+ // TODO
+ }
+ "direct_message_mark_read_events" -> {
+ // TODO
+ }
+ "tweet_delete_events" -> {
+ // TODO
+ }
+ "twitter_event_stream_home_timeline" -> onTweets(JSONArray(data))
+ "twitter_event_stream_message" -> Logger.warn("usp_message: $data")
+ else -> Logger.debug("unknown message type: $event=$data")
}
- "follow_events" -> {
- val obj = JSONObject(data)
- val target = getUser(obj.getJSONObject("target"))
- val source = getUser(obj.getJSONObject("source"))
- if (target === world.user && source !== world.user)
- addToHistory(Event(Event.EnumEvent.FOLLOWED, source))
- }
- "block_events" -> {
- // TODO
- }
- "mute_events" -> {
- // TODO
- }
- "direct_message_events" -> {
- // TODO
- }
- "direct_message_indicate_typing_events" -> {
- // TODO
- }
- "direct_message_mark_read_events" -> {
- // TODO
- }
- "tweet_delete_events" -> {
- // TODO
- }
- "twitter_event_stream_home_timeline" -> onTweets(JSONArray(data))
- "twitter_event_stream_message" -> Logger.warn("usp_message: $data")
- else -> Logger.debug("unknown message type: $event=$data")
+ } catch (e: Exception) {
+ Logger.debug("failed to process message: $event=$data")
+ e.printStackTrace()
}
}
} catch (e: Exception) {