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

Commit f8515ea4 authored by Dongwon Kang's avatar Dongwon Kang Committed by Android (Google) Code Review
Browse files

Merge "TIF: Add time shift APIs."

parents 3425dae8 6f0240cf
Loading
Loading
Loading
Loading
+24 −0
Original line number Original line Diff line number Diff line
@@ -17466,6 +17466,10 @@ package android.media.tv {
    field public static final int INPUT_STATE_CONNECTED_STANDBY = 1; // 0x1
    field public static final int INPUT_STATE_CONNECTED_STANDBY = 1; // 0x1
    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 int TIME_SHIFT_STATUS_AVAILABLE = 0; // 0x0
    field public static final int TIME_SHIFT_STATUS_ERROR = 2; // 0x2
    field public static final int TIME_SHIFT_STATUS_UNAVAILABLE = 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
@@ -17500,6 +17504,8 @@ 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 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>);
    method public void notifyVideoAvailable();
    method public void notifyVideoAvailable();
@@ -17516,6 +17522,11 @@ package android.media.tv {
    method public abstract void onSetStreamVolume(float);
    method public abstract void onSetStreamVolume(float);
    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 void onTimeShiftPause();
    method public void onTimeShiftResume();
    method public void onTimeShiftSeekTo(long);
    method public void onTimeShiftSetPlaybackRate(float, int);
    method public boolean onTouchEvent(android.view.MotionEvent);
    method public boolean onTouchEvent(android.view.MotionEvent);
    method public boolean onTrackballEvent(android.view.MotionEvent);
    method public boolean onTrackballEvent(android.view.MotionEvent);
    method public abstract boolean onTune(android.net.Uri);
    method public abstract boolean onTune(android.net.Uri);
@@ -17564,19 +17575,31 @@ 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 timeShiftPause();
    method public void timeShiftResume();
    method public void timeShiftSeekTo(long);
    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 {
    method public abstract boolean onUnhandledInputEvent(android.view.InputEvent);
    method public abstract boolean onUnhandledInputEvent(android.view.InputEvent);
  }
  }
  public static abstract class TvView.TimeShiftPositionCallback {
    ctor public TvView.TimeShiftPositionCallback();
    method public void onTimeShiftCurrentPositionChanged(java.lang.String, long);
    method public void onTimeShiftStartPositionChanged(java.lang.String, long);
  }
  public static abstract class TvView.TvInputCallback {
  public static abstract class TvView.TvInputCallback {
    ctor public TvView.TvInputCallback();
    ctor public TvView.TvInputCallback();
    method public void onChannelRetuned(java.lang.String, android.net.Uri);
    method public void onChannelRetuned(java.lang.String, android.net.Uri);
@@ -17584,6 +17607,7 @@ package android.media.tv {
    method public void onContentAllowed(java.lang.String);
    method public void onContentAllowed(java.lang.String);
    method public void onContentBlocked(java.lang.String, android.media.tv.TvContentRating);
    method public void onContentBlocked(java.lang.String, android.media.tv.TvContentRating);
    method public void onDisconnected(java.lang.String);
    method public void onDisconnected(java.lang.String);
    method public void onTimeShiftStatusChanged(java.lang.String, int);
    method public void onTrackSelected(java.lang.String, int, java.lang.String);
    method public void onTrackSelected(java.lang.String, int, java.lang.String);
    method public void onTracksChanged(java.lang.String, java.util.List<android.media.tv.TvTrackInfo>);
    method public void onTracksChanged(java.lang.String, java.util.List<android.media.tv.TvTrackInfo>);
    method public void onVideoAvailable(java.lang.String);
    method public void onVideoAvailable(java.lang.String);
+27 −0
Original line number Original line Diff line number Diff line
@@ -18828,6 +18828,10 @@ package android.media.tv {
    field public static final int INPUT_STATE_CONNECTED_STANDBY = 1; // 0x1
    field public static final int INPUT_STATE_CONNECTED_STANDBY = 1; // 0x1
    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 int TIME_SHIFT_STATUS_AVAILABLE = 0; // 0x0
    field public static final int TIME_SHIFT_STATUS_ERROR = 2; // 0x2
    field public static final int TIME_SHIFT_STATUS_UNAVAILABLE = 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
@@ -18870,6 +18874,9 @@ package android.media.tv {
    method public void onSessionCreated(android.media.tv.TvInputManager.Session);
    method public void onSessionCreated(android.media.tv.TvInputManager.Session);
    method public void onSessionEvent(android.media.tv.TvInputManager.Session, java.lang.String, android.os.Bundle);
    method public void onSessionEvent(android.media.tv.TvInputManager.Session, java.lang.String, android.os.Bundle);
    method public void onSessionReleased(android.media.tv.TvInputManager.Session);
    method public void onSessionReleased(android.media.tv.TvInputManager.Session);
    method public void onTimeShiftCurrentPositionChanged(android.media.tv.TvInputManager.Session, long);
    method public void onTimeShiftStartPositionChanged(android.media.tv.TvInputManager.Session, long);
    method public void onTimeShiftStatusChanged(android.media.tv.TvInputManager.Session, int);
    method public void onTrackSelected(android.media.tv.TvInputManager.Session, int, java.lang.String);
    method public void onTrackSelected(android.media.tv.TvInputManager.Session, int, java.lang.String);
    method public void onTracksChanged(android.media.tv.TvInputManager.Session, java.util.List<android.media.tv.TvTrackInfo>);
    method public void onTracksChanged(android.media.tv.TvInputManager.Session, java.util.List<android.media.tv.TvTrackInfo>);
    method public void onVideoAvailable(android.media.tv.TvInputManager.Session);
    method public void onVideoAvailable(android.media.tv.TvInputManager.Session);
@@ -18912,6 +18919,8 @@ 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 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>);
    method public void notifyVideoAvailable();
    method public void notifyVideoAvailable();
@@ -18931,6 +18940,11 @@ package android.media.tv {
    method public abstract void onSetStreamVolume(float);
    method public abstract void onSetStreamVolume(float);
    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 void onTimeShiftPause();
    method public void onTimeShiftResume();
    method public void onTimeShiftSeekTo(long);
    method public void onTimeShiftSetPlaybackRate(float, int);
    method public boolean onTouchEvent(android.view.MotionEvent);
    method public boolean onTouchEvent(android.view.MotionEvent);
    method public boolean onTrackballEvent(android.view.MotionEvent);
    method public boolean onTrackballEvent(android.view.MotionEvent);
    method public abstract boolean onTune(android.net.Uri);
    method public abstract boolean onTune(android.net.Uri);
@@ -19003,6 +19017,7 @@ 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);
@@ -19014,14 +19029,25 @@ package android.media.tv {
    method public void setStreamVolume(float);
    method public void setStreamVolume(float);
    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 timeShiftResume();
    method public void timeShiftSeekTo(long);
    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 {
    method public abstract boolean onUnhandledInputEvent(android.view.InputEvent);
    method public abstract boolean onUnhandledInputEvent(android.view.InputEvent);
  }
  }
  public static abstract class TvView.TimeShiftPositionCallback {
    ctor public TvView.TimeShiftPositionCallback();
    method public void onTimeShiftCurrentPositionChanged(java.lang.String, long);
    method public void onTimeShiftStartPositionChanged(java.lang.String, long);
  }
  public static abstract class TvView.TvInputCallback {
  public static abstract class TvView.TvInputCallback {
    ctor public TvView.TvInputCallback();
    ctor public TvView.TvInputCallback();
    method public void onChannelRetuned(java.lang.String, android.net.Uri);
    method public void onChannelRetuned(java.lang.String, android.net.Uri);
@@ -19030,6 +19056,7 @@ package android.media.tv {
    method public void onContentBlocked(java.lang.String, android.media.tv.TvContentRating);
    method public void onContentBlocked(java.lang.String, android.media.tv.TvContentRating);
    method public void onDisconnected(java.lang.String);
    method public void onDisconnected(java.lang.String);
    method public void onEvent(java.lang.String, java.lang.String, android.os.Bundle);
    method public void onEvent(java.lang.String, java.lang.String, android.os.Bundle);
    method public void onTimeShiftStatusChanged(java.lang.String, int);
    method public void onTrackSelected(java.lang.String, int, java.lang.String);
    method public void onTrackSelected(java.lang.String, int, java.lang.String);
    method public void onTracksChanged(java.lang.String, java.util.List<android.media.tv.TvTrackInfo>);
    method public void onTracksChanged(java.lang.String, java.util.List<android.media.tv.TvTrackInfo>);
    method public void onVideoAvailable(java.lang.String);
    method public void onVideoAvailable(java.lang.String);
+3 −0
Original line number Original line Diff line number Diff line
@@ -40,4 +40,7 @@ oneway interface ITvInputClient {
    void onContentAllowed(int seq);
    void onContentAllowed(int seq);
    void onContentBlocked(in String rating, int seq);
    void onContentBlocked(in String rating, int seq);
    void onLayoutSurface(int left, int top, int right, int bottom, int seq);
    void onLayoutSurface(int left, int top, int right, int bottom, int seq);
    void onTimeShiftStatusChanged(int status, int seq);
    void onTimeShiftStartPositionChanged(long timeMs, int seq);
    void onTimeShiftCurrentPositionChanged(long timeMs, int seq);
}
}
+6 −0
Original line number Original line Diff line number Diff line
@@ -74,6 +74,12 @@ interface ITvInputManager {


    void requestUnblockContent(in IBinder sessionToken, in String unblockedRating, int userId);
    void requestUnblockContent(in IBinder sessionToken, in String unblockedRating, int userId);


    void timeShiftPause(in IBinder sessionToken, int userId);
    void timeShiftResume(in IBinder sessionToken, int userId);
    void timeShiftSeekTo(in IBinder sessionToken, long timeMs, int userId);
    void timeShiftSetPlaybackRate(in IBinder sessionToken, float rate, int audioMode, int userId);
    void timeShiftTrackCurrentPosition(in IBinder sessionToken, boolean enabled, int userId);

    // For TV input hardware binding
    // For TV input hardware binding
    List<TvInputHardwareInfo> getHardwareList();
    List<TvInputHardwareInfo> getHardwareList();
    ITvInputHardware acquireTvInputHardware(int deviceId, in ITvInputHardwareCallback callback,
    ITvInputHardware acquireTvInputHardware(int deviceId, in ITvInputHardwareCallback callback,
+6 −0
Original line number Original line Diff line number Diff line
@@ -46,4 +46,10 @@ oneway interface ITvInputSession {
    void removeOverlayView();
    void removeOverlayView();


    void requestUnblockContent(in String unblockedRating);
    void requestUnblockContent(in String unblockedRating);

    void timeShiftPause();
    void timeShiftResume();
    void timeShiftSeekTo(long timeMs);
    void timeShiftSetPlaybackRate(float rate, int audioMode);
    void timeShiftTrackCurrentPosition(boolean enabled);
}
}
Loading