diff options
| author | Philip Junker <philipjunker@google.com> | 2021-03-17 19:38:50 +0100 |
|---|---|---|
| committer | Philip Junker <philipjunker@google.com> | 2021-03-24 14:24:55 +0100 |
| commit | dfcb12b34c82876b31f6640a86e01cad9a989efe (patch) | |
| tree | 0b776228607429421e85e848874b15eb703ece55 /core/java/android/view/SoundEffectConstants.java | |
| parent | 624a0f2d0e34233db003f884cf1c73fa32201bf8 (diff) | |
Add IntDef for system sound effect constants
Test: m -j86 offline-sdk-docs
Test: atest android.view.cts.SoundEffectConstantsTest
Test: atest android.view.SoundEffectConstantsTest
Bug: 182945031
Change-Id: I8a496144e61e584f633a3950274fbdf0fe146e11
Diffstat (limited to 'core/java/android/view/SoundEffectConstants.java')
| -rw-r--r-- | core/java/android/view/SoundEffectConstants.java | 59 |
1 files changed, 45 insertions, 14 deletions
diff --git a/core/java/android/view/SoundEffectConstants.java b/core/java/android/view/SoundEffectConstants.java index f177451783dc..bd86a47f3918 100644 --- a/core/java/android/view/SoundEffectConstants.java +++ b/core/java/android/view/SoundEffectConstants.java @@ -16,11 +16,14 @@ package android.view; +import android.annotation.IntDef; import android.media.AudioManager; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting.Visibility; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.Random; /** @@ -34,25 +37,55 @@ public class SoundEffectConstants { public static final int CLICK = 0; + /** Effect id for a navigation left */ public static final int NAVIGATION_LEFT = 1; + /** Effect id for a navigation up */ public static final int NAVIGATION_UP = 2; + /** Effect id for a navigation right */ public static final int NAVIGATION_RIGHT = 3; + /** Effect id for a navigation down */ public static final int NAVIGATION_DOWN = 4; - /** Sound effect for a repeatedly triggered navigation, e.g. due to long pressing a button */ + /** Effect id for a repeatedly triggered navigation left, e.g. due to long pressing a button */ public static final int NAVIGATION_REPEAT_LEFT = 5; - /** @see #NAVIGATION_REPEAT_LEFT */ + /** Effect id for a repeatedly triggered navigation up, e.g. due to long pressing a button */ public static final int NAVIGATION_REPEAT_UP = 6; - /** @see #NAVIGATION_REPEAT_LEFT */ + /** Effect id for a repeatedly triggered navigation right, e.g. due to long pressing a button */ public static final int NAVIGATION_REPEAT_RIGHT = 7; - /** @see #NAVIGATION_REPEAT_LEFT */ + /** Effect id for a repeatedly triggered navigation down, e.g. due to long pressing a button */ public static final int NAVIGATION_REPEAT_DOWN = 8; + /** @hide */ + @IntDef(value = { + CLICK, + NAVIGATION_LEFT, + NAVIGATION_UP, + NAVIGATION_RIGHT, + NAVIGATION_DOWN, + NAVIGATION_REPEAT_LEFT, + NAVIGATION_REPEAT_UP, + NAVIGATION_REPEAT_RIGHT, + NAVIGATION_REPEAT_DOWN + }) + @Retention(RetentionPolicy.SOURCE) + public @interface SoundEffect {} + + /** @hide */ + @IntDef(prefix = { "NAVIGATION_" }, value = { + NAVIGATION_LEFT, + NAVIGATION_UP, + NAVIGATION_RIGHT, + NAVIGATION_DOWN, + NAVIGATION_REPEAT_LEFT, + NAVIGATION_REPEAT_UP, + NAVIGATION_REPEAT_RIGHT, + NAVIGATION_REPEAT_DOWN + }) + @Retention(RetentionPolicy.SOURCE) + public @interface NavigationSoundEffect {} + /** * Get the sonification constant for the focus directions. - * @param direction One of {@link View#FOCUS_UP}, {@link View#FOCUS_DOWN}, - * {@link View#FOCUS_LEFT}, {@link View#FOCUS_RIGHT}, {@link View#FOCUS_FORWARD} - * or {@link View#FOCUS_BACKWARD} - + * @param direction The direction of the focus. * @return The appropriate sonification constant. * @throws {@link IllegalArgumentException} when the passed direction is not one of the * documented values. @@ -76,16 +109,14 @@ public class SoundEffectConstants { /** * Get the sonification constant for the focus directions - * @param direction One of {@link View#FOCUS_UP}, {@link View#FOCUS_DOWN}, - * {@link View#FOCUS_LEFT}, {@link View#FOCUS_RIGHT}, {@link View#FOCUS_FORWARD} - * or {@link View#FOCUS_BACKWARD} + * @param direction The direction of the focus. * @param repeating True if the user long-presses a direction * @return The appropriate sonification constant * @throws IllegalArgumentException when the passed direction is not one of the * documented values. */ - public static int getConstantForFocusDirection(@View.FocusDirection int direction, - boolean repeating) { + public static @NavigationSoundEffect int getConstantForFocusDirection( + @View.FocusDirection int direction, boolean repeating) { if (repeating) { switch (direction) { case View.FOCUS_RIGHT: @@ -112,7 +143,7 @@ public class SoundEffectConstants { * @hide */ @VisibleForTesting(visibility = Visibility.PACKAGE) - public static boolean isNavigationRepeat(int effectId) { + public static boolean isNavigationRepeat(@NavigationSoundEffect int effectId) { return effectId == SoundEffectConstants.NAVIGATION_REPEAT_DOWN || effectId == SoundEffectConstants.NAVIGATION_REPEAT_LEFT || effectId == SoundEffectConstants.NAVIGATION_REPEAT_RIGHT |
