diff options
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt')
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt index 29d273f8..733c7c9c 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt @@ -21,7 +21,7 @@ class StatusDetailDialogFragment : StackableDialogFragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val id = arguments.getLong(KEY_STATUS_ID) - val found = Tweet.fetch(id) + val found = Tweet.cached(id) if (found == null) { world.notifyError("Tweet id=$id not found") dismissAllowingStateLoss() @@ -47,7 +47,7 @@ class StatusDetailDialogFragment : StackableDialogFragment() { if (tweet.inReplyToStatusId != null) { view.tweet_in_reply_to.visibility = View.VISIBLE view.detail_dialog_divider_top.visibility = View.VISIBLE - val cached = Tweet.fetch(tweet.inReplyToStatusId!!) + val cached = Tweet.cached(tweet.inReplyToStatusId!!) if (cached != null) Partials.getTweetView(cached, world, activity, view.tweet_in_reply_to) else { @@ -167,12 +167,8 @@ class StatusDetailDialogFragment : StackableDialogFragment() { } private fun setupViewMenu(view: View) { - val users = mutableListOf<String>() - if (tweet.user !== tweet.originalTweet.user) - users += tweet.user.screenName - users += tweet.entities.mentions - for (screenName in users.distinct()) - view.embedded_menu_items.add("@$screenName") { + val addUserItem = { screenName: String, title: String -> + view.embedded_menu_items.add("@$screenName", title) { val ref = ref(activity as MainActivity) launchUi { try { @@ -183,13 +179,22 @@ class StatusDetailDialogFragment : StackableDialogFragment() { } } } + } + if (tweet.user !== tweet.originalTweet.user) + addUserItem(tweet.user.screenName, "RT by") + for (screenName in tweet.entities.mentions.distinct().minus(tweet.user.screenName)) + addUserItem(screenName, "Mention") for (hashtag in tweet.entities.hashtags) - view.embedded_menu_items.add("#$hashtag") { + view.embedded_menu_items.add("#$hashtag", "Hashtag") { // XXX (activity as MainActivity).openPostPageAndAppendText(" #$hashtag") } - for (url in tweet.entities.urlsExpanded + tweet.entities.mediaUrls) - view.embedded_menu_items.add(url) { + for (url in tweet.entities.urlsExpanded) + view.embedded_menu_items.add(url, "URL") { + activity.browse(url) + } + for (url in tweet.entities.mediaUrls) + view.embedded_menu_items.add(url, "Media") { activity.browse(url) } if (view.embedded_menu_items.childCount == 0) { |