1ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu/*
2ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * Copyright (C) 2012 The Android Open Source Project
3ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu *
4ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * Licensed under the Apache License, Version 2.0 (the "License");
5ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * you may not use this file except in compliance with the License.
6ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * You may obtain a copy of the License at
7ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu *
8ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu *      http://www.apache.org/licenses/LICENSE-2.0
9ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu *
10ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * Unless required by applicable law or agreed to in writing, software
11ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * distributed under the License is distributed on an "AS IS" BASIS,
12ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * See the License for the specific language governing permissions and
14ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * limitations under the License.
15ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu */
16ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
17ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tupackage com.android.location.provider;
18ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
19ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tuimport java.util.ArrayList;
20ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tuimport java.util.List;
21ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
22ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tuimport android.location.LocationRequest;
23ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
24ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tuimport com.android.internal.location.ProviderRequest;
25ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
26ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu/**
27ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * This class is an interface to Provider Requests for unbundled applications.
28ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu *
29ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * <p>IMPORTANT: This class is effectively a public API for unbundled
30ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * applications, and must remain API stable. See README.txt in the root
31ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * of this package for more information.
32ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu */
33ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tupublic final class ProviderRequestUnbundled {
34ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    private final ProviderRequest mRequest;
35ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
36ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    public ProviderRequestUnbundled(ProviderRequest request) {
37ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        mRequest = request;
38ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    }
39ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
40ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    public boolean getReportLocation() {
41ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        return mRequest.reportLocation;
42ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    }
43ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
44ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    public long getInterval() {
45ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        return mRequest.interval;
46ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    }
47ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
48ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    /**
49ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu     * Never null.
50ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu     */
51ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    public List<LocationRequestUnbundled> getLocationRequests() {
52ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        List<LocationRequestUnbundled> result = new ArrayList<LocationRequestUnbundled>(
53ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu                mRequest.locationRequests.size());
54ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        for (LocationRequest r : mRequest.locationRequests) {
55ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu          result.add(new LocationRequestUnbundled(r));
56ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        }
57ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        return result;
58ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    }
59ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
60ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    @Override
61ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    public String toString() {
62ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        return mRequest.toString();
63ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    }
64ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu}
65