LocationProviderInterface.java revision d03ff94fe58045b5bd1dd783fb98026778a4265d
1d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood/*
2d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * Copyright (C) 2010 The Android Open Source Project
3d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood *
4d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * Licensed under the Apache License, Version 2.0 (the "License");
5d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * you may not use this file except in compliance with the License.
6d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * You may obtain a copy of the License at
7d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood *
8d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood *      http://www.apache.org/licenses/LICENSE-2.0
9d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood *
10d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * Unless required by applicable law or agreed to in writing, software
11d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * distributed under the License is distributed on an "AS IS" BASIS,
12d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * See the License for the specific language governing permissions and
14d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * limitations under the License.
15d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood */
16d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood
17d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwoodpackage android.location;
18d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood
19d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwoodimport android.location.Location;
20d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwoodimport android.net.NetworkInfo;
21d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwoodimport android.os.Bundle;
22d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood
23d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood/**
24d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * Location Manager's interface for location providers.
25d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood *
26d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood * {@hide}
27d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood */
28d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwoodpublic interface LocationProviderInterface {
29d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    String getName();
30d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    boolean requiresNetwork();
31d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    boolean requiresSatellite();
32d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    boolean requiresCell();
33d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    boolean hasMonetaryCost();
34d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    boolean supportsAltitude();
35d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    boolean supportsSpeed();
36d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    boolean supportsBearing();
37d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    int getPowerRequirement();
38d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    int getAccuracy();
39d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    boolean isEnabled();
40d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    void enable();
41d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    void disable();
42d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    int getStatus(Bundle extras);
43d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    long getStatusUpdateTime();
44d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    void enableLocationTracking(boolean enable);
45d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    void setMinTime(long minTime);
46d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    void updateNetworkState(int state, NetworkInfo info);
47d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    void updateLocation(Location location);
48d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    boolean sendExtraCommand(String command, Bundle extras);
49d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    void addListener(int uid);
50d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood    void removeListener(int uid);
51d03ff94fe58045b5bd1dd783fb98026778a4265dMike Lockwood}
52