summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Raj Goparaju <rajgoparaju@google.com> 2024-02-22 19:24:33 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-02-22 19:24:33 +0000
commit2e04ffb1e9998d033aa419c49f7f293c0d7ccc20 (patch)
tree6a32eadf58b440c8cd9dfff9abfd9683428e6a99
parentf8331c9b07e1cedd36ec75f1023779a4c8023cc4 (diff)
parent20142b16e76b28a045b546610b2d594c7490e837 (diff)
Merge "Add @IntRange annotation to clarify expected duration value" into main
-rw-r--r--core/api/system-current.txt26
-rw-r--r--media/java/android/media/FadeManagerConfiguration.java30
2 files changed, 29 insertions, 27 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 8ca2b77d299c..6b784d2c548e 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -7199,15 +7199,15 @@ package android.media {
@FlaggedApi("android.media.audiopolicy.enable_fade_manager_configuration") public final class FadeManagerConfiguration implements android.os.Parcelable {
method public int describeContents();
method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributesWithVolumeShaperConfigs();
- method public static long getDefaultFadeInDurationMillis();
- method public static long getDefaultFadeOutDurationMillis();
- method public long getFadeInDelayForOffenders();
- method public long getFadeInDurationForAudioAttributes(@NonNull android.media.AudioAttributes);
- method public long getFadeInDurationForUsage(int);
+ method @IntRange(from=1) public static long getDefaultFadeInDurationMillis();
+ method @IntRange(from=1) public static long getDefaultFadeOutDurationMillis();
+ method @IntRange(from=0) public long getFadeInDelayForOffenders();
+ method @IntRange(from=0) public long getFadeInDurationForAudioAttributes(@NonNull android.media.AudioAttributes);
+ method @IntRange(from=0) public long getFadeInDurationForUsage(int);
method @Nullable public android.media.VolumeShaper.Configuration getFadeInVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes);
method @Nullable public android.media.VolumeShaper.Configuration getFadeInVolumeShaperConfigForUsage(int);
- method public long getFadeOutDurationForAudioAttributes(@NonNull android.media.AudioAttributes);
- method public long getFadeOutDurationForUsage(int);
+ method @IntRange(from=0) public long getFadeOutDurationForAudioAttributes(@NonNull android.media.AudioAttributes);
+ method @IntRange(from=0) public long getFadeOutDurationForUsage(int);
method @Nullable public android.media.VolumeShaper.Configuration getFadeOutVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes);
method @Nullable public android.media.VolumeShaper.Configuration getFadeOutVolumeShaperConfigForUsage(int);
method public int getFadeState();
@@ -7233,7 +7233,7 @@ package android.media {
public static final class FadeManagerConfiguration.Builder {
ctor public FadeManagerConfiguration.Builder();
- ctor public FadeManagerConfiguration.Builder(long, long);
+ ctor public FadeManagerConfiguration.Builder(@IntRange(from=1) long, @IntRange(from=1) long);
ctor public FadeManagerConfiguration.Builder(@NonNull android.media.FadeManagerConfiguration);
method @NonNull public android.media.FadeManagerConfiguration.Builder addFadeableUsage(int);
method @NonNull public android.media.FadeManagerConfiguration.Builder addUnfadeableAudioAttributes(@NonNull android.media.AudioAttributes);
@@ -7244,13 +7244,13 @@ package android.media {
method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableAudioAttributes();
method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableContentTypes();
method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableUids();
- method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDelayForOffenders(long);
- method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDurationForAudioAttributes(@NonNull android.media.AudioAttributes, long);
- method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDurationForUsage(int, long);
+ method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDelayForOffenders(@IntRange(from=0) long);
+ method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDurationForAudioAttributes(@NonNull android.media.AudioAttributes, @IntRange(from=0) long);
+ method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDurationForUsage(int, @IntRange(from=0) long);
method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes, @Nullable android.media.VolumeShaper.Configuration);
method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInVolumeShaperConfigForUsage(int, @Nullable android.media.VolumeShaper.Configuration);
- method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutDurationForAudioAttributes(@NonNull android.media.AudioAttributes, long);
- method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutDurationForUsage(int, long);
+ method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutDurationForAudioAttributes(@NonNull android.media.AudioAttributes, @IntRange(from=0) long);
+ method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutDurationForUsage(int, @IntRange(from=0) long);
method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes, @Nullable android.media.VolumeShaper.Configuration);
method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutVolumeShaperConfigForUsage(int, @Nullable android.media.VolumeShaper.Configuration);
method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeState(int);
diff --git a/media/java/android/media/FadeManagerConfiguration.java b/media/java/android/media/FadeManagerConfiguration.java
index 4f1a8ee5e728..e6ec2c330340 100644
--- a/media/java/android/media/FadeManagerConfiguration.java
+++ b/media/java/android/media/FadeManagerConfiguration.java
@@ -21,6 +21,7 @@ import static android.media.audiopolicy.Flags.FLAG_ENABLE_FADE_MANAGER_CONFIGURA
import android.annotation.DurationMillisLong;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
+import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
@@ -274,7 +275,7 @@ public final class FadeManagerConfiguration implements Parcelable {
* @throws IllegalArgumentException if the usage is invalid
* @throws IllegalStateException if the fade state is set to {@link #FADE_STATE_DISABLED}
*/
- @DurationMillisLong
+ @IntRange(from = 0) @DurationMillisLong
public long getFadeOutDurationForUsage(@AudioAttributes.AttributeUsage int usage) {
ensureFadingIsEnabled();
validateUsage(usage);
@@ -290,7 +291,7 @@ public final class FadeManagerConfiguration implements Parcelable {
* @throws IllegalArgumentException if the usage is invalid
* @throws IllegalStateException if the fade state is set to {@link #FADE_STATE_DISABLED}
*/
- @DurationMillisLong
+ @IntRange(from = 0) @DurationMillisLong
public long getFadeInDurationForUsage(@AudioAttributes.AttributeUsage int usage) {
ensureFadingIsEnabled();
validateUsage(usage);
@@ -345,7 +346,7 @@ public final class FadeManagerConfiguration implements Parcelable {
* @throws NullPointerException if the audio attributes is {@code null}
* @throws IllegalStateException if the fade state is set to {@link #FADE_STATE_DISABLED}
*/
- @DurationMillisLong
+ @IntRange(from = 0) @DurationMillisLong
public long getFadeOutDurationForAudioAttributes(@NonNull AudioAttributes audioAttributes) {
ensureFadingIsEnabled();
return getDurationForVolumeShaperConfig(getVolumeShaperConfigFromWrapper(
@@ -361,7 +362,7 @@ public final class FadeManagerConfiguration implements Parcelable {
* @throws NullPointerException if the audio attributes is {@code null}
* @throws IllegalStateException if the fade state is set to {@link #FADE_STATE_DISABLED}
*/
- @DurationMillisLong
+ @IntRange(from = 0) @DurationMillisLong
public long getFadeInDurationForAudioAttributes(@NonNull AudioAttributes audioAttributes) {
ensureFadingIsEnabled();
return getDurationForVolumeShaperConfig(getVolumeShaperConfigFromWrapper(
@@ -428,7 +429,7 @@ public final class FadeManagerConfiguration implements Parcelable {
*
* @return delay in milliseconds
*/
- @DurationMillisLong
+ @IntRange(from = 0) @DurationMillisLong
public long getFadeInDelayForOffenders() {
return mFadeInDelayForOffendersMillis;
}
@@ -517,14 +518,14 @@ public final class FadeManagerConfiguration implements Parcelable {
/**
* Returns the default fade out duration (in milliseconds)
*/
- public static @DurationMillisLong long getDefaultFadeOutDurationMillis() {
+ public static @IntRange(from = 1) @DurationMillisLong long getDefaultFadeOutDurationMillis() {
return DEFAULT_FADE_OUT_DURATION_MS;
}
/**
* Returns the default fade in duration (in milliseconds)
*/
- public static @DurationMillisLong long getDefaultFadeInDurationMillis() {
+ public static @IntRange(from = 1) @DurationMillisLong long getDefaultFadeInDurationMillis() {
return DEFAULT_FADE_IN_DURATION_MS;
}
@@ -820,8 +821,8 @@ public final class FadeManagerConfiguration implements Parcelable {
* @param fadeOutDurationMillis duration in milliseconds used for fading out
* @param fadeInDurationMills duration in milliseconds used for fading in
*/
- public Builder(@DurationMillisLong long fadeOutDurationMillis,
- @DurationMillisLong long fadeInDurationMills) {
+ public Builder(@IntRange(from = 1) @DurationMillisLong long fadeOutDurationMillis,
+ @IntRange(from = 1) @DurationMillisLong long fadeInDurationMills) {
mFadeOutDurationMillis = fadeOutDurationMillis;
mFadeInDurationMillis = fadeInDurationMills;
}
@@ -939,7 +940,7 @@ public final class FadeManagerConfiguration implements Parcelable {
*/
@NonNull
public Builder setFadeOutDurationForUsage(@AudioAttributes.AttributeUsage int usage,
- @DurationMillisLong long fadeOutDurationMillis) {
+ @IntRange(from = 0) @DurationMillisLong long fadeOutDurationMillis) {
validateUsage(usage);
VolumeShaper.Configuration fadeOutVShaperConfig =
createVolShaperConfigForDuration(fadeOutDurationMillis, /* isFadeIn= */ false);
@@ -970,7 +971,7 @@ public final class FadeManagerConfiguration implements Parcelable {
*/
@NonNull
public Builder setFadeInDurationForUsage(@AudioAttributes.AttributeUsage int usage,
- @DurationMillisLong long fadeInDurationMillis) {
+ @IntRange(from = 0) @DurationMillisLong long fadeInDurationMillis) {
validateUsage(usage);
VolumeShaper.Configuration fadeInVShaperConfig =
createVolShaperConfigForDuration(fadeInDurationMillis, /* isFadeIn= */ true);
@@ -1055,7 +1056,7 @@ public final class FadeManagerConfiguration implements Parcelable {
@NonNull
public Builder setFadeOutDurationForAudioAttributes(
@NonNull AudioAttributes audioAttributes,
- @DurationMillisLong long fadeOutDurationMillis) {
+ @IntRange(from = 0) @DurationMillisLong long fadeOutDurationMillis) {
Objects.requireNonNull(audioAttributes, "Audio attribute cannot be null");
VolumeShaper.Configuration fadeOutVShaperConfig =
createVolShaperConfigForDuration(fadeOutDurationMillis, /* isFadeIn= */ false);
@@ -1087,7 +1088,7 @@ public final class FadeManagerConfiguration implements Parcelable {
*/
@NonNull
public Builder setFadeInDurationForAudioAttributes(@NonNull AudioAttributes audioAttributes,
- @DurationMillisLong long fadeInDurationMillis) {
+ @IntRange(from = 0) @DurationMillisLong long fadeInDurationMillis) {
Objects.requireNonNull(audioAttributes, "Audio attribute cannot be null");
VolumeShaper.Configuration fadeInVShaperConfig =
createVolShaperConfigForDuration(fadeInDurationMillis, /* isFadeIn= */ true);
@@ -1336,7 +1337,8 @@ public final class FadeManagerConfiguration implements Parcelable {
* @see #getFadeInDelayForOffenders()
*/
@NonNull
- public Builder setFadeInDelayForOffenders(@DurationMillisLong long delayMillis) {
+ public Builder setFadeInDelayForOffenders(
+ @IntRange(from = 0) @DurationMillisLong long delayMillis) {
Preconditions.checkArgument(delayMillis >= 0, "Delay cannot be negative");
mFadeInDelayForOffendersMillis = delayMillis;
return this;