From e396e46edf96b24c304353add7d3ded654061c44 Mon Sep 17 00:00:00 2001 From: Desh Date: Wed, 2 Oct 2024 15:19:12 +0000 Subject: Nit fix for multi-user test Flag: android.app.appfunctions.flags.enable_app_function_manager Test: cts Bug: 357551503 Change-Id: I9e299e0c7cdce50b10c23ae03d6d0b546fcb731f --- .../android/server/appfunctions/AppFunctionManagerServiceImpl.java | 1 + .../java/com/android/server/appfunctions/CallerValidator.java | 4 ++++ .../java/com/android/server/appfunctions/CallerValidatorImpl.java | 6 +++++- 3 files changed, 10 insertions(+), 1 deletion(-) (limited to 'services/appfunctions/java') diff --git a/services/appfunctions/java/com/android/server/appfunctions/AppFunctionManagerServiceImpl.java b/services/appfunctions/java/com/android/server/appfunctions/AppFunctionManagerServiceImpl.java index c87d516d2ab4..ab9cc20763a8 100644 --- a/services/appfunctions/java/com/android/server/appfunctions/AppFunctionManagerServiceImpl.java +++ b/services/appfunctions/java/com/android/server/appfunctions/AppFunctionManagerServiceImpl.java @@ -205,6 +205,7 @@ public class AppFunctionManagerServiceImpl extends IAppFunctionManager.Stub { .verifyCallerCanExecuteAppFunction( callingUid, callingPid, + targetUser, requestInternal.getCallingPackage(), targetPackageName, requestInternal.getClientRequest().getFunctionIdentifier()) diff --git a/services/appfunctions/java/com/android/server/appfunctions/CallerValidator.java b/services/appfunctions/java/com/android/server/appfunctions/CallerValidator.java index 3592ed587ab0..5393b939b5ed 100644 --- a/services/appfunctions/java/com/android/server/appfunctions/CallerValidator.java +++ b/services/appfunctions/java/com/android/server/appfunctions/CallerValidator.java @@ -64,6 +64,9 @@ public interface CallerValidator { * {@link Manifest.permission#EXECUTE_APP_FUNCTIONS} granted. In some cases, app functions can * still opt-out of caller having {@link Manifest.permission#EXECUTE_APP_FUNCTIONS}. * + * @param callingUid The calling uid. + * @param callingPid The calling pid. + * @param targetUser The user which the caller is requesting to execute as. * @param callerPackageName The calling package (as previously validated). * @param targetPackageName The package that owns the app function to execute. * @param functionId The id of the app function to execute. @@ -72,6 +75,7 @@ public interface CallerValidator { AndroidFuture verifyCallerCanExecuteAppFunction( int callingUid, int callingPid, + @NonNull UserHandle targetUser, @NonNull String callerPackageName, @NonNull String targetPackageName, @NonNull String functionId); diff --git a/services/appfunctions/java/com/android/server/appfunctions/CallerValidatorImpl.java b/services/appfunctions/java/com/android/server/appfunctions/CallerValidatorImpl.java index 8b6251a59e3a..e85a70d5845a 100644 --- a/services/appfunctions/java/com/android/server/appfunctions/CallerValidatorImpl.java +++ b/services/appfunctions/java/com/android/server/appfunctions/CallerValidatorImpl.java @@ -93,6 +93,7 @@ class CallerValidatorImpl implements CallerValidator { public AndroidFuture verifyCallerCanExecuteAppFunction( int callingUid, int callingPid, + @NonNull UserHandle targetUser, @NonNull String callerPackageName, @NonNull String targetPackageName, @NonNull String functionId) { @@ -122,7 +123,10 @@ class CallerValidatorImpl implements CallerValidator { FutureAppSearchSession futureAppSearchSession = new FutureAppSearchSessionImpl( - mContext.getSystemService(AppSearchManager.class), + Objects.requireNonNull( + mContext + .createContextAsUser(targetUser, 0) + .getSystemService(AppSearchManager.class)), THREAD_POOL_EXECUTOR, new SearchContext.Builder(APP_FUNCTION_STATIC_METADATA_DB).build()); -- cgit v1.2.3-59-g8ed1b