blob: e33aa1303886df15b84a691c72fd6c444337e63e [file] [log] [blame]
/*
* Copyright (c) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.ims.internal.uce.presence;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
/** @hide */
public class PresRlmiInfo implements Parcelable {
/**
* uri corresponding to the list. Typically, this is the URI to
* which the SUBSCRIBE request was sent.
*/
private String mUri = "";
/** list version number from 0 to 2^32-1 */
private int mVersion;
/**
* Indicate whether the NOTIFY message contains information for
* every resource in the list
*/
private boolean mFullState;
/** list name */
private String mListName = "";
/**
* unique request ID used to match NOTIFY with original list
* SUBSCRIBE
*/
private int mRequestId;
/** subscription state*/
private PresSubscriptionState mPresSubscriptionState;
/** active subscription expires time in second */
private int mSubscriptionExpireTime;
/** list subscrption terminated reason */
private String mSubscriptionTerminatedReason;
/**
* Gets the URI.
* @hide
*/
public String getUri() {
return mUri;
}
/**
* Sets the URI.
* @hide
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void setUri(String uri) {
this.mUri = uri;
}
/**
* Gets the version.
* @hide
*/
public int getVersion() {
return mVersion;
}
/**
* Sets the version.
* @hide
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void setVersion(int version) {
this.mVersion = version;
}
/**
* Gets the RLMI state.
* @hide
*/
public boolean isFullState() {
return mFullState;
}
/**
* Sets the RLMI state.
* @hide
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void setFullState(boolean fullState) {
this.mFullState = fullState;
}
/**
* Gets the RLMI list name.
* @hide
*/
public String getListName() {
return mListName;
}
/**
* Sets the RLMI list name.
* @hide
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void setListName(String listName) {
this.mListName = listName;
}
/**
* Gets the subscription request ID.
* @hide
*/
public int getRequestId() {
return mRequestId;
}
/**
* Sets the subscription request ID.
* @hide
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void setRequestId(int requestId) {
this.mRequestId = requestId;
}
/**
* Gets the presence subscription state.
* @hide
*/
public PresSubscriptionState getPresSubscriptionState() {
return mPresSubscriptionState;
}
/**
* Sets the presence subscription state.
* @hide
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void setPresSubscriptionState(PresSubscriptionState presSubscriptionState) {
this.mPresSubscriptionState = presSubscriptionState;
}
/**
* Gets the presence subscription expiration time.
* @hide
*/
public int getSubscriptionExpireTime() {
return mSubscriptionExpireTime;
}
/**
* Sets the presence subscription expiration time.
* @hide
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void setSubscriptionExpireTime(int subscriptionExpireTime) {
this.mSubscriptionExpireTime = subscriptionExpireTime;
}
/**
* Gets the presence subscription terminated reason.
* @hide
*/
public String getSubscriptionTerminatedReason() {
return mSubscriptionTerminatedReason;
}
/**
* Sets the presence subscription terminated reason.
* @hide
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public void setSubscriptionTerminatedReason(String subscriptionTerminatedReason) {
this.mSubscriptionTerminatedReason = subscriptionTerminatedReason;
}
/**
* Constructor for the PresTupleInfo class.
* @hide
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
public PresRlmiInfo(){};
/** @hide */
public int describeContents() {
return 0;
}
/** @hide */
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(mUri);
dest.writeInt(mVersion);
dest.writeInt(mFullState ? 1 : 0);
dest.writeString(mListName);
dest.writeInt(mRequestId);
dest.writeParcelable(mPresSubscriptionState, flags);
dest.writeInt(mSubscriptionExpireTime);
dest.writeString(mSubscriptionTerminatedReason);
}
/** @hide */
public static final Parcelable.Creator<PresRlmiInfo> CREATOR =
new Parcelable.Creator<PresRlmiInfo>() {
public PresRlmiInfo createFromParcel(Parcel source) {
return new PresRlmiInfo(source);
}
public PresRlmiInfo[] newArray(int size) {
return new PresRlmiInfo[size];
}
};
/** @hide */
private PresRlmiInfo(Parcel source) {
readFromParcel(source);
}
/** @hide */
public void readFromParcel(Parcel source) {
mUri = source.readString();
mVersion = source.readInt();
mFullState = (source.readInt() == 0) ? false : true;
mListName = source.readString();
mRequestId = source.readInt();
mPresSubscriptionState = source.readParcelable(
PresSubscriptionState.class.getClassLoader());
mSubscriptionExpireTime = source.readInt();
mSubscriptionTerminatedReason = source.readString();
}
}