| /* |
| * Copyright (C) 2006 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.cat; |
| |
| import android.os.Parcel; |
| import android.os.Parcelable; |
| |
| /** |
| * Enumeration for representing the tone values for use with PLAY TONE |
| * proactive commands. |
| * |
| * {@hide} |
| */ |
| public enum Tone implements Parcelable { |
| // Standard supervisory tones |
| |
| /** |
| * Dial tone. |
| */ |
| DIAL(0x01), |
| |
| /** |
| * Called subscriber busy. |
| */ |
| BUSY(0x02), |
| |
| /** |
| * Congestion. |
| */ |
| CONGESTION(0x03), |
| |
| /** |
| * Radio path acknowledge. |
| */ |
| RADIO_PATH_ACK(0x04), |
| |
| /** |
| * Radio path not available / Call dropped. |
| */ |
| RADIO_PATH_NOT_AVAILABLE(0x05), |
| |
| /** |
| * Error/Special information. |
| */ |
| ERROR_SPECIAL_INFO(0x06), |
| |
| /** |
| * Call waiting tone. |
| */ |
| CALL_WAITING(0x07), |
| |
| /** |
| * Ringing tone. |
| */ |
| RINGING(0x08), |
| |
| // Terminal proprietary tones |
| |
| /** |
| * General beep. |
| */ |
| GENERAL_BEEP(0x10), |
| |
| /** |
| * Positive acknowledgement tone. |
| */ |
| POSITIVE_ACK(0x11), |
| |
| /** |
| * Negative acknowledgement tone. |
| */ |
| NEGATIVE_ACK(0x12), |
| |
| /** |
| * Ringing tone as selected by the user for incoming speech call. |
| */ |
| INCOMING_SPEECH_CALL(0x13), |
| |
| /** |
| * Alert tone as selected by the user for incoming SMS. |
| */ |
| INCOMING_SMS(0x14), |
| |
| /** |
| * Critical alert. |
| * This tone is to be used in critical situations. The terminal shall make |
| * every effort to alert the user when this tone is indicated independent |
| * from the volume setting in the terminal. |
| */ |
| CRITICAL_ALERT(0x15), |
| |
| /** |
| * Vibrate only, if available. |
| */ |
| VIBRATE_ONLY(0x20), |
| |
| // Themed tones |
| |
| /** |
| * Happy tone. |
| */ |
| HAPPY(0x30), |
| |
| /** |
| * Sad tone. |
| */ |
| SAD(0x31), |
| |
| /** |
| * Urgent action tone. |
| */ |
| URGENT(0x32), |
| |
| /** |
| * Question tone. |
| */ |
| QUESTION(0x33), |
| |
| /** |
| * Message received tone. |
| */ |
| MESSAGE_RECEIVED(0x34), |
| |
| // Melody tones |
| MELODY_1(0x40), |
| MELODY_2(0x41), |
| MELODY_3(0x42), |
| MELODY_4(0x43), |
| MELODY_5(0x44), |
| MELODY_6(0x45), |
| MELODY_7(0x46), |
| MELODY_8(0x47); |
| |
| private int mValue; |
| |
| Tone(int value) { |
| mValue = value; |
| } |
| |
| /** |
| * Create a Tone object. |
| * @param value Integer value to be converted to a Tone object. |
| * @return Tone object whose value is {@code value}. If no Tone object has |
| * that value, null is returned. |
| */ |
| public static Tone fromInt(int value) { |
| for (Tone e : Tone.values()) { |
| if (e.mValue == value) { |
| return e; |
| } |
| } |
| return null; |
| } |
| |
| Tone(Parcel in) { |
| mValue = in.readInt(); |
| } |
| |
| @Override |
| public void writeToParcel(Parcel dest, int flags) { |
| dest.writeInt(ordinal()); |
| } |
| |
| @Override |
| public int describeContents() { |
| return 0; |
| } |
| |
| public static final Parcelable.Creator<Tone> CREATOR = new Parcelable.Creator<Tone>() { |
| @Override |
| public Tone createFromParcel(Parcel in) { |
| return Tone.values()[in.readInt()]; |
| } |
| |
| @Override |
| public Tone[] newArray(int size) { |
| return new Tone[size]; |
| } |
| }; |
| } |