This will now allow the dialog to call the resolve function when canceled by clicking outside of the dialog.

This commit is contained in:
Nathanael Anderson
2015-11-10 21:34:31 -06:00
parent ecb59a505f
commit 1ea6e5897e

View File

@@ -13,6 +13,9 @@ function createAlertDialog(options?: dialogs.DialogOptions): android.app.AlertDi
var alert = new android.app.AlertDialog.Builder(appmodule.android.foregroundActivity);
alert.setTitle(options && types.isString(options.title) ? options.title : "");
alert.setMessage(options && types.isString(options.message) ? options.message : "");
if (options && (options.cancelable === false || options.cancelable === 0)) {
alert.setCancelable(false);
}
return alert;
}
@@ -72,6 +75,11 @@ function addButtonsToAlertDialog(alert: android.app.AlertDialog.Builder, options
}
}));
}
alert.setOnDismissListener(new android.content.DialogInterface.OnDismissListener({
onDismiss: function() {
callback(false);
}
}));
}
export function alert(arg: any): Promise<void> {
@@ -87,6 +95,11 @@ export function alert(arg: any): Promise<void> {
resolve();
}
}));
alert.setOnDismissListener(new android.content.DialogInterface.OnDismissListener({
onDismiss: function() {
resolve();
}
}));
showDialog(alert);
@@ -262,6 +275,9 @@ export function action(arg: any): Promise<string> {
var alert = new android.app.AlertDialog.Builder(activity);
var message = options && types.isString(options.message) ? options.message : "";
var title = options && types.isString(options.title) ? options.title : "";
if (options && (options.cancelable === false || options.cancelable === 0)) {
alert.setCancelable(false);
}
if (title) {
alert.setTitle(title);
@@ -289,6 +305,17 @@ export function action(arg: any): Promise<string> {
}
}));
}
alert.setOnDismissListener(new android.content.DialogInterface.OnDismissListener({
onDismiss: function() {
if (types.isString(options.cancelButtonText)) {
resolve(options.cancelButtonText);
} else {
resolve("");
}
}
}));
showDialog(alert);
} catch (ex) {