18ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh/* 28ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * Copyright (C) 2013 The Android Open Source Project 38ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * 48ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * Licensed under the Apache License, Version 2.0 (the "License"); 58ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * you may not use this file except in compliance with the License. 68ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * You may obtain a copy of the License at 78ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * 88ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * http://www.apache.org/licenses/LICENS E-2.0 98ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * 108ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * Unless required by applicable law or agreed to in writing, software 118ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * distributed under the License is distributed on an "AS IS" BASIS, 128ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * See the License for the specific language governing permissions and 148ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * limitations under the License. 158ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh */ 168ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh 178ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganeshpackage android.hardware.location; 188ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh 190682809ad08db284d7110aab44108d5e9c310e6bdestradaaimport android.location.IFusedGeofenceHardware; 208ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganeshimport android.location.IGpsGeofenceHardware; 218ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganeshimport android.hardware.location.IGeofenceHardwareCallback; 22da6508954a492f3dd4397e70e4fa08ee54bd2741Jaikumar Ganeshimport android.hardware.location.IGeofenceHardwareMonitorCallback; 238ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh 248ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh/** @hide */ 258ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganeshinterface IGeofenceHardware { 268ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh void setGpsGeofenceHardware(in IGpsGeofenceHardware service); 270682809ad08db284d7110aab44108d5e9c310e6bdestradaa void setFusedGeofenceHardware(in IFusedGeofenceHardware service); 28da6508954a492f3dd4397e70e4fa08ee54bd2741Jaikumar Ganesh int[] getMonitoringTypes(); 29da6508954a492f3dd4397e70e4fa08ee54bd2741Jaikumar Ganesh int getStatusOfMonitoringType(int monitoringType); 30da6508954a492f3dd4397e70e4fa08ee54bd2741Jaikumar Ganesh boolean addCircularFence(int id, int monitoringType, double lat, double longitude, 31da6508954a492f3dd4397e70e4fa08ee54bd2741Jaikumar Ganesh double radius, int lastTransition, int monitorTransitions, 32da6508954a492f3dd4397e70e4fa08ee54bd2741Jaikumar Ganesh int notificationResponsiveness, int unknownTimer,in IGeofenceHardwareCallback callback); 338ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh boolean removeGeofence(int id, int monitoringType); 348ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh boolean pauseGeofence(int id, int monitoringType); 35da6508954a492f3dd4397e70e4fa08ee54bd2741Jaikumar Ganesh boolean resumeGeofence(int id, int monitoringType, int monitorTransitions); 368ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh boolean registerForMonitorStateChangeCallback(int monitoringType, 37da6508954a492f3dd4397e70e4fa08ee54bd2741Jaikumar Ganesh IGeofenceHardwareMonitorCallback callback); 388ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh boolean unregisterForMonitorStateChangeCallback(int monitoringType, 39da6508954a492f3dd4397e70e4fa08ee54bd2741Jaikumar Ganesh IGeofenceHardwareMonitorCallback callback); 408ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh} 41