Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44515357 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi Committed by Android (Google) Code Review
Browse files

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

parents b9dbee43 4c86efa1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
  }
+2 −2
Original line number Diff line number Diff line
@@ -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);
  }
+2 −2
Original line number Diff line number Diff line
@@ -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);
  }
+13 −12
Original line number Diff line number Diff line
@@ -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.
+1 −1
Original line number Diff line number Diff line
@@ -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()))