1ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan/* 2ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * Copyright (C) 2013 The Android Open Source Project 3ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * 4ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * Licensed under the Apache License, Version 2.0 (the "License"); 5ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * you may not use this file except in compliance with the License. 6ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * You may obtain a copy of the License at 7ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * 8ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * http://www.apache.org/licenses/LICENSE-2.0 9ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * 10ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * Unless required by applicable law or agreed to in writing, software 11ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * distributed under the License is distributed on an "AS IS" BASIS, 12ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * See the License for the specific language governing permissions and 14ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * limitations under the License. 15ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan */ 16ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan 17ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayanpackage com.android.camera.app; 18ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan 19ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayanimport android.location.Location; 20ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan 21ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan/** 22ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * A generic interface for a location provider {Fused, GPS, Network}. 23ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan */ 24ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayanpublic interface LocationProvider { 254d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan 264d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan /** 274d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan * Report when connection fails so another location provider may be used. 284d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan */ 294d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan public interface OnConnectionFailedListener { 304d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan /** 314d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan * Report connection failure. 324d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan */ 334d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan public void onConnectionFailed(); 344d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan } 354d49016bde526681e100c9b66c842380dfc007ccKevin Gabayan 36ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan /** 37ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * Get the current location. 38ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan */ 39ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan public Location getCurrentLocation(); 40ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan 41ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan /** 42ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * Turn on/off recording of location. 43ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * 44ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * @param recordLocation Whether or not to record location. 45ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan */ 46ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan public void recordLocation(boolean recordLocation); 47ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan 48ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan /** 49ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * Disconnect the location provider after use. The location provider can no longer acquire 50ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan * locations after this has been called. 51ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan */ 52ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan public void disconnect(); 53ffbc43c3dd3c94a968a41431fb07645a13696c4aKevin Gabayan}