PresRlmiInfo.java revision cfedd20d54687449bb6a6982085003cbf9a22bcb
1/* 2 * Copyright (c) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.ims.internal.uce.presence; 18 19import android.os.Parcel; 20import android.os.Parcelable; 21 22/** @hide */ 23public class PresRlmiInfo implements Parcelable { 24 25 /** 26 * uri corresponding to the list. Typically, this is the URI to 27 * which the SUBSCRIBE request was sent. 28 */ 29 private String mUri = ""; 30 /** list version number from 0 to 2^32-1 */ 31 private int mVersion; 32 /** 33 * Indicate whether the NOTIFY message contains information for 34 * every resource in the list 35 */ 36 private boolean mFullState; 37 /** list name */ 38 private String mListName = ""; 39 /** 40 * unique request ID used to match NOTIFY with original list 41 * SUBSCRIBE 42 */ 43 private int mRequestId; 44 /** subscription state*/ 45 private PresSubscriptionState mPresSubscriptionState; 46 /** active subscription expires time in second */ 47 private int mSubscriptionExpireTime; 48 /** list subscrption terminated reason */ 49 private String mSubscriptionTerminatedReason; 50 51 /** 52 * Gets the URI. 53 * @hide 54 */ 55 public String getUri() { 56 return mUri; 57 } 58 59 /** 60 * Sets the URI. 61 * @hide 62 */ 63 public void setUri(String uri) { 64 this.mUri = uri; 65 } 66 67 /** 68 * Gets the version. 69 * @hide 70 */ 71 public int getVersion() { 72 return mVersion; 73 } 74 75 /** 76 * Sets the version. 77 * @hide 78 */ 79 public void setVersion(int version) { 80 this.mVersion = version; 81 } 82 83 /** 84 * Gets the RLMI state. 85 * @hide 86 */ 87 public boolean isFullState() { 88 return mFullState; 89 } 90 91 /** 92 * Sets the RLMI state. 93 * @hide 94 */ 95 public void setFullState(boolean fullState) { 96 this.mFullState = fullState; 97 } 98 99 /** 100 * Gets the RLMI list name. 101 * @hide 102 */ 103 public String getListName() { 104 return mListName; 105 } 106 107 /** 108 * Sets the RLMI list name. 109 * @hide 110 */ 111 public void setListName(String listName) { 112 this.mListName = listName; 113 } 114 115 /** 116 * Gets the subscription request ID. 117 * @hide 118 */ 119 public int getRequestId() { 120 return mRequestId; 121 } 122 123 /** 124 * Sets the subscription request ID. 125 * @hide 126 */ 127 public void setRequestId(int requestId) { 128 this.mRequestId = requestId; 129 } 130 131 /** 132 * Gets the presence subscription state. 133 * @hide 134 */ 135 public PresSubscriptionState getPresSubscriptionState() { 136 return mPresSubscriptionState; 137 } 138 139 /** 140 * Sets the presence subscription state. 141 * @hide 142 */ 143 public void setPresSubscriptionState(PresSubscriptionState presSubscriptionState) { 144 this.mPresSubscriptionState = presSubscriptionState; 145 } 146 147 /** 148 * Gets the presence subscription expiration time. 149 * @hide 150 */ 151 public int getSubscriptionExpireTime() { 152 return mSubscriptionExpireTime; 153 } 154 155 /** 156 * Sets the presence subscription expiration time. 157 * @hide 158 */ 159 public void setSubscriptionExpireTime(int subscriptionExpireTime) { 160 this.mSubscriptionExpireTime = subscriptionExpireTime; 161 } 162 163 /** 164 * Gets the presence subscription terminated reason. 165 * @hide 166 */ 167 public String getSubscriptionTerminatedReason() { 168 return mSubscriptionTerminatedReason; 169 } 170 171 /** 172 * Sets the presence subscription terminated reason. 173 * @hide 174 */ 175 public void setSubscriptionTerminatedReason(String subscriptionTerminatedReason) { 176 this.mSubscriptionTerminatedReason = subscriptionTerminatedReason; 177 } 178 179 /** 180 * Constructor for the PresTupleInfo class. 181 * @hide 182 */ 183 public PresRlmiInfo(){}; 184 185 /** @hide */ 186 public int describeContents() { 187 return 0; 188 } 189 190 /** @hide */ 191 public void writeToParcel(Parcel dest, int flags) { 192 dest.writeString(mUri); 193 dest.writeInt(mVersion); 194 dest.writeInt(mFullState ? 1 : 0); 195 dest.writeString(mListName); 196 dest.writeInt(mRequestId); 197 dest.writeParcelable(mPresSubscriptionState, flags); 198 dest.writeInt(mSubscriptionExpireTime); 199 dest.writeString(mSubscriptionTerminatedReason); 200 } 201 202 /** @hide */ 203 public static final Parcelable.Creator<PresRlmiInfo> CREATOR = 204 new Parcelable.Creator<PresRlmiInfo>() { 205 206 public PresRlmiInfo createFromParcel(Parcel source) { 207 return new PresRlmiInfo(source); 208 } 209 210 public PresRlmiInfo[] newArray(int size) { 211 return new PresRlmiInfo[size]; 212 } 213 }; 214 215 /** @hide */ 216 private PresRlmiInfo(Parcel source) { 217 readFromParcel(source); 218 } 219 220 /** @hide */ 221 public void readFromParcel(Parcel source) { 222 mUri = source.readString(); 223 mVersion = source.readInt(); 224 mFullState = (source.readInt() == 0) ? false : true; 225 mListName = source.readString(); 226 mRequestId = source.readInt(); 227 mPresSubscriptionState = source.readParcelable( 228 PresSubscriptionState.class.getClassLoader()); 229 mSubscriptionExpireTime = source.readInt(); 230 mSubscriptionTerminatedReason = source.readString(); 231 } 232}