diff options
author | Mike Lockwood <lockwood@android.com> | 2010-02-09 08:46:14 -0500 |
---|---|---|
committer | Mike Lockwood <lockwood@android.com> | 2010-02-10 09:41:25 -0500 |
commit | d03ff94fe58045b5bd1dd783fb98026778a4265d (patch) | |
tree | c35d201ab498f23f075f1c48ce4ce3ce55e9f2e4 /location/java/android | |
parent | ca35953c9064114cb09181e8bffddb2f7c2d8d53 (diff) | |
download | frameworks_base-d03ff94fe58045b5bd1dd783fb98026778a4265d.zip frameworks_base-d03ff94fe58045b5bd1dd783fb98026778a4265d.tar.gz frameworks_base-d03ff94fe58045b5bd1dd783fb98026778a4265d.tar.bz2 |
Clean up interface between LocationManagerService and the location providers:
LocationManagerService now uses new Java interface LocationProviderInterface
rather than LocationProviderProxy to refer to location providers internally.
LocationProviderProxy and the ILocationProvider binder interface are only
used for location providers implemented as services (NetworkLocationProvider)
Built-in location providers (GpsLocationProvider and mock providers) now just
implement LocationProviderInterface rather than using a Binder interface and proxy object.
Delete obsolete and unused TestLocationProvider class.
Change-Id: Id800e7c1864f7c666f8e37125c05896493b9c8c4
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'location/java/android')
3 files changed, 52 insertions, 2 deletions
diff --git a/location/java/android/location/ILocationManager.aidl b/location/java/android/location/ILocationManager.aidl index 628cb6b7..8c24ee1 100644 --- a/location/java/android/location/ILocationManager.aidl +++ b/location/java/android/location/ILocationManager.aidl @@ -22,7 +22,6 @@ import android.location.GeocoderParams; import android.location.IGeocodeProvider; import android.location.IGpsStatusListener; import android.location.ILocationListener; -import android.location.ILocationProvider; import android.location.Location; import android.os.Bundle; diff --git a/location/java/android/location/ILocationProvider.aidl b/location/java/android/location/ILocationProvider.aidl index 9fe6ab4..5529b11 100644 --- a/location/java/android/location/ILocationProvider.aidl +++ b/location/java/android/location/ILocationProvider.aidl @@ -21,7 +21,7 @@ import android.net.NetworkInfo; import android.os.Bundle; /** - * Binder interface for location providers. + * Binder interface for services that implement location providers. * * {@hide} */ diff --git a/location/java/android/location/LocationProviderInterface.java b/location/java/android/location/LocationProviderInterface.java new file mode 100644 index 0000000..98beffe --- /dev/null +++ b/location/java/android/location/LocationProviderInterface.java @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.location; + +import android.location.Location; +import android.net.NetworkInfo; +import android.os.Bundle; + +/** + * Location Manager's interface for location providers. + * + * {@hide} + */ +public interface LocationProviderInterface { + String getName(); + boolean requiresNetwork(); + boolean requiresSatellite(); + boolean requiresCell(); + boolean hasMonetaryCost(); + boolean supportsAltitude(); + boolean supportsSpeed(); + boolean supportsBearing(); + int getPowerRequirement(); + int getAccuracy(); + boolean isEnabled(); + void enable(); + void disable(); + int getStatus(Bundle extras); + long getStatusUpdateTime(); + void enableLocationTracking(boolean enable); + void setMinTime(long minTime); + void updateNetworkState(int state, NetworkInfo info); + void updateLocation(Location location); + boolean sendExtraCommand(String command, Bundle extras); + void addListener(int uid); + void removeListener(int uid); +} |