1cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak/*
2cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Copyright (c) 2016 The Android Open Source Project
3cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak *
4cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Licensed under the Apache License, Version 2.0 (the "License");
5cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * you may not use this file except in compliance with the License.
6cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * You may obtain a copy of the License at
7cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak *
8cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak *      http://www.apache.org/licenses/LICENSE-2.0
9cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak *
10cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Unless required by applicable law or agreed to in writing, software
11cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * distributed under the License is distributed on an "AS IS" BASIS,
12cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * See the License for the specific language governing permissions and
14cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * limitations under the License.
15cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */
16cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
17cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakpackage com.android.ims.internal.uce.presence;
18cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
19cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport android.os.Parcel;
20cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport android.os.Parcelable;
21cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
22cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak/** @hide  */
23cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakpublic class PresSubscriptionState implements Parcelable {
24cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
25cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
26cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     *  Subscription states.
27cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     *  @hide
28cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
29cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
30cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** Active state. */
31cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final int UCE_PRES_SUBSCRIPTION_STATE_ACTIVE = 0;
32cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** Pending state. */
33cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final int UCE_PRES_SUBSCRIPTION_STATE_PENDING = 1;
34cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** Terminated state. */
35cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final int UCE_PRES_SUBSCRIPTION_STATE_TERMINATED = 2;
36cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** Unknown state. */
37cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final int UCE_PRES_SUBSCRIPTION_STATE_UNKNOWN = 3;
38cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
39cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
40cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private int mPresSubscriptionState = UCE_PRES_SUBSCRIPTION_STATE_UNKNOWN;
41cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
42cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
43cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
44cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int describeContents() {
45cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return 0;
46cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
47cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
48cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
49cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void writeToParcel(Parcel dest, int flags) {
50cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeInt(mPresSubscriptionState);
51cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
52cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
53cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
54cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final Parcelable.Creator<PresSubscriptionState> CREATOR =
55cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak                                    new Parcelable.Creator<PresSubscriptionState>() {
56cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
57cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        public PresSubscriptionState createFromParcel(Parcel source) {
58cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak            return new PresSubscriptionState(source);
59cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        }
60cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
61cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        public PresSubscriptionState[] newArray(int size) {
62cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak            return new PresSubscriptionState[size];
63cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        }
64cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    };
65cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
66cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
67cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private PresSubscriptionState(Parcel source) {
68cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        readFromParcel(source);
69cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
70cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
71cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
72cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void readFromParcel(Parcel source) {
73cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mPresSubscriptionState = source.readInt();
74cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
75cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
76cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
77cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Constructor for the PresSubscriptionState class.
78cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
79cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
80cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public PresSubscriptionState() {    };
81cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
82cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
83cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the Presence subscription state.
84cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
85cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
86cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int getPresSubscriptionStateValue() {
87cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mPresSubscriptionState;
88cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
89cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
90cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
91cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
92cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the Presence subscription state.
93cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
94cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
95cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setPresSubscriptionState(int nPresSubscriptionState) {
96cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mPresSubscriptionState = nPresSubscriptionState;
97cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
98cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak}