displayPrompt

suspend fun displayPrompt(parameters: ParametersT, lingerDuration: Duration = 0.seconds): ResultT

Request UI to display a prompt dialog and obtain a response from the user.

Only a single dialog for a given PromptDialogModel can be displayed at any given time; if a dialog is already displayed it is dismissed first.

For the prompt to be displayed, this model should be bound to the UI, which means that there are some subscribers to its state dialogState. This can be checked by using bound property. If UI is not bound PromptModel.launchUi is called to attempt to launch the UI. If the model remains unbound after this call, PromptUiNotAvailableException is thrown.

If the coroutine that called this method is cancelled, the prompt dialog that was popped up as a result of this call will be dismissed.

Return

response from the user

Parameters

parameters

PromptDialogModel-specific dialog parameters

lingerDuration

keep the dialog open for that long after the response is received; if the dialog is dismissed, it is removed immediately

Throws

if this model is not bound to the UI (see bound)

is the prompt is dismissed by the user or another prompt of the same kind is popped up from a different coroutine