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 com.android.internal.location.ProviderProperties;
20ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
21ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu/**
22ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * This class is an interface to Provider Properties for unbundled applications.
23ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu *
24ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * <p>IMPORTANT: This class is effectively a public API for unbundled
25ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * applications, and must remain API stable. See README.txt in the root
26ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu * of this package for more information.
27ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu */
28ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tupublic final class ProviderPropertiesUnbundled {
29ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    private final ProviderProperties mProperties;
30ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
31ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    public static ProviderPropertiesUnbundled create(boolean requiresNetwork,
32ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu            boolean requiresSatellite, boolean requiresCell, boolean hasMonetaryCost,
33ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu            boolean supportsAltitude, boolean supportsSpeed, boolean supportsBearing,
34ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu            int powerRequirement, int accuracy) {
35ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        return new ProviderPropertiesUnbundled(new ProviderProperties(requiresNetwork,
36ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu                requiresSatellite, requiresCell, hasMonetaryCost, supportsAltitude, supportsSpeed,
37ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu                supportsBearing, powerRequirement, accuracy));
38ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    }
39ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
40ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    private ProviderPropertiesUnbundled(ProviderProperties properties) {
41ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        mProperties = properties;
42ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    }
43ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
44ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    public ProviderProperties getProviderProperties() {
45ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        return mProperties;
46ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    }
47ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu
48ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    @Override
49ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    public String toString() {
50ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu        return mProperties.toString();
51ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu    }
52ccb4c318aa5150ba49b7e7878d20b4787d6bf723Laurent Tu}
53