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/08/03 23:09:01 UTC
[2/2] android commit: CB-578 - Adding a test of pause and resume to
make sure that they're being called. Need to elaborate on this
CB-578 - Adding a test of pause and resume to make sure that they're being called. Need to elaborate on this
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/d3dc94c0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/d3dc94c0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/d3dc94c0
Branch: refs/heads/master
Commit: d3dc94c04be6ba43945e0aea5be3daab50789a31
Parents: 81ab0a4
Author: Joe Bowser <bo...@apache.org>
Authored: Fri Aug 3 14:07:01 2012 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Fri Aug 3 14:07:01 2012 -0700
----------------------------------------------------------------------
.../src/org/apache/cordova/CordovaWebView.java | 8 +++++
test/project.properties | 2 +-
.../apache/cordova/test/CordovaActivityTest.java | 23 ++++++++++++++-
test/src/org/apache/cordova/test/CordovaTest.java | 2 +
4 files changed, 33 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/d3dc94c0/framework/src/org/apache/cordova/CordovaWebView.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaWebView.java b/framework/src/org/apache/cordova/CordovaWebView.java
index fe677f4..f7f2be6 100755
--- a/framework/src/org/apache/cordova/CordovaWebView.java
+++ b/framework/src/org/apache/cordova/CordovaWebView.java
@@ -57,6 +57,7 @@ public class CordovaWebView extends WebView {
public PluginManager pluginManager;
public CallbackServer callbackServer;
+ private boolean paused;
/** Actvities and other important classes **/
@@ -817,6 +818,7 @@ public class CordovaWebView extends WebView {
// Pause JavaScript timers (including setInterval)
this.pauseTimers();
}
+ paused = true;
}
@@ -836,6 +838,7 @@ public class CordovaWebView extends WebView {
// Resume JavaScript timers (including setInterval)
this.resumeTimers();
}
+ paused = false;
}
public void handleDestroy()
@@ -859,6 +862,11 @@ public class CordovaWebView extends WebView {
this.pluginManager.onNewIntent(intent);
}
}
+
+ public boolean isPaused()
+ {
+ return paused;
+ }
public boolean hadKeyEvent() {
return handleButton;
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/d3dc94c0/test/project.properties
----------------------------------------------------------------------
diff --git a/test/project.properties b/test/project.properties
index 9aa0dfa..895c9ce 100644
--- a/test/project.properties
+++ b/test/project.properties
@@ -8,4 +8,4 @@
# project structure.
# Project target.
-target=Google Inc.:Google APIs:15
+target=android-16
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/d3dc94c0/test/src/org/apache/cordova/test/CordovaActivityTest.java
----------------------------------------------------------------------
diff --git a/test/src/org/apache/cordova/test/CordovaActivityTest.java b/test/src/org/apache/cordova/test/CordovaActivityTest.java
index b53f000..766dd53 100644
--- a/test/src/org/apache/cordova/test/CordovaActivityTest.java
+++ b/test/src/org/apache/cordova/test/CordovaActivityTest.java
@@ -22,6 +22,7 @@ package org.apache.cordova.test;
import org.apache.cordova.CordovaWebView;
import com.phonegap.api.PluginManager;
+import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
@@ -32,6 +33,8 @@ public class CordovaActivityTest extends ActivityInstrumentationTestCase2<Cordov
private FrameLayout containerView;
private LinearLayout innerContainer;
private CordovaWebView testView;
+ private Instrumentation mInstr;
+ private int TIMEOUT = 1000;
@SuppressWarnings("deprecation")
public CordovaActivityTest()
@@ -41,6 +44,7 @@ public class CordovaActivityTest extends ActivityInstrumentationTestCase2<Cordov
protected void setUp() throws Exception {
super.setUp();
+ mInstr = this.getInstrumentation();
testActivity = this.getActivity();
containerView = (FrameLayout) testActivity.findViewById(android.R.id.content);
innerContainer = (LinearLayout) containerView.getChildAt(0);
@@ -63,6 +67,23 @@ public class CordovaActivityTest extends ActivityInstrumentationTestCase2<Cordov
String className = innerContainer.getClass().getSimpleName();
assertTrue(className.equals("LinearLayoutSoftKeyboardDetect"));
}
+
-
+ public void testPauseAndResume()
+ {
+ mInstr.callActivityOnPause(testActivity);
+ sleep();
+ assertTrue(testView.isPaused());
+ mInstr.callActivityOnResume(testActivity);
+ sleep();
+ assertFalse(testView.isPaused());
+ }
+
+ private void sleep() {
+ try {
+ Thread.sleep(TIMEOUT);
+ } catch (InterruptedException e) {
+ fail("Unexpected Timeout");
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/d3dc94c0/test/src/org/apache/cordova/test/CordovaTest.java
----------------------------------------------------------------------
diff --git a/test/src/org/apache/cordova/test/CordovaTest.java b/test/src/org/apache/cordova/test/CordovaTest.java
index b7edd09..4a24792 100644
--- a/test/src/org/apache/cordova/test/CordovaTest.java
+++ b/test/src/org/apache/cordova/test/CordovaTest.java
@@ -21,6 +21,7 @@ package org.apache.cordova.test;
import org.apache.cordova.CordovaWebView;
import com.phonegap.api.PluginManager;
+import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.view.View;
@@ -98,6 +99,7 @@ public class CordovaTest extends
assertTrue(url.equals("file:///android_asset/www/index.html"));
}
*/
+
private void sleep() {
try {