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

Commit 465f0d6a authored by Jae Seo's avatar Jae Seo
Browse files

TIF: Redefine time shift status and change callback and position APIs

Also added/modified the documentation and addressed feedback from the
previous CL.

Change-Id: I046970cd0d2688886039d37a332bbe11bc5a4b0f
parent e3a071c3
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -17539,9 +17539,10 @@ package android.media.tv {
    field public static final int INPUT_STATE_DISCONNECTED = 2; // 0x2
    field public static final int INPUT_STATE_DISCONNECTED = 2; // 0x2
    field public static final java.lang.String META_DATA_CONTENT_RATING_SYSTEMS = "android.media.tv.metadata.CONTENT_RATING_SYSTEMS";
    field public static final java.lang.String META_DATA_CONTENT_RATING_SYSTEMS = "android.media.tv.metadata.CONTENT_RATING_SYSTEMS";
    field public static final long TIME_SHIFT_INVALID_TIME = -9223372036854775808L; // 0x8000000000000000L
    field public static final long TIME_SHIFT_INVALID_TIME = -9223372036854775808L; // 0x8000000000000000L
    field public static final int TIME_SHIFT_STATUS_AVAILABLE = 0; // 0x0
    field public static final int TIME_SHIFT_STATUS_AVAILABLE = 3; // 0x3
    field public static final int TIME_SHIFT_STATUS_ERROR = 2; // 0x2
    field public static final int TIME_SHIFT_STATUS_UNAVAILABLE = 2; // 0x2
    field public static final int TIME_SHIFT_STATUS_UNAVAILABLE = 1; // 0x1
    field public static final int TIME_SHIFT_STATUS_UNKNOWN = 0; // 0x0
    field public static final int TIME_SHIFT_STATUS_UNSUPPORTED = 1; // 0x1
    field public static final int VIDEO_UNAVAILABLE_REASON_BUFFERING = 3; // 0x3
    field public static final int VIDEO_UNAVAILABLE_REASON_BUFFERING = 3; // 0x3
    field public static final int VIDEO_UNAVAILABLE_REASON_TUNING = 1; // 0x1
    field public static final int VIDEO_UNAVAILABLE_REASON_TUNING = 1; // 0x1
    field public static final int VIDEO_UNAVAILABLE_REASON_UNKNOWN = 0; // 0x0
    field public static final int VIDEO_UNAVAILABLE_REASON_UNKNOWN = 0; // 0x0
@@ -17576,7 +17577,6 @@ package android.media.tv {
    method public void notifyChannelRetuned(android.net.Uri);
    method public void notifyChannelRetuned(android.net.Uri);
    method public void notifyContentAllowed();
    method public void notifyContentAllowed();
    method public void notifyContentBlocked(android.media.tv.TvContentRating);
    method public void notifyContentBlocked(android.media.tv.TvContentRating);
    method public void notifyTimeShiftStartPositionChanged(long);
    method public void notifyTimeShiftStatusChanged(int);
    method public void notifyTimeShiftStatusChanged(int);
    method public void notifyTrackSelected(int, java.lang.String);
    method public void notifyTrackSelected(int, java.lang.String);
    method public void notifyTracksChanged(java.util.List<android.media.tv.TvTrackInfo>);
    method public void notifyTracksChanged(java.util.List<android.media.tv.TvTrackInfo>);
@@ -17595,6 +17595,7 @@ package android.media.tv {
    method public abstract boolean onSetSurface(android.view.Surface);
    method public abstract boolean onSetSurface(android.view.Surface);
    method public void onSurfaceChanged(int, int, int);
    method public void onSurfaceChanged(int, int, int);
    method public long onTimeShiftGetCurrentPosition();
    method public long onTimeShiftGetCurrentPosition();
    method public long onTimeShiftGetStartPosition();
    method public void onTimeShiftPause();
    method public void onTimeShiftPause();
    method public void onTimeShiftResume();
    method public void onTimeShiftResume();
    method public void onTimeShiftSeekTo(long);
    method public void onTimeShiftSeekTo(long);
@@ -17647,19 +17648,18 @@ package android.media.tv {
    method public java.util.List<android.media.tv.TvTrackInfo> getTracks(int);
    method public java.util.List<android.media.tv.TvTrackInfo> getTracks(int);
    method protected void onLayout(boolean, int, int, int, int);
    method protected void onLayout(boolean, int, int, int, int);
    method public boolean onUnhandledInputEvent(android.view.InputEvent);
    method public boolean onUnhandledInputEvent(android.view.InputEvent);
    method public void registerTimeShiftPositionCallback(android.media.tv.TvView.TimeShiftPositionCallback);
    method public void reset();
    method public void reset();
    method public void selectTrack(int, java.lang.String);
    method public void selectTrack(int, java.lang.String);
    method public void setCallback(android.media.tv.TvView.TvInputCallback);
    method public void setCallback(android.media.tv.TvView.TvInputCallback);
    method public void setCaptionEnabled(boolean);
    method public void setCaptionEnabled(boolean);
    method public void setOnUnhandledInputEventListener(android.media.tv.TvView.OnUnhandledInputEventListener);
    method public void setOnUnhandledInputEventListener(android.media.tv.TvView.OnUnhandledInputEventListener);
    method public void setStreamVolume(float);
    method public void setStreamVolume(float);
    method public void setTimeShiftPositionCallback(android.media.tv.TvView.TimeShiftPositionCallback);
    method public void timeShiftPause();
    method public void timeShiftPause();
    method public void timeShiftResume();
    method public void timeShiftResume();
    method public void timeShiftSeekTo(long);
    method public void timeShiftSeekTo(long);
    method public void timeShiftSetPlaybackRate(float, int);
    method public void timeShiftSetPlaybackRate(float, int);
    method public void tune(java.lang.String, android.net.Uri);
    method public void tune(java.lang.String, android.net.Uri);
    method public void unregisterTimeShiftPositionCallback(android.media.tv.TvView.TimeShiftPositionCallback);
  }
  }
  public static abstract interface TvView.OnUnhandledInputEventListener {
  public static abstract interface TvView.OnUnhandledInputEventListener {
+6 −6
Original line number Original line Diff line number Diff line
@@ -18902,9 +18902,10 @@ package android.media.tv {
    field public static final int INPUT_STATE_DISCONNECTED = 2; // 0x2
    field public static final int INPUT_STATE_DISCONNECTED = 2; // 0x2
    field public static final java.lang.String META_DATA_CONTENT_RATING_SYSTEMS = "android.media.tv.metadata.CONTENT_RATING_SYSTEMS";
    field public static final java.lang.String META_DATA_CONTENT_RATING_SYSTEMS = "android.media.tv.metadata.CONTENT_RATING_SYSTEMS";
    field public static final long TIME_SHIFT_INVALID_TIME = -9223372036854775808L; // 0x8000000000000000L
    field public static final long TIME_SHIFT_INVALID_TIME = -9223372036854775808L; // 0x8000000000000000L
    field public static final int TIME_SHIFT_STATUS_AVAILABLE = 0; // 0x0
    field public static final int TIME_SHIFT_STATUS_AVAILABLE = 3; // 0x3
    field public static final int TIME_SHIFT_STATUS_ERROR = 2; // 0x2
    field public static final int TIME_SHIFT_STATUS_UNAVAILABLE = 2; // 0x2
    field public static final int TIME_SHIFT_STATUS_UNAVAILABLE = 1; // 0x1
    field public static final int TIME_SHIFT_STATUS_UNKNOWN = 0; // 0x0
    field public static final int TIME_SHIFT_STATUS_UNSUPPORTED = 1; // 0x1
    field public static final int VIDEO_UNAVAILABLE_REASON_BUFFERING = 3; // 0x3
    field public static final int VIDEO_UNAVAILABLE_REASON_BUFFERING = 3; // 0x3
    field public static final int VIDEO_UNAVAILABLE_REASON_TUNING = 1; // 0x1
    field public static final int VIDEO_UNAVAILABLE_REASON_TUNING = 1; // 0x1
    field public static final int VIDEO_UNAVAILABLE_REASON_UNKNOWN = 0; // 0x0
    field public static final int VIDEO_UNAVAILABLE_REASON_UNKNOWN = 0; // 0x0
@@ -18992,7 +18993,6 @@ package android.media.tv {
    method public void notifyContentAllowed();
    method public void notifyContentAllowed();
    method public void notifyContentBlocked(android.media.tv.TvContentRating);
    method public void notifyContentBlocked(android.media.tv.TvContentRating);
    method public void notifySessionEvent(java.lang.String, android.os.Bundle);
    method public void notifySessionEvent(java.lang.String, android.os.Bundle);
    method public void notifyTimeShiftStartPositionChanged(long);
    method public void notifyTimeShiftStatusChanged(int);
    method public void notifyTimeShiftStatusChanged(int);
    method public void notifyTrackSelected(int, java.lang.String);
    method public void notifyTrackSelected(int, java.lang.String);
    method public void notifyTracksChanged(java.util.List<android.media.tv.TvTrackInfo>);
    method public void notifyTracksChanged(java.util.List<android.media.tv.TvTrackInfo>);
@@ -19014,6 +19014,7 @@ package android.media.tv {
    method public abstract boolean onSetSurface(android.view.Surface);
    method public abstract boolean onSetSurface(android.view.Surface);
    method public void onSurfaceChanged(int, int, int);
    method public void onSurfaceChanged(int, int, int);
    method public long onTimeShiftGetCurrentPosition();
    method public long onTimeShiftGetCurrentPosition();
    method public long onTimeShiftGetStartPosition();
    method public void onTimeShiftPause();
    method public void onTimeShiftPause();
    method public void onTimeShiftResume();
    method public void onTimeShiftResume();
    method public void onTimeShiftSeekTo(long);
    method public void onTimeShiftSeekTo(long);
@@ -19090,7 +19091,6 @@ package android.media.tv {
    method public java.util.List<android.media.tv.TvTrackInfo> getTracks(int);
    method public java.util.List<android.media.tv.TvTrackInfo> getTracks(int);
    method protected void onLayout(boolean, int, int, int, int);
    method protected void onLayout(boolean, int, int, int, int);
    method public boolean onUnhandledInputEvent(android.view.InputEvent);
    method public boolean onUnhandledInputEvent(android.view.InputEvent);
    method public void registerTimeShiftPositionCallback(android.media.tv.TvView.TimeShiftPositionCallback);
    method public void requestUnblockContent(android.media.tv.TvContentRating);
    method public void requestUnblockContent(android.media.tv.TvContentRating);
    method public void reset();
    method public void reset();
    method public void selectTrack(int, java.lang.String);
    method public void selectTrack(int, java.lang.String);
@@ -19100,6 +19100,7 @@ package android.media.tv {
    method public void setMain();
    method public void setMain();
    method public void setOnUnhandledInputEventListener(android.media.tv.TvView.OnUnhandledInputEventListener);
    method public void setOnUnhandledInputEventListener(android.media.tv.TvView.OnUnhandledInputEventListener);
    method public void setStreamVolume(float);
    method public void setStreamVolume(float);
    method public void setTimeShiftPositionCallback(android.media.tv.TvView.TimeShiftPositionCallback);
    method public void setZOrderMediaOverlay(boolean);
    method public void setZOrderMediaOverlay(boolean);
    method public void setZOrderOnTop(boolean);
    method public void setZOrderOnTop(boolean);
    method public void timeShiftPause();
    method public void timeShiftPause();
@@ -19108,7 +19109,6 @@ package android.media.tv {
    method public void timeShiftSetPlaybackRate(float, int);
    method public void timeShiftSetPlaybackRate(float, int);
    method public void tune(java.lang.String, android.net.Uri);
    method public void tune(java.lang.String, android.net.Uri);
    method public void tune(java.lang.String, android.net.Uri, android.os.Bundle);
    method public void tune(java.lang.String, android.net.Uri, android.os.Bundle);
    method public void unregisterTimeShiftPositionCallback(android.media.tv.TvView.TimeShiftPositionCallback);
  }
  }
  public static abstract interface TvView.OnUnhandledInputEventListener {
  public static abstract interface TvView.OnUnhandledInputEventListener {
+1 −1
Original line number Original line Diff line number Diff line
@@ -78,7 +78,7 @@ interface ITvInputManager {
    void timeShiftResume(in IBinder sessionToken, int userId);
    void timeShiftResume(in IBinder sessionToken, int userId);
    void timeShiftSeekTo(in IBinder sessionToken, long timeMs, int userId);
    void timeShiftSeekTo(in IBinder sessionToken, long timeMs, int userId);
    void timeShiftSetPlaybackRate(in IBinder sessionToken, float rate, int audioMode, int userId);
    void timeShiftSetPlaybackRate(in IBinder sessionToken, float rate, int audioMode, int userId);
    void timeShiftTrackCurrentPosition(in IBinder sessionToken, boolean enabled, int userId);
    void timeShiftEnablePositionTracking(in IBinder sessionToken, boolean enable, int userId);


    // For TV input hardware binding
    // For TV input hardware binding
    List<TvInputHardwareInfo> getHardwareList();
    List<TvInputHardwareInfo> getHardwareList();
+1 −1
Original line number Original line Diff line number Diff line
@@ -51,5 +51,5 @@ oneway interface ITvInputSession {
    void timeShiftResume();
    void timeShiftResume();
    void timeShiftSeekTo(long timeMs);
    void timeShiftSeekTo(long timeMs);
    void timeShiftSetPlaybackRate(float rate, int audioMode);
    void timeShiftSetPlaybackRate(float rate, int audioMode);
    void timeShiftTrackCurrentPosition(boolean enabled);
    void timeShiftEnablePositionTracking(boolean enable);
}
}
+6 −6
Original line number Original line Diff line number Diff line
@@ -61,7 +61,7 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand
    private static final int DO_TIME_SHIFT_RESUME = 15;
    private static final int DO_TIME_SHIFT_RESUME = 15;
    private static final int DO_TIME_SHIFT_SEEK_TO = 16;
    private static final int DO_TIME_SHIFT_SEEK_TO = 16;
    private static final int DO_TIME_SHIFT_SET_PLAYBACK_RATE = 17;
    private static final int DO_TIME_SHIFT_SET_PLAYBACK_RATE = 17;
    private static final int DO_TIME_SHIFT_TRACK_CURRENT_POSITION = 18;
    private static final int DO_TIME_SHIFT_ENABLE_POSITION_TRACKING = 18;


    private final HandlerCaller mCaller;
    private final HandlerCaller mCaller;


@@ -174,8 +174,8 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand
                mTvInputSessionImpl.timeShiftSetPlaybackRate((Float) msg.obj, msg.arg1);
                mTvInputSessionImpl.timeShiftSetPlaybackRate((Float) msg.obj, msg.arg1);
                break;
                break;
            }
            }
            case DO_TIME_SHIFT_TRACK_CURRENT_POSITION: {
            case DO_TIME_SHIFT_ENABLE_POSITION_TRACKING: {
                mTvInputSessionImpl.timeShiftTrackCurrentPosition((Boolean) msg.obj);
                mTvInputSessionImpl.timeShiftEnablePositionTracking((Boolean) msg.obj);
                break;
                break;
            }
            }
            default: {
            default: {
@@ -290,9 +290,9 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand
    }
    }


    @Override
    @Override
    public void timeShiftTrackCurrentPosition(boolean enabled) {
    public void timeShiftEnablePositionTracking(boolean enable) {
        mCaller.executeOrSendMessage(mCaller.obtainMessageO(DO_TIME_SHIFT_TRACK_CURRENT_POSITION,
        mCaller.executeOrSendMessage(mCaller.obtainMessageO(
                Boolean.valueOf(enabled)));
                DO_TIME_SHIFT_ENABLE_POSITION_TRACKING, Boolean.valueOf(enable)));
    }
    }


    private final class TvInputEventReceiver extends InputEventReceiver {
    private final class TvInputEventReceiver extends InputEventReceiver {
Loading