diff --git a/api/system-current.txt b/api/system-current.txt index eb84e9ff5d934..b6b6e5b6f02e7 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -4770,6 +4770,22 @@ package android.media.tv { field @NonNull public static final android.os.Parcelable.Creator CREATOR; } + public final class TunedInfo implements android.os.Parcelable { + method public int describeContents(); + method public int getAppTag(); + method public int getAppType(); + method @Nullable public android.net.Uri getChannelUri(); + method @NonNull public String getInputId(); + method public boolean isForeground(); + method public boolean isRecordingSession(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field public static final int APP_TAG_SELF = 0; // 0x0 + field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3 + field public static final int APP_TYPE_SELF = 1; // 0x1 + field public static final int APP_TYPE_SYSTEM = 2; // 0x2 + field @NonNull public static final android.os.Parcelable.Creator CREATOR; + } + public final class TvContentRatingSystemInfo implements android.os.Parcelable { method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo); method public int describeContents(); @@ -4885,6 +4901,7 @@ package android.media.tv { method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating); method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig); method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List getAvailableTvStreamConfigList(String); + method @NonNull @RequiresPermission("com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS") public java.util.List getCurrentTunedInfos(); method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List getDvbDeviceList(); method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List getHardwareList(); method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List getTvContentRatingSystemList(); @@ -4910,6 +4927,10 @@ package android.media.tv { method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]); } + public abstract static class TvInputManager.TvInputCallback { + method public void onCurrentTunedInfosUpdated(@NonNull java.util.List); + } + public abstract class TvInputService extends android.app.Service { method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo); method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo); diff --git a/media/java/android/media/tv/TunedInfo.java b/media/java/android/media/tv/TunedInfo.java index 6fc57841ed3b7..6199c89fe4fad 100644 --- a/media/java/android/media/tv/TunedInfo.java +++ b/media/java/android/media/tv/TunedInfo.java @@ -19,6 +19,7 @@ package android.media.tv; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.SystemApi; import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; @@ -35,6 +36,7 @@ import java.util.Objects; * or pass-through input. * @hide */ +@SystemApi public final class TunedInfo implements Parcelable { static final String TAG = "TunedInfo"; diff --git a/media/java/android/media/tv/TvInputManager.java b/media/java/android/media/tv/TvInputManager.java index 73539fb8a0148..e9959be249ece 100644 --- a/media/java/android/media/tv/TvInputManager.java +++ b/media/java/android/media/tv/TvInputManager.java @@ -906,8 +906,8 @@ public final class TvInputManager { * @param tunedInfos a list of {@link TunedInfo} objects of new tuned information. * @hide */ - public void onCurrentTunedInfosUpdated( - @NonNull List tunedInfos) { + @SystemApi + public void onCurrentTunedInfosUpdated(@NonNull List tunedInfos) { } } @@ -969,7 +969,7 @@ public final class TvInputManager { }); } - public void onCurrentTunedInfosUpdated(final List currentTunedInfos) { + public void postCurrentTunedInfosUpdated(final List currentTunedInfos) { mHandler.post(new Runnable() { @Override public void run() { @@ -1286,7 +1286,7 @@ public final class TvInputManager { public void onCurrentTunedInfosUpdated(List currentTunedInfos) { synchronized (mLock) { for (TvInputCallbackRecord record : mCallbackRecords) { - record.onCurrentTunedInfosUpdated(currentTunedInfos); + record.postCurrentTunedInfosUpdated(currentTunedInfos); } } } @@ -1988,6 +1988,7 @@ public final class TvInputManager { * {@link TunedInfo#getChannelUri()} returns {@code null}. * @hide */ + @SystemApi @RequiresPermission("com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS") @NonNull public List getCurrentTunedInfos() { diff --git a/non-updatable-api/system-current.txt b/non-updatable-api/system-current.txt index 266c412705339..50062bf4d0cbe 100644 --- a/non-updatable-api/system-current.txt +++ b/non-updatable-api/system-current.txt @@ -4710,6 +4710,22 @@ package android.media.tv { field @NonNull public static final android.os.Parcelable.Creator CREATOR; } + public final class TunedInfo implements android.os.Parcelable { + method public int describeContents(); + method public int getAppTag(); + method public int getAppType(); + method @Nullable public android.net.Uri getChannelUri(); + method @NonNull public String getInputId(); + method public boolean isForeground(); + method public boolean isRecordingSession(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field public static final int APP_TAG_SELF = 0; // 0x0 + field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3 + field public static final int APP_TYPE_SELF = 1; // 0x1 + field public static final int APP_TYPE_SYSTEM = 2; // 0x2 + field @NonNull public static final android.os.Parcelable.Creator CREATOR; + } + public final class TvContentRatingSystemInfo implements android.os.Parcelable { method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo); method public int describeContents(); @@ -4825,6 +4841,7 @@ package android.media.tv { method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating); method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig); method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List getAvailableTvStreamConfigList(String); + method @NonNull @RequiresPermission("com.android.providers.tv.permission.ACCESS_WATCHED_PROGRAMS") public java.util.List getCurrentTunedInfos(); method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List getDvbDeviceList(); method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List getHardwareList(); method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List getTvContentRatingSystemList(); @@ -4850,6 +4867,10 @@ package android.media.tv { method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]); } + public abstract static class TvInputManager.TvInputCallback { + method public void onCurrentTunedInfosUpdated(@NonNull java.util.List); + } + public abstract class TvInputService extends android.app.Service { method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo); method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);