diff options
Diffstat (limited to 'test-runner/android/test/TestLocationProvider.java')
-rw-r--r-- | test-runner/android/test/TestLocationProvider.java | 66 |
1 files changed, 44 insertions, 22 deletions
diff --git a/test-runner/android/test/TestLocationProvider.java b/test-runner/android/test/TestLocationProvider.java index 0fc3d16..500786d 100644 --- a/test-runner/android/test/TestLocationProvider.java +++ b/test-runner/android/test/TestLocationProvider.java @@ -19,17 +19,19 @@ package android.test; import android.location.Criteria; import android.location.ILocationManager; +import android.location.ILocationProvider; import android.location.Location; +import android.location.LocationProvider; import android.os.Bundle; +import android.os.RemoteException; import android.os.SystemClock; - -import com.android.internal.location.LocationProviderImpl; +import android.util.Log; /** * @hide - This is part of a framework that is under development and should not be used for * active development. */ -public class TestLocationProvider extends LocationProviderImpl { +public class TestLocationProvider extends ILocationProvider.Stub { public static final String PROVIDER_NAME = "test"; public static final double LAT = 0; @@ -37,9 +39,12 @@ public class TestLocationProvider extends LocationProviderImpl { public static final double ALTITUDE = 10000; public static final float SPEED = 10; public static final float BEARING = 1; - public static final int STATUS = AVAILABLE; + public static final int STATUS = LocationProvider.AVAILABLE; private static final long LOCATION_INTERVAL = 1000; + private static final String TAG = "TestLocationProvider"; + + private final ILocationManager mLocationManager; private Location mLocation; private boolean mEnabled; private TestLocationProviderThread mThread; @@ -75,59 +80,46 @@ public class TestLocationProvider extends LocationProviderImpl { } public TestLocationProvider(ILocationManager locationManager) { - super(PROVIDER_NAME, locationManager); + mLocationManager = locationManager; mLocation = new Location(PROVIDER_NAME); } - //LocationProvider methods - - @Override public int getAccuracy() { return Criteria.ACCURACY_COARSE; } - @Override public int getPowerRequirement() { return Criteria.NO_REQUIREMENT; } - @Override public boolean hasMonetaryCost() { return false; } - @Override public boolean requiresCell() { return false; } - @Override public boolean requiresNetwork() { return false; } - @Override public boolean requiresSatellite() { return false; } - @Override public boolean supportsAltitude() { return true; } - @Override public boolean supportsBearing() { return true; } - @Override public boolean supportsSpeed() { return true; } - //LocationProviderImpl methods - @Override public synchronized void disable() { mEnabled = false; if (mThread != null) { @@ -140,23 +132,49 @@ public class TestLocationProvider extends LocationProviderImpl { } } - @Override public synchronized void enable() { mEnabled = true; mThread = new TestLocationProviderThread(); mThread.start(); } - @Override public boolean isEnabled() { return mEnabled; } - @Override public int getStatus(Bundle extras) { return STATUS; } + public long getStatusUpdateTime() { + return 0; + } + + public void enableLocationTracking(boolean enable) { + } + + public void setMinTime(long minTime) { + } + + public void updateNetworkState(int state) { + } + + public boolean sendExtraCommand(String command, Bundle extras) { + return false; + } + + public void addListener(int uid) { + } + + public void removeListener(int uid) { + } + + public void wakeLockAcquired() { + } + + public void wakeLockReleased() { + } + private void updateLocation() { long time = SystemClock.uptimeMillis(); long multiplier = (time/5000)%500000; @@ -170,7 +188,11 @@ public class TestLocationProvider extends LocationProviderImpl { extras.putInt("extraTest", 24); mLocation.setExtras(extras); mLocation.setTime(time); - reportLocationChanged(mLocation); + try { + mLocationManager.setLocation(mLocation); + } catch (RemoteException e) { + Log.e(TAG, "RemoteException calling updateLocation"); + } } } |