diff options
author | digit@chromium.org <digit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-07 16:59:34 +0000 |
---|---|---|
committer | digit@chromium.org <digit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-07 16:59:34 +0000 |
commit | f1bdf1c72a39f47c133f7a45ff441849ec8b496b (patch) | |
tree | db89f58152e350dd2afc52b127f7773e39c6b0f3 /content/public | |
parent | cbf03ba141434e753c517370696d93b43d8582d5 (diff) | |
download | chromium_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.java | 12 | ||||
-rw-r--r-- | content/public/android/javatests/src/org/chromium/content/browser/LocationProviderTest.java | 12 |
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()); |