diff options
author | 2023-10-25 16:24:50 -0700 | |
---|---|---|
committer | 2023-10-25 23:38:21 +0000 | |
commit | 0931f1f0f62da256922b8cf9b32167a0f6c48bcb (patch) | |
tree | 5d9ef2739a76ea502502c8adfe0ed7b0edcc4206 | |
parent | c88b5c6727ebcd6c94a13b82288845547c818f4d (diff) |
Guarding ACCESS_SMARTSPACE with a flag
Test: Permission only change
Bug: 297207196
Bug: 304478692
Change-Id: I8ec0c80e1ad364c0b6bb1b966737045a8fe71679
-rw-r--r-- | core/java/android/app/smartspace/flags.aconfig | 7 | ||||
-rw-r--r-- | services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/core/java/android/app/smartspace/flags.aconfig b/core/java/android/app/smartspace/flags.aconfig index 6aefa38ac18c..12af888bfaa5 100644 --- a/core/java/android/app/smartspace/flags.aconfig +++ b/core/java/android/app/smartspace/flags.aconfig @@ -6,3 +6,10 @@ flag { description: "Flag to enable the FlaggedApi to include RemoteViews in SmartspaceTarget" bug: "300157758" } + +flag { + name: "access_smartspace" + namespace: "sysui_integrations" + description: "Flag to enable the ACCESS_SMARTSPACE check in SmartspaceManagerService" + bug: "297207196" +} diff --git a/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java b/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java index ca57f51088f3..8b5d7f09f6fc 100644 --- a/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java +++ b/services/smartspace/java/com/android/server/smartspace/SmartspaceManagerService.java @@ -31,6 +31,7 @@ import android.app.smartspace.ISmartspaceManager; import android.app.smartspace.SmartspaceConfig; import android.app.smartspace.SmartspaceSessionId; import android.app.smartspace.SmartspaceTargetEvent; +import android.app.smartspace.flags.Flags; import android.content.Context; import android.os.Binder; import android.os.IBinder; @@ -165,7 +166,8 @@ public class SmartspaceManagerService extends } Context ctx = getContext(); if (!(ctx.checkCallingPermission(MANAGE_SMARTSPACE) == PERMISSION_GRANTED - || ctx.checkCallingPermission(ACCESS_SMARTSPACE) == PERMISSION_GRANTED + || (Flags.accessSmartspace() + && ctx.checkCallingPermission(ACCESS_SMARTSPACE) == PERMISSION_GRANTED) || mServiceNameResolver.isTemporary(userId) || mActivityTaskManagerInternal.isCallerRecents(Binder.getCallingUid()))) { |