aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java')
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java
index 79574623..b36e12f3 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java
@@ -24,6 +24,7 @@
package net.lacolaco.smileessence.view.dialog;
+import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.graphics.drawable.ColorDrawable;
@@ -38,6 +39,7 @@ import net.lacolaco.smileessence.Application;
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
+import net.lacolaco.smileessence.command.CommandOpenHashtagDialog;
import net.lacolaco.smileessence.command.CommandOpenURL;
import net.lacolaco.smileessence.command.CommandOpenUserDetail;
import net.lacolaco.smileessence.data.PostState;
@@ -55,6 +57,7 @@ import net.lacolaco.smileessence.viewmodel.StatusViewModel;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
+import java.util.LinkedHashSet;
import java.util.List;
public class StatusDetailDialogFragment extends StackableDialogFragment implements View.OnClickListener {
@@ -284,17 +287,25 @@ public class StatusDetailDialogFragment extends StackableDialogFragment implemen
}
private List<Command> getCommands() {
+ Activity activity = getActivity();
ArrayList<Command> commands = new ArrayList<>();
+ // Retweeter
+ if (tweet.getRetweetedTweet() != null && tweet.getUser() != tweet.getRetweetedTweet().getUser())
+ commands.add(new CommandOpenUserDetail(activity, tweet.getUser().getScreenName()));
// Mentions
- for (String screenName : tweet.getMentions()) {
- commands.add(new CommandOpenUserDetail(getActivity(), screenName));
+ for (String screenName : new ArrayList<>(new LinkedHashSet<>(tweet.getMentions()))) { // Array#uniq
+ commands.add(new CommandOpenUserDetail(activity, screenName));
+ }
+ // Hashtags
+ for (String hashtag : tweet.getHashtags()) {
+ commands.add(new CommandOpenHashtagDialog(activity, hashtag));
}
// URL
for (String url : tweet.getUrlsExpanded()) {
- commands.add(new CommandOpenURL(getActivity(), url));
+ commands.add(new CommandOpenURL(activity, url));
}
for (String url : tweet.getMediaUrls()) {
- commands.add(new CommandOpenURL(getActivity(), url));
+ commands.add(new CommandOpenURL(activity, url));
}
return commands;
}