[core] Fix app filter for non-primary users (#852)

This commit is contained in:
LoveSy 2021-08-06 20:47:42 +08:00 committed by GitHub
parent 7687ea42f2
commit 87bfb3f818
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View File

@ -65,7 +65,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.stream.Collectors;
import hidden.HiddenApiBridge;
@ -209,7 +208,7 @@ public class PackageService {
}
}
if (pkgInfo == null || pkgInfo.applicationInfo == null || (!pkgInfo.packageName.equals("android") && (pkgInfo.applicationInfo.sourceDir == null || pkgInfo.applicationInfo.deviceProtectedDataDir == null || !new File(pkgInfo.applicationInfo.sourceDir).exists())))
if (pkgInfo.applicationInfo == null ||(!pkgInfo.packageName.equals("android") && (pkgInfo.applicationInfo.sourceDir == null || !new File(pkgInfo.applicationInfo.sourceDir).exists() || (!pm.isPackageAvailable(packageName, userId) && !pm.getApplicationHiddenSettingAsUser(packageName, userId)))))
return null;
return pkgInfo;
}

View File

@ -12,6 +12,10 @@ import java.util.List;
public interface IPackageManager extends IInterface {
boolean isPackageAvailable(String packageName, int userId) throws RemoteException;
boolean getApplicationHiddenSettingAsUser(String packageName, int userId) throws RemoteException;
ApplicationInfo getApplicationInfo(String packageName, int flags, int userId)
throws RemoteException;