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