1ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh/*
2ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * Copyright (c) 2015 The Android Open Source Project
3ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh *
4ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * Licensed under the Apache License, Version 2.0 (the "License");
5ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * you may not use this file except in compliance with the License.
6ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * You may obtain a copy of the License at
7ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh *
8ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh *      http://www.apache.org/licenses/LICENSE-2.0
9ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh *
10ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * Unless required by applicable law or agreed to in writing, software
11ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * distributed under the License is distributed on an "AS IS" BASIS,
12ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * See the License for the specific language governing permissions and
14ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * limitations under the License.
15ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh */
16ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
17ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
18ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganeshpackage com.android.ims;
19ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
20ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganeshimport android.os.Parcel;
21ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganeshimport android.os.Parcelable;
22ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
23ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganeshimport java.util.Arrays;
24ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
25ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
26ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh/**
27ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * Parcelable object to handle IMS supplementary service notifications.
28ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh *
29ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * @hide
30ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh */
31ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganeshpublic class ImsSuppServiceNotification implements Parcelable {
32ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    private static final String TAG = "ImsSuppServiceNotification";
33ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
34ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    /** Type of notification: 0 = MO; 1 = MT */
35ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public int notificationType;
36ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    /** TS 27.007 7.17 "code1" or "code2" */
37ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public int code;
38ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    /** TS 27.007 7.17 "index" - Not used currently*/
39ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public int index;
40ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    /** TS 27.007 7.17 "type" (MT only) - Not used currently */
41ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public int type;
42ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    /** TS 27.007 7.17 "number" (MT only) */
43ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public String number;
44ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    /** List of forwarded numbers, if any */
45ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public String[] history;
46ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
47ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public ImsSuppServiceNotification() {
48ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    }
49ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
50ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public ImsSuppServiceNotification(Parcel in) {
51ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        readFromParcel(in);
52ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    }
53ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
54ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    @Override
55ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public String toString() {
56ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        return "{ notificationType=" + notificationType +
57ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh                ", code=" + code +
58ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh                ", index=" + index +
59ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh                ", type=" + type +
60ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh                ", number=" + number +
61ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh                ", history=" + Arrays.toString(history) +
62ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh                " }";
63ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    }
64ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
65ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    @Override
66ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public int describeContents() {
67ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        return 0;
68ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    }
69ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
70ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    @Override
71ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public void writeToParcel(Parcel out, int flags) {
72ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        out.writeInt(notificationType);
73ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        out.writeInt(code);
74ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        out.writeInt(index);
75ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        out.writeInt(type);
76ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        out.writeString(number);
77ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        out.writeStringArray(history);
78ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    }
79ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
80ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    private void readFromParcel(Parcel in) {
81ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        notificationType = in.readInt();
82ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        code = in.readInt();
83ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        index = in.readInt();
84ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        type = in.readInt();
85ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        number = in.readString();
86ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        history = in.createStringArray();
87ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    }
88ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
89ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    public static final Creator<ImsSuppServiceNotification> CREATOR =
90ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh            new Creator<ImsSuppServiceNotification>() {
91ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        @Override
92ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        public ImsSuppServiceNotification createFromParcel(Parcel in) {
93ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh            return new ImsSuppServiceNotification(in);
94ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        }
95ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh
96ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        @Override
97ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        public ImsSuppServiceNotification[] newArray(int size) {
98ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh            return new ImsSuppServiceNotification[size];
99ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh        }
100ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh    };
101ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh}
102