1d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski/**
2d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * Copyright (C) 2014 The Android Open Source Project
3d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski *
4d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * use this file except in compliance with the License. You may obtain a copy
6d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * of the License at
7d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski *
8d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * http://www.apache.org/licenses/LICENSE-2.0
9d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski *
10d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * Unless required by applicable law or agreed to in writing, software
11d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * License for the specific language governing permissions and limitations
14d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * under the License.
15d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski */
16d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinskipackage android.content.pm;
17d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski
18d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinskiimport android.os.Parcel;
19d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinskiimport android.os.Parcelable;
20d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski
21d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski/**
22d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * A set of features that can be requested by an application. This corresponds
23d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * to information collected from the
24d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski * AndroidManifest.xml's {@code <feature-group>} tag.
25d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski */
26d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinskipublic final class FeatureGroupInfo implements Parcelable {
27d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski
28d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    /**
29d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski     * The list of features that are required by this group.
30d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski     *
31d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski     * @see FeatureInfo#FLAG_REQUIRED
32d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski     */
33d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    public FeatureInfo[] features;
34d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski
35d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    public FeatureGroupInfo() {
36d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    }
37d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski
38d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    public FeatureGroupInfo(FeatureGroupInfo other) {
39d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski        features = other.features;
40d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    }
41d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski
42d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    @Override
43d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    public int describeContents() {
44d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski        return 0;
45d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    }
46d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski
47d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    @Override
48d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    public void writeToParcel(Parcel dest, int flags) {
49d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski        dest.writeTypedArray(features, flags);
50d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    }
51d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski
52d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    public static final Creator<FeatureGroupInfo> CREATOR = new Creator<FeatureGroupInfo>() {
53d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski        @Override
54d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski        public FeatureGroupInfo createFromParcel(Parcel source) {
55d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski            FeatureGroupInfo group = new FeatureGroupInfo();
56d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski            group.features = source.createTypedArray(FeatureInfo.CREATOR);
57d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski            return group;
58d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski        }
59d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski
60d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski        @Override
61d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski        public FeatureGroupInfo[] newArray(int size) {
62d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski            return new FeatureGroupInfo[size];
63d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski        }
64d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski    };
65d3edfde51bd069a63e820282421d1a534fcf00ceAdam Lesinski}
66