diff --git a/api/system-current.txt b/api/system-current.txt index 62503d73defa0..2d585ae1a1cea 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -4343,11 +4343,8 @@ package android.media { field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce } - public final class MediaTranscodeManager implements java.lang.AutoCloseable { - method public void close(); + public final class MediaTranscodeManager { 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 TRANSCODING_TYPE_VIDEO = 1; // 0x1 } @@ -4376,7 +4373,7 @@ package android.media { } @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 { diff --git a/api/test-current.txt b/api/test-current.txt index 2dd7409242757..6a11c6c4fe6dd 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -1819,11 +1819,8 @@ package android.media { method @NonNull public String getOriginalId(); } - public final class MediaTranscodeManager implements java.lang.AutoCloseable { - method public void close(); + public final class MediaTranscodeManager { 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 TRANSCODING_TYPE_VIDEO = 1; // 0x1 } @@ -1852,7 +1849,7 @@ package android.media { } @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 { diff --git a/media/java/android/media/MediaTranscodeManager.java b/media/java/android/media/MediaTranscodeManager.java index cf61152c4775e..1c5288b046853 100644 --- a/media/java/android/media/MediaTranscodeManager.java +++ b/media/java/android/media/MediaTranscodeManager.java @@ -102,7 +102,7 @@ import java.util.concurrent.Executors; */ @TestApi @SystemApi -public final class MediaTranscodeManager implements AutoCloseable { +public final class MediaTranscodeManager { private static final String TAG = "MediaTranscodeManager"; 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; - @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 */ @IntDef(prefix = {"TRANSCODING_TYPE_"}, value = { TRANSCODING_TYPE_UNKNOWN, @@ -182,6 +160,7 @@ public final class MediaTranscodeManager implements AutoCloseable { *

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 * delay of the transcoding result. + * @hide * TODO(hkuang): Add more description of this when priority is finalized. */ public static final int PRIORITY_OFFLINE = 2; @@ -287,7 +266,7 @@ public final class MediaTranscodeManager implements AutoCloseable { // Notifies client the progress update. if (job.mProgressUpdateExecutor != null && job.mProgressUpdateListener != null) { 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); } - @Override - protected void finalize() { - release(); - } - public static final class TranscodingRequest { /** Uri of the source media file. */ 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, * 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. */ - 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; diff --git a/media/tests/MediaTranscodingTest/src/com/android/mediatranscodingtest/MediaTranscodeManagerDiedTest.java b/media/tests/MediaTranscodingTest/src/com/android/mediatranscodingtest/MediaTranscodeManagerDiedTest.java index 6ea573ea7d3ca..f00c14d79bece 100644 --- a/media/tests/MediaTranscodingTest/src/com/android/mediatranscodingtest/MediaTranscodeManagerDiedTest.java +++ b/media/tests/MediaTranscodingTest/src/com/android/mediatranscodingtest/MediaTranscodeManagerDiedTest.java @@ -231,7 +231,7 @@ public class MediaTranscodeManagerDiedTest job.setOnProgressUpdateListener(listenerExecutor, new TranscodingJob.OnProgressUpdateListener() { @Override - public void onProgressUpdate(int newProgress) { + public void onProgressUpdate(TranscodingJob job, int newProgress) { if (newProgress > 0) { jobStartedSemaphore.release(); } diff --git a/media/tests/MediaTranscodingTest/src/com/android/mediatranscodingtest/MediaTranscodeManagerTest.java b/media/tests/MediaTranscodingTest/src/com/android/mediatranscodingtest/MediaTranscodeManagerTest.java index a54655d16dd3c..1a3e3608f37fb 100644 --- a/media/tests/MediaTranscodingTest/src/com/android/mediatranscodingtest/MediaTranscodeManagerTest.java +++ b/media/tests/MediaTranscodingTest/src/com/android/mediatranscodingtest/MediaTranscodeManagerTest.java @@ -532,7 +532,7 @@ public class MediaTranscodeManagerTest int mPreviousProgress = 0; @Override - public void onProgressUpdate(int newProgress) { + public void onProgressUpdate(TranscodingJob job, int newProgress) { assertTrue("Invalid proress update", newProgress > mPreviousProgress); assertTrue("Invalid proress update", newProgress <= 100); if (newProgress > 0) { diff --git a/non-updatable-api/system-current.txt b/non-updatable-api/system-current.txt index 39ba60c23e7ac..e464c249b7bf5 100644 --- a/non-updatable-api/system-current.txt +++ b/non-updatable-api/system-current.txt @@ -4283,11 +4283,8 @@ package android.media { field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce } - public final class MediaTranscodeManager implements java.lang.AutoCloseable { - method public void close(); + public final class MediaTranscodeManager { 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 TRANSCODING_TYPE_VIDEO = 1; // 0x1 } @@ -4316,7 +4313,7 @@ package android.media { } @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 {