You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by na...@apache.org on 2014/04/29 00:12:33 UTC
git commit: Added check for isFinishing() on the parent activity to
prevent crashes when trying to display dialogs when activity is in this phase
of it's lifecycle
Repository: cordova-plugin-dialogs
Updated Branches:
refs/heads/master 4ebf797ab -> 1374373f2
Added check for isFinishing() on the parent activity
to prevent crashes when trying to display dialogs when activity
is in this phase of it's lifecycle
Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs/commit/1374373f
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs/tree/1374373f
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs/diff/1374373f
Branch: refs/heads/master
Commit: 1374373f293338b551afe58ff27244404f7232f8
Parents: 4ebf797
Author: Archana Naik <na...@lab126.com>
Authored: Wed Apr 9 22:42:33 2014 -0700
Committer: Archana Naik <na...@lab126.com>
Committed: Mon Apr 28 15:12:18 2014 -0700
----------------------------------------------------------------------
src/android/Notification.java | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs/blob/1374373f/src/android/Notification.java
----------------------------------------------------------------------
diff --git a/src/android/Notification.java b/src/android/Notification.java
index 558507e..3738545 100755
--- a/src/android/Notification.java
+++ b/src/android/Notification.java
@@ -57,6 +57,14 @@ public class Notification extends CordovaPlugin {
* @return True when the action was valid, false otherwise.
*/
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
+ /*
+ * Don't run any of these if the current activity is finishing
+ * in order to avoid android.view.WindowManager$BadTokenException
+ * crashing the app. Just return true here since false should only
+ * be returned in the event of an invalid action.
+ */
+ if(this.cordova.getActivity().isFinishing()) return true;
+
if (action.equals("beep")) {
this.beep(args.getLong(0));
}
@@ -133,8 +141,7 @@ public class Notification extends CordovaPlugin {
* @param callbackContext The callback context
*/
public synchronized void alert(final String message, final String title, final String buttonLabel, final CallbackContext callbackContext) {
-
- final CordovaInterface cordova = this.cordova;
+ final CordovaInterface cordova = this.cordova;
Runnable runnable = new Runnable() {
public void run() {
@@ -176,8 +183,7 @@ public class Notification extends CordovaPlugin {
* @param callbackContext The callback context.
*/
public synchronized void confirm(final String message, final String title, final JSONArray buttonLabels, final CallbackContext callbackContext) {
-
- final CordovaInterface cordova = this.cordova;
+ final CordovaInterface cordova = this.cordova;
Runnable runnable = new Runnable() {
public void run() {
@@ -252,7 +258,7 @@ public class Notification extends CordovaPlugin {
* @param callbackContext The callback context.
*/
public synchronized void prompt(final String message, final String title, final JSONArray buttonLabels, final String defaultText, final CallbackContext callbackContext) {
-
+
final CordovaInterface cordova = this.cordova;
final EditText promptInput = new EditText(cordova.getActivity());
promptInput.setHint(defaultText);