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

Commit 143f1441 authored by Hangyu Kuang's avatar Hangyu Kuang Committed by Android (Google) Code Review
Browse files

Merge "trancoding: Rework some API signature."

parents b319c1ff bd974fad
Loading
Loading
Loading
Loading
+2 −5
Original line number Original line Diff line number Diff line
@@ -4343,11 +4343,8 @@ package android.media {
    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
  }
  }
  public final class MediaTranscodeManager implements java.lang.AutoCloseable {
  public final class MediaTranscodeManager {
    method public void close();
    method @NonNull public android.media.MediaTranscodeManager.TranscodingJob enqueueRequest(@NonNull android.media.MediaTranscodeManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodeManager.OnTranscodingFinishedListener) throws java.io.FileNotFoundException;
    method @NonNull public android.media.MediaTranscodeManager.TranscodingJob enqueueRequest(@NonNull android.media.MediaTranscodeManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodeManager.OnTranscodingFinishedListener) throws java.io.FileNotFoundException;
    method protected void finalize();
    field public static final int PRIORITY_OFFLINE = 2; // 0x2
    field public static final int PRIORITY_REALTIME = 1; // 0x1
    field public static final int PRIORITY_REALTIME = 1; // 0x1
    field public static final int TRANSCODING_TYPE_VIDEO = 1; // 0x1
    field public static final int TRANSCODING_TYPE_VIDEO = 1; // 0x1
  }
  }
@@ -4376,7 +4373,7 @@ package android.media {
  }
  }
  @java.lang.FunctionalInterface public static interface MediaTranscodeManager.TranscodingJob.OnProgressUpdateListener {
  @java.lang.FunctionalInterface public static interface MediaTranscodeManager.TranscodingJob.OnProgressUpdateListener {
    method public void onProgressUpdate(@IntRange(from=0, to=100) int);
    method public void onProgressUpdate(@NonNull android.media.MediaTranscodeManager.TranscodingJob, @IntRange(from=0, to=100) int);
  }
  }
  public static final class MediaTranscodeManager.TranscodingRequest {
  public static final class MediaTranscodeManager.TranscodingRequest {
+2 −5
Original line number Original line Diff line number Diff line
@@ -1819,11 +1819,8 @@ package android.media {
    method @NonNull public String getOriginalId();
    method @NonNull public String getOriginalId();
  }
  }


  public final class MediaTranscodeManager implements java.lang.AutoCloseable {
  public final class MediaTranscodeManager {
    method public void close();
    method @NonNull public android.media.MediaTranscodeManager.TranscodingJob enqueueRequest(@NonNull android.media.MediaTranscodeManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodeManager.OnTranscodingFinishedListener) throws java.io.FileNotFoundException;
    method @NonNull public android.media.MediaTranscodeManager.TranscodingJob enqueueRequest(@NonNull android.media.MediaTranscodeManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodeManager.OnTranscodingFinishedListener) throws java.io.FileNotFoundException;
    method protected void finalize();
    field public static final int PRIORITY_OFFLINE = 2; // 0x2
    field public static final int PRIORITY_REALTIME = 1; // 0x1
    field public static final int PRIORITY_REALTIME = 1; // 0x1
    field public static final int TRANSCODING_TYPE_VIDEO = 1; // 0x1
    field public static final int TRANSCODING_TYPE_VIDEO = 1; // 0x1
  }
  }
@@ -1852,7 +1849,7 @@ package android.media {
  }
  }


  @java.lang.FunctionalInterface public static interface MediaTranscodeManager.TranscodingJob.OnProgressUpdateListener {
  @java.lang.FunctionalInterface public static interface MediaTranscodeManager.TranscodingJob.OnProgressUpdateListener {
    method public void onProgressUpdate(@IntRange(from=0, to=100) int);
    method public void onProgressUpdate(@NonNull android.media.MediaTranscodeManager.TranscodingJob, @IntRange(from=0, to=100) int);
  }
  }


  public static final class MediaTranscodeManager.TranscodingRequest {
  public static final class MediaTranscodeManager.TranscodingRequest {
+7 −30
Original line number Original line Diff line number Diff line
@@ -102,7 +102,7 @@ import java.util.concurrent.Executors;
 */
 */
@TestApi
@TestApi
@SystemApi
@SystemApi
public final class MediaTranscodeManager implements AutoCloseable {
public final class MediaTranscodeManager {
    private static final String TAG = "MediaTranscodeManager";
    private static final String TAG = "MediaTranscodeManager";


    private static final String MEDIA_TRANSCODING_SERVICE = "media.transcoding";
    private static final String MEDIA_TRANSCODING_SERVICE = "media.transcoding";
@@ -131,28 +131,6 @@ public final class MediaTranscodeManager implements AutoCloseable {
     */
     */
    public static final int TRANSCODING_TYPE_IMAGE = 2;
    public static final int TRANSCODING_TYPE_IMAGE = 2;


    @Override
    public void close() {
        release();
    }

    /**
     * Releases the MediaTranscodeManager.
     */
    private void release() {
        synchronized (mLock) {
            try {
                if (mTranscodingClient != null) {
                    mTranscodingClient.unregister();
                }
            } catch (Exception ex) {
                Log.e(TAG, "Failed to unregister the client");
            } finally {
                mTranscodingClient = null;
            }
        }
    }

    /** @hide */
    /** @hide */
    @IntDef(prefix = {"TRANSCODING_TYPE_"}, value = {
    @IntDef(prefix = {"TRANSCODING_TYPE_"}, value = {
            TRANSCODING_TYPE_UNKNOWN,
            TRANSCODING_TYPE_UNKNOWN,
@@ -182,6 +160,7 @@ public final class MediaTranscodeManager implements AutoCloseable {
     * <p>Jobs with PRIORITY_OFFLINE will be scheduled behind PRIORITY_REALTIME. Always set to
     * <p>Jobs with PRIORITY_OFFLINE will be scheduled behind PRIORITY_REALTIME. Always set to
     * PRIORITY_OFFLINE if client does not need the result as soon as possible and could accept
     * PRIORITY_OFFLINE if client does not need the result as soon as possible and could accept
     * delay of the transcoding result.
     * delay of the transcoding result.
     * @hide
     * TODO(hkuang): Add more description of this when priority is finalized.
     * TODO(hkuang): Add more description of this when priority is finalized.
     */
     */
    public static final int PRIORITY_OFFLINE = 2;
    public static final int PRIORITY_OFFLINE = 2;
@@ -287,7 +266,7 @@ public final class MediaTranscodeManager implements AutoCloseable {
            // Notifies client the progress update.
            // Notifies client the progress update.
            if (job.mProgressUpdateExecutor != null && job.mProgressUpdateListener != null) {
            if (job.mProgressUpdateExecutor != null && job.mProgressUpdateListener != null) {
                job.mProgressUpdateExecutor.execute(
                job.mProgressUpdateExecutor.execute(
                        () -> job.mProgressUpdateListener.onProgressUpdate(newProgress));
                        () -> job.mProgressUpdateListener.onProgressUpdate(job, newProgress));
            }
            }
        }
        }
    }
    }
@@ -503,11 +482,6 @@ public final class MediaTranscodeManager implements AutoCloseable {
        mTranscodingClient = registerClient(service);
        mTranscodingClient = registerClient(service);
    }
    }


    @Override
    protected void finalize() {
        release();
    }

    public static final class TranscodingRequest {
    public static final class TranscodingRequest {
        /** Uri of the source media file. */
        /** Uri of the source media file. */
        private @NonNull Uri mSourceUri;
        private @NonNull Uri mSourceUri;
@@ -892,9 +866,12 @@ public final class MediaTranscodeManager implements AutoCloseable {
            /**
            /**
             * Called when the progress changes. The progress is in percentage between 0 and 1,
             * Called when the progress changes. The progress is in percentage between 0 and 1,
             * where 0 means that the job has not yet started and 100 means that it has finished.
             * where 0 means that the job has not yet started and 100 means that it has finished.
             *
             * @param job      The job associated with the progress.
             * @param progress The new progress ranging from 0 ~ 100 inclusive.
             * @param progress The new progress ranging from 0 ~ 100 inclusive.
             */
             */
            void onProgressUpdate(@IntRange(from = 0, to = 100) int progress);
            void onProgressUpdate(@NonNull TranscodingJob job,
                    @IntRange(from = 0, to = 100) int progress);
        }
        }


        private final ITranscodingClient mJobOwner;
        private final ITranscodingClient mJobOwner;
+1 −1
Original line number Original line Diff line number Diff line
@@ -231,7 +231,7 @@ public class MediaTranscodeManagerDiedTest
        job.setOnProgressUpdateListener(listenerExecutor,
        job.setOnProgressUpdateListener(listenerExecutor,
                new TranscodingJob.OnProgressUpdateListener() {
                new TranscodingJob.OnProgressUpdateListener() {
                    @Override
                    @Override
                    public void onProgressUpdate(int newProgress) {
                    public void onProgressUpdate(TranscodingJob job, int newProgress) {
                        if (newProgress > 0) {
                        if (newProgress > 0) {
                            jobStartedSemaphore.release();
                            jobStartedSemaphore.release();
                        }
                        }
+1 −1
Original line number Original line Diff line number Diff line
@@ -532,7 +532,7 @@ public class MediaTranscodeManagerTest
                    int mPreviousProgress = 0;
                    int mPreviousProgress = 0;


                    @Override
                    @Override
                    public void onProgressUpdate(int newProgress) {
                    public void onProgressUpdate(TranscodingJob job, int newProgress) {
                        assertTrue("Invalid proress update", newProgress > mPreviousProgress);
                        assertTrue("Invalid proress update", newProgress > mPreviousProgress);
                        assertTrue("Invalid proress update", newProgress <= 100);
                        assertTrue("Invalid proress update", newProgress <= 100);
                        if (newProgress > 0) {
                        if (newProgress > 0) {
Loading