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