diff options
-rw-r--r-- | core/api/system-current.txt | 2 | ||||
-rw-r--r-- | core/res/AndroidManifest.xml | 12 | ||||
-rw-r--r-- | media/java/android/media/tv/TvInputManager.java | 7 |
3 files changed, 19 insertions, 2 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 0d214cf2c5b9..011b1eac24f9 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -382,6 +382,7 @@ package android { field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE"; field public static final String SHUTDOWN = "android.permission.SHUTDOWN"; field public static final String SIGNAL_REBOOT_READINESS = "android.permission.SIGNAL_REBOOT_READINESS"; + field @FlaggedApi("android.media.tv.flags.kids_mode_tvdb_sharing") public static final String SINGLE_USER_TIS_ACCESS = "android.permission.SINGLE_USER_TIS_ACCESS"; field public static final String SOUND_TRIGGER_RUN_IN_BATTERY_SAVER = "android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER"; field public static final String STAGE_HEALTH_CONNECT_REMOTE_DATA = "android.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA"; field public static final String START_ACTIVITIES_FROM_BACKGROUND = "android.permission.START_ACTIVITIES_FROM_BACKGROUND"; @@ -8164,6 +8165,7 @@ package android.media.tv { method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPid(@NonNull String); method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int, @NonNull String); method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int); + method @FlaggedApi("android.media.tv.flags.kids_mode_tvdb_sharing") @RequiresPermission(android.Manifest.permission.SINGLE_USER_TIS_ACCESS) public int getClientUserId(@NonNull String); method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public java.util.List<android.media.tv.TunedInfo> getCurrentTunedInfos(); method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList(); method @Nullable @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public android.os.IBinder getExtensionInterface(@NonNull String, @NonNull String); diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 5044a300cc8e..0479318ad9ed 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -8543,6 +8543,18 @@ android:name="android.permission.INTERNAL_RECEIVE_PACKAGE_CHANGED_BROADCAST_ON_COMPONENT_STATE_CHANGED" android:featureFlag="android.content.pm.reduce_broadcasts_for_component_state_changes"/> + <!-- @SystemApi + @FlaggedApi("android.media.tv.flags.kids_mode_tvdb_sharing") + This permission is required when accessing information related to + singleUser-ed TIS session. + <p>This should only be used by OEM. + <p>Protection level: signature|privileged|vendorPrivileged + @hide + --> + <permission android:name="android.permission.SINGLE_USER_TIS_ACCESS" + android:protectionLevel="signature|privileged|vendorPrivileged" + android:featureFlag="android.media.tv.flags.kids_mode_tvdb_sharing"/> + <!-- Attribution for Geofencing service. --> <attribution android:tag="GeofencingService" android:label="@string/geofencing_service"/> <!-- Attribution for Country Detector. --> diff --git a/media/java/android/media/tv/TvInputManager.java b/media/java/android/media/tv/TvInputManager.java index b673e032b1ff..c2f689679852 100644 --- a/media/java/android/media/tv/TvInputManager.java +++ b/media/java/android/media/tv/TvInputManager.java @@ -27,6 +27,7 @@ import android.annotation.StringDef; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; +import android.annotation.UserIdInt; import android.content.AttributionSource; import android.content.Context; import android.content.Intent; @@ -760,6 +761,7 @@ public final class TvInputManager { * @hide */ public static final int UNKNOWN_CLIENT_PID = -1; + /** * An unknown state of the client userId gets from the TvInputManager. Client gets this value * when query through {@link #getClientUserId(String sessionId)} fails. @@ -2526,9 +2528,10 @@ public final class TvInputManager { * * @hide */ - @RequiresPermission(android.Manifest.permission.TUNER_RESOURCE_ACCESS) + @SystemApi @FlaggedApi(Flags.FLAG_KIDS_MODE_TVDB_SHARING) - public int getClientUserId(@NonNull String sessionId) { + @RequiresPermission(android.Manifest.permission.SINGLE_USER_TIS_ACCESS) + public @UserIdInt int getClientUserId(@NonNull String sessionId) { return getClientUserIdInternal(sessionId); } |