1dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville/*
2dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Copyright (C) 2009 The Android Open Source Project
3dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville *
4dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
5dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * you may not use this file except in compliance with the License.
6dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * You may obtain a copy of the License at
7dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville *
8dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
9dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville *
10dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unless required by applicable law or agreed to in writing, software
11dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
12dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * See the License for the specific language governing permissions and
14dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * limitations under the License.
15dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */
16dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
17dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Savillepackage com.android.internal.telephony.cdma;
18dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
19dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Savilleimport java.util.HashMap;
20dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Savilleimport java.util.HashSet;
21dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Savilleimport android.util.Log;
22dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Savilleimport android.media.ToneGenerator;
23dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
24dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Savillepublic class SignalToneUtil {
25b6d90ca1292ffab015d5068f9e184b1dc84b7233David Krause    /** A marker that isn't a valid TONE */
26b6d90ca1292ffab015d5068f9e184b1dc84b7233David Krause    public static final int CDMA_INVALID_TONE = -1;
27b6d90ca1292ffab015d5068f9e184b1dc84b7233David Krause
28dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    // public final int int IS95_CONST_IR_SIGNAL_TYPE_TYPE;
29dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIGNAL_TONE = 0;
30dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIGNAL_ISDN = 1;
31dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIGNAL_IS54B = 2;
32dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIGNAL_USR_DEFD_ALERT = 4;
33dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
34dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    // public final int int IS95_CONST_IR_ALERT_PITCH_TYPE;
35dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_ALERT_MED = 0;
36dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_ALERT_HIGH = 1;
37dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_ALERT_LOW = 2;
38dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com
39dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com    // Based on 3GPP2 C.S0005-E, seciton 3.7.5.5 Signal,
40dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com    // set TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN to 0 to avoid
41dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com    // the alert pitch to be involved in hash calculation for
42dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com    // signal type other than IS54B.
43dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com    static public final int TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN = 0;
44dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
45dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    // public final int int IS95_CONST_IR_SIGNAL_TYPE;
46dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_ISDN_NORMAL = 0;
47dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_ISDN_INTGRP = 1;
48dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_ISDN_SP_PRI = 2;
49dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_ISDN_PAT_3 = 3;
50dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_ISDN_PING = 4;
51dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_ISDN_PAT_5 = 5;
52dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_ISDN_PAT_6 = 6;
53dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_ISDN_PAT_7 = 7;
54dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_ISDN_OFF = 15;
55dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_DIAL = 0;
56dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_RING = 1;
57dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_INT = 2;
58dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_ABB_INT = 3;
59dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_REORDER = 4;
60dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_ABB_RE = 5;
61dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_BUSY = 6;
62dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_CONFIRM = 7;
63dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_ANSWER = 8;
64dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_CALL_W = 9;
65dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_PIP = 10;
66dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_NO_TONE = 63;
67dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_NO_TONE = 0;
68dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_L = 1;
69dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_SS = 2;
70dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_SSL = 3;
71dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_SS_2 = 4;
72dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_SLS = 5;
73dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_S_X4 = 6;
74dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_PBX_L = 7;
75dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_PBX_SS = 8;
76dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_PBX_SSL = 9;
77dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_PBX_SLS = 10;
78dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_IS54B_PBX_S_X4 = 11;
79dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static public final int IS95_CONST_IR_SIG_TONE_ABBR_ALRT = 0;
80dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
81dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    // Hashmap to map signalInfo To AudioTone
82dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static private HashMap<Integer, Integer> hm = new HashMap<Integer, Integer>();
83dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
84dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    private static Integer signalParamHash(int signalType, int alertPitch, int signal) {
8522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville        if ((signalType < 0) || (signalType > 256) || (alertPitch > 256) ||
8622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville                (alertPitch < 0) || (signal > 256) || (signal < 0)) {
87b6d90ca1292ffab015d5068f9e184b1dc84b7233David Krause            return new Integer(CDMA_INVALID_TONE);
8822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville        }
89dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com        // Based on 3GPP2 C.S0005-E, seciton 3.7.5.5 Signal,
90dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com        // the alert pitch field is ignored by the mobile station unless
91dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com        // SIGNAL_TYPE is '10',IS-54B Alerting.
92dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com        // Set alert pitch to TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN
93dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com        // so the alert pitch is not involved in hash calculation
94dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com        // when signal type is not IS-54B.
95dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com        if (signalType != IS95_CONST_IR_SIGNAL_IS54B) {
96dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com            alertPitch = TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN;
97dfb8f07a954ffee3e96c9901230e44f444725846Tang@Motorola.com        }
98dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        return new Integer(signalType * 256 * 256 + alertPitch * 256 + signal);
99dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    }
100dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
101dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    public static int getAudioToneFromSignalInfo(int signalType, int alertPitch, int signal) {
10222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville        Integer result = hm.get(signalParamHash(signalType, alertPitch, signal));
10322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville        if (result == null) {
104b6d90ca1292ffab015d5068f9e184b1dc84b7233David Krause            return CDMA_INVALID_TONE;
10522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville        }
106dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        return result;
107dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    }
108dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
109dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    static {
110dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
111dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        /* SIGNAL_TYPE_ISDN */
112dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_ISDN, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
113dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_ISDN_NORMAL), ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL);
114dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
115dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_ISDN, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
116dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                        IS95_CONST_IR_SIG_ISDN_INTGRP),
117dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                        ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP);
118dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
119dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_ISDN, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
120b6d90ca1292ffab015d5068f9e184b1dc84b7233David Krause                IS95_CONST_IR_SIG_ISDN_SP_PRI), ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI);
121dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
122dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_ISDN, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
123dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_ISDN_PAT_3), ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT3);
124dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
125dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_ISDN, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
126b6d90ca1292ffab015d5068f9e184b1dc84b7233David Krause                IS95_CONST_IR_SIG_ISDN_PING), ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING);
127dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
128dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_ISDN, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
129dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_ISDN_PAT_5), ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT5);
130dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
131dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_ISDN, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
132dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_ISDN_PAT_6), ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT6);
133dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
134dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_ISDN, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
135dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_ISDN_PAT_7), ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT7);
136dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
137dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_ISDN, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
138dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_ISDN_OFF), ToneGenerator.TONE_CDMA_SIGNAL_OFF);
139dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
140dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        /* SIGNAL_TYPE_TONE */
141dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
142dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
143dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_DIAL), ToneGenerator.TONE_CDMA_DIAL_TONE_LITE);
144dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
145dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
146dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_RING), ToneGenerator.TONE_CDMA_NETWORK_USA_RINGBACK);
147dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
148dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
149dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_INT), ToneGenerator.TONE_SUP_INTERCEPT);
150dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
151dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
152dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_ABB_INT), ToneGenerator.TONE_SUP_INTERCEPT_ABBREV);
153dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
154dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
155dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_REORDER), ToneGenerator.TONE_CDMA_REORDER);
156dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
157dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
158dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_ABB_RE), ToneGenerator.TONE_CDMA_ABBR_REORDER);
159dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
160dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
161dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_BUSY), ToneGenerator.TONE_CDMA_NETWORK_BUSY);
162dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
163dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
164dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_CONFIRM), ToneGenerator.TONE_SUP_CONFIRM);
165dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
166dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
167dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_ANSWER), ToneGenerator.TONE_CDMA_ANSWER);
168dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
169dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
170deb5a9b997452cf72847f7afb3c99154e6d7dbfbNaveen Kalla                IS95_CONST_IR_SIG_TONE_CALL_W), ToneGenerator.TONE_CDMA_NETWORK_CALLWAITING);
171dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
172dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
173dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_PIP), ToneGenerator.TONE_CDMA_PIP);
174dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
175dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_TONE, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
176dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_TONE_NO_TONE), ToneGenerator.TONE_CDMA_SIGNAL_OFF);
177dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
178dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        /* SIGNAL_TYPE_IS54B */
179dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
180dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_L), ToneGenerator.TONE_CDMA_HIGH_L);
181dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
182dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
183b6d90ca1292ffab015d5068f9e184b1dc84b7233David Krause                IS95_CONST_IR_SIG_IS54B_L), ToneGenerator.TONE_CDMA_MED_L);
184dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
185dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
186dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_L), ToneGenerator.TONE_CDMA_LOW_L);
187dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
188dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
189dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SS), ToneGenerator.TONE_CDMA_HIGH_SS);
190dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
191dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
192dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SS), ToneGenerator.TONE_CDMA_MED_SS);
193dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
194dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
195dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SS), ToneGenerator.TONE_CDMA_LOW_SS);
196dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
197dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
198dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SSL), ToneGenerator.TONE_CDMA_HIGH_SSL);
199dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
200dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
201dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SSL), ToneGenerator.TONE_CDMA_MED_SSL);
202dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
203dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
204dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SSL), ToneGenerator.TONE_CDMA_LOW_SSL);
205dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
206dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
207dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SS_2), ToneGenerator.TONE_CDMA_HIGH_SS_2);
208dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
209dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
210dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SS_2), ToneGenerator.TONE_CDMA_MED_SS_2);
211dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
212dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
213dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SS_2), ToneGenerator.TONE_CDMA_LOW_SS_2);
214dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
215dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
216dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SLS), ToneGenerator.TONE_CDMA_HIGH_SLS);
217dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
218dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
219dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SLS), ToneGenerator.TONE_CDMA_MED_SLS);
220dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
221dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
222dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_SLS), ToneGenerator.TONE_CDMA_LOW_SLS);
223dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
224dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
225dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_S_X4), ToneGenerator.TONE_CDMA_HIGH_S_X4);
226dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
227dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
228dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_S_X4), ToneGenerator.TONE_CDMA_MED_S_X4);
229dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
230dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
231dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_S_X4), ToneGenerator.TONE_CDMA_LOW_S_X4);
232dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
233dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
234dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_L), ToneGenerator.TONE_CDMA_HIGH_PBX_L);
235dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
236dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
237dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_L), ToneGenerator.TONE_CDMA_MED_PBX_L);
238dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
239dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
240dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_L), ToneGenerator.TONE_CDMA_LOW_PBX_L);
241dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
242dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
243dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_SS), ToneGenerator.TONE_CDMA_HIGH_PBX_SS);
244dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
245dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
246dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_SS), ToneGenerator.TONE_CDMA_MED_PBX_SS);
247dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
248dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
249dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_SS), ToneGenerator.TONE_CDMA_LOW_PBX_SS);
250dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
251dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
252dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_SSL), ToneGenerator.TONE_CDMA_HIGH_PBX_SSL);
253dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
254dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
255dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_SSL), ToneGenerator.TONE_CDMA_MED_PBX_SSL);
256dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
257dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
258dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_SSL), ToneGenerator.TONE_CDMA_LOW_PBX_SSL);
259dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
260dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
261dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_SLS), ToneGenerator.TONE_CDMA_HIGH_PBX_SLS);
262dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
263dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
264dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_SLS), ToneGenerator.TONE_CDMA_MED_PBX_SLS);
265dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
266dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
267dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_SLS), ToneGenerator.TONE_CDMA_LOW_PBX_SLS);
268dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
269dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_HIGH,
270dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_S_X4), ToneGenerator.TONE_CDMA_HIGH_PBX_S_X4);
271dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
272dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_MED,
273dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_S_X4), ToneGenerator.TONE_CDMA_MED_PBX_S_X4);
274dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
275dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, IS95_CONST_IR_ALERT_LOW,
276dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_PBX_S_X4), ToneGenerator.TONE_CDMA_LOW_PBX_S_X4);
277dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
278dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_IS54B, TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN,
279dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                IS95_CONST_IR_SIG_IS54B_NO_TONE), ToneGenerator.TONE_CDMA_SIGNAL_OFF);
280dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
281dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_USR_DEFD_ALERT,
282dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN, IS95_CONST_IR_SIG_TONE_ABBR_ALRT),
283dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                ToneGenerator.TONE_CDMA_ABBR_ALERT);
284dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
285dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville        hm.put(signalParamHash(IS95_CONST_IR_SIGNAL_USR_DEFD_ALERT,
286dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                TAPIAMSSCDMA_SIGNAL_PITCH_UNKNOWN, IS95_CONST_IR_SIG_TONE_NO_TONE),
287dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville                ToneGenerator.TONE_CDMA_ABBR_ALERT);
288dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
289dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    }
290dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville
291dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    // suppress default constructor for noninstantiability
292dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    private SignalToneUtil() {
293dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville    }
294dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville}
295