aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2015-10-04 17:14:49 +0900
committerKazuki Yamaguchi <k@rhe.jp>2015-10-04 17:14:49 +0900
commitf32a45416ead9d3f8f42baf28da1c80929434b43 (patch)
treedd2e21a5a46ebc6a46a5bc16d3c04f011cb3e94a
parentb8adb7f017474ae50e0739d40ebc9dc698a93990 (diff)
downloadSmileEssence-f32a45416ead9d3f8f42baf28da1c80929434b43.tar.gz
ダイアログまわりをリファクタリング
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/data/PostState.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.java24
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java4
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java4
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java4
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.java4
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java2
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 ---------------------