ILocationManager.aidl revision ea8a8a6076f04360de2d25b3e5853cde8026cd5f
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007, The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.location; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.app.PendingIntent; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.location.Address; 2103ca216ac19ea4e7afcb183c20c7c780f0d97756Mike Lockwoodimport android.location.Criteria; 2234901409a404c8c66914c5a8ad0f29b1bcde0e78Mike Lockwoodimport android.location.GeocoderParams; 236fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pellyimport android.location.Geofence; 24ea8a8a6076f04360de2d25b3e5853cde8026cd5fdestradaaimport android.location.IGpsMeasurementsListener; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.location.IGpsStatusListener; 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.location.ILocationListener; 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.location.Location; 286fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pellyimport android.location.LocationRequest; 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Bundle; 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 316fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pellyimport com.android.internal.location.ProviderProperties; 326fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * System private API for talking with the location service. 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 366fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly * @hide 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface ILocationManager 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 406fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly void requestLocationUpdates(in LocationRequest request, in ILocationListener listener, 416fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly in PendingIntent intent, String packageName); 426fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly void removeUpdates(in ILocationListener listener, in PendingIntent intent, String packageName); 436fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly 446fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly void requestGeofence(in LocationRequest request, in Geofence geofence, 456fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly in PendingIntent intent, String packageName); 466fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly void removeGeofence(in Geofence fence, in PendingIntent intent, String packageName); 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 484035f5a7c191a68bc9a5912ce44c43c82e9e5dbfNick Pelly Location getLastLocation(in LocationRequest request, String packageName); 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50a06de0f29b58df9246779cc4bfd8f06f7205ddb6Dianne Hackborn boolean addGpsStatusListener(IGpsStatusListener listener, String packageName); 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void removeGpsStatusListener(IGpsStatusListener listener); 5248f17518223a2917fd82195004fbb206cb9a05a3Mike Lockwood 53e15735a9e0c0b1448b68f2d6b3247404fc1df417Mike Lockwood boolean geocoderIsPresent(); 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getFromLocation(double latitude, double longitude, int maxResults, 5534901409a404c8c66914c5a8ad0f29b1bcde0e78Mike Lockwood in GeocoderParams params, out List<Address> addrs); 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getFromLocationName(String locationName, 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project double lowerLeftLatitude, double lowerLeftLongitude, 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project double upperRightLatitude, double upperRightLongitude, int maxResults, 5934901409a404c8c66914c5a8ad0f29b1bcde0e78Mike Lockwood in GeocoderParams params, out List<Address> addrs); 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 616fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly boolean sendNiResponse(int notifId, int userResponse); 626fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly 63ea8a8a6076f04360de2d25b3e5853cde8026cd5fdestradaa boolean addGpsMeasurementsListener(in IGpsMeasurementsListener listener, in String packageName); 64ea8a8a6076f04360de2d25b3e5853cde8026cd5fdestradaa boolean removeGpsMeasurementsListener(in IGpsMeasurementsListener listener); 65ea8a8a6076f04360de2d25b3e5853cde8026cd5fdestradaa 666fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly // --- deprecated --- 676fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly List<String> getAllProviders(); 686fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly List<String> getProviders(in Criteria criteria, boolean enabledOnly); 696fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly String getBestProvider(in Criteria criteria, boolean enabledOnly); 706fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly boolean providerMeetsCriteria(String provider, in Criteria criteria); 716fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly ProviderProperties getProviderProperties(String provider); 726fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly boolean isProviderEnabled(String provider); 736fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly 746fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly void addTestProvider(String name, in ProviderProperties properties); 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void removeTestProvider(String provider); 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setTestProviderLocation(String provider, in Location loc); 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void clearTestProviderLocation(String provider); 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setTestProviderEnabled(String provider, boolean enabled); 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void clearTestProviderEnabled(String provider); 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setTestProviderStatus(String provider, int status, in Bundle extras, long updateTime); 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void clearTestProviderStatus(String provider); 82e932f7f2a47b770c636443d411436bd29cc4bb43Mike Lockwood 836fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly boolean sendExtraCommand(String provider, String command, inout Bundle extras); 846fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly 856fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly // --- internal --- 866fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly 876fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly // Used by location providers to tell the location manager when it has a new location. 886fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly // Passive is true if the location is coming from the passive provider, in which case 896fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly // it need not be shared with other providers. 906fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly void reportLocation(in Location location, boolean passive); 916fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly 926fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly // for reporting callback completion 936fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly void locationCallbackFinished(ILocationListener listener); 946fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly 956fa9ad4afcd762aea519ff61811386c23d18ddb2Nick Pelly 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 97