1f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville/* 2f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger * Copyright (C) 2018 The Android Open Source Project 3f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 4f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 5f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * you may not use this file except in compliance with the License. 6f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * You may obtain a copy of the License at 7f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 8f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 9f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 10f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Unless required by applicable law or agreed to in writing, software 11f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 12f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * See the License for the specific language governing permissions and 14f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger * limitations under the License 15f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 16f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 17f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebingerpackage android.telephony.ims; 18f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 19f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebingerimport android.annotation.SystemApi; 20f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport android.os.Parcel; 21f8458ff9d97f8961d67c41ee107129ecba873f36Wink Savilleimport android.os.Parcelable; 22f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 23f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville/** 24f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * Provides the result to the update operation for the supplementary service configuration. 25f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * 26f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * @hide 27f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 28f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger@SystemApi 29f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebingerpublic final class ImsSsInfo implements Parcelable { 30f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville /** 31f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville * For the status of service registration or activation/deactivation. 32f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville */ 33f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int NOT_REGISTERED = (-1); 34f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int DISABLED = 0; 35f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final int ENABLED = 1; 36f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 37f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville // 0: disabled, 1: enabled 38f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger /** @hide */ 3937121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger // TODO: Make private, do not modify this field directly, use getter! 40f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int mStatus; 41f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger /** @hide */ 4237121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger // TODO: Make private, do not modify this field directly, use getter! 43ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh public String mIcbNum; 44f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 4537121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger /**@hide*/ 4637121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger // TODO: Remove! Do not use this constructor, instead use public version. 47f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsSsInfo() { 48f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 49f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 5037121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger /** 5137121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * 5237121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * @param status The status of the service registration of activation/deactiviation. Valid 5337121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * entries include: 5437121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * {@link #NOT_REGISTERED}, 5537121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * {@link #DISABLED}, 5637121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * {@link #ENABLED} 5737121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * @param icbNum The Incoming barring number. 5837121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger */ 5937121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger public ImsSsInfo(int status, String icbNum) { 6037121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger mStatus = status; 6137121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger mIcbNum = icbNum; 6237121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger } 6337121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger 64f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger private ImsSsInfo(Parcel in) { 65f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville readFromParcel(in); 66f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 67f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 68f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 69f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public int describeContents() { 70f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return 0; 71f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 72f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 73f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 74f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public void writeToParcel(Parcel out, int flags) { 75f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville out.writeInt(mStatus); 76ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh out.writeString(mIcbNum); 77f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 78f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 79f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 80f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public String toString() { 81f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return super.toString() + ", Status: " + ((mStatus == 0) ? "disabled" : "enabled"); 82f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 83f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 84f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville private void readFromParcel(Parcel in) { 85f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville mStatus = in.readInt(); 86ddf570e8226bd21448b44b3327d4bcb2608f4d00Shriram Ganesh mIcbNum = in.readString(); 87f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 88f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 89f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public static final Creator<ImsSsInfo> CREATOR = 90f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville new Creator<ImsSsInfo>() { 91f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 92f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsSsInfo createFromParcel(Parcel in) { 93f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return new ImsSsInfo(in); 94f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 95f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville 96f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville @Override 97f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville public ImsSsInfo[] newArray(int size) { 98f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville return new ImsSsInfo[size]; 99f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville } 100f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville }; 101f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger 10237121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger /** 10337121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * @return Supplementary Service Configuration status. Valid Values are: 10437121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * {@link #NOT_REGISTERED}, 10537121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * {@link #DISABLED}, 10637121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger * {@link #ENABLED} 10737121d467c3e2fe56dc30cc2a6f6a37231791d7aBrad Ebinger */ 108f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger public int getStatus() { 109f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger return mStatus; 110f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger } 111f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger 112f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger public String getIcbNum() { 113f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger return mIcbNum; 114f8c3cd8b3530a27f7534c32bac84c464ad5f66aeBrad Ebinger } 115f8458ff9d97f8961d67c41ee107129ecba873f36Wink Saville} 116