From 2369b694bdc4ae8f9d7b0f73991580d6852559e0 Mon Sep 17 00:00:00 2001 From: sandeepbandaru <sandeepbandaru@google.com> Date: Thu, 15 Feb 2024 18:08:35 +0000 Subject: [PATCH] Adding permissions and flag changes required OnDeviceIntelligenceManager SystemApi Test: make Bug: 316589195 Change-Id: Ie6d9195e3500ee4d5c8f53dcac01938a18b7dce4 --- AconfigFlags.bp | 14 ++++++++++ core/api/system-current.txt | 3 +++ .../flags/ondevice_intelligence.aconfig | 8 ++++++ core/res/AndroidManifest.xml | 27 +++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 core/java/android/app/ondeviceintelligence/flags/ondevice_intelligence.aconfig diff --git a/AconfigFlags.bp b/AconfigFlags.bp index bfe188d49ddb..3f834fa883c1 100644 --- a/AconfigFlags.bp +++ b/AconfigFlags.bp @@ -22,6 +22,7 @@ aconfig_declarations_group { "aconfig_mediacodec_flags_java_lib", "android.adaptiveauth.flags-aconfig-java", "android.app.flags-aconfig-java", + "android.app.ondeviceintelligence-aconfig-java", "android.app.smartspace.flags-aconfig-java", "android.app.usage.flags-aconfig-java", "android.app.wearable.flags-aconfig-java", @@ -545,6 +546,19 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } +// OnDeviceIntelligence +aconfig_declarations { + name: "android.app.ondeviceintelligence-aconfig", + package: "android.app.ondeviceintelligence.flags", + srcs: ["core/java/android/app/ondeviceintelligence/flags/ondevice_intelligence.aconfig"], +} + +java_aconfig_library { + name: "android.app.ondeviceintelligence-aconfig-java", + aconfig_declarations: "android.app.ondeviceintelligence-aconfig", + defaults: ["framework-minus-apex-aconfig-java-defaults"], +} + // Permissions aconfig_declarations { name: "android.permission.flags-aconfig", diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 9e2b1ff9d979..4d7ac7848649 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -69,6 +69,8 @@ package android { field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE"; field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"; field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"; + field @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public static final String BIND_ON_DEVICE_INTELLIGENCE_SERVICE = "android.permission.BIND_ON_DEVICE_INTELLIGENCE_SERVICE"; + field @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public static final String BIND_ON_DEVICE_TRUSTED_SERVICE = "android.permission.BIND_ON_DEVICE_TRUSTED_SERVICE"; field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"; field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"; field public static final String BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE = "android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE"; @@ -403,6 +405,7 @@ package android { field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY"; field @FlaggedApi("android.hardware.biometrics.face_background_authentication") public static final String USE_BACKGROUND_FACE_AUTHENTICATION = "android.permission.USE_BACKGROUND_FACE_AUTHENTICATION"; field public static final String USE_COLORIZED_NOTIFICATIONS = "android.permission.USE_COLORIZED_NOTIFICATIONS"; + field @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public static final String USE_ON_DEVICE_INTELLIGENCE = "android.permission.USE_ON_DEVICE_INTELLIGENCE"; field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK"; field public static final String UWB_PRIVILEGED = "android.permission.UWB_PRIVILEGED"; field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS"; diff --git a/core/java/android/app/ondeviceintelligence/flags/ondevice_intelligence.aconfig b/core/java/android/app/ondeviceintelligence/flags/ondevice_intelligence.aconfig new file mode 100644 index 000000000000..44f33298b1b2 --- /dev/null +++ b/core/java/android/app/ondeviceintelligence/flags/ondevice_intelligence.aconfig @@ -0,0 +1,8 @@ +package: "android.app.ondeviceintelligence.flags" + +flag { + name: "enable_on_device_intelligence" + namespace: "ondeviceintelligence" + description: "Make methods on OnDeviceIntelligenceManager available for local inference." + bug: "304755128" +} diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index a79b29c67c2c..0b3a06545648 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -7937,6 +7937,33 @@ <permission android:name="android.permission.MANAGE_WEARABLE_SENSING_SERVICE" android:protectionLevel="signature|privileged" /> + <!-- @SystemApi Allows an app to use the on-device intelligence service. + <p>Protection level: signature|privileged + @hide + @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") + --> + <permission android:name="android.permission.USE_ON_DEVICE_INTELLIGENCE" + android:protectionLevel="signature|privileged" /> + + + <!-- @SystemApi Allows an app to bind the on-device intelligence service. + <p>Protection level: signature|privileged + @hide + @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") + --> + <permission android:name="android.permission.BIND_ON_DEVICE_INTELLIGENCE_SERVICE" + android:protectionLevel="signature|privileged" /> + + + <!-- @SystemApi Allows an app to bind the on-device trusted service. + <p>Protection level: signature|privileged + @hide + @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") + --> + <permission android:name="android.permission.BIND_ON_DEVICE_TRUSTED_SERVICE" + android:protectionLevel="signature"/> + + <!-- Allows applications to use the user-initiated jobs API. For more details see {@link android.app.job.JobInfo.Builder#setUserInitiated}. <p>Protection level: normal -- GitLab