Merge "VolumeShaper: API change for duration" into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
44515357ce
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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()))
|
||||
|
||||
Reference in New Issue
Block a user