Skip to content

Commit 1dc8280

Browse files
author
Joel Dean
committed
Added it to the MultiLiveEvent
1 parent 217f8d6 commit 1dc8280

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

WooCommerce/src/main/kotlin/com/woocommerce/android/viewmodel/MultiLiveEvent.kt

+29
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ import com.google.android.material.snackbar.Snackbar
1212
import com.woocommerce.android.R.string
1313
import com.woocommerce.android.model.UiString
1414
import com.woocommerce.android.support.help.HelpOrigin
15+
import com.woocommerce.android.ui.dialog.DialogParams
1516
import com.woocommerce.android.ui.dialog.WooDialog
17+
import com.woocommerce.android.ui.dialog.WooDialogFragment
1618
import com.woocommerce.android.viewmodel.MultiLiveEvent.Event
1719
import java.util.concurrent.atomic.AtomicBoolean
1820

@@ -129,6 +131,33 @@ open class MultiLiveEvent<T : Event> : MutableLiveData<T>() {
129131

130132
data class LaunchUrlInChromeTab(val url: String) : Event()
131133

134+
data class ShowDialogFragment(
135+
@StringRes val titleId: Int? = null,
136+
@StringRes val messageId: Int? = null,
137+
@StringRes val positiveButtonId: Int? = null,
138+
@StringRes val negativeButtonId: Int? = null,
139+
@StringRes val neutralButtonId: Int? = null,
140+
val positiveActionName: String? = null,
141+
val negativeActionName: String? = null,
142+
val neutralActionName: String? = null,
143+
val cancelable: Boolean = true
144+
) : Event() {
145+
fun showIn(fragmentManager: androidx.fragment.app.FragmentManager, listener: WooDialogFragment.DialogInteractionListener) {
146+
val dialogParams = DialogParams(
147+
titleId = titleId,
148+
messageId = messageId,
149+
positiveButtonId = positiveButtonId,
150+
negativeButtonId = negativeButtonId,
151+
neutralButtonId = neutralButtonId,
152+
cancelable = cancelable
153+
)
154+
val dialogFragment = WooDialogFragment.newInstance(dialogParams).apply {
155+
setDialogInteractionListener(listener)
156+
}
157+
dialogFragment.show(fragmentManager, WooDialogFragment.TAG)
158+
}
159+
}
160+
132161
data class ShowDialog(
133162
@StringRes val titleId: Int? = null,
134163
@StringRes val messageId: Int? = null,

0 commit comments

Comments
 (0)