10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/*
20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2009 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.cdma;
18cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville
190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Parcel;
200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
210825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic final class CdmaInformationRecords {
220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public Object record;
230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Record type identifier
260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_DISPLAY_INFO_REC = 0;
280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_CALLED_PARTY_NUMBER_INFO_REC = 1;
290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_CALLING_PARTY_NUMBER_INFO_REC = 2;
300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_CONNECTED_NUMBER_INFO_REC = 3;
310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_SIGNAL_INFO_REC = 4;
320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_REDIRECTING_NUMBER_INFO_REC = 5;
330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_LINE_CONTROL_INFO_REC = 6;
340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_EXTENDED_DISPLAY_INFO_REC = 7;
350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_T53_CLIR_INFO_REC = 8;
360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_T53_RELEASE_INFO_REC = 9;
370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final int RIL_CDMA_T53_AUDIO_CONTROL_INFO_REC = 10;
380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public CdmaInformationRecords(Parcel p) {
400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        int id = p.readInt();
410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        switch (id) {
420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_DISPLAY_INFO_REC:
430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_EXTENDED_DISPLAY_INFO_REC:
440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                record  = new CdmaDisplayInfoRec(id, p.readString());
450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                break;
460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_CALLED_PARTY_NUMBER_INFO_REC:
480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_CALLING_PARTY_NUMBER_INFO_REC:
490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_CONNECTED_NUMBER_INFO_REC:
500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                record = new CdmaNumberInfoRec(id, p.readString(), p.readInt(), p.readInt(),
510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                        p.readInt(), p.readInt());
520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                break;
530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_SIGNAL_INFO_REC:
550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                record = new CdmaSignalInfoRec(p.readInt(), p.readInt(), p.readInt(), p.readInt());
560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                break;
570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_REDIRECTING_NUMBER_INFO_REC:
590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                record = new CdmaRedirectingNumberInfoRec(p.readString(), p.readInt(), p.readInt(),
600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                        p.readInt(), p.readInt(), p.readInt());
610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                break;
620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_LINE_CONTROL_INFO_REC:
640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                record = new CdmaLineControlInfoRec(p.readInt(), p.readInt(), p.readInt(),
650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                        p.readInt());
660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                break;
670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_T53_CLIR_INFO_REC:
690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                record = new CdmaT53ClirInfoRec(p.readInt());
700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                break;
710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_T53_AUDIO_CONTROL_INFO_REC:
730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                record = new CdmaT53AudioControlInfoRec(p.readInt(), p.readInt());
740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                break;
750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            case RIL_CDMA_T53_RELEASE_INFO_REC:
770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                // TODO: WHAT to do, for now fall through and throw exception
780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            default:
790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                throw new RuntimeException("RIL_UNSOL_CDMA_INFO_REC: unsupported record. Got "
800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                                            + CdmaInformationRecords.idToString(id) + " ");
810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static String idToString(int id) {
860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        switch(id) {
870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_DISPLAY_INFO_REC: return "RIL_CDMA_DISPLAY_INFO_REC";
880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_CALLED_PARTY_NUMBER_INFO_REC: return "RIL_CDMA_CALLED_PARTY_NUMBER_INFO_REC";
890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_CALLING_PARTY_NUMBER_INFO_REC: return "RIL_CDMA_CALLING_PARTY_NUMBER_INFO_REC";
900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_CONNECTED_NUMBER_INFO_REC: return "RIL_CDMA_CONNECTED_NUMBER_INFO_REC";
910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_SIGNAL_INFO_REC: return "RIL_CDMA_SIGNAL_INFO_REC";
920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_REDIRECTING_NUMBER_INFO_REC: return "RIL_CDMA_REDIRECTING_NUMBER_INFO_REC";
930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_LINE_CONTROL_INFO_REC: return "RIL_CDMA_LINE_CONTROL_INFO_REC";
940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_EXTENDED_DISPLAY_INFO_REC: return "RIL_CDMA_EXTENDED_DISPLAY_INFO_REC";
950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_T53_CLIR_INFO_REC: return "RIL_CDMA_T53_CLIR_INFO_REC";
960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_T53_RELEASE_INFO_REC: return "RIL_CDMA_T53_RELEASE_INFO_REC";
970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RIL_CDMA_T53_AUDIO_CONTROL_INFO_REC: return "RIL_CDMA_T53_AUDIO_CONTROL_INFO_REC";
980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        default: return "<unknown record>";
990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Signal Information record from 3GPP2 C.S005 3.7.5.5
1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static class CdmaSignalInfoRec {
1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public boolean isPresent;   /* non-zero if signal information record is present */
1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public int signalType;
1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public int alertPitch;
1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public int signal;
1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CdmaSignalInfoRec() {}
1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CdmaSignalInfoRec(int isPresent, int signalType, int alertPitch, int signal) {
1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.isPresent = isPresent != 0;
1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.signalType = signalType;
1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.alertPitch = alertPitch;
1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.signal = signal;
1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        @Override
1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public String toString() {
1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return "CdmaSignalInfo: {" +
1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " isPresent: " + isPresent +
1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    ", signalType: " + signalType +
1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    ", alertPitch: " + alertPitch +
1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    ", signal: " + signal +
1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " }";
1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static class CdmaDisplayInfoRec {
1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public int id;
1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public String alpha;
1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CdmaDisplayInfoRec(int id, String alpha) {
1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.id = id;
1370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.alpha = alpha;
1380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        @Override
1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public String toString() {
1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return "CdmaDisplayInfoRec: {" +
1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " id: " + CdmaInformationRecords.idToString(id) +
1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    ", alpha: " + alpha +
1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " }";
1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static class CdmaNumberInfoRec {
1500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public int id;
1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public String number;
1520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte numberType;
1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte numberPlan;
1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte pi;
1550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte si;
1560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CdmaNumberInfoRec(int id, String number, int numberType, int numberPlan, int pi,
1580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                int si) {
1590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.number = number;
1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.numberType = (byte)numberType;
1610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.numberPlan = (byte)numberPlan;
1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.pi = (byte)pi;
1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.si = (byte)si;
1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        @Override
1670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public String toString() {
1680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return "CdmaNumberInfoRec: {" +
1690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " id: " + CdmaInformationRecords.idToString(id) +
1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    ", number: " + number +
1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    ", numberType: " + numberType +
1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    ", numberPlan: " + numberPlan +
1730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    ", pi: " + pi +
1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    ", si: " + si +
1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " }";
1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static class CdmaRedirectingNumberInfoRec {
1800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public static final int REASON_UNKNOWN = 0;
1810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public static final int REASON_CALL_FORWARDING_BUSY = 1;
1820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public static final int REASON_CALL_FORWARDING_NO_REPLY = 2;
1830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public static final int REASON_CALLED_DTE_OUT_OF_ORDER = 9;
1840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public static final int REASON_CALL_FORWARDING_BY_THE_CALLED_DTE = 10;
1850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public static final int REASON_CALL_FORWARDING_UNCONDITIONAL = 15;
1860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CdmaNumberInfoRec numberInfoRec;
1880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public int redirectingReason;
1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CdmaRedirectingNumberInfoRec(String number, int numberType, int numberPlan,
1910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                int pi, int si, int reason) {
1920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            numberInfoRec = new CdmaNumberInfoRec(RIL_CDMA_REDIRECTING_NUMBER_INFO_REC,
1930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                                                  number, numberType, numberPlan, pi, si);
1940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            redirectingReason = reason;
1950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        @Override
1980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public String toString() {
1990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return "CdmaNumberInfoRec: {" +
2000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " numberInfoRec: " + numberInfoRec +
2010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    ", redirectingReason: " + redirectingReason +
2020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " }";
2030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
2040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static class CdmaLineControlInfoRec {
2070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte lineCtrlPolarityIncluded;
2080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte lineCtrlToggle;
2090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte lineCtrlReverse;
2100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte lineCtrlPowerDenial;
2110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CdmaLineControlInfoRec(int lineCtrlPolarityIncluded, int lineCtrlToggle,
2130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                int lineCtrlReverse, int lineCtrlPowerDenial) {
2140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.lineCtrlPolarityIncluded = (byte)lineCtrlPolarityIncluded;
2150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.lineCtrlToggle = (byte)lineCtrlToggle;
2160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.lineCtrlReverse = (byte)lineCtrlReverse;
2170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.lineCtrlPowerDenial = (byte)lineCtrlPowerDenial;
2180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
2190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        @Override
2210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public String toString() {
2220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return "CdmaLineControlInfoRec: {" +
2230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " lineCtrlPolarityIncluded: " + lineCtrlPolarityIncluded +
2240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " lineCtrlToggle: " + lineCtrlToggle +
2250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " lineCtrlReverse: " + lineCtrlReverse +
2260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " lineCtrlPowerDenial: " + lineCtrlPowerDenial +
2270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " }";
2280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
2290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static class CdmaT53ClirInfoRec {
2320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte cause;
2330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CdmaT53ClirInfoRec(int cause) {
2350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.cause = (byte)cause;
2360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
2370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        @Override
2390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public String toString() {
2400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return "CdmaT53ClirInfoRec: {" +
2410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " cause: " + cause +
2420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " }";
2430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
2440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static class CdmaT53AudioControlInfoRec {
2470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte uplink;
2480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public byte downlink;
2490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CdmaT53AudioControlInfoRec(int uplink, int downlink) {
2510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.uplink = (byte) uplink;
2520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            this.downlink = (byte) downlink;
2530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
2540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        @Override
2560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public String toString() {
2570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return "CdmaT53AudioControlInfoRec: {" +
2580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " uplink: " + uplink +
2590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " downlink: " + downlink +
2600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                    " }";
2610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
2620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville}
264