Merge "VolumeShaper: API change for duration" into oc-dev

This commit is contained in:
Jean-Michel Trivi
2017-04-25 15:36:33 +00:00
committed by Android (Google) Code Review
5 changed files with 20 additions and 19 deletions

View File

@@ -23644,7 +23644,7 @@ package android.media {
public static final class VolumeShaper.Configuration implements android.os.Parcelable {
method public int describeContents();
method public double getDurationMillis();
method public long getDuration();
method public int getInterpolatorType();
method public static int getMaximumCurvePoints();
method public float[] getTimes();
@@ -23670,7 +23670,7 @@ package android.media {
method public android.media.VolumeShaper.Configuration.Builder scaleToEndVolume(float);
method public android.media.VolumeShaper.Configuration.Builder scaleToStartVolume(float);
method public android.media.VolumeShaper.Configuration.Builder setCurve(float[], float[]);
method public android.media.VolumeShaper.Configuration.Builder setDurationMillis(double);
method public android.media.VolumeShaper.Configuration.Builder setDuration(long);
method public android.media.VolumeShaper.Configuration.Builder setInterpolatorType(int);
}

View File

@@ -25492,7 +25492,7 @@ package android.media {
public static final class VolumeShaper.Configuration implements android.os.Parcelable {
method public int describeContents();
method public double getDurationMillis();
method public long getDuration();
method public int getInterpolatorType();
method public static int getMaximumCurvePoints();
method public float[] getTimes();
@@ -25518,7 +25518,7 @@ package android.media {
method public android.media.VolumeShaper.Configuration.Builder scaleToEndVolume(float);
method public android.media.VolumeShaper.Configuration.Builder scaleToStartVolume(float);
method public android.media.VolumeShaper.Configuration.Builder setCurve(float[], float[]);
method public android.media.VolumeShaper.Configuration.Builder setDurationMillis(double);
method public android.media.VolumeShaper.Configuration.Builder setDuration(long);
method public android.media.VolumeShaper.Configuration.Builder setInterpolatorType(int);
}

View File

@@ -23752,7 +23752,7 @@ package android.media {
public static final class VolumeShaper.Configuration implements android.os.Parcelable {
method public int describeContents();
method public double getDurationMillis();
method public long getDuration();
method public int getInterpolatorType();
method public static int getMaximumCurvePoints();
method public float[] getTimes();
@@ -23778,7 +23778,7 @@ package android.media {
method public android.media.VolumeShaper.Configuration.Builder scaleToEndVolume(float);
method public android.media.VolumeShaper.Configuration.Builder scaleToStartVolume(float);
method public android.media.VolumeShaper.Configuration.Builder setCurve(float[], float[]);
method public android.media.VolumeShaper.Configuration.Builder setDurationMillis(double);
method public android.media.VolumeShaper.Configuration.Builder setDuration(long);
method public android.media.VolumeShaper.Configuration.Builder setInterpolatorType(int);
}

View File

@@ -301,7 +301,7 @@ public final class VolumeShaper implements AutoCloseable {
.setInterpolatorType(INTERPOLATOR_TYPE_LINEAR)
.setCurve(new float[] {0.f, 1.f} /* times */,
new float[] {0.f, 1.f} /* volumes */)
.setDurationMillis(1000.)
.setDuration(1000)
.build();
/**
@@ -314,7 +314,7 @@ public final class VolumeShaper implements AutoCloseable {
.setInterpolatorType(INTERPOLATOR_TYPE_CUBIC)
.setCurve(new float[] {0.f, 1.f} /* times */,
new float[] {0.f, 1.f} /* volumes */)
.setDurationMillis(1000.)
.setDuration(1000)
.build();
/**
@@ -348,12 +348,12 @@ public final class VolumeShaper implements AutoCloseable {
SINE_RAMP = new VolumeShaper.Configuration.Builder()
.setInterpolatorType(INTERPOLATOR_TYPE_CUBIC)
.setCurve(times, sines)
.setDurationMillis(1000.)
.setDuration(1000)
.build();
SCURVE_RAMP = new VolumeShaper.Configuration.Builder()
.setInterpolatorType(INTERPOLATOR_TYPE_CUBIC)
.setCurve(times, scurve)
.setDurationMillis(1000.)
.setDuration(1000)
.build();
}
@@ -569,8 +569,9 @@ public final class VolumeShaper implements AutoCloseable {
/**
* Returns the duration of the volume shape in milliseconds.
*/
public double getDurationMillis() {
return mDurationMs;
public long getDuration() {
// casting is safe here as the duration was set as a long in the Builder
return (long) mDurationMs;
}
/**
@@ -700,7 +701,7 @@ public final class VolumeShaper implements AutoCloseable {
* .setInterpolatorType(VolumeShaper.Configuration.INTERPOLATOR_TYPE_LINEAR)
* .setCurve(new float[] { 0.f, 1.f }, // times
* new float[] { 0.f, 1.f }) // volumes
* .setDurationMillis(1000.)
* .setDuration(1000)
* .build();
* </pre>
* <p>
@@ -731,7 +732,7 @@ public final class VolumeShaper implements AutoCloseable {
mId = configuration.getId();
mOptionFlags = configuration.getAllOptionFlags();
mInterpolatorType = configuration.getInterpolatorType();
mDurationMs = configuration.getDurationMillis();
mDurationMs = configuration.getDuration();
mTimes = configuration.getTimes().clone();
mVolumes = configuration.getVolumes().clone();
}
@@ -810,12 +811,12 @@ public final class VolumeShaper implements AutoCloseable {
* @throws IllegalArgumentException if {@code durationMillis}
* is not strictly positive.
*/
public @NonNull Builder setDurationMillis(double durationMillis) {
if (durationMillis <= 0.) {
public @NonNull Builder setDuration(long durationMillis) {
if (durationMillis <= 0) {
throw new IllegalArgumentException(
"duration: " + durationMillis + " not positive");
}
mDurationMs = durationMillis;
mDurationMs = (double) durationMillis;
return this;
}
@@ -833,7 +834,7 @@ public final class VolumeShaper implements AutoCloseable {
* time (x) coordinates should be monotonically increasing, from 0.f to 1.f;
* volume (y) coordinates must be within 0.f to 1.f.
* <p>
* The time scale is set by {@link #setDurationMillis}.
* The time scale is set by {@link #setDuration}.
* <p>
* @param times an array of float values representing
* the time line of the volume curve.

View File

@@ -57,7 +57,7 @@ public final class PlaybackActivityMonitor
.setCurve(new float[] { 0.f, 1.f } /* times */,
new float[] { 1.f, 0.2f } /* volumes */)
.setOptionFlags(VolumeShaper.Configuration.OPTION_FLAG_CLOCK_TIME)
.setDurationMillis(MediaFocusControl.getFocusRampTimeMs(
.setDuration(MediaFocusControl.getFocusRampTimeMs(
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK,
new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION)
.build()))