10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2007 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 Savilleabstract class ValueObject { 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville abstract ComprehensionTlvTag getTag(); 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 27cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville * Class for Command Details object of proactive commands from SIM. 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@hide} 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleclass CommandDetails extends ValueObject implements Parcelable { 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean compRequired; 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int commandNumber; 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int typeOfCommand; 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int commandQualifier; 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 36cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public ComprehensionTlvTag getTag() { 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return ComprehensionTlvTag.COMMAND_DETAILS; 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CommandDetails() { 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public boolean compareTo(CommandDetails other) { 450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return (this.compRequired == other.compRequired && 460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville this.commandNumber == other.commandNumber && 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville this.commandQualifier == other.commandQualifier && 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville this.typeOfCommand == other.typeOfCommand); 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public CommandDetails(Parcel in) { 520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville compRequired = in.readInt() != 0; 530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville commandNumber = in.readInt(); 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville typeOfCommand = in.readInt(); 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville commandQualifier = in.readInt(); 560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 58cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void writeToParcel(Parcel dest, int flags) { 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville dest.writeInt(compRequired ? 1 : 0); 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville dest.writeInt(commandNumber); 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville dest.writeInt(typeOfCommand); 630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville dest.writeInt(commandQualifier); 640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final Parcelable.Creator<CommandDetails> CREATOR = 670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville new Parcelable.Creator<CommandDetails>() { 68cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public CommandDetails createFromParcel(Parcel in) { 700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return new CommandDetails(in); 710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 73cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public CommandDetails[] newArray(int size) { 750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return new CommandDetails[size]; 760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville }; 780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 79cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int describeContents() { 810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return 0; 820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville @Override 850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public String toString() { 860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return "CmdDetails: compRequired=" + compRequired + 870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville " commandNumber=" + commandNumber + 880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville " typeOfCommand=" + typeOfCommand + 890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville " commandQualifier=" + commandQualifier; 900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 930825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleclass DeviceIdentities extends ValueObject { 940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int sourceId; 950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int destinationId; 960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 97cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ComprehensionTlvTag getTag() { 990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return ComprehensionTlvTag.DEVICE_IDENTITIES; 1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville// Container class to hold icon identifier value. 1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleclass IconId extends ValueObject { 1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int recordNumber; 1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean selfExplanatory; 1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 108cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ComprehensionTlvTag getTag() { 1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return ComprehensionTlvTag.ICON_ID; 1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville// Container class to hold item icon identifier list value. 1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleclass ItemsIconId extends ValueObject { 1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int [] recordNumbers; 1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean selfExplanatory; 1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 119cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville @Override 1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ComprehensionTlvTag getTag() { 1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville return ComprehensionTlvTag.ITEM_ICON_ID_LIST; 1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville } 1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 124