10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2006 The Android Open Source Project 30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License. 60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at 70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software 110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and 140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License. 150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony.cat; 180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Parcel; 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Parcelable; 210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Class for representing "Duration" object for CAT. 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@hide} 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic class Duration implements Parcelable { 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int timeInterval; 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public TimeUnit timeUnit; 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public enum TimeUnit { 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville MINUTE(0x00), 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SECOND(0x01), 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville TENTH_SECOND(0x02); 360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private int mValue; 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville TimeUnit(int value) { 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville mValue = value; 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int value() { 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return mValue; 450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param timeInterval Between 1 and 255 inclusive. 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public Duration(int timeInterval, TimeUnit timeUnit) { 520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville this.timeInterval = timeInterval; 530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville this.timeUnit = timeUnit; 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville private Duration(Parcel in) { 570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville timeInterval = in.readInt(); 580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville timeUnit = TimeUnit.values()[in.readInt()]; 590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void writeToParcel(Parcel dest, int flags) { 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville dest.writeInt(timeInterval); 630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville dest.writeInt(timeUnit.ordinal()); 640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int describeContents() { 670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return 0; 680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Parcelable.Creator<Duration> CREATOR = new Parcelable.Creator<Duration>() { 710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public Duration createFromParcel(Parcel in) { 720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return new Duration(in); 730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public Duration[] newArray(int size) { 760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return new Duration[size]; 770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville }; 790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 80