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/LICENSE-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 19c4e1e59561884afc2c71b4b52697f62bd6b38f99destradaaimport android.annotation.SystemApi; 208ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganeshimport android.location.Location; 218ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh 228ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh/** 238ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * The callback class associated with the APIs in {@link GeofenceHardware} 24c4e1e59561884afc2c71b4b52697f62bd6b38f99destradaa * 25c4e1e59561884afc2c71b4b52697f62bd6b38f99destradaa * @hide 268ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh */ 27c4e1e59561884afc2c71b4b52697f62bd6b38f99destradaa@SystemApi 288ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganeshpublic abstract class GeofenceHardwareCallback { 298ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh /** 308ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * The callback called when there is a transition to report for the specific 318ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * geofence. 328ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * 338ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param geofenceId The geofence ID of the geofence 348ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param transition One of {@link GeofenceHardware#GEOFENCE_ENTERED}, 358ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_EXITED}, {@link GeofenceHardware#GEOFENCE_UNCERTAIN} 368ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param location The last known location according to the monitoring system. 378ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param timestamp The timestamp (elapsed real time in milliseconds) when the transition was 388ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * detected 398ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param monitoringType Type of the monitoring system. 408ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh */ 41da6508954a492f3dd4397e70e4fa08ee54bd2741Jaikumar Ganesh public void onGeofenceTransition(int geofenceId, int transition, Location location, 428ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh long timestamp, int monitoringType) { 438ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh } 448ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh 458ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh /** 468ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * The callback called to notify the success or failure of the add call. 478ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * 488ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param geofenceId The ID of the geofence. 498ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param status One of {@link GeofenceHardware#GEOFENCE_SUCCESS}, 508ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_ERROR_ID_EXISTS}, 518ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_ERROR_INVALID_TRANSITION}, 528ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_ERROR_TOO_MANY_GEOFENCES}, 538ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_FAILURE} 548ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh */ 558ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh public void onGeofenceAdd(int geofenceId, int status) { 568ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh } 578ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh 588ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh /** 598ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * The callback called to notify the success or failure of the remove call. 608ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * 618ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param geofenceId The ID of the geofence. 628ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param status One of {@link GeofenceHardware#GEOFENCE_SUCCESS}, 638ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_ERROR_ID_UNKNOWN}, 648ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_FAILURE} 658ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh */ 668ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh public void onGeofenceRemove(int geofenceId, int status) { 678ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh } 688ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh 698ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh /** 708ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * The callback called to notify the success or failure of the pause call. 718ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * 728ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param geofenceId The ID of the geofence. 738ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param status One of {@link GeofenceHardware#GEOFENCE_SUCCESS}, 748ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_ERROR_ID_UNKNOWN}, 758ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_FAILURE} 768ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh */ 778ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh public void onGeofencePause(int geofenceId, int status) { 788ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh } 798ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh 808ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh /** 818ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * The callback called to notify the success or failure of the resume call. 828ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * 838ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param geofenceId The ID of the geofence. 848ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * @param status One of {@link GeofenceHardware#GEOFENCE_SUCCESS}, 858ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_ERROR_ID_UNKNOWN}, 868ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_ERROR_INVALID_TRANSITION}, 878ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh * {@link GeofenceHardware#GEOFENCE_FAILURE} 888ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh */ 898ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh public void onGeofenceResume(int geofenceId, int status) { 908ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh } 918ce470dd4ba0608abb6b5eae117cefca927af96bJaikumar Ganesh} 92