diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-10-04 17:14:49 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-10-04 17:14:49 +0900 |
commit | f32a45416ead9d3f8f42baf28da1c80929434b43 (patch) | |
tree | dd2e21a5a46ebc6a46a5bc16d3c04f011cb3e94a | |
parent | b8adb7f017474ae50e0739d40ebc9dc698a93990 (diff) | |
download | SmileEssence-f32a45416ead9d3f8f42baf28da1c80929434b43.tar.gz |
ダイアログまわりをリファクタリング
12 files changed, 26 insertions, 28 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/data/PostState.java b/app/src/main/java/net/lacolaco/smileessence/data/PostState.java index a526adef..6f517763 100644 --- a/app/src/main/java/net/lacolaco/smileessence/data/PostState.java +++ b/app/src/main/java/net/lacolaco/smileessence/data/PostState.java @@ -188,7 +188,7 @@ public class PostState { } public void commitWithOpen(MainActivity activity) { - DialogHelper.closeAllDialogs(activity); + DialogHelper.closeAll(activity); PostState.getState().copy(state).postStateChange(); activity.openPostPage(); } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.java b/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.java index 6cdbf958..dc3db869 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.java @@ -27,28 +27,30 @@ package net.lacolaco.smileessence.view; import android.app.Activity; import net.lacolaco.smileessence.view.dialog.StackableDialogFragment; -import java.util.LinkedHashSet; -import java.util.UUID; +import java.util.*; +/** + * DialogFragment のタグの一覧を保持し「全てのダイアログを閉じる」機能を提供するヘルパークラス + */ public class DialogHelper { - private static LinkedHashSet<String> dialogStack = new LinkedHashSet<>(); + private static Set<String> dialogStack = new LinkedHashSet<>(); - public static void closeAllDialogs(Activity activity) { - for (String tag : new LinkedHashSet<>(dialogStack)) { - StackableDialogFragment dialog = (StackableDialogFragment) activity.getFragmentManager().findFragmentByTag(tag); - if (dialog != null) { - dialog.dismiss(); + public synchronized static void closeAll(Activity activity) { + for (String tag : new ArrayList<>(dialogStack)) { + StackableDialogFragment dialogFragment = (StackableDialogFragment) activity.getFragmentManager().findFragmentByTag(tag); + if (dialogFragment != null) { + dialogFragment.dismiss(); } } } - public static int showDialog(Activity activity, StackableDialogFragment dialogFragment) { - String tag = "stacking_dialog_" + dialogFragment.getClass().getSimpleName() + UUID.randomUUID(); + public synchronized static int showDialog(Activity activity, StackableDialogFragment dialogFragment) { + String tag = "stackingDialog:" + dialogFragment.getClass().getSimpleName() + ":" + UUID.randomUUID(); dialogStack.add(tag); return dialogFragment.show(activity.getFragmentManager().beginTransaction(), tag); } - public static void unregisterDialog(String tag) { + public synchronized static void unregisterDialog(String tag) { dialogStack.remove(tag); } } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java index 5b975dbb..10d0043a 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java @@ -37,7 +37,7 @@ public abstract class ConfirmDialogFragment extends StackableDialogFragment { // ------------------------------ FIELDS ------------------------------ - public static final String ARG_TEXT = "text"; + private static final String ARG_TEXT = "text"; private final DialogInterface.OnClickListener listener = (dialog, which) -> { onButtonClick(which); dialog.dismiss(); diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java index ae77bd73..f3225b15 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java @@ -35,8 +35,8 @@ public abstract class EditTextDialogFragment extends StackableDialogFragment { // ------------------------------ FIELDS ------------------------------ - private static String titleKey = "title"; - private static String textKey = "text"; + private static final String titleKey = "title"; + private static final String textKey = "text"; private String title; private String text; diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java index d705338a..7269508c 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java @@ -40,7 +40,7 @@ public class HashtagDialogFragment extends MenuDialogFragment { // ------------------------------ FIELDS ------------------------------ - public static final String KEY_TEXT = "text"; + private static final String KEY_TEXT = "text"; // --------------------- GETTER / SETTER METHODS --------------------- diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java index 0d79e4ce..ed03ddaa 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java @@ -39,7 +39,7 @@ public class QuoteDialogFragment extends MenuDialogFragment { // ------------------------------ FIELDS ------------------------------ - public static final String KEY_STATUS_ID = "statusID"; + private static final String KEY_STATUS_ID = "statusID"; // --------------------- GETTER / SETTER METHODS --------------------- diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java index 5982a2ce..2a5f8c15 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java @@ -41,7 +41,7 @@ public class ReviewDialogFragment extends StackableDialogFragment implements Vie // ------------------------------ FIELDS ------------------------------ - private static String statusIDKey = "key"; + private static final String statusIDKey = "key"; private long statusID; private RatingBar ratingBar; diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java index bb8fa6f3..1946c3a6 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java @@ -44,7 +44,7 @@ public class SearchOnGoogleDialogFragment extends StackableDialogFragment implem // ------------------------------ FIELDS ------------------------------ - private static String textKey = "key"; + private static final String textKey = "key"; private String text; private EditText editText; private Button button; @@ -126,6 +126,6 @@ public class SearchOnGoogleDialogFragment extends StackableDialogFragment implem Intent intent = new Intent(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY, editText.getText().toString()); getActivity().startActivity(intent); - DialogHelper.closeAllDialogs(getActivity()); + DialogHelper.closeAll(getActivity()); } } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java index 1ab2324c..6b3f0393 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java @@ -49,7 +49,7 @@ public class SendMessageDialogFragment extends StackableDialogFragment implement // ------------------------------ FIELDS ------------------------------ - private static String screenNameKey = "screenName"; + private static final String screenNameKey = "screenName"; private String screenName; private EditText editText; private TextView textViewCount; diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java index a9853800..436302b9 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java @@ -35,8 +35,8 @@ public class SimpleDialogFragment extends StackableDialogFragment { // ------------------------------ FIELDS ------------------------------ - public static final String ARG_LAYOUT = "layout"; - public static final String ARG_TITLE = "title"; + private static final String ARG_LAYOUT = "layout"; + private static final String ARG_TITLE = "title"; private int layoutResourceID; private String title; diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.java index 9f6d276b..3eb3409a 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.java @@ -4,10 +4,6 @@ import android.app.DialogFragment; import net.lacolaco.smileessence.view.DialogHelper; public class StackableDialogFragment extends DialogFragment { - public int show() { - return DialogHelper.showDialog(this.getActivity(), this); - } - @Override public void dismiss() { super.dismiss(); diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java index 8e82c10c..6a965d94 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java @@ -41,7 +41,7 @@ public class TalkChainDialogFragment extends StackableDialogFragment { // ------------------------------ FIELDS ------------------------------ - public static final String KEY_STATUS_ID = "statusID"; + private static final String KEY_STATUS_ID = "statusID"; // --------------------- GETTER / SETTER METHODS --------------------- |