package net.lacolaco.smileessence.view import android.app.Activity import net.lacolaco.smileessence.view.dialog.StackableDialogFragment import java.util.* /** * DialogFragment のタグの一覧を保持し「全てのダイアログを閉じる」機能を提供するヘルパークラス */ object DialogHelper { private val dialogStack = LinkedHashSet() @Synchronized 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) } }