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 PresServiceInfo implements Parcelable { 24cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 25cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Presence Service Information 26cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 27cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 28cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 29cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** No media capability. */ 30cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_MEDIA_CAP_NONE = 0; 31cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Full duplex audio only. */ 32cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_MEDIA_CAP_FULL_AUDIO_ONLY = 1; 33cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Full duplex audio and video. */ 34cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_MEDIA_CAP_FULL_AUDIO_AND_VIDEO = 2; 35cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Media cap is unknown. */ 36cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_MEDIA_CAP_UNKNOWN = 3; 37cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 38cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 39cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private int mMediaCap = UCE_PRES_MEDIA_CAP_NONE; 40cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private String mServiceID = ""; 41cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private String mServiceDesc = ""; 42cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private String mServiceVer = ""; 43cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 44cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 45cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the media type. 46cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 47cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 48cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public int getMediaType() { 49cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return mMediaCap; 50cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 51cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 52cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 53cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Sets the media type. 54cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 55cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 56cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void setMediaType(int nMediaCap) { 57cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak this.mMediaCap = nMediaCap; 58cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 59cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 60cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 61cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the service ID. 62cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 63cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 64cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public String getServiceId() { 65cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return mServiceID; 66cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 67cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 68cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 69cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Sets the service ID. 70cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 71cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 72cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void setServiceId(String serviceID) { 73cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak this.mServiceID = serviceID; 74cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 75cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 76cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the service description. 77cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 78cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 79cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public String getServiceDesc() { 80cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return mServiceDesc; 81cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 82cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 83cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 84cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Sets the service description. 85cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 86cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 87cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void setServiceDesc(String serviceDesc) { 88cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak this.mServiceDesc = serviceDesc; 89cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 90cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 91cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 92cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the service version. 93cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 94cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 95cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public String getServiceVer() { 96cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return mServiceVer; 97cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 98cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 99cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 100cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Sets the service version. 101cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 102cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 103cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void setServiceVer(String serviceVer) { 104cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak this.mServiceVer = serviceVer; 105cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 106cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 107cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 108cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Constructor for the PresServiceInfo class. 109cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 110cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 111cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public PresServiceInfo() {}; 112cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 113cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 114cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 115cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public int describeContents() { 116cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return 0; 117cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 118cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 119cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 120cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void writeToParcel(Parcel dest, int flags) { 121cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak dest.writeString(mServiceID); 122cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak dest.writeString(mServiceDesc); 123cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak dest.writeString(mServiceVer); 124cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak dest.writeInt(mMediaCap); 125cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 126cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 127cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 128cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final Parcelable.Creator<PresServiceInfo> CREATOR = 129cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak new Parcelable.Creator<PresServiceInfo>() { 130cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 131cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public PresServiceInfo createFromParcel(Parcel source) { 132cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return new PresServiceInfo(source); 133cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 134cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 135cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public PresServiceInfo[] newArray(int size) { 136cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return new PresServiceInfo[size]; 137cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 138cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak }; 139cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 140cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 141cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private PresServiceInfo(Parcel source) { 142cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak readFromParcel(source); 143cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 144cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 145cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 146cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void readFromParcel(Parcel source) { 147cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak mServiceID = source.readString(); 148cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak mServiceDesc = source.readString(); 149cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak mServiceVer = source.readString(); 150cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak mMediaCap = source.readInt(); 151cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 152cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak}