From 48e60f809a412ead047b2c85f5766d1f09ce8ae7 Mon Sep 17 00:00:00 2001 From: Philipp Schaefer Date: Fri, 14 Jun 2013 00:42:27 +0200 Subject: [PATCH] remove dialog from dialogStack if it is closed with 'ok' or 'close' button --- code/dialog.js | 6 +++++- mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java | 14 ++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/code/dialog.js b/code/dialog.js index e74e7b6c..b8bda610 100644 --- a/code/dialog.js +++ b/code/dialog.js @@ -62,7 +62,7 @@ window.dialog = function(options) { // hint for iitc mobile that a dialog was opened if (typeof android !== 'undefined' && android && android.dialogOpened) { - android.dialogOpened(id); + android.dialogOpened(id, true); } // Convert text to HTML if necessary @@ -179,6 +179,10 @@ window.dialog = function(options) { window.DIALOG_COUNT--; console.log('window.dialog: ' + $(this).data('id') + ' (' + $(this).dialog('option', 'title') + ') closed. ' + window.DIALOG_COUNT + ' remain.'); + // hint for iitc mobile that a dialog was closed + if (typeof android !== 'undefined' && android && android.dialogOpened) { + android.dialogOpened(id, false); + } // remove from DOM and destroy $(this).dialog('destroy').remove(); diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java index cdec065c..ea741bd5 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java @@ -36,7 +36,7 @@ public class IITC_Mobile extends Activity { private IITC_WebView iitc_view; private OnSharedPreferenceChangeListener listener; - private String intel_url = "https://www.ingress.com/intel"; + String intel_url = "https://www.ingress.com/intel"; private boolean is_loc_enabled = false; private Location last_location = null; private LocationManager loc_mngr = null; @@ -547,8 +547,14 @@ public class IITC_Mobile extends Activity { } // called by the javascript interface - public void dialogOpened(String id) { - Log.d("iitcm", "Dialog " + id + " added"); - dialogStack.add(id); + public void dialogOpened(String id, boolean open) { + if (open) { + Log.d("iitcm", "Dialog " + id + " added"); + dialogStack.add(id); + } else { + Log.d("iitcm", "Dialog " + id + " closed"); + int index = dialogStack.indexOf(id); + dialogStack.remove(index); + } } }