summaryrefslogtreecommitdiffstats
path: root/content/public
diff options
context:
space:
mode:
authordigit@chromium.org <digit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-07 16:59:34 +0000
committerdigit@chromium.org <digit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-07 16:59:34 +0000
commitf1bdf1c72a39f47c133f7a45ff441849ec8b496b (patch)
treedb89f58152e350dd2afc52b127f7773e39c6b0f3 /content/public
parentcbf03ba141434e753c517370696d93b43d8582d5 (diff)
downloadchromium_src-f1bdf1c72a39f47c133f7a45ff441849ec8b496b.zip
chromium_src-f1bdf1c72a39f47c133f7a45ff441849ec8b496b.tar.gz
chromium_src-f1bdf1c72a39f47c133f7a45ff441849ec8b496b.tar.bz2
android: Improve ActivityStatus and add ChromiumActivity.
The ActivityStatus class used to track activity state changes is too basic for some usage scenarios. This patch does the following: - Augment ActivityStatus with a new StateListener type that can be registered to listen to all activity state changes. Also add getActivity(), getState(), registerStateListener() and unregisterStateListener() as static method. - Add a new ChromiumActivity class that all Chromium main activities should sub-class, to ensure that the ActivityStatus state is updated appropriately. - Modify all main activities in the Chromium code base to extend from ChromiumActivity instead of Activity. BUG=none Review URL: https://chromiumcodereview.appspot.com/11419287 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171789 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/public')
-rw-r--r--content/public/android/java/src/org/chromium/content/browser/LocationProvider.java12
-rw-r--r--content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java12
2 files changed, 12 insertions, 12 deletions
diff --git a/content/public/android/java/src/org/chromium/content/browser/LocationProvider.java b/content/public/android/java/src/org/chromium/content/browser/LocationProvider.java
index 75be3dd..6efcb95 100644
--- a/content/public/android/java/src/org/chromium/content/browser/LocationProvider.java
+++ b/content/public/android/java/src/org/chromium/content/browser/LocationProvider.java
@@ -37,7 +37,7 @@ class LocationProvider {
* ensures that the start/stop calls into this class are done in the UI thread.
*/
private static class LocationProviderImpl
- implements LocationListener, ActivityStatus.Listener {
+ implements LocationListener, ActivityStatus.StateListener {
private Context mContext;
private LocationManager mLocationManager;
@@ -49,11 +49,11 @@ class LocationProvider {
mContext = context;
}
- public void onActivityStatusChanged(boolean isPaused) {
- if (isPaused) {
+ public void onActivityStateChange(int state) {
+ if (state == ActivityStatus.PAUSED) {
mShouldRunAfterActivityResume = mIsRunning;
unregisterFromLocationUpdates();
- } else {
+ } else if (state == ActivityStatus.RESUMED) {
assert !mIsRunning;
if (mShouldRunAfterActivityResume) {
registerForLocationUpdates();
@@ -68,7 +68,7 @@ class LocationProvider {
private void start(boolean gpsEnabled) {
if (!mIsRunning && !mShouldRunAfterActivityResume) {
// Currently idle so start listening to activity status changes.
- ActivityStatus.getInstance().registerListener(this);
+ ActivityStatus.registerStateListener(this);
}
mIsGpsEnabled = gpsEnabled;
if (ActivityStatus.getInstance().isPaused()) {
@@ -84,7 +84,7 @@ class LocationProvider {
*/
private void stop() {
unregisterFromLocationUpdates();
- ActivityStatus.getInstance().unregisterListener(this);
+ ActivityStatus.unregisterStateListener(this);
mShouldRunAfterActivityResume = false;
}
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java b/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java
index 0fa6c06..5dde1f2 100644
--- a/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java
+++ b/content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java
@@ -60,9 +60,9 @@ public class LocationProviderTest extends InstrumentationTestCase {
public void testStartPauseResumeStop() throws Exception {
mLocationProvider.start(false);
assertTrue("Should be running", mLocationProvider.isRunning());
- ActivityStatus.getInstance().onPause();
+ ActivityStatus.onStateChange(null, ActivityStatus.PAUSED);
assertFalse("Should have paused", mLocationProvider.isRunning());
- ActivityStatus.getInstance().onResume();
+ ActivityStatus.onStateChange(null, ActivityStatus.RESUMED);
assertTrue("Should have resumed", mLocationProvider.isRunning());
mLocationProvider.stop();
assertFalse("Should have stopped", mLocationProvider.isRunning());
@@ -76,10 +76,10 @@ public class LocationProviderTest extends InstrumentationTestCase {
@UiThreadTest
@Feature({"Location"})
public void testPauseStartResumeStop() throws Exception {
- ActivityStatus.getInstance().onPause();
+ ActivityStatus.onStateChange(null, ActivityStatus.PAUSED);
mLocationProvider.start(false);
assertFalse("Should not be running", mLocationProvider.isRunning());
- ActivityStatus.getInstance().onResume();
+ ActivityStatus.onStateChange(null, ActivityStatus.RESUMED);
assertTrue("Should have resumed", mLocationProvider.isRunning());
mLocationProvider.stop();
assertFalse("Should have stopped", mLocationProvider.isRunning());
@@ -94,11 +94,11 @@ public class LocationProviderTest extends InstrumentationTestCase {
public void testStartPauseUpgradeResumeStop() throws Exception {
mLocationProvider.start(false);
assertTrue("Should be running", mLocationProvider.isRunning());
- ActivityStatus.getInstance().onPause();
+ ActivityStatus.onStateChange(null, ActivityStatus.PAUSED);
assertFalse("Should have paused", mLocationProvider.isRunning());
mLocationProvider.start(true);
assertFalse("Should be paused", mLocationProvider.isRunning());
- ActivityStatus.getInstance().onResume();
+ ActivityStatus.onStateChange(null, ActivityStatus.RESUMED);
assertTrue("Should have resumed", mLocationProvider.isRunning());
mLocationProvider.stop();
assertFalse("Should have stopped", mLocationProvider.isRunning());