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

Commit 03ad8844 authored by Jae Seo's avatar Jae Seo Committed by Android (Google) Code Review
Browse files

Merge "TIF: Add a way to enable/disable caption"

parents 278902c9 2c1c31c7
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -16171,6 +16171,7 @@ package android.media.tv {
    method public boolean onKeyUp(int, android.view.KeyEvent);
    method public abstract void onRelease();
    method public boolean onSelectTrack(android.media.tv.TvTrackInfo);
    method public abstract void onSetCaptionEnabled(boolean);
    method public abstract void onSetStreamVolume(float);
    method public abstract boolean onSetSurface(android.view.Surface);
    method public boolean onTouchEvent(android.view.MotionEvent);
@@ -16220,6 +16221,7 @@ package android.media.tv {
    method public boolean onUnhandledInputEvent(android.view.InputEvent);
    method public void reset();
    method public void selectTrack(android.media.tv.TvTrackInfo);
    method public void setCaptionEnabled(boolean);
    method public void setOnUnhandledInputEventListener(android.media.tv.TvView.OnUnhandledInputEventListener);
    method public void setStreamVolume(float);
    method public void setTvInputListener(android.media.tv.TvView.TvInputListener);
+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ interface ITvInputManager {
    void setSurface(in IBinder sessionToken, in Surface surface, int userId);
    void setVolume(in IBinder sessionToken, float volume, int userId);
    void tune(in IBinder sessionToken, in Uri channelUri, int userId);
    void setCaptionEnabled(in IBinder sessionToken, boolean enabled, int userId);
    void selectTrack(in IBinder sessionToken, in TvTrackInfo track, int userId);
    void unselectTrack(in IBinder sessionToken, in TvTrackInfo track, int userId);

+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ oneway interface ITvInputSession {
    // is to introduce some new concepts that will solve a number of problems in audio policy today.
    void setVolume(float volume);
    void tune(in Uri channelUri);
    void setCaptionEnabled(boolean enabled);
    void selectTrack(in TvTrackInfo track);
    void unselectTrack(in TvTrackInfo track);

+15 −5
Original line number Diff line number Diff line
@@ -44,11 +44,12 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand
    private static final int DO_SET_SURFACE = 2;
    private static final int DO_SET_VOLUME = 3;
    private static final int DO_TUNE = 4;
    private static final int DO_SELECT_TRACK = 5;
    private static final int DO_UNSELECT_TRACK = 6;
    private static final int DO_CREATE_OVERLAY_VIEW = 7;
    private static final int DO_RELAYOUT_OVERLAY_VIEW = 8;
    private static final int DO_REMOVE_OVERLAY_VIEW = 9;
    private static final int DO_SET_CAPTION_ENABLED = 5;
    private static final int DO_SELECT_TRACK = 6;
    private static final int DO_UNSELECT_TRACK = 7;
    private static final int DO_CREATE_OVERLAY_VIEW = 8;
    private static final int DO_RELAYOUT_OVERLAY_VIEW = 9;
    private static final int DO_REMOVE_OVERLAY_VIEW = 10;

    private final HandlerCaller mCaller;

@@ -98,6 +99,10 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand
                mTvInputSessionImpl.tune((Uri) msg.obj);
                return;
            }
            case DO_SET_CAPTION_ENABLED: {
                mTvInputSessionImpl.setCaptionEnabled((Boolean) msg.obj);
                return;
            }
            case DO_SELECT_TRACK: {
                mTvInputSessionImpl.selectTrack((TvTrackInfo) msg.obj);
                return;
@@ -147,6 +152,11 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand
        mCaller.executeOrSendMessage(mCaller.obtainMessageO(DO_TUNE, channelUri));
    }

    @Override
    public void setCaptionEnabled(boolean enabled) {
        mCaller.executeOrSendMessage(mCaller.obtainMessageO(DO_SET_CAPTION_ENABLED, enabled));
    }

    @Override
    public void selectTrack(TvTrackInfo track) {
        mCaller.executeOrSendMessage(mCaller.obtainMessageO(DO_SELECT_TRACK, track));
+17 −1
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ import android.view.Surface;
import android.view.View;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -574,6 +573,23 @@ public final class TvInputManager {
            }
        }

        /**
         * Enables or disables the caption for this session.
         *
         * @param enabled {@code true} to enable, {@code false} to disable.
         */
        public void setCaptionEnabled(boolean enabled) {
            if (mToken == null) {
                Log.w(TAG, "The session has been already released");
                return;
            }
            try {
                mService.setCaptionEnabled(mToken, enabled, mUserId);
            } catch (RemoteException e) {
                throw new RuntimeException(e);
            }
        }

        /**
         * Select a track.
         *
Loading