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

Commit 0632d8ae authored by Dongwon Kang's avatar Dongwon Kang
Browse files

TIF: Address comments on hardware manager related system APIs

Bug: 25726241
Change-Id: I0a3e7e8cf494d897fc04528ba719faa4150b9207
parent ede7d958
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -94,6 +94,10 @@ package android.media {

package android.media.tv {

  public final class TvInputManager {
    method public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, android.media.tv.TvInputManager.HardwareCallback, android.media.tv.TvInputInfo);
  }

  public class TvView extends android.view.ViewGroup {
    method public void requestUnblockContent(android.media.tv.TvContentRating);
  }
+1 −1
Original line number Diff line number Diff line
@@ -24682,7 +24682,7 @@ package android.media.tv {
  }
  public final class TvInputManager {
    method public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, android.media.tv.TvInputManager.HardwareCallback, android.media.tv.TvInputInfo);
    method public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, android.media.tv.TvInputInfo, android.media.tv.TvInputManager.HardwareCallback);
    method public void addBlockedRating(android.media.tv.TvContentRating);
    method public boolean captureFrame(java.lang.String, android.view.Surface, android.media.tv.TvStreamConfig);
    method public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(java.lang.String);
+4 −0
Original line number Diff line number Diff line
@@ -92,6 +92,10 @@ package android.media {

package android.media.tv {

  public final class TvInputManager {
    method public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, android.media.tv.TvInputManager.HardwareCallback, android.media.tv.TvInputInfo);
  }

  public class TvView extends android.view.ViewGroup {
    method public void requestUnblockContent(android.media.tv.TvContentRating);
  }
+4 −0
Original line number Diff line number Diff line
@@ -94,6 +94,10 @@ package android.media {

package android.media.tv {

  public final class TvInputManager {
    method public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, android.media.tv.TvInputManager.HardwareCallback, android.media.tv.TvInputInfo);
  }

  public class TvView extends android.view.ViewGroup {
    method public void requestUnblockContent(android.media.tv.TvContentRating);
  }
+42 −6
Original line number Diff line number Diff line
@@ -824,11 +824,21 @@ public final class TvInputManager {

    /**
     * Interface used to receive events from Hardware objects.
     *
     * @hide
     */
    @SystemApi
    public abstract static class HardwareCallback {
        /**
         * This is called when {@link Hardware} is no longer available for the client.
         */
        public abstract void onReleased();

        /**
         * This is called when the underlying {@link TvStreamConfig} has been changed.
         *
         * @param configs A list of new {@link TvStreamConfig}s.
         */
        public abstract void onStreamConfigChanged(TvStreamConfig[] configs);
    }

@@ -1470,18 +1480,41 @@ public final class TvInputManager {
    }

    /**
     * Returns acquired TvInputManager.Hardware object for given deviceId.
     * Acquires {@link Hardware} object for the given device ID.
     *
     * If there are other Hardware object acquired for the same deviceId, calling this method will
     * preempt the previously acquired object and report {@link HardwareCallback#onReleased} to the
     * old object.
     * <p>A subsequent call to this method on the same {@code deviceId} will release the currently
     * acquired Hardware.
     *
     * @hide
     * @param deviceId The device ID to acquire Hardware for.
     * @param callback A callback to receive updates on Hardware.
     * @param info The TV input which will use the acquired Hardware.
     * @return Hardware on success, {@code null} otherwise.
     *
     * @removed
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE)
    public Hardware acquireTvInputHardware(int deviceId, final HardwareCallback callback,
            TvInputInfo info) {
        return acquireTvInputHardware(deviceId, info, callback);
    }

    /**
     * Acquires {@link Hardware} object for the given device ID.
     *
     * <p>A subsequent call to this method on the same {@code deviceId} will release the currently
     * acquired Hardware.
     *
     * @param deviceId The device ID to acquire Hardware for.
     * @param callback A callback to receive updates on Hardware.
     * @param info The TV input which will use the acquired Hardware.
     * @return Hardware on success, {@code null} otherwise.
     *
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE)
    public Hardware acquireTvInputHardware(int deviceId, TvInputInfo info,
            final HardwareCallback callback) {
        try {
            return new Hardware(
                    mService.acquireTvInputHardware(deviceId, new ITvInputHardwareCallback.Stub() {
@@ -1503,6 +1536,9 @@ public final class TvInputManager {
    /**
     * Releases previously acquired hardware object.
     *
     * @param deviceId The device ID this Hardware was acquired for
     * @param hardware Hardware to release.
     *
     * @hide
     */
    @SystemApi