summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Shashwat Razdan <srazdan@google.com> 2023-08-23 16:23:18 +0000
committer Shashwat Razdan <srazdan@google.com> 2023-08-24 00:01:19 +0000
commitc32da6f89d60cb769329584eafd4a963c255cd0e (patch)
tree364368afa3c5c3cce153e1119055af07d1003560
parent3c9a185b727ef1320fe6d759585d194fce0859ee (diff)
Adding ACCESS_SMARTSPACE permission to smartspace for client-side usage.
Bug: 297207196 Test: Deployed on Phone,CTS tests Change-Id: I308637586cf3615dcf865eb445976f77226aa840
-rw-r--r--core/api/system-current.txt1
-rw-r--r--core/res/AndroidManifest.xml5
-rw-r--r--services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java2
3 files changed, 8 insertions, 0 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 2b3e8e9e0a92..26b0263a632d 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -21,6 +21,7 @@ package android {
field public static final String ACCESS_RCS_USER_CAPABILITY_EXCHANGE = "android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE";
field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
+ field public static final String ACCESS_SMARTSPACE = "android.permission.ACCESS_SMARTSPACE";
field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
field public static final String ACCESS_TUNED_INFO = "android.permission.ACCESS_TUNED_INFO";
field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index ffd640fe36ea..c5b9ee9860f8 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -6930,6 +6930,11 @@
<permission android:name="android.permission.MANAGE_SMARTSPACE"
android:protectionLevel="signature" />
+ <!-- @SystemApi Allows an application to access the smartspace service as a client.
+ @hide <p>Not for use by third-party applications.</p> -->
+ <permission android:name="android.permission.ACCESS_SMARTSPACE"
+ android:protectionLevel="signature|privileged|development" />
+
<!-- @SystemApi Allows an application to manage the wallpaper effects
generation service.
@hide <p>Not for use by third-party applications.</p> -->
diff --git a/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java b/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java
index 39ed4dda35a7..ca57f51088f3 100644
--- a/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java
+++ b/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java
@@ -17,6 +17,7 @@
package com.android.server.smartspace;
import static android.Manifest.permission.MANAGE_SMARTSPACE;
+import static android.Manifest.permission.ACCESS_SMARTSPACE;
import static android.app.ActivityManagerInternal.ALLOW_NON_FULL;
import static android.content.Context.SMARTSPACE_SERVICE;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
@@ -164,6 +165,7 @@ public class SmartspaceManagerService extends
}
Context ctx = getContext();
if (!(ctx.checkCallingPermission(MANAGE_SMARTSPACE) == PERMISSION_GRANTED
+ || ctx.checkCallingPermission(ACCESS_SMARTSPACE) == PERMISSION_GRANTED
|| mServiceNameResolver.isTemporary(userId)
|| mActivityTaskManagerInternal.isCallerRecents(Binder.getCallingUid()))) {