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 PresPublishTriggerType implements Parcelable { 24cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 25cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Publish Trigger Indication Definitions 26cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 27cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 28cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 29cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** ETag expired. */ 30cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_PUBLISH_TRIGGER_ETAG_EXPIRED = 0; 31cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Move to LTE with VoPS disabled. */ 32cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 1; 33cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Move to LTE with VoPS enabled. */ 34cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 2; 35cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Move to eHRPD. */ 36cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_EHRPD = 3; 37cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Move to HSPA+. */ 38cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_HSPAPLUS = 4; 39cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Move to 3G. */ 40cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_3G = 5; 41cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Move to 2G. */ 42cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_2G = 6; 43cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Move to WLAN */ 44cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_WLAN = 7; 45cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Move to IWLAN */ 46cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_PUBLISH_TRIGGER_MOVE_TO_IWLAN = 8; 47cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** Trigger is unknown. */ 48cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final int UCE_PRES_PUBLISH_TRIGGER_UNKNOWN = 9; 49cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 50cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 51cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 52cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 53cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private int mPublishTriggerType = UCE_PRES_PUBLISH_TRIGGER_UNKNOWN; 54cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 55cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 56cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 57cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Gets the publish trigger types. 58cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 59cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 60cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public int getPublishTrigeerType() { 61cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return mPublishTriggerType; 62cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 63cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 64cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 65cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Sets the publish trigger type. 66cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 67cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 68cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void setPublishTrigeerType(int nPublishTriggerType) { 69cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak this.mPublishTriggerType = nPublishTriggerType; 70cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 71cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 72cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 73cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** 74cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Constructor for the PresPublishTriggerType class. 75cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * @hide 76cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */ 77cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public PresPublishTriggerType(){}; 78cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 79cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 80cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public int describeContents() { 81cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return 0; 82cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 83cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 84cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 85cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void writeToParcel(Parcel dest, int flags) { 86cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak dest.writeInt(mPublishTriggerType); 87cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 88cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 89cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 90cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public static final Parcelable.Creator<PresPublishTriggerType> CREATOR = 91cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak new Parcelable.Creator<PresPublishTriggerType>() { 92cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 93cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public PresPublishTriggerType createFromParcel(Parcel source) { 94cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 95cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return new PresPublishTriggerType(source); 96cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 97cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 98cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public PresPublishTriggerType[] newArray(int size) { 99cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 100cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak return new PresPublishTriggerType[size]; 101cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 102cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak }; 103cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 104cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 105cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak private PresPublishTriggerType(Parcel source) { 106cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak readFromParcel(source); 107cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 108cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak 109cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak /** @hide */ 110cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak public void readFromParcel(Parcel source) { 111cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak mPublishTriggerType = source.readInt(); 112cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak } 113cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak}