diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2018-09-05 13:02:58 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2018-09-05 13:02:58 +0900 |
commit | c5515667a832354634f82409284aaea727101541 (patch) | |
tree | 130ef87b91c8280078fb75563ef3e0d9d3e927eb | |
parent | 00a8aea2bb5c63a6139e2124dbe2a0b019e01fc3 (diff) | |
download | SmileEssence-c5515667a832354634f82409284aaea727101541.tar.gz |
simplify dialog helper
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/view/DialogHelper.kt | 15 | ||||
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.kt | 11 |
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 } |