From 17a47704dc706bc141a97e6932ed95fdcd4df763 Mon Sep 17 00:00:00 2001 From: Kazuki Yamaguchi Date: Wed, 7 Dec 2016 22:54:12 +0900 Subject: {Message,Status}MenuDialog から DetailDialog に hashtag のコマンドを移動 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../view/dialog/MessageDetailDialogFragment.java | 15 ++++++++++++--- .../view/dialog/MessageMenuDialogFragment.java | 20 +------------------- .../view/dialog/StatusDetailDialogFragment.java | 19 +++++++++++++++---- .../view/dialog/StatusMenuDialogFragment.java | 19 +------------------ 4 files changed, 29 insertions(+), 44 deletions(-) diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java index c000976c..4b16cf49 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.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; @@ -35,6 +36,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.Account; @@ -216,17 +218,24 @@ public class MessageDetailDialogFragment extends StackableDialogFragment impleme } private List getCommands() { + Activity activity = getActivity(); List commands = new ArrayList<>(); // Mentions + if (message.getSender() != message.getRecipient()) { + commands.add(new CommandOpenUserDetail(activity, message.getRecipient().getScreenName())); + } for (String screenName : message.getMentions()) { - commands.add(new CommandOpenUserDetail(getActivity(), screenName)); + commands.add(new CommandOpenUserDetail(activity, screenName)); + } + for (String hashtag : message.getHashtags()) { + commands.add(new CommandOpenHashtagDialog(activity, hashtag)); } // URL for (String url : message.getUrlsExpanded()) { - commands.add(new CommandOpenURL(getActivity(), url)); + commands.add(new CommandOpenURL(activity, url)); } for (String url : message.getMediaUrls()) { - commands.add(new CommandOpenURL(getActivity(), url)); + commands.add(new CommandOpenURL(activity, url)); } return commands; } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java index aeb1d621..d5cd36a1 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java @@ -29,7 +29,6 @@ import android.os.Bundle; import net.lacolaco.smileessence.command.*; import net.lacolaco.smileessence.entity.DirectMessage; -import java.util.ArrayList; import java.util.List; public class MessageMenuDialogFragment extends MenuDialogFragment { @@ -62,23 +61,6 @@ public class MessageMenuDialogFragment extends MenuDialogFragment { @Override protected List getMenuCommands() { Activity activity = getActivity(); - List commands = new ArrayList<>(); - commands.addAll(Command.getMessageCommands(activity, message)); - if (message.getSender() != message.getRecipient()) { - commands.add(new CommandOpenUserDetail(activity, message.getRecipient().getScreenName())); - } - for (String screenName : message.getMentions()) { - commands.add(new CommandOpenUserDetail(activity, screenName)); - } - for (String hashtag : message.getHashtags()) { - commands.add(new CommandOpenHashtagDialog(activity, hashtag)); - } - for (String url : message.getUrlsExpanded()) { - commands.add(new CommandOpenURL(activity, url)); - } - for (String url : message.getMediaUrls()) { - commands.add(new CommandOpenURL(activity, url)); - } - return commands; + return Command.getMessageCommands(activity, message); } } 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 getCommands() { + Activity activity = getActivity(); ArrayList 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; } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java index b0e4add8..3674cbd7 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java @@ -29,8 +29,6 @@ import android.os.Bundle; import net.lacolaco.smileessence.command.*; import net.lacolaco.smileessence.entity.Tweet; -import java.util.ArrayList; -import java.util.LinkedHashSet; import java.util.List; public class StatusMenuDialogFragment extends MenuDialogFragment { @@ -63,21 +61,6 @@ public class StatusMenuDialogFragment extends MenuDialogFragment { @Override protected List getMenuCommands() { Activity activity = getActivity(); - List commands = new ArrayList<>(); - commands.addAll(Command.getStatusCommands(activity, tweet)); - commands.add(new CommandOpenUserDetail(activity, tweet.getUser().getScreenName())); - for (String screenName : new ArrayList<>(new LinkedHashSet<>(tweet.getMentions()))) { // Array#uniq - commands.add(new CommandOpenUserDetail(activity, screenName)); - } - for (String hashtag : tweet.getHashtags()) { - commands.add(new CommandOpenHashtagDialog(activity, hashtag)); - } - for (String url : tweet.getUrlsExpanded()) { - commands.add(new CommandOpenURL(activity, url)); - } - for (String url : tweet.getMediaUrls()) { - commands.add(new CommandOpenURL(activity, url)); - } - return commands; + return Command.getStatusCommands(activity, tweet); } } -- cgit v1.2.3