Merge changes from topics "tiaf_pb_cmd", "tiaf_vod_ad"
* changes:
TIAF: unhide playback command and remaining public APIs
TIAF: cleanup playback command and remaining public APIs
TIAF: unhide use cases VOD to DTV & AD insertion
diff --git a/core/api/current.txt b/core/api/current.txt
index 30a2b19..ead304f 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -24893,6 +24893,37 @@
package android.media.tv {
+ public final class AdRequest implements android.os.Parcelable {
+ ctor public AdRequest(int, int, @Nullable android.os.ParcelFileDescriptor, long, long, long, @Nullable String, @NonNull android.os.Bundle);
+ method public int describeContents();
+ method public long getEchoIntervalMillis();
+ method @Nullable public android.os.ParcelFileDescriptor getFileDescriptor();
+ method public int getId();
+ method @Nullable public String getMediaFileType();
+ method @NonNull public android.os.Bundle getMetadata();
+ method public int getRequestType();
+ method public long getStartTimeMillis();
+ method public long getStopTimeMillis();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.AdRequest> CREATOR;
+ field public static final int REQUEST_TYPE_START = 1; // 0x1
+ field public static final int REQUEST_TYPE_STOP = 2; // 0x2
+ }
+
+ public final class AdResponse implements android.os.Parcelable {
+ ctor public AdResponse(int, int, long);
+ method public int describeContents();
+ method public long getElapsedTimeMillis();
+ method public int getId();
+ method public int getResponseType();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.AdResponse> CREATOR;
+ field public static final int RESPONSE_TYPE_ERROR = 4; // 0x4
+ field public static final int RESPONSE_TYPE_FINISHED = 2; // 0x2
+ field public static final int RESPONSE_TYPE_PLAYING = 1; // 0x1
+ field public static final int RESPONSE_TYPE_STOPPED = 3; // 0x3
+ }
+
public final class AitInfo implements android.os.Parcelable {
ctor public AitInfo(int, int);
method public int describeContents();
@@ -25395,6 +25426,9 @@
field public static final int RECORDING_ERROR_INSUFFICIENT_SPACE = 1; // 0x1
field public static final int RECORDING_ERROR_RESOURCE_BUSY = 2; // 0x2
field public static final int RECORDING_ERROR_UNKNOWN = 0; // 0x0
+ field public static final int SIGNAL_STRENGTH_LOST = 1; // 0x1
+ field public static final int SIGNAL_STRENGTH_STRONG = 3; // 0x3
+ field public static final int SIGNAL_STRENGTH_WEAK = 2; // 0x2
field public static final long TIME_SHIFT_INVALID_TIME = -9223372036854775808L; // 0x8000000000000000L
field public static final int TIME_SHIFT_STATUS_AVAILABLE = 3; // 0x3
field public static final int TIME_SHIFT_STATUS_UNAVAILABLE = 2; // 0x2
@@ -25472,10 +25506,12 @@
public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
ctor public TvInputService.Session(android.content.Context);
method public void layoutSurface(int, int, int, int);
+ method public void notifyAdResponse(@NonNull android.media.tv.AdResponse);
method public void notifyAitInfoUpdated(@NonNull android.media.tv.AitInfo);
method public void notifyChannelRetuned(android.net.Uri);
method public void notifyContentAllowed();
method public void notifyContentBlocked(@NonNull android.media.tv.TvContentRating);
+ method public void notifySignalStrength(int);
method public void notifyTimeShiftStatusChanged(int);
method public void notifyTrackSelected(int, String);
method public void notifyTracksChanged(java.util.List<android.media.tv.TvTrackInfo>);
@@ -25491,6 +25527,7 @@
method public boolean onKeyUp(int, android.view.KeyEvent);
method public void onOverlayViewSizeChanged(int, int);
method public abstract void onRelease();
+ method public void onRequestAd(@NonNull android.media.tv.AdRequest);
method public boolean onSelectTrack(int, @Nullable String);
method public abstract void onSetCaptionEnabled(boolean);
method public void onSetInteractiveAppNotificationEnabled(boolean);
@@ -25628,9 +25665,11 @@
method public void onContentAllowed(String);
method public void onContentBlocked(String, android.media.tv.TvContentRating);
method public void onDisconnected(String);
+ method public void onSignalStrength(@NonNull String, int);
method public void onTimeShiftStatusChanged(String, int);
method public void onTrackSelected(String, int, String);
method public void onTracksChanged(String, java.util.List<android.media.tv.TvTrackInfo>);
+ method public void onTuned(@NonNull String, @NonNull android.net.Uri);
method public void onVideoAvailable(String);
method public void onVideoSizeChanged(String, int, int);
method public void onVideoUnavailable(String, int);
@@ -25655,8 +25694,11 @@
public final class TvInteractiveAppManager {
method @NonNull public java.util.List<android.media.tv.interactive.TvInteractiveAppInfo> getTvInteractiveAppServiceList();
+ method public void prepare(@NonNull String, int);
method public void registerCallback(@NonNull android.media.tv.interactive.TvInteractiveAppManager.TvInteractiveAppCallback, @NonNull java.util.concurrent.Executor);
+ method public void sendAppLinkCommand(@NonNull String, @NonNull android.os.Bundle);
method public void unregisterCallback(@NonNull android.media.tv.interactive.TvInteractiveAppManager.TvInteractiveAppCallback);
+ field public static final String ACTION_APP_LINK_COMMAND = "android.media.tv.interactive.action.APP_LINK_COMMAND";
field public static final int ERROR_BLOCKED = 5; // 0x5
field public static final int ERROR_ENCRYPTED = 6; // 0x6
field public static final int ERROR_NONE = 0; // 0x0
@@ -25665,26 +25707,55 @@
field public static final int ERROR_UNKNOWN = 1; // 0x1
field public static final int ERROR_UNKNOWN_CHANNEL = 7; // 0x7
field public static final int ERROR_WEAK_SIGNAL = 3; // 0x3
+ field public static final String INTENT_KEY_BI_INTERACTIVE_APP_TYPE = "bi_interactive_app_type";
+ field public static final String INTENT_KEY_BI_INTERACTIVE_APP_URI = "bi_interactive_app_uri";
+ field public static final String INTENT_KEY_CHANNEL_URI = "channel_uri";
+ field public static final String INTENT_KEY_INTERACTIVE_APP_SERVICE_ID = "interactive_app_id";
+ field public static final String INTENT_KEY_TV_INPUT_ID = "tv_input_id";
field public static final int INTERACTIVE_APP_STATE_ERROR = 3; // 0x3
field public static final int INTERACTIVE_APP_STATE_RUNNING = 2; // 0x2
field public static final int INTERACTIVE_APP_STATE_STOPPED = 1; // 0x1
+ field public static final String KEY_BACK_URI = "back_uri";
+ field public static final String KEY_CLASS_NAME = "class_name";
+ field public static final String KEY_COMMAND_TYPE = "command_type";
+ field public static final String KEY_PACKAGE_NAME = "package_name";
+ field public static final String KEY_SERVICE_ID = "service_id";
field public static final int SERVICE_STATE_ERROR = 4; // 0x4
field public static final int SERVICE_STATE_PREPARING = 2; // 0x2
field public static final int SERVICE_STATE_READY = 3; // 0x3
field public static final int SERVICE_STATE_UNREALIZED = 1; // 0x1
+ field public static final int TELETEXT_APP_STATE_ERROR = 3; // 0x3
+ field public static final int TELETEXT_APP_STATE_HIDE = 2; // 0x2
+ field public static final int TELETEXT_APP_STATE_SHOW = 1; // 0x1
}
public abstract static class TvInteractiveAppManager.TvInteractiveAppCallback {
ctor public TvInteractiveAppManager.TvInteractiveAppCallback();
+ method public void onInteractiveAppServiceAdded(@NonNull String);
+ method public void onInteractiveAppServiceRemoved(@NonNull String);
+ method public void onInteractiveAppServiceUpdated(@NonNull String);
method public void onTvInteractiveAppServiceStateChanged(@NonNull String, int, int, int);
}
public abstract class TvInteractiveAppService extends android.app.Service {
ctor public TvInteractiveAppService();
method public final void notifyStateChanged(int, int, int);
- method public final android.os.IBinder onBind(android.content.Intent);
+ method public void onAppLinkCommand(@NonNull android.os.Bundle);
+ method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
method @Nullable public abstract android.media.tv.interactive.TvInteractiveAppService.Session onCreateSession(@NonNull String, int);
method public abstract void onPrepare(int);
+ field public static final String COMMAND_PARAMETER_KEY_CHANGE_CHANNEL_QUIETLY = "command_change_channel_quietly";
+ field public static final String COMMAND_PARAMETER_KEY_CHANNEL_URI = "command_channel_uri";
+ field public static final String COMMAND_PARAMETER_KEY_INPUT_ID = "command_input_id";
+ field public static final String COMMAND_PARAMETER_KEY_TRACK_ID = "command_track_id";
+ field public static final String COMMAND_PARAMETER_KEY_TRACK_TYPE = "command_track_type";
+ field public static final String COMMAND_PARAMETER_KEY_VOLUME = "command_volume";
+ field public static final String PLAYBACK_COMMAND_TYPE_SELECT_TRACK = "select_track";
+ field public static final String PLAYBACK_COMMAND_TYPE_SET_STREAM_VOLUME = "set_stream_volume";
+ field public static final String PLAYBACK_COMMAND_TYPE_STOP = "stop";
+ field public static final String PLAYBACK_COMMAND_TYPE_TUNE = "tune";
+ field public static final String PLAYBACK_COMMAND_TYPE_TUNE_NEXT = "tune_next";
+ field public static final String PLAYBACK_COMMAND_TYPE_TUNE_PREV = "tune_previous";
field public static final String SERVICE_INTERFACE = "android.media.tv.interactive.TvInteractiveAppService";
field public static final String SERVICE_META_DATA = "android.media.tv.interactive.app";
}
@@ -25694,17 +25765,48 @@
method public void layoutSurface(int, int, int, int);
method public final void notifyBiInteractiveAppCreated(@NonNull android.net.Uri, @Nullable String);
method public void notifySessionStateChanged(int, int);
+ method public final void notifyTeletextAppStateChanged(int);
+ method public void onAdResponse(@NonNull android.media.tv.AdResponse);
+ method public void onContentAllowed();
+ method public void onContentBlocked(@NonNull android.media.tv.TvContentRating);
method public void onCreateBiInteractiveApp(@NonNull android.net.Uri, @Nullable android.os.Bundle);
+ method @Nullable public android.view.View onCreateMediaView();
+ method public void onCurrentChannelLcn(int);
+ method public void onCurrentChannelUri(@Nullable android.net.Uri);
+ method public void onCurrentTvInputId(@Nullable String);
method public void onDestroyBiInteractiveApp(@NonNull String);
+ method public boolean onGenericMotionEvent(@NonNull android.view.MotionEvent);
method public boolean onKeyDown(int, @NonNull android.view.KeyEvent);
method public boolean onKeyLongPress(int, @NonNull android.view.KeyEvent);
method public boolean onKeyMultiple(int, int, @NonNull android.view.KeyEvent);
method public boolean onKeyUp(int, @NonNull android.view.KeyEvent);
+ method public void onMediaViewSizeChanged(int, int);
+ method public abstract void onRelease();
+ method public void onResetInteractiveApp();
method public abstract boolean onSetSurface(@Nullable android.view.Surface);
+ method public void onSetTeletextAppEnabled(boolean);
+ method public void onSignalStrength(int);
method public void onStartInteractiveApp();
method public void onStopInteractiveApp();
+ method public void onStreamVolume(float);
method public void onSurfaceChanged(int, int, int);
+ method public boolean onTouchEvent(@NonNull android.view.MotionEvent);
+ method public void onTrackInfoList(@NonNull java.util.List<android.media.tv.TvTrackInfo>);
+ method public void onTrackSelected(int, @NonNull String);
+ method public boolean onTrackballEvent(@NonNull android.view.MotionEvent);
+ method public void onTracksChanged(@NonNull java.util.List<android.media.tv.TvTrackInfo>);
method public void onTuned(@NonNull android.net.Uri);
+ method public void onVideoAvailable();
+ method public void onVideoUnavailable(int);
+ method public void requestAd(@NonNull android.media.tv.AdRequest);
+ method public void requestCurrentChannelLcn();
+ method public void requestCurrentChannelUri();
+ method public void requestCurrentTvInputId();
+ method public void requestStreamVolume();
+ method public void requestTrackInfoList();
+ method public void sendPlaybackCommandRequest(@NonNull String, @Nullable android.os.Bundle);
+ method public void setMediaViewEnabled(boolean);
+ method public void setVideoBounds(@NonNull android.graphics.Rect);
}
public class TvInteractiveAppView extends android.view.ViewGroup {
@@ -25712,19 +25814,48 @@
ctor public TvInteractiveAppView(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
ctor public TvInteractiveAppView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int);
method public void clearCallback();
+ method public void clearOnUnhandledInputEventListener();
method public void createBiInteractiveApp(@NonNull android.net.Uri, @Nullable android.os.Bundle);
method public void destroyBiInteractiveApp(@NonNull String);
+ method public boolean dispatchUnhandledInputEvent(@NonNull android.view.InputEvent);
+ method public void onAttachedToWindow();
+ method public void onDetachedFromWindow();
+ method public void onLayout(boolean, int, int, int, int);
+ method public void onMeasure(int, int);
+ method public boolean onUnhandledInputEvent(@NonNull android.view.InputEvent);
+ method public void onVisibilityChanged(@NonNull android.view.View, int);
method public void prepareInteractiveApp(@NonNull String, int);
+ method public void reset();
+ method public void resetInteractiveApp();
+ method public void sendCurrentChannelLcn(int);
+ method public void sendCurrentChannelUri(@Nullable android.net.Uri);
+ method public void sendCurrentTvInputId(@Nullable String);
+ method public void sendStreamVolume(float);
+ method public void sendTrackInfoList(@Nullable java.util.List<android.media.tv.TvTrackInfo>);
method public void setCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.interactive.TvInteractiveAppView.TvInteractiveAppCallback);
+ method public void setOnUnhandledInputEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.interactive.TvInteractiveAppView.OnUnhandledInputEventListener);
+ method public void setTeletextAppEnabled(boolean);
method public int setTvView(@Nullable android.media.tv.TvView);
method public void startInteractiveApp();
method public void stopInteractiveApp();
}
+ public static interface TvInteractiveAppView.OnUnhandledInputEventListener {
+ method public boolean onUnhandledInputEvent(@NonNull android.view.InputEvent);
+ }
+
public abstract static class TvInteractiveAppView.TvInteractiveAppCallback {
ctor public TvInteractiveAppView.TvInteractiveAppCallback();
method public void onBiInteractiveAppCreated(@NonNull String, @NonNull android.net.Uri, @Nullable String);
+ method public void onPlaybackCommandRequest(@NonNull String, @NonNull String, @NonNull android.os.Bundle);
+ method public void onRequestCurrentChannelLcn(@NonNull String);
+ method public void onRequestCurrentChannelUri(@NonNull String);
+ method public void onRequestCurrentTvInputId(@NonNull String);
+ method public void onRequestStreamVolume(@NonNull String);
+ method public void onRequestTrackInfoList(@NonNull String);
+ method public void onSetVideoBounds(@NonNull String, @NonNull android.graphics.Rect);
method public void onStateChanged(@NonNull String, int, int);
+ method public void onTeletextAppStateChanged(@NonNull String, int);
}
}
diff --git a/media/java/android/media/tv/AdRequest.java b/media/java/android/media/tv/AdRequest.java
index adcf541..0542c55 100644
--- a/media/java/android/media/tv/AdRequest.java
+++ b/media/java/android/media/tv/AdRequest.java
@@ -29,7 +29,6 @@
/**
* An advertisement request which can be sent to TV input to request AD operations.
- * @hide
*/
public final class AdRequest implements Parcelable {
/** @hide */
diff --git a/media/java/android/media/tv/AdResponse.java b/media/java/android/media/tv/AdResponse.java
index 5dba82c..0c20954 100644
--- a/media/java/android/media/tv/AdResponse.java
+++ b/media/java/android/media/tv/AdResponse.java
@@ -26,7 +26,6 @@
/**
* An advertisement request which can be sent to TV interactive App service to inform AD status.
- * @hide
*/
public final class AdResponse implements Parcelable {
/** @hide */
diff --git a/media/java/android/media/tv/TvInputManager.java b/media/java/android/media/tv/TvInputManager.java
index f438d29..cc33a1e 100644
--- a/media/java/android/media/tv/TvInputManager.java
+++ b/media/java/android/media/tv/TvInputManager.java
@@ -394,17 +394,14 @@
/**
* Signal lost.
- * @hide
*/
public static final int SIGNAL_STRENGTH_LOST = 1;
/**
* Weak signal.
- * @hide
*/
public static final int SIGNAL_STRENGTH_WEAK = 2;
/**
* Strong signal.
- * @hide
*/
public static final int SIGNAL_STRENGTH_STRONG = 3;
diff --git a/media/java/android/media/tv/TvInputService.java b/media/java/android/media/tv/TvInputService.java
index 98d4182..f63f444 100755
--- a/media/java/android/media/tv/TvInputService.java
+++ b/media/java/android/media/tv/TvInputService.java
@@ -896,7 +896,6 @@
*
* @param response advertisement response.
* @see android.media.tv.interactive.TvInteractiveAppService.Session#requestAd(AdRequest)
- * @hide
*/
public void notifyAdResponse(@NonNull final AdResponse response) {
executeOrPostRunnableOnMainThread(new Runnable() {
@@ -977,7 +976,6 @@
/**
* Notifies signal strength.
- * @hide
*/
public void notifySignalStrength(@TvInputManager.SignalStrength final int strength) {
executeOrPostRunnableOnMainThread(new Runnable() {
@@ -1128,7 +1126,6 @@
* Called when advertisement request is received.
*
* @param request advertisement request received
- * @hide
*/
public void onRequestAd(@NonNull AdRequest request) {
}
diff --git a/media/java/android/media/tv/TvView.java b/media/java/android/media/tv/TvView.java
index 6c25a70..4d63af7 100644
--- a/media/java/android/media/tv/TvView.java
+++ b/media/java/android/media/tv/TvView.java
@@ -1079,21 +1079,20 @@
/**
* This is called when signal strength is updated.
+ *
* @param inputId The ID of the TV input bound to this view.
* @param strength The current signal strength.
- *
- * @hide
*/
- public void onSignalStrength(String inputId, @TvInputManager.SignalStrength int strength) {
+ public void onSignalStrength(
+ @NonNull String inputId, @TvInputManager.SignalStrength int strength) {
}
/**
* This is called when the session has been tuned to the given channel.
*
* @param channelUri The URI of a channel.
- * @hide
*/
- public void onTuned(String inputId, Uri channelUri) {
+ public void onTuned(@NonNull String inputId, @NonNull Uri channelUri) {
}
}
diff --git a/media/java/android/media/tv/interactive/TvInteractiveAppManager.java b/media/java/android/media/tv/interactive/TvInteractiveAppManager.java
index f1f0af1..4a99715 100755
--- a/media/java/android/media/tv/interactive/TvInteractiveAppManager.java
+++ b/media/java/android/media/tv/interactive/TvInteractiveAppManager.java
@@ -174,18 +174,15 @@
public @interface TeletextAppState {}
/**
- * Show state of Teletext app.
- * @hide
+ * State of Teletext app: show
*/
public static final int TELETEXT_APP_STATE_SHOW = 1;
/**
- * Hide state of Teletext app.
- * @hide
+ * State of Teletext app: hide
*/
public static final int TELETEXT_APP_STATE_HIDE = 2;
/**
- * Error state of Teletext app.
- * @hide
+ * State of Teletext app: error
*/
public static final int TELETEXT_APP_STATE_ERROR = 3;
@@ -193,9 +190,7 @@
* Key for package name in app link.
* <p>Type: String
*
- * @see #registerAppLinkInfo(String, Bundle)
* @see #sendAppLinkCommand(String, Bundle)
- * @hide
*/
public static final String KEY_PACKAGE_NAME = "package_name";
@@ -203,45 +198,15 @@
* Key for class name in app link.
* <p>Type: String
*
- * @see #registerAppLinkInfo(String, Bundle)
* @see #sendAppLinkCommand(String, Bundle)
- * @hide
*/
public static final String KEY_CLASS_NAME = "class_name";
/**
- * Key for URI scheme in app link.
- * <p>Type: String
- *
- * @see #registerAppLinkInfo(String, Bundle)
- * @hide
- */
- public static final String KEY_URI_SCHEME = "uri_scheme";
-
- /**
- * Key for URI host in app link.
- * <p>Type: String
- *
- * @see #registerAppLinkInfo(String, Bundle)
- * @hide
- */
- public static final String KEY_URI_HOST = "uri_host";
-
- /**
- * Key for URI prefix in app link.
- * <p>Type: String
- *
- * @see #registerAppLinkInfo(String, Bundle)
- * @hide
- */
- public static final String KEY_URI_PREFIX = "uri_prefix";
-
- /**
* Key for command type in app link command.
* <p>Type: String
*
* @see #sendAppLinkCommand(String, Bundle)
- * @hide
*/
public static final String KEY_COMMAND_TYPE = "command_type";
@@ -250,7 +215,6 @@
* <p>Type: String
*
* @see #sendAppLinkCommand(String, Bundle)
- * @hide
*/
public static final String KEY_SERVICE_ID = "service_id";
@@ -259,10 +223,68 @@
* <p>Type: String
*
* @see #sendAppLinkCommand(String, Bundle)
- * @hide
*/
public static final String KEY_BACK_URI = "back_uri";
+ /**
+ * Broadcast intent action to send app command to TV app.
+ *
+ * @see #sendAppLinkCommand(String, Bundle)
+ */
+ public static final String ACTION_APP_LINK_COMMAND =
+ "android.media.tv.interactive.action.APP_LINK_COMMAND";
+
+ /**
+ * Intent key for TV input ID. It's used to send app command to TV app.
+ * <p>Type: String
+ *
+ * @see #sendAppLinkCommand(String, Bundle)
+ * @see #ACTION_APP_LINK_COMMAND
+ */
+ public static final String INTENT_KEY_TV_INPUT_ID = "tv_input_id";
+
+ /**
+ * Intent key for TV interactive app ID. It's used to send app command to TV app.
+ * <p>Type: String
+ *
+ * @see #sendAppLinkCommand(String, Bundle)
+ * @see #ACTION_APP_LINK_COMMAND
+ * @see android.media.tv.interactive.TvInteractiveAppInfo#getId()
+ */
+ public static final String INTENT_KEY_INTERACTIVE_APP_SERVICE_ID = "interactive_app_id";
+
+ /**
+ * Intent key for TV channel URI. It's used to send app command to TV app.
+ * <p>Type: android.net.Uri
+ *
+ * @see #sendAppLinkCommand(String, Bundle)
+ * @see #ACTION_APP_LINK_COMMAND
+ */
+ public static final String INTENT_KEY_CHANNEL_URI = "channel_uri";
+
+ /**
+ * Intent key for broadcast-independent(BI) interactive app type. It's used to send app command
+ * to TV app.
+ * <p>Type: int
+ *
+ * @see #sendAppLinkCommand(String, Bundle)
+ * @see #ACTION_APP_LINK_COMMAND
+ * @see android.media.tv.interactive.TvInteractiveAppInfo#getSupportedTypes()
+ * @see android.media.tv.interactive.TvInteractiveAppView#createBiInteractiveApp(Uri, Bundle)
+ */
+ public static final String INTENT_KEY_BI_INTERACTIVE_APP_TYPE = "bi_interactive_app_type";
+
+ /**
+ * Intent key for broadcast-independent(BI) interactive app URI. It's used to send app command
+ * to TV app.
+ * <p>Type: android.net.Uri
+ *
+ * @see #sendAppLinkCommand(String, Bundle)
+ * @see #ACTION_APP_LINK_COMMAND
+ * @see android.media.tv.interactive.TvInteractiveAppView#createBiInteractiveApp(Uri, Bundle)
+ */
+ public static final String INTENT_KEY_BI_INTERACTIVE_APP_URI = "bi_interactive_app_uri";
+
private final ITvInteractiveAppManager mService;
private final int mUserId;
@@ -358,7 +380,7 @@
@Override
public void onCommandRequest(
- @TvInteractiveAppService.InteractiveAppServiceCommandType String cmdType,
+ @TvInteractiveAppService.PlaybackCommandType String cmdType,
Bundle parameters,
int seq) {
synchronized (mSessionCallbackRecordMap) {
@@ -559,7 +581,6 @@
* that implements {@link TvInteractiveAppService} interface.
*
* @param iAppServiceId The ID of the TV Interactive App service.
- * @hide
*/
public void onInteractiveAppServiceAdded(@NonNull String iAppServiceId) {
}
@@ -571,7 +592,6 @@
* App service package.
*
* @param iAppServiceId The ID of the TV Interactive App service.
- * @hide
*/
public void onInteractiveAppServiceRemoved(@NonNull String iAppServiceId) {
}
@@ -583,7 +603,6 @@
* re-installed or a newer version of the package exists becomes available/unavailable.
*
* @param iAppServiceId The ID of the TV Interactive App service.
- * @hide
*/
public void onInteractiveAppServiceUpdated(@NonNull String iAppServiceId) {
}
@@ -730,8 +749,7 @@
}
/**
- * Prepares TV Interactive App service for the given type.
- * @hide
+ * Prepares TV Interactive App service environment for the given type.
*/
public void prepare(@NonNull String tvIAppServiceId, int type) {
try {
@@ -773,7 +791,6 @@
* @param tvIAppServiceId The ID of TV interactive service which the command to be sent to. The
* ID can be found in {@link TvInputInfo#getId()}.
* @param command The command to be sent.
- * @hide
*/
public void sendAppLinkCommand(@NonNull String tvIAppServiceId, @NonNull Bundle command) {
try {
@@ -1565,7 +1582,7 @@
}
void postCommandRequest(
- final @TvInteractiveAppService.InteractiveAppServiceCommandType String cmdType,
+ final @TvInteractiveAppService.PlaybackCommandType String cmdType,
final Bundle parameters) {
mHandler.post(new Runnable() {
@Override
@@ -1713,7 +1730,7 @@
*/
public void onCommandRequest(
Session session,
- @TvInteractiveAppService.InteractiveAppServiceCommandType String cmdType,
+ @TvInteractiveAppService.PlaybackCommandType String cmdType,
Bundle parameters) {
}
diff --git a/media/java/android/media/tv/interactive/TvInteractiveAppService.java b/media/java/android/media/tv/interactive/TvInteractiveAppService.java
index 4716bed..c9856bf 100755
--- a/media/java/android/media/tv/interactive/TvInteractiveAppService.java
+++ b/media/java/android/media/tv/interactive/TvInteractiveAppService.java
@@ -32,6 +32,7 @@
import android.media.tv.BroadcastInfoRequest;
import android.media.tv.BroadcastInfoResponse;
import android.media.tv.TvContentRating;
+import android.media.tv.TvInputInfo;
import android.media.tv.TvInputManager;
import android.media.tv.TvTrackInfo;
import android.media.tv.TvView;
@@ -97,46 +98,82 @@
/** @hide */
@Retention(RetentionPolicy.SOURCE)
- @StringDef(prefix = "INTERACTIVE_APP_SERVICE_COMMAND_TYPE_", value = {
- INTERACTIVE_APP_SERVICE_COMMAND_TYPE_TUNE,
- INTERACTIVE_APP_SERVICE_COMMAND_TYPE_TUNE_NEXT,
- INTERACTIVE_APP_SERVICE_COMMAND_TYPE_TUNE_PREV,
- INTERACTIVE_APP_SERVICE_COMMAND_TYPE_STOP,
- INTERACTIVE_APP_SERVICE_COMMAND_TYPE_SET_STREAM_VOLUME,
- INTERACTIVE_APP_SERVICE_COMMAND_TYPE_SELECT_TRACK
+ @StringDef(prefix = "PLAYBACK_COMMAND_TYPE_", value = {
+ PLAYBACK_COMMAND_TYPE_TUNE,
+ PLAYBACK_COMMAND_TYPE_TUNE_NEXT,
+ PLAYBACK_COMMAND_TYPE_TUNE_PREV,
+ PLAYBACK_COMMAND_TYPE_STOP,
+ PLAYBACK_COMMAND_TYPE_SET_STREAM_VOLUME,
+ PLAYBACK_COMMAND_TYPE_SELECT_TRACK
})
- public @interface InteractiveAppServiceCommandType {}
+ public @interface PlaybackCommandType {}
- /** @hide */
- public static final String INTERACTIVE_APP_SERVICE_COMMAND_TYPE_TUNE = "tune";
- /** @hide */
- public static final String INTERACTIVE_APP_SERVICE_COMMAND_TYPE_TUNE_NEXT = "tune_next";
- /** @hide */
- public static final String INTERACTIVE_APP_SERVICE_COMMAND_TYPE_TUNE_PREV = "tune_previous";
- /** @hide */
- public static final String INTERACTIVE_APP_SERVICE_COMMAND_TYPE_STOP = "stop";
- /** @hide */
- public static final String INTERACTIVE_APP_SERVICE_COMMAND_TYPE_SET_STREAM_VOLUME =
+ /**
+ * Playback command type: tune to the given channel.
+ * @see #COMMAND_PARAMETER_KEY_CHANNEL_URI
+ */
+ public static final String PLAYBACK_COMMAND_TYPE_TUNE = "tune";
+ /**
+ * Playback command type: tune to the next channel.
+ */
+ public static final String PLAYBACK_COMMAND_TYPE_TUNE_NEXT = "tune_next";
+ /**
+ * Playback command type: tune to the previous channel.
+ */
+ public static final String PLAYBACK_COMMAND_TYPE_TUNE_PREV = "tune_previous";
+ /**
+ * Playback command type: stop the playback.
+ */
+ public static final String PLAYBACK_COMMAND_TYPE_STOP = "stop";
+ /**
+ * Playback command type: set the volume.
+ */
+ public static final String PLAYBACK_COMMAND_TYPE_SET_STREAM_VOLUME =
"set_stream_volume";
- /** @hide */
- public static final String INTERACTIVE_APP_SERVICE_COMMAND_TYPE_SELECT_TRACK = "select_track";
- /** @hide */
+ /**
+ * Playback command type: select the given track.
+ */
+ public static final String PLAYBACK_COMMAND_TYPE_SELECT_TRACK = "select_track";
+ /**
+ * Playback command parameter: channel URI.
+ * <p>Type: android.net.Uri
+ *
+ * @see #PLAYBACK_COMMAND_TYPE_TUNE
+ */
public static final String COMMAND_PARAMETER_KEY_CHANNEL_URI = "command_channel_uri";
- /** @hide */
+ /**
+ * Playback command parameter: TV input ID.
+ * <p>Type: String
+ *
+ * @see TvInputInfo#getId()
+ */
public static final String COMMAND_PARAMETER_KEY_INPUT_ID = "command_input_id";
- /** @hide */
+ /**
+ * Playback command parameter: stream volume.
+ * <p>Type: float
+ *
+ * @see #PLAYBACK_COMMAND_TYPE_SET_STREAM_VOLUME
+ */
public static final String COMMAND_PARAMETER_KEY_VOLUME = "command_volume";
- /** @hide */
+ /**
+ * Playback command parameter: track type.
+ * <p>Type: int
+ *
+ * @see #PLAYBACK_COMMAND_TYPE_SELECT_TRACK
+ * @see TvTrackInfo#getType()
+ */
public static final String COMMAND_PARAMETER_KEY_TRACK_TYPE = "command_track_type";
- /** @hide */
+ /**
+ * Playback command parameter: track ID.
+ * <p>Type: String
+ *
+ * @see #PLAYBACK_COMMAND_TYPE_SELECT_TRACK
+ * @see TvTrackInfo#getId()
+ */
public static final String COMMAND_PARAMETER_KEY_TRACK_ID = "command_track_id";
- /** @hide */
- public static final String COMMAND_PARAMETER_KEY_TRACK_SELECT_MODE =
- "command_track_select_mode";
/**
* Command to quiet channel change. No channel banner or channel info is shown.
* <p>Refer to HbbTV Spec 2.0.4 chapter A.2.4.3.
- * @hide
*/
public static final String COMMAND_PARAMETER_KEY_CHANGE_CHANNEL_QUIETLY =
"command_change_channel_quietly";
@@ -145,9 +182,9 @@
private final RemoteCallbackList<ITvInteractiveAppServiceCallback> mCallbacks =
new RemoteCallbackList<>();
- /** @hide */
@Override
- public final IBinder onBind(Intent intent) {
+ @Nullable
+ public final IBinder onBind(@NonNull Intent intent) {
ITvInteractiveAppService.Stub tvIAppServiceBinder = new ITvInteractiveAppService.Stub() {
@Override
public void registerCallback(ITvInteractiveAppServiceCallback cb) {
@@ -210,23 +247,20 @@
* Registers App link info.
* @hide
*/
- public void onRegisterAppLinkInfo(AppLinkInfo appLinkInfo) {
- // TODO: make it abstract when unhide
+ public void onRegisterAppLinkInfo(@NonNull AppLinkInfo appLinkInfo) {
}
/**
* Unregisters App link info.
* @hide
*/
- public void onUnregisterAppLinkInfo(AppLinkInfo appLinkInfo) {
- // TODO: make it abstract when unhide
+ public void onUnregisterAppLinkInfo(@NonNull AppLinkInfo appLinkInfo) {
}
/**
* Called when app link command is received.
*
* @see android.media.tv.interactive.TvInteractiveAppManager#sendAppLinkCommand(String, Bundle)
- * @hide
*/
public void onAppLinkCommand(@NonNull Bundle command) {
}
@@ -318,7 +352,6 @@
*
* @param enable {@code true} if you want to enable the media view. {@code false}
* otherwise.
- * @hide
*/
public void setMediaViewEnabled(final boolean enable) {
mHandler.post(new Runnable() {
@@ -353,7 +386,6 @@
/**
* Resets TvIAppService session.
- * @hide
*/
public void onResetInteractiveApp() {
}
@@ -384,43 +416,37 @@
/**
* To toggle Digital Teletext Application if there is one in AIT app list.
- * @param enable
- * @hide
+ * @param enable {@code true} to enable teletext app; {@code false} otherwise.
*/
public void onSetTeletextAppEnabled(boolean enable) {
}
/**
* Receives current channel URI.
- * @hide
*/
public void onCurrentChannelUri(@Nullable Uri channelUri) {
}
/**
* Receives logical channel number (LCN) of current channel.
- * @hide
*/
public void onCurrentChannelLcn(int lcn) {
}
/**
- * Receives stream volume.
- * @hide
+ * Receives current stream volume.
*/
public void onStreamVolume(float volume) {
}
/**
* Receives track list.
- * @hide
*/
public void onTrackInfoList(@NonNull List<TvTrackInfo> tracks) {
}
/**
* Receives current TV input ID.
- * @hide
*/
public void onCurrentTvInputId(@Nullable String inputId) {
}
@@ -460,7 +486,6 @@
*
* @param width The width of the media view.
* @param height The height of the media view.
- * @hide
*/
public void onMediaViewSizeChanged(int width, int height) {
}
@@ -470,7 +495,6 @@
* implementation can override this method and return its own view.
*
* @return a view attached to the media window
- * @hide
*/
@Nullable
public View onCreateMediaView() {
@@ -479,10 +503,8 @@
/**
* Releases TvInteractiveAppService session.
- * @hide
*/
- public void onRelease() {
- }
+ public abstract void onRelease();
/**
* Called when the corresponding TV input tuned to a channel.
@@ -494,49 +516,42 @@
/**
* Called when the corresponding TV input selected to a track.
- * @hide
*/
- public void onTrackSelected(int type, String trackId) {
+ public void onTrackSelected(@TvTrackInfo.Type int type, @NonNull String trackId) {
}
/**
* Called when the tracks are changed.
- * @hide
*/
- public void onTracksChanged(List<TvTrackInfo> tracks) {
+ public void onTracksChanged(@NonNull List<TvTrackInfo> tracks) {
}
/**
* Called when video is available.
- * @hide
*/
public void onVideoAvailable() {
}
/**
* Called when video is unavailable.
- * @hide
*/
- public void onVideoUnavailable(int reason) {
+ public void onVideoUnavailable(@TvInputManager.VideoUnavailableReason int reason) {
}
/**
* Called when content is allowed.
- * @hide
*/
public void onContentAllowed() {
}
/**
* Called when content is blocked.
- * @hide
*/
- public void onContentBlocked(TvContentRating rating) {
+ public void onContentBlocked(@NonNull TvContentRating rating) {
}
/**
* Called when signal strength is changed.
- * @hide
*/
public void onSignalStrength(@TvInputManager.SignalStrength int strength) {
}
@@ -550,60 +565,61 @@
/**
* Called when an advertisement response is received.
- * @hide
*/
public void onAdResponse(@NonNull AdResponse response) {
}
- /**
- * TODO: JavaDoc of APIs related to input events.
- * @hide
- */
@Override
public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) {
return false;
}
- /**
- * @hide
- */
@Override
public boolean onKeyLongPress(int keyCode, @NonNull KeyEvent event) {
return false;
}
- /**
- * @hide
- */
@Override
public boolean onKeyMultiple(int keyCode, int count, @NonNull KeyEvent event) {
return false;
}
- /**
- * @hide
- */
@Override
public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) {
return false;
}
/**
- * @hide
+ * Implement this method to handle touch screen motion events on the current session.
+ *
+ * @param event The motion event being received.
+ * @return If you handled the event, return {@code true}. If you want to allow the event to
+ * be handled by the next receiver, return {@code false}.
+ * @see View#onTouchEvent
*/
public boolean onTouchEvent(@NonNull MotionEvent event) {
return false;
}
/**
- * @hide
+ * Implement this method to handle trackball events on the current session.
+ *
+ * @param event The motion event being received.
+ * @return If you handled the event, return {@code true}. If you want to allow the event to
+ * be handled by the next receiver, return {@code false}.
+ * @see View#onTrackballEvent
*/
public boolean onTrackballEvent(@NonNull MotionEvent event) {
return false;
}
/**
- * @hide
+ * Implement this method to handle generic motion events on the current session.
+ *
+ * @param event The motion event being received.
+ * @return If you handled the event, return {@code true}. If you want to allow the event to
+ * be handled by the next receiver, return {@code false}.
+ * @see View#onGenericMotionEvent
*/
public boolean onGenericMotionEvent(@NonNull MotionEvent event) {
return false;
@@ -693,13 +709,13 @@
}
/**
- * requests a specific command to be processed by the related TV input.
+ * Sends a specific playback command to be processed by the related TV input.
+ *
* @param cmdType type of the specific command
* @param parameters parameters of the specific command
- * @hide
*/
- public void requestCommand(
- @InteractiveAppServiceCommandType String cmdType, Bundle parameters) {
+ public void sendPlaybackCommandRequest(
+ @PlaybackCommandType @NonNull String cmdType, @Nullable Bundle parameters) {
executeOrPostRunnableOnMainThread(new Runnable() {
@MainThread
@Override
@@ -721,9 +737,8 @@
/**
* Sets broadcast video bounds.
- * @hide
*/
- public void setVideoBounds(Rect rect) {
+ public void setVideoBounds(@NonNull Rect rect) {
executeOrPostRunnableOnMainThread(new Runnable() {
@MainThread
@Override
@@ -744,7 +759,6 @@
/**
* Requests the URI of the current channel.
- * @hide
*/
public void requestCurrentChannelUri() {
executeOrPostRunnableOnMainThread(new Runnable() {
@@ -767,7 +781,6 @@
/**
* Requests the logic channel number (LCN) of the current channel.
- * @hide
*/
public void requestCurrentChannelLcn() {
executeOrPostRunnableOnMainThread(new Runnable() {
@@ -790,7 +803,6 @@
/**
* Requests stream volume.
- * @hide
*/
public void requestStreamVolume() {
executeOrPostRunnableOnMainThread(new Runnable() {
@@ -813,7 +825,6 @@
/**
* Requests the list of {@link TvTrackInfo}.
- * @hide
*/
public void requestTrackInfoList() {
executeOrPostRunnableOnMainThread(new Runnable() {
@@ -838,7 +849,6 @@
* Requests current TV input ID.
*
* @see android.media.tv.TvInputInfo
- * @hide
*/
public void requestCurrentTvInputId() {
executeOrPostRunnableOnMainThread(new Runnable() {
@@ -863,7 +873,6 @@
* Sends an advertisement request to be processed by the related TV input.
*
* @param request The advertisement request
- * @hide
*/
public void requestAd(@NonNull final AdRequest request) {
executeOrPostRunnableOnMainThread(new Runnable() {
@@ -1082,7 +1091,6 @@
/**
* Notifies when the digital teletext app state is changed.
* @param state the current state.
- * @hide
*/
public final void notifyTeletextAppStateChanged(
@TvInteractiveAppManager.TeletextAppState int state) {
diff --git a/media/java/android/media/tv/interactive/TvInteractiveAppView.java b/media/java/android/media/tv/interactive/TvInteractiveAppView.java
index 2922bae..773e54f 100755
--- a/media/java/android/media/tv/interactive/TvInteractiveAppView.java
+++ b/media/java/android/media/tv/interactive/TvInteractiveAppView.java
@@ -170,23 +170,20 @@
}
}
- /** @hide */
@Override
- protected void onAttachedToWindow() {
+ public void onAttachedToWindow() {
super.onAttachedToWindow();
createSessionMediaView();
}
- /** @hide */
@Override
- protected void onDetachedFromWindow() {
+ public void onDetachedFromWindow() {
removeSessionMediaView();
super.onDetachedFromWindow();
}
- /** @hide */
@Override
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
+ public void onLayout(boolean changed, int left, int top, int right, int bottom) {
if (DEBUG) {
Log.d(TAG, "onLayout (left=" + left + ", top=" + top + ", right=" + right
+ ", bottom=" + bottom + ",)");
@@ -199,9 +196,8 @@
}
}
- /** @hide */
@Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
mSurfaceView.measure(widthMeasureSpec, heightMeasureSpec);
int width = mSurfaceView.getMeasuredWidth();
int height = mSurfaceView.getMeasuredHeight();
@@ -211,9 +207,8 @@
childState << MEASURED_HEIGHT_STATE_SHIFT));
}
- /** @hide */
@Override
- protected void onVisibilityChanged(View changedView, int visibility) {
+ public void onVisibilityChanged(@NonNull View changedView, int visibility) {
super.onVisibilityChanged(changedView, visibility);
mSurfaceView.setVisibility(visibility);
if (visibility == View.VISIBLE) {
@@ -244,7 +239,6 @@
/**
* Resets this TvInteractiveAppView.
- * @hide
*/
public void reset() {
if (DEBUG) Log.d(TAG, "reset()");
@@ -330,7 +324,11 @@
/**
* Dispatches an unhandled input event to the next receiver.
- * @hide
+ *
+ * It gives the host application a chance to dispatch the unhandled input events.
+ *
+ * @param event The input event.
+ * @return {@code true} if the event was handled by the view, {@code false} otherwise.
*/
public boolean dispatchUnhandledInputEvent(@NonNull InputEvent event) {
if (mOnUnhandledInputEventListener != null) {
@@ -349,21 +347,28 @@
* @param event The input event.
* @return If you handled the event, return {@code true}. If you want to allow the event to be
* handled by the next receiver, return {@code false}.
- * @hide
*/
public boolean onUnhandledInputEvent(@NonNull InputEvent event) {
return false;
}
/**
- * Registers a callback to be invoked when an input event is not handled
+ * Sets a listener to be invoked when an input event is not handled
* by the TV Interactive App.
*
* @param listener The callback to be invoked when the unhandled input event is received.
- * @hide
*/
- public void setOnUnhandledInputEventListener(@NonNull OnUnhandledInputEventListener listener) {
+ public void setOnUnhandledInputEventListener(
+ @NonNull @CallbackExecutor Executor executor,
+ @NonNull OnUnhandledInputEventListener listener) {
mOnUnhandledInputEventListener = listener;
+ // TODO: handle CallbackExecutor
+ }
+ /**
+ * Clears the {@link OnUnhandledInputEventListener}.
+ */
+ public void clearOnUnhandledInputEventListener() {
+ mOnUnhandledInputEventListener = null;
}
@Override
@@ -427,7 +432,6 @@
/**
* Resets the interactive application.
- * @hide
*/
public void resetInteractiveApp() {
if (DEBUG) {
@@ -440,9 +444,11 @@
/**
* Sends current channel URI to related TV interactive app.
- * @hide
+ *
+ * @param channelUri The current channel URI; {@code null} if there is no currently tuned
+ * channel.
*/
- public void sendCurrentChannelUri(Uri channelUri) {
+ public void sendCurrentChannelUri(@Nullable Uri channelUri) {
if (DEBUG) {
Log.d(TAG, "sendCurrentChannelUri");
}
@@ -453,7 +459,6 @@
/**
* Sends current channel logical channel number (LCN) to related TV interactive app.
- * @hide
*/
public void sendCurrentChannelLcn(int lcn) {
if (DEBUG) {
@@ -466,7 +471,6 @@
/**
* Sends stream volume to related TV interactive app.
- * @hide
*/
public void sendStreamVolume(float volume) {
if (DEBUG) {
@@ -479,9 +483,8 @@
/**
* Sends track info list to related TV interactive app.
- * @hide
*/
- public void sendTrackInfoList(List<TvTrackInfo> tracks) {
+ public void sendTrackInfoList(@Nullable List<TvTrackInfo> tracks) {
if (DEBUG) {
Log.d(TAG, "sendTrackInfoList");
}
@@ -496,7 +499,6 @@
* @param inputId The current TV input ID whose channel is tuned. {@code null} if no channel is
* tuned.
* @see android.media.tv.TvInputInfo
- * @hide
*/
public void sendCurrentTvInputId(@Nullable String inputId) {
if (DEBUG) {
@@ -588,8 +590,11 @@
/**
* To toggle Digital Teletext Application if there is one in AIT app list.
- * @param enable
- * @hide
+ *
+ * <p>A Teletext Application is a broadcast-related application to display text and basic
+ * graphics.
+ *
+ * @param enable {@code true} to enable Teletext app; {@code false} to disable it.
*/
public void setTeletextAppEnabled(boolean enable) {
if (DEBUG) {
@@ -607,17 +612,17 @@
// TODO: unhide the following public APIs
/**
- * This is called when a command is requested to be processed by the related TV input.
+ * This is called when a playback command is requested to be processed by the related TV
+ * input.
*
* @param iAppServiceId The ID of the TV interactive app service bound to this view.
* @param cmdType type of the command
* @param parameters parameters of the command
- * @hide
*/
- public void onCommandRequest(
+ public void onPlaybackCommandRequest(
@NonNull String iAppServiceId,
- @NonNull @TvInteractiveAppService.InteractiveAppServiceCommandType String cmdType,
- @Nullable Bundle parameters) {
+ @NonNull @TvInteractiveAppService.PlaybackCommandType String cmdType,
+ @NonNull Bundle parameters) {
}
/**
@@ -656,7 +661,6 @@
*
* @param iAppServiceId The ID of the TV interactive app service bound to this view.
* @param state digital teletext app current state.
- * @hide
*/
public void onTeletextAppStateChanged(
@NonNull String iAppServiceId,
@@ -664,59 +668,55 @@
}
/**
- * This is called when {@link TvInteractiveAppService.Session#SetVideoBounds} is called.
+ * This is called when {@link TvInteractiveAppService.Session#setVideoBounds(Rect)} is
+ * called.
*
* @param iAppServiceId The ID of the TV interactive app service bound to this view.
- * @hide
*/
public void onSetVideoBounds(@NonNull String iAppServiceId, @NonNull Rect rect) {
}
/**
- * This is called when {@link TvInteractiveAppService.Session#RequestCurrentChannelUri} is
+ * This is called when {@link TvInteractiveAppService.Session#requestCurrentChannelUri()} is
* called.
*
* @param iAppServiceId The ID of the TV interactive app service bound to this view.
- * @hide
*/
public void onRequestCurrentChannelUri(@NonNull String iAppServiceId) {
}
/**
- * This is called when {@link TvInteractiveAppService.Session#RequestCurrentChannelLcn} is
+ * This is called when {@link TvInteractiveAppService.Session#requestCurrentChannelLcn()} is
* called.
*
* @param iAppServiceId The ID of the TV interactive app service bound to this view.
- * @hide
*/
public void onRequestCurrentChannelLcn(@NonNull String iAppServiceId) {
}
/**
- * This is called when {@link TvInteractiveAppService.Session#RequestStreamVolume} is
+ * This is called when {@link TvInteractiveAppService.Session#requestStreamVolume()} is
* called.
*
* @param iAppServiceId The ID of the TV interactive app service bound to this view.
- * @hide
*/
public void onRequestStreamVolume(@NonNull String iAppServiceId) {
}
/**
- * This is called when {@link TvInteractiveAppService.Session#RequestTrackInfoList} is
+ * This is called when {@link TvInteractiveAppService.Session#requestTrackInfoList()} is
* called.
*
* @param iAppServiceId The ID of the TV interactive app service bound to this view.
- * @hide
*/
public void onRequestTrackInfoList(@NonNull String iAppServiceId) {
}
/**
- * This is called when {@link TvIAppService.Session#RequestCurrentTvInputId} is called.
+ * This is called when {@link TvInteractiveAppService.Session#requestCurrentTvInputId()} is
+ * called.
*
* @param iAppServiceId The ID of the TV interactive app service bound to this view.
- * @hide
*/
public void onRequestCurrentTvInputId(@NonNull String iAppServiceId) {
}
@@ -725,7 +725,6 @@
/**
* Interface definition for a callback to be invoked when the unhandled input event is received.
- * @hide
*/
public interface OnUnhandledInputEventListener {
/**
@@ -818,7 +817,7 @@
@Override
public void onCommandRequest(
Session session,
- @TvInteractiveAppService.InteractiveAppServiceCommandType String cmdType,
+ @TvInteractiveAppService.PlaybackCommandType String cmdType,
Bundle parameters) {
if (DEBUG) {
Log.d(TAG, "onCommandRequest (cmdType=" + cmdType + ", parameters="
@@ -833,7 +832,8 @@
mCallbackExecutor.execute(() -> {
synchronized (mCallbackLock) {
if (mCallback != null) {
- mCallback.onCommandRequest(mIAppServiceId, cmdType, parameters);
+ mCallback.onPlaybackCommandRequest(
+ mIAppServiceId, cmdType, parameters);
}
}
});
diff --git a/services/core/java/com/android/server/tv/interactive/TvInteractiveAppManagerService.java b/services/core/java/com/android/server/tv/interactive/TvInteractiveAppManagerService.java
index 468612f..53a9244 100644
--- a/services/core/java/com/android/server/tv/interactive/TvInteractiveAppManagerService.java
+++ b/services/core/java/com/android/server/tv/interactive/TvInteractiveAppManagerService.java
@@ -2100,7 +2100,7 @@
@Override
public void onCommandRequest(
- @TvInteractiveAppService.InteractiveAppServiceCommandType String cmdType,
+ @TvInteractiveAppService.PlaybackCommandType String cmdType,
Bundle parameters) {
synchronized (mLock) {
if (DEBUG) {