From a5a81589c01dc8bd5974c86b150fff22f0864cb7 Mon Sep 17 00:00:00 2001 From: Atneya Nair Date: Thu, 30 Nov 2023 16:25:17 -0800 Subject: Upgrade KEYPHRASE permissions to SystemApi The APIs which require these permissions are SystemApi, so they should be exposed as SystemApi as well. Test: Compiles Bug: 314209130 Change-Id: I75bab609927918afd6223bcf3344c87bfad37cf7 --- core/api/system-current.txt | 10 ++++++---- core/api/system-lint-baseline.txt | 4 ++++ core/api/test-current.txt | 2 +- core/res/AndroidManifest.xml | 8 ++++++-- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 847edd13bb05..7215cfbd76fd 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -158,6 +158,7 @@ package android { field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL"; field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW"; field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP"; + field public static final String KEYPHRASE_ENROLLMENT_APPLICATION = "android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"; field public static final String KILL_ALL_BACKGROUND_PROCESSES = "android.permission.KILL_ALL_BACKGROUND_PROCESSES"; field public static final String KILL_UID = "android.permission.KILL_UID"; field public static final String LAUNCH_DEVICE_MANAGER_SETUP = "android.permission.LAUNCH_DEVICE_MANAGER_SETUP"; @@ -214,6 +215,7 @@ package android { field public static final String MANAGE_USB = "android.permission.MANAGE_USB"; field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS"; field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE"; + field public static final String MANAGE_VOICE_KEYPHRASES = "android.permission.MANAGE_VOICE_KEYPHRASES"; field public static final String MANAGE_WALLPAPER_EFFECTS_GENERATION = "android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION"; field public static final String MANAGE_WEAK_ESCROW_TOKEN = "android.permission.MANAGE_WEAK_ESCROW_TOKEN"; field public static final String MANAGE_WEARABLE_SENSING_SERVICE = "android.permission.MANAGE_WEARABLE_SENSING_SERVICE"; @@ -8885,9 +8887,9 @@ package android.media.tv.tuner.frontend { package android.media.voice { public final class KeyphraseModelManager { - method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale); - method @Nullable @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale); - method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel); + method @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale); + method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale); + method @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel); } } @@ -12940,7 +12942,7 @@ package android.service.voice { method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(@NonNull String, @NonNull java.util.Locale, @Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.concurrent.Executor, @NonNull android.service.voice.AlwaysOnHotwordDetector.Callback); method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.HotwordDetector createHotwordDetector(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull android.service.voice.HotwordDetector.Callback); method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.HotwordDetector createHotwordDetector(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.concurrent.Executor, @NonNull android.service.voice.HotwordDetector.Callback); - method @NonNull @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager(); + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager(); method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.VisualQueryDetector createVisualQueryDetector(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.concurrent.Executor, @NonNull android.service.voice.VisualQueryDetector.Callback); } diff --git a/core/api/system-lint-baseline.txt b/core/api/system-lint-baseline.txt index dec1ee52712d..2b3c15590993 100644 --- a/core/api/system-lint-baseline.txt +++ b/core/api/system-lint-baseline.txt @@ -1993,8 +1993,12 @@ UnflaggedApi: android.Manifest.permission#ALWAYS_UPDATE_WALLPAPER: New API must be flagged with @FlaggedApi: field android.Manifest.permission.ALWAYS_UPDATE_WALLPAPER UnflaggedApi: android.Manifest.permission#CAMERA_HEADLESS_SYSTEM_USER: New API must be flagged with @FlaggedApi: field android.Manifest.permission.CAMERA_HEADLESS_SYSTEM_USER +UnflaggedApi: android.Manifest.permission#KEYPHRASE_ENROLLMENT_APPLICATION: + New API must be flagged with @FlaggedApi: field android.Manifest.permission.KEYPHRASE_ENROLLMENT_APPLICATION UnflaggedApi: android.Manifest.permission#LAUNCH_PERMISSION_SETTINGS: New API must be flagged with @FlaggedApi: field android.Manifest.permission.LAUNCH_PERMISSION_SETTINGS +UnflaggedApi: android.Manifest.permission#MANAGE_VOICE_KEYPHRASES: + New API must be flagged with @FlaggedApi: field android.Manifest.permission.MANAGE_VOICE_KEYPHRASES UnflaggedApi: android.Manifest.permission#READ_INSTALLED_SESSION_PATHS: New API must be flagged with @FlaggedApi: field android.Manifest.permission.READ_INSTALLED_SESSION_PATHS UnflaggedApi: android.Manifest.permission#REGISTER_NSD_OFFLOAD_ENGINE: diff --git a/core/api/test-current.txt b/core/api/test-current.txt index f4c8429619dd..2f3f6f9c1761 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -2117,7 +2117,7 @@ package android.media.tv.tuner { package android.media.voice { public final class KeyphraseModelManager { - method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void setModelDatabaseForTestEnabled(boolean); + method @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public void setModelDatabaseForTestEnabled(boolean); } } diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 002164011e84..0d3f14ea23c6 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -5181,7 +5181,9 @@ this permission, it must hold the permission and be the active VoiceInteractionService in the system. {@see Settings.Secure.VOICE_INTERACTION_SERVICE} - @hide --> + @hide @SystemApi Intended for OEM and system apps. +

Protection level: signature|privileged + --> @@ -5190,7 +5192,9 @@ sound models at any time. This permission should be reserved for system enrollment applications detected by {@link android.hardware.soundtrigger.KeyphraseEnrollmentInfo} only. - @hide

Not for use by third-party applications.

--> + @hide @SystemApi Intended for OEM and system apps. +

Protection level: signature|privileged + --> -- cgit v1.2.3-59-g8ed1b