You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bo...@apache.org on 2012/06/07 22:20:55 UTC
[48/50] [abbrv] android commit: Add exit message.
Add exit message.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/commit/13f92b2b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/13f92b2b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/13f92b2b
Branch: refs/heads/master
Commit: 13f92b2b76d723729e716c7aa81214803bf1ad47
Parents: e6aa647
Author: Bryce Curtis <cu...@gmail.com>
Authored: Mon May 14 22:51:36 2012 -0500
Committer: Bryce Curtis <cu...@gmail.com>
Committed: Mon May 14 22:51:36 2012 -0500
----------------------------------------------------------------------
framework/src/org/apache/cordova/App.java | 2 +-
.../org/apache/cordova/CordovaWebViewClient.java | 3 +-
framework/src/org/apache/cordova/DroidGap.java | 44 ++++++++-------
3 files changed, 26 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/13f92b2b/framework/src/org/apache/cordova/App.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/App.java b/framework/src/org/apache/cordova/App.java
index 7df0aa9..48eeb66 100755
--- a/framework/src/org/apache/cordova/App.java
+++ b/framework/src/org/apache/cordova/App.java
@@ -201,7 +201,7 @@ public class App extends Plugin {
* Exit the Android application.
*/
public void exitApp() {
- this.ctx.getActivity().finish();
+ this.webView.postMessage("exit", null);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/13f92b2b/framework/src/org/apache/cordova/CordovaWebViewClient.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaWebViewClient.java b/framework/src/org/apache/cordova/CordovaWebViewClient.java
index 227e251..b118a90 100755
--- a/framework/src/org/apache/cordova/CordovaWebViewClient.java
+++ b/framework/src/org/apache/cordova/CordovaWebViewClient.java
@@ -237,6 +237,7 @@ public class CordovaWebViewClient extends WebViewClient {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
+ LOG.d(TAG, "onPageFinished(" + url + ")");
/**
* Because of a timing issue we need to clear this history in onPageFinished as well as
@@ -286,7 +287,7 @@ public class CordovaWebViewClient extends WebViewClient {
if (this.appView.callbackServer != null) {
this.appView.callbackServer.destroy();
}
- this.ctx.getActivity().finish();
+ appView.postMessage("exit", null);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/13f92b2b/framework/src/org/apache/cordova/DroidGap.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/DroidGap.java b/framework/src/org/apache/cordova/DroidGap.java
index 842895d..bccc821 100755
--- a/framework/src/org/apache/cordova/DroidGap.java
+++ b/framework/src/org/apache/cordova/DroidGap.java
@@ -337,6 +337,7 @@ public class DroidGap extends Activity implements CordovaInterface {
this.init();
}
+ // TODO @bc - background color doesn't work
// If backgroundColor
this.backgroundColor = this.getIntegerProperty("backgroundColor", Color.BLACK);
LOG.e(TAG, "Setting background color=" + this.backgroundColor);
@@ -655,6 +656,7 @@ public class DroidGap extends Activity implements CordovaInterface {
* The final call you receive before your activity is destroyed.
*/
public void onDestroy() {
+ LOG.d(TAG, "onDestroy()");
super.onDestroy();
if (this.appView != null) {
@@ -749,13 +751,6 @@ public class DroidGap extends Activity implements CordovaInterface {
* End this activity by calling finish for activity
*/
public void endActivity() {
- this.finish();
- }
-
- /**
- * Finish for Activity has been called.
- */
- public void finish() {
this.activityState = ACTIVITY_EXITING;
super.finish();
}
@@ -902,21 +897,25 @@ public class DroidGap extends Activity implements CordovaInterface {
final DroidGap me = this;
me.runOnUiThread(new Runnable() {
public void run() {
- AlertDialog.Builder dlg = new AlertDialog.Builder(me);
- dlg.setMessage(message);
- dlg.setTitle(title);
- dlg.setCancelable(false);
- dlg.setPositiveButton(button,
- new AlertDialog.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- if (exit) {
- me.endActivity();
+ try {
+ AlertDialog.Builder dlg = new AlertDialog.Builder(me);
+ dlg.setMessage(message);
+ dlg.setTitle(title);
+ dlg.setCancelable(false);
+ dlg.setPositiveButton(button,
+ new AlertDialog.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ if (exit) {
+ me.endActivity();
+ }
}
- }
- });
- dlg.create();
- dlg.show();
+ });
+ dlg.create();
+ dlg.show();
+ } catch (Exception e) {
+ finish();
+ }
}
});
}
@@ -1077,6 +1076,9 @@ public class DroidGap extends Activity implements CordovaInterface {
e.printStackTrace();
}
}
+ else if ("exit".equals(id)) {
+ this.endActivity();
+ }
}
}