diff options
| -rw-r--r-- | services/appfunctions/java/com/android/server/appfunctions/CallerValidatorImpl.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/services/appfunctions/java/com/android/server/appfunctions/CallerValidatorImpl.java b/services/appfunctions/java/com/android/server/appfunctions/CallerValidatorImpl.java index 35905edbcf24..618a5aedd9bb 100644 --- a/services/appfunctions/java/com/android/server/appfunctions/CallerValidatorImpl.java +++ b/services/appfunctions/java/com/android/server/appfunctions/CallerValidatorImpl.java @@ -79,17 +79,20 @@ class CallerValidatorImpl implements CallerValidator { // TODO(b/360864791): Add and honor apps that opt-out from EXECUTE_APP_FUNCTIONS caller. public boolean verifyCallerCanExecuteAppFunction( @NonNull String callerPackageName, @NonNull String targetPackageName) { + if (callerPackageName.equals(targetPackageName)) { + return true; + } + int pid = Binder.getCallingPid(); int uid = Binder.getCallingUid(); - boolean hasExecutionPermission = + boolean hasTrustedExecutionPermission = mContext.checkPermission( Manifest.permission.EXECUTE_APP_FUNCTIONS_TRUSTED, pid, uid) == PackageManager.PERMISSION_GRANTED; - boolean hasTrustedExecutionPermission = + boolean hasExecutionPermission = mContext.checkPermission(Manifest.permission.EXECUTE_APP_FUNCTIONS, pid, uid) == PackageManager.PERMISSION_GRANTED; - boolean isSamePackage = callerPackageName.equals(targetPackageName); - return hasExecutionPermission || hasTrustedExecutionPermission || isSamePackage; + return hasExecutionPermission || hasTrustedExecutionPermission; } @Override |