Make isCallerSameApp() correct for supplemental processes.

UIDs from the new supplemental process range must always map back to the
supplemental package.

Bug: 215012578
Test: atest SupplementalProcessTests, TEST_MAPPING
Change-Id: I867d163de74dd83a39936c6304a58888b921e992
This commit is contained in:
Martijn Coenen
2022-02-03 15:49:40 +01:00
parent 5fa64ead90
commit 10aa9fd06f

View File

@@ -2369,6 +2369,10 @@ public class ComputerEngine implements Computer {
}
public final boolean isCallerSameApp(String packageName, int uid) {
if (Process.isSupplemental(uid)) {
return (packageName != null
&& packageName.equals(mService.getSupplementalProcessPackageName()));
}
AndroidPackage pkg = mPackages.get(packageName);
return pkg != null
&& UserHandle.getAppId(uid) == pkg.getUid();