1/* 2 * Copyright (C) 2013 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENS E-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.hardware.location; 18 19import android.location.IFusedGeofenceHardware; 20import android.location.IGpsGeofenceHardware; 21import android.hardware.location.GeofenceHardwareRequestParcelable; 22import android.hardware.location.IGeofenceHardwareCallback; 23import android.hardware.location.IGeofenceHardwareMonitorCallback; 24 25/** @hide */ 26interface IGeofenceHardware { 27 void setGpsGeofenceHardware(in IGpsGeofenceHardware service); 28 void setFusedGeofenceHardware(in IFusedGeofenceHardware service); 29 int[] getMonitoringTypes(); 30 int getStatusOfMonitoringType(int monitoringType); 31 boolean addCircularFence( 32 int monitoringType, 33 in GeofenceHardwareRequestParcelable request, 34 in IGeofenceHardwareCallback callback); 35 boolean removeGeofence(int id, int monitoringType); 36 boolean pauseGeofence(int id, int monitoringType); 37 boolean resumeGeofence(int id, int monitoringType, int monitorTransitions); 38 boolean registerForMonitorStateChangeCallback(int monitoringType, 39 IGeofenceHardwareMonitorCallback callback); 40 boolean unregisterForMonitorStateChangeCallback(int monitoringType, 41 IGeofenceHardwareMonitorCallback callback); 42} 43