package org.commcare.views.dialogs; /** * @author amstone326 */ public interface DialogController { /** * Should call generateProgressDialog to obtain an instance of a dialog * for the given taskId, and then call show on that dialog fragment */ void showProgressDialog(int taskId); /** * Should dismiss the current dialog fragment */ void dismissProgressDialog(); /** * Return the dialog that is currently showing, or null * if none exists */ CustomProgressDialog getCurrentProgressDialog(); /** * Update the current dialog's message to the new text */ void updateProgress(String newMessage, int taskId); /** * Update the current dialog's title and message to the new text */ void updateProgress(String newMessage, String newTitle, int taskId); /** * Update the current dialog's progress bar */ void updateProgressBar(int progress, int max, int taskId); void updateProgressBarVisibility(boolean visible); /** * Create an instance of CustomProgressDialog specific to the activity * implementing this method -- this method should be implemented lower down * in the activity hierarchy, in one of CommCareActivity's subclasses, * while the other methods can be handled entirely by CommCareActivity */ CustomProgressDialog generateProgressDialog(int taskId); /** * Show the alert dialog provided by the given AlertDialogFactory */ void showAlertDialog(CommCareAlertDialog dialog); /** * @return the alert dialog that is currently on screen (possibly null) */ AlertDialogFragment getCurrentAlertDialog(); /** * If a dialog was showing when a previous instance of this activity was destroyed, this * will re-pop up that dialog when the activity is re-launched */ void showPendingAlertDialog(); /** * Dismiss the current alert dialog */ void dismissAlertDialog(); }