aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2018-09-05 13:02:58 +0900
committerKazuki Yamaguchi <k@rhe.jp>2018-09-05 13:02:58 +0900
commitc5515667a832354634f82409284aaea727101541 (patch)
tree130ef87b91c8280078fb75563ef3e0d9d3e927eb
parent00a8aea2bb5c63a6139e2124dbe2a0b019e01fc3 (diff)
downloadSmileEssence-c5515667a832354634f82409284aaea727101541.tar.gz
simplify dialog helper
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.kt15
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.kt11
2 files changed, 3 insertions, 23 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.kt b/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.kt
index de6e98ba..75dc48df 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.kt
@@ -4,21 +4,12 @@ import android.app.Activity
import net.lacolaco.smileessence.view.dialog.StackableDialogFragment
import java.util.*
-/**
- * DialogFragment のタグの一覧を保持し「全てのダイアログを閉じる」機能を提供するヘルパークラス
- */
object DialogHelper {
- private val dialogStack = LinkedHashSet<String>()
-
- @Synchronized
+ /**
+ * Show a dialog (DialogFragment) on the Activity with a random tag so that dialogs stack.
+ */
fun showDialog(activity: Activity, dialogFragment: StackableDialogFragment) {
val tag = "stackingDialog:" + dialogFragment.javaClass.simpleName + ":" + UUID.randomUUID()
- dialogStack.add(tag)
dialogFragment.show(activity.fragmentManager, tag)
}
-
- @Synchronized
- fun unregisterDialog(tag: String) {
- dialogStack.remove(tag)
- }
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.kt
index 28fc27be..8b08c271 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.kt
@@ -7,7 +7,6 @@ import android.support.v7.app.AppCompatDialog
import android.view.Window
import net.lacolaco.smileessence.World
import net.lacolaco.smileessence.activity.MainActivity
-import net.lacolaco.smileessence.view.DialogHelper
/**
* Only used by MainActivity.
@@ -19,16 +18,6 @@ open class StackableDialogFragment : DialogFragment() {
return AppCompatDialog(activity).apply { requestWindowFeature(Window.FEATURE_NO_TITLE) }
}
- override fun dismiss() {
- super.dismiss()
- DialogHelper.unregisterDialog(tag)
- }
-
- override fun dismissAllowingStateLoss() {
- super.dismissAllowingStateLoss()
- DialogHelper.unregisterDialog(tag)
- }
-
protected val world: World by lazy {
(activity as MainActivity).world
}