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 PresSipResponse implements Parcelable { 24cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 25cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private PresCmdId mCmdId = new PresCmdId(); 26cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private int mRequestId = 0; 27cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private int mSipResponseCode = 0; 28cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private int mRetryAfter = 0; 29cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private String mReasonPhrase = ""; 30cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 31cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 32cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the Presence command ID. 33cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 34cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 35cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public PresCmdId getCmdId() { 36cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return mCmdId; 37cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 38cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 39cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 40cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Sets the Presence command ID. 41cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 42cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 43cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void setCmdId(PresCmdId cmdId) { 44cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak this.mCmdId = cmdId; 45cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 46cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 47cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 48cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the request ID. 49cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 50cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 51cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public int getRequestId() { 52cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return mRequestId; 53cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 54cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 55cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 56cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Sets the request ID. 57cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 58cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 59cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void setRequestId(int requestId) { 60cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak this.mRequestId = requestId; 61cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 62cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 63cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 64cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the SIP response code. 65cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 66cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 67cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public int getSipResponseCode() { 68cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return mSipResponseCode; 69cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 70cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 71cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 72cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Sets the SIP response code. 73cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 74cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 75cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void setSipResponseCode(int sipResponseCode) { 76cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak this.mSipResponseCode = sipResponseCode; 77cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 78cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 79cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 80cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 81cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the reason phrase associated with the SIP responce 82cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * code. 83cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 84cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 85cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public String getReasonPhrase() { 86cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return mReasonPhrase; 87cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 88cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 89cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 90cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Sets the SIP response code reason phrase. 91cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 92cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 93cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void setReasonPhrase(String reasonPhrase) { 94cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak this.mReasonPhrase = reasonPhrase; 95cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 96cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 97cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 98cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the SIP retryAfter sec value. 99cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 100cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 101cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public int getRetryAfter() { 102cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return mRetryAfter; 103cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 104cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 105cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 106cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Sets the SIP retryAfter sec value 107cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 108cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 109cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void setRetryAfter(int retryAfter) { 110cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak this.mRetryAfter = retryAfter; 111cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 112cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 113cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 114cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Constructor for the PresSipResponse class. 115cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 116cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 117cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public PresSipResponse(){}; 118cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 119cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 120cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public int describeContents() { 121cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return 0; 122cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 123cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 124cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 125cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void writeToParcel(Parcel dest, int flags) { 126cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak dest.writeInt(mRequestId); 127cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak dest.writeInt(mSipResponseCode); 128cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak dest.writeString(mReasonPhrase); 129cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak dest.writeParcelable(mCmdId, flags); 130cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak dest.writeInt(mRetryAfter); 131cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 132cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 133cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 134cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final Parcelable.Creator<PresSipResponse> CREATOR = 135cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak new Parcelable.Creator<PresSipResponse>() { 136cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 137cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public PresSipResponse createFromParcel(Parcel source) { 138cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return new PresSipResponse(source); 139cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 140cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 141cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public PresSipResponse[] newArray(int size) { 142cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return new PresSipResponse[size]; 143cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 144cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak }; 145cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 146cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 147cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private PresSipResponse(Parcel source) { 148cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak readFromParcel(source); 149cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 150cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 151cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 152cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void readFromParcel(Parcel source) { 153cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak mRequestId = source.readInt(); 154cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak mSipResponseCode = source.readInt(); 155cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak mReasonPhrase = source.readString(); 156cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak mCmdId = source.readParcelable(PresCmdId.class.getClassLoader()); 157cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak mRetryAfter = source.readInt(); 158cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 159cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak}