From cacfe69b6845dd1c1c8682f67c3c52ef35214b2c Mon Sep 17 00:00:00 2001 From: Justin Koh Date: Thu, 11 Jul 2013 17:16:53 -0700 Subject: [PATCH] Add FX_KEYPRESS_INVALID constant to AudioManager. Add FX_KEYPRESS_INVALID constant to AudioManager. This is a sound which should play if the user tries to click or press on an element which is disabled. Change-Id: Idd8953abeddd1afb51f7f190f9fb612ef672defa --- api/current.txt | 1 + core/res/res/xml/audio_assets.xml | 1 + data/sounds/AllAudio.mk | 1 + data/sounds/effects/KeypressInvalid.ogg | Bin 0 -> 9847 bytes data/sounds/effects/KeypressInvalid.wav | Bin 0 -> 16144 bytes .../effects/ogg/KeypressInvalid_120_48k.ogg | Bin 0 -> 9847 bytes media/java/android/media/AudioManager.java | 10 +++++++++- 7 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 data/sounds/effects/KeypressInvalid.ogg create mode 100644 data/sounds/effects/KeypressInvalid.wav create mode 100644 data/sounds/effects/ogg/KeypressInvalid_120_48k.ogg diff --git a/api/current.txt b/api/current.txt index c5dd1811868e9..e0fc76c7d3a8d 100644 --- a/api/current.txt +++ b/api/current.txt @@ -11609,6 +11609,7 @@ package android.media { field public static final int FX_FOCUS_NAVIGATION_RIGHT = 4; // 0x4 field public static final int FX_FOCUS_NAVIGATION_UP = 1; // 0x1 field public static final int FX_KEYPRESS_DELETE = 7; // 0x7 + field public static final int FX_KEYPRESS_INVALID = 9; // 0x9 field public static final int FX_KEYPRESS_RETURN = 8; // 0x8 field public static final int FX_KEYPRESS_SPACEBAR = 6; // 0x6 field public static final int FX_KEYPRESS_STANDARD = 5; // 0x5 diff --git a/core/res/res/xml/audio_assets.xml b/core/res/res/xml/audio_assets.xml index 746dbab6f7ab4..af5798a33b327 100644 --- a/core/res/res/xml/audio_assets.xml +++ b/core/res/res/xml/audio_assets.xml @@ -34,5 +34,6 @@ + diff --git a/data/sounds/AllAudio.mk b/data/sounds/AllAudio.mk index 8b03bf7c2b294..ed9bea52cb825 100644 --- a/data/sounds/AllAudio.mk +++ b/data/sounds/AllAudio.mk @@ -221,6 +221,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/effects/ogg/KeypressReturn_120_48k.ogg:system/media/audio/ui/KeypressReturn.ogg \ $(LOCAL_PATH)/effects/ogg/KeypressSpacebar_120_48k.ogg:system/media/audio/ui/KeypressSpacebar.ogg \ $(LOCAL_PATH)/effects/ogg/KeypressStandard_120_48k.ogg:system/media/audio/ui/KeypressStandard.ogg \ + $(LOCAL_PATH)/effects/ogg/KeypressInvalid_120_48k.ogg:system/media/audio/ui/KeypressInvalid.ogg \ $(LOCAL_PATH)/effects/ogg/Lock.ogg:system/media/audio/ui/Lock.ogg \ $(LOCAL_PATH)/effects/ogg/LowBattery.ogg:system/media/audio/ui/LowBattery.ogg \ $(LOCAL_PATH)/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \ diff --git a/data/sounds/effects/KeypressInvalid.ogg b/data/sounds/effects/KeypressInvalid.ogg new file mode 100644 index 0000000000000000000000000000000000000000..24935ad2e3baf007ca0709813cf849761d9dbf16 GIT binary patch literal 9847 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 literal 0 HcmV?d00001 diff --git a/data/sounds/effects/KeypressInvalid.wav b/data/sounds/effects/KeypressInvalid.wav new file mode 100644 index 0000000000000000000000000000000000000000..c4180e35215cc9ec37bae87fb747bd6f4030e293 GIT binary patch literal 16144 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

c6`QbZNiiWs5>5nI$EY7=#c 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 literal 0 HcmV?d00001 diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 3144e8a7428e4..d88ed33c8e75b 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -1659,10 +1659,16 @@ public class AudioManager { * @see #playSoundEffect(int) */ public static final int FX_KEYPRESS_RETURN = 8; + + /** + * Invalid keypress sound + * @see #playSoundEffect(int) + */ + public static final int FX_KEYPRESS_INVALID = 9; /** * @hide Number of sound effects */ - public static final int NUM_SOUND_EFFECTS = 9; + public static final int NUM_SOUND_EFFECTS = 10; /** * Plays a sound effect (Key clicks, lid open/close...) @@ -1676,6 +1682,7 @@ public class AudioManager { * {@link #FX_KEYPRESS_SPACEBAR}, * {@link #FX_KEYPRESS_DELETE}, * {@link #FX_KEYPRESS_RETURN}, + * {@link #FX_KEYPRESS_INVALID}, * NOTE: This version uses the UI settings to determine * whether sounds are heard or not. */ @@ -1708,6 +1715,7 @@ public class AudioManager { * {@link #FX_KEYPRESS_SPACEBAR}, * {@link #FX_KEYPRESS_DELETE}, * {@link #FX_KEYPRESS_RETURN}, + * {@link #FX_KEYPRESS_INVALID}, * @param volume Sound effect volume. * The volume value is a raw scalar so UI controls should be scaled logarithmically. * If a volume of -1 is specified, the AudioManager.STREAM_MUSIC stream volume minus 3dB will be used.