diff options
Diffstat (limited to 'telephony/java/com/android/internal/telephony/cat/CommandDetails.java')
-rw-r--r-- | telephony/java/com/android/internal/telephony/cat/CommandDetails.java | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/telephony/java/com/android/internal/telephony/cat/CommandDetails.java b/telephony/java/com/android/internal/telephony/cat/CommandDetails.java new file mode 100644 index 0000000..e81ff98 --- /dev/null +++ b/telephony/java/com/android/internal/telephony/cat/CommandDetails.java @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2007 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.internal.telephony.gsm.stk; + +import android.os.Parcel; +import android.os.Parcelable; + +abstract class ValueObject { + abstract ComprehensionTlvTag getTag(); +} + +/** + * Class for Command Detailes object of proactive commands from SIM. + * {@hide} + */ +class CommandDetails extends ValueObject implements Parcelable { + public boolean compRequired; + public int commandNumber; + public int typeOfCommand; + public int commandQualifier; + + public ComprehensionTlvTag getTag() { + return ComprehensionTlvTag.COMMAND_DETAILS; + } + + CommandDetails() { + } + + public boolean compareTo(CommandDetails other) { + return (this.compRequired == other.compRequired && + this.commandNumber == other.commandNumber && + this.commandQualifier == other.commandQualifier && + this.typeOfCommand == other.typeOfCommand); + } + + public CommandDetails(Parcel in) { + compRequired = true; + commandNumber = in.readInt(); + typeOfCommand = in.readInt(); + commandQualifier = in.readInt(); + } + + public void writeToParcel(Parcel dest, int flags) { + dest.writeInt(commandNumber); + dest.writeInt(typeOfCommand); + dest.writeInt(commandQualifier); + } + + public static final Parcelable.Creator<CommandDetails> CREATOR = + new Parcelable.Creator<CommandDetails>() { + public CommandDetails createFromParcel(Parcel in) { + return new CommandDetails(in); + } + + public CommandDetails[] newArray(int size) { + return new CommandDetails[size]; + } + }; + + public int describeContents() { + return 0; + } +} + +class DeviceIdentities extends ValueObject { + public int sourceId; + public int destinationId; + + ComprehensionTlvTag getTag() { + return ComprehensionTlvTag.DEVICE_IDENTITIES; + } +} + +// Container class to hold icon identifier value. +class IconId extends ValueObject { + int recordNumber; + boolean selfExplanatory; + + ComprehensionTlvTag getTag() { + return ComprehensionTlvTag.ICON_ID; + } +} + +// Container class to hold item icon identifier list value. +class ItemsIconId extends ValueObject { + int [] recordNumbers; + boolean selfExplanatory; + + ComprehensionTlvTag getTag() { + return ComprehensionTlvTag.ITEM_ICON_ID_LIST; + } +}
\ No newline at end of file |