10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/*
20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2006 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 Saville/**
230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Enumeration for representing the tone values for use with PLAY TONE
240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * proactive commands.
250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@hide}
270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
280825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic enum Tone implements Parcelable {
290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // Standard supervisory tones
300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Dial tone.
330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    DIAL(0x01),
350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Called subscriber busy.
380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    BUSY(0x02),
400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Congestion.
430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    CONGESTION(0x03),
450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Radio path acknowledge.
480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    RADIO_PATH_ACK(0x04),
500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Radio path not available / Call dropped.
530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    RADIO_PATH_NOT_AVAILABLE(0x05),
550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Error/Special information.
580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    ERROR_SPECIAL_INFO(0x06),
600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Call waiting tone.
630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    CALL_WAITING(0x07),
650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Ringing tone.
680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    RINGING(0x08),
700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // Terminal proprietary tones
720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * General beep.
750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    GENERAL_BEEP(0x10),
770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Positive acknowledgement tone.
800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    POSITIVE_ACK(0x11),
820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Negative acknowledgement tone.
850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    NEGATIVE_ACK(0x12),
870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Ringing tone as selected by the user for incoming speech call.
900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    INCOMING_SPEECH_CALL(0x13),
920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Alert tone as selected by the user for incoming SMS.
950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    INCOMING_SMS(0x14),
970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Critical alert.
1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * This tone is to be used in critical situations. The terminal shall make
1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * every effort to alert the user when this tone is indicated independent
1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * from the volume setting in the terminal.
1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    CRITICAL_ALERT(0x15),
1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Vibrate only, if available.
1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    VIBRATE_ONLY(0x20),
1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // Themed tones
1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Happy tone.
1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    HAPPY(0x30),
1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sad tone.
1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    SAD(0x31),
1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Urgent action tone.
1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    URGENT(0x32),
1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Question tone.
1300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    QUESTION(0x33),
1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Message received tone.
1350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    MESSAGE_RECEIVED(0x34),
1370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // Melody tones
1390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    MELODY_1(0x40),
1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    MELODY_2(0x41),
1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    MELODY_3(0x42),
1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    MELODY_4(0x43),
1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    MELODY_5(0x44),
1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    MELODY_6(0x45),
1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    MELODY_7(0x46),
1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    MELODY_8(0x47);
1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private int mValue;
1490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    Tone(int value) {
1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        mValue = value;
1520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Create a Tone object.
1560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param value Integer value to be converted to a Tone object.
1570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return Tone object whose value is {@code value}. If no Tone object has
1580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *         that value, null is returned.
1590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static Tone fromInt(int value) {
1610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        for (Tone e : Tone.values()) {
1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            if (e.mValue == value) {
1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                return e;
1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            }
1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return null;
1670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    Tone(Parcel in) {
1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        mValue = in.readInt();
1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void writeToParcel(Parcel dest, int flags) {
1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        dest.writeInt(ordinal());
1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public int describeContents() {
1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return 0;
1790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final Parcelable.Creator<Tone> CREATOR = new Parcelable.Creator<Tone>() {
1820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public Tone createFromParcel(Parcel in) {
1830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return Tone.values()[in.readInt()];
1840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public Tone[] newArray(int size) {
1870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return new Tone[size];
1880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    };
1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville}
191