Merge "TIAF: unhide DTV to VOD apis"
diff --git a/core/api/current.txt b/core/api/current.txt
index 0316875..e086cab 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -25679,6 +25679,27 @@
 
 package android.media.tv.interactive {
 
+  public final class AppLinkInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getClassName();
+    method @NonNull public String getPackageName();
+    method @Nullable public String getUriHost();
+    method @Nullable public String getUriPrefix();
+    method @Nullable public String getUriScheme();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.interactive.AppLinkInfo> CREATOR;
+  }
+
+  public static final class AppLinkInfo.Builder {
+    ctor public AppLinkInfo.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.media.tv.interactive.AppLinkInfo build();
+    method @NonNull public android.media.tv.interactive.AppLinkInfo.Builder setClassName(@NonNull String);
+    method @NonNull public android.media.tv.interactive.AppLinkInfo.Builder setPackageName(@NonNull String);
+    method @NonNull public android.media.tv.interactive.AppLinkInfo.Builder setUriHost(@Nullable String);
+    method @NonNull public android.media.tv.interactive.AppLinkInfo.Builder setUriPrefix(@Nullable String);
+    method @NonNull public android.media.tv.interactive.AppLinkInfo.Builder setUriScheme(@Nullable String);
+  }
+
   public final class TvInteractiveAppInfo implements android.os.Parcelable {
     ctor public TvInteractiveAppInfo(@NonNull android.content.Context, @NonNull android.content.ComponentName);
     method public int describeContents();
@@ -25695,10 +25716,17 @@
   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 registerAppLinkInfo(@NonNull String, @NonNull android.media.tv.interactive.AppLinkInfo);
     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 unregisterAppLinkInfo(@NonNull String, @NonNull android.media.tv.interactive.AppLinkInfo);
     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 String APP_LINK_KEY_BACK_URI = "back_uri";
+    field public static final String APP_LINK_KEY_CLASS_NAME = "class_name";
+    field public static final String APP_LINK_KEY_COMMAND_TYPE = "command_type";
+    field public static final String APP_LINK_KEY_PACKAGE_NAME = "package_name";
+    field public static final String APP_LINK_KEY_SERVICE_ID = "service_id";
     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
@@ -25715,11 +25743,6 @@
     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
@@ -25744,6 +25767,8 @@
     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);
+    method public void onRegisterAppLinkInfo(@NonNull android.media.tv.interactive.AppLinkInfo);
+    method public void onUnregisterAppLinkInfo(@NonNull android.media.tv.interactive.AppLinkInfo);
     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";
diff --git a/media/java/android/media/tv/interactive/AppLinkInfo.aidl b/media/java/android/media/tv/interactive/AppLinkInfo.aidl
index 7c52d01..6759fc4 100644
--- a/media/java/android/media/tv/interactive/AppLinkInfo.aidl
+++ b/media/java/android/media/tv/interactive/AppLinkInfo.aidl
@@ -16,4 +16,4 @@
 
 package android.media.tv.interactive;
 
-parcelable AppLinkInfo;
\ No newline at end of file
+parcelable AppLinkInfo;
diff --git a/media/java/android/media/tv/interactive/AppLinkInfo.java b/media/java/android/media/tv/interactive/AppLinkInfo.java
index 5cce443..cd201f7 100644
--- a/media/java/android/media/tv/interactive/AppLinkInfo.java
+++ b/media/java/android/media/tv/interactive/AppLinkInfo.java
@@ -23,7 +23,6 @@
 
 /**
  * App link information used by TV interactive app to launch Android apps.
- * @hide
  */
 public final class AppLinkInfo implements Parcelable {
     private @NonNull String mPackageName;
diff --git a/media/java/android/media/tv/interactive/TvInteractiveAppManager.java b/media/java/android/media/tv/interactive/TvInteractiveAppManager.java
index 4a99715..f75aa56 100755
--- a/media/java/android/media/tv/interactive/TvInteractiveAppManager.java
+++ b/media/java/android/media/tv/interactive/TvInteractiveAppManager.java
@@ -192,7 +192,7 @@
      *
      * @see #sendAppLinkCommand(String, Bundle)
      */
-    public static final String KEY_PACKAGE_NAME = "package_name";
+    public static final String APP_LINK_KEY_PACKAGE_NAME = "package_name";
 
     /**
      * Key for class name in app link.
@@ -200,7 +200,7 @@
      *
      * @see #sendAppLinkCommand(String, Bundle)
      */
-    public static final String KEY_CLASS_NAME = "class_name";
+    public static final String APP_LINK_KEY_CLASS_NAME = "class_name";
 
     /**
      * Key for command type in app link command.
@@ -208,7 +208,7 @@
      *
      * @see #sendAppLinkCommand(String, Bundle)
      */
-    public static final String KEY_COMMAND_TYPE = "command_type";
+    public static final String APP_LINK_KEY_COMMAND_TYPE = "command_type";
 
     /**
      * Key for service ID in app link command.
@@ -216,7 +216,7 @@
      *
      * @see #sendAppLinkCommand(String, Bundle)
      */
-    public static final String KEY_SERVICE_ID = "service_id";
+    public static final String APP_LINK_KEY_SERVICE_ID = "service_id";
 
     /**
      * Key for back URI in app link command.
@@ -224,7 +224,7 @@
      *
      * @see #sendAppLinkCommand(String, Bundle)
      */
-    public static final String KEY_BACK_URI = "back_uri";
+    public static final String APP_LINK_KEY_BACK_URI = "back_uri";
 
     /**
      * Broadcast intent action to send app command to TV app.
@@ -761,7 +761,6 @@
 
     /**
      * Registers app link info.
-     * @hide
      */
     public void registerAppLinkInfo(
             @NonNull String tvIAppServiceId, @NonNull AppLinkInfo appLinkInfo) {
@@ -774,7 +773,6 @@
 
     /**
      * Unregisters app link info.
-     * @hide
      */
     public void unregisterAppLinkInfo(
             @NonNull String tvIAppServiceId, @NonNull AppLinkInfo appLinkInfo) {
diff --git a/media/java/android/media/tv/interactive/TvInteractiveAppService.java b/media/java/android/media/tv/interactive/TvInteractiveAppService.java
index c9856bf..819707a 100755
--- a/media/java/android/media/tv/interactive/TvInteractiveAppService.java
+++ b/media/java/android/media/tv/interactive/TvInteractiveAppService.java
@@ -245,14 +245,12 @@
 
     /**
      * Registers App link info.
-     * @hide
      */
     public void onRegisterAppLinkInfo(@NonNull AppLinkInfo appLinkInfo) {
     }
 
     /**
      * Unregisters App link info.
-     * @hide
      */
     public void onUnregisterAppLinkInfo(@NonNull AppLinkInfo appLinkInfo) {
     }