1ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh/* 2f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger * Copyright (C) 2018 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 14f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger * limitations under the License 15ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh */ 16ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 17ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 18f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebingerpackage android.telephony.ims; 19ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 20f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebingerimport android.annotation.SystemApi; 21ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganeshimport android.os.Parcel; 22ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganeshimport android.os.Parcelable; 23ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 24ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganeshimport java.util.Arrays; 25ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 26ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 27ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh/** 28ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * Parcelable object to handle IMS supplementary service notifications. 29ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * 30ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh * @hide 31ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh */ 32f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger@SystemApi 33f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebingerpublic final class ImsSuppServiceNotification implements Parcelable { 34ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh private static final String TAG = "ImsSuppServiceNotification"; 35ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 36ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh /** Type of notification: 0 = MO; 1 = MT */ 37f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger public final int notificationType; 38ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh /** TS 27.007 7.17 "code1" or "code2" */ 39f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger public final int code; 40ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh /** TS 27.007 7.17 "index" - Not used currently*/ 41f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger public final int index; 42ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh /** TS 27.007 7.17 "type" (MT only) - Not used currently */ 43f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger public final int type; 44ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh /** TS 27.007 7.17 "number" (MT only) */ 45f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger public final String number; 46ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh /** List of forwarded numbers, if any */ 47f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger public final String[] history; 48ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 4935d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger 5035d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger public ImsSuppServiceNotification(int notificationType, int code, int index, int type, 5135d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger String number, String[] history) { 5235d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger this.notificationType = notificationType; 5335d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger this.code = code; 5435d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger this.index = index; 5535d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger this.type = type; 5635d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger this.number = number; 5735d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger this.history = history; 5835d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger } 5935d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3aBrad Ebinger 60f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger /** @hide */ 61ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh public ImsSuppServiceNotification(Parcel in) { 62f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger notificationType = in.readInt(); 63f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger code = in.readInt(); 64f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger index = in.readInt(); 65f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger type = in.readInt(); 66f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger number = in.readString(); 67f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger history = in.createStringArray(); 68ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh } 69ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 70ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh @Override 71ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh public String toString() { 72ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh return "{ notificationType=" + notificationType + 73ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh ", code=" + code + 74ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh ", index=" + index + 75ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh ", type=" + type + 76ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh ", number=" + number + 77ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh ", history=" + Arrays.toString(history) + 78ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh " }"; 79ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh } 80ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 81ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh @Override 82ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh public int describeContents() { 83ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh return 0; 84ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh } 85ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 86ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh @Override 87ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh public void writeToParcel(Parcel out, int flags) { 88ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh out.writeInt(notificationType); 89ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh out.writeInt(code); 90ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh out.writeInt(index); 91ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh out.writeInt(type); 92ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh out.writeString(number); 93ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh out.writeStringArray(history); 94ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh } 95ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 96ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh public static final Creator<ImsSuppServiceNotification> CREATOR = 97ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh new Creator<ImsSuppServiceNotification>() { 98ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh @Override 99ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh public ImsSuppServiceNotification createFromParcel(Parcel in) { 100ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh return new ImsSuppServiceNotification(in); 101ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh } 102ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh 103ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh @Override 104ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh public ImsSuppServiceNotification[] newArray(int size) { 105ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh return new ImsSuppServiceNotification[size]; 106ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh } 107ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh }; 108ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh} 109