/* * 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; } }