Merge changes I25d351c7,Ic40c3f4e
* changes: Migrate from ApexManager#getPackageInfo Migrate from ApexManager#getPackageInfo
This commit is contained in:
committed by
Android (Google) Code Review
commit
0243d06197
@@ -23,6 +23,7 @@ import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.os.Environment;
|
||||
import android.os.SystemClock;
|
||||
@@ -162,16 +163,17 @@ public final class SystemServiceManager implements Dumpable {
|
||||
/**
|
||||
* Returns true if the jar is in a test APEX.
|
||||
*/
|
||||
private static boolean isJarInTestApex(String pathStr) {
|
||||
private boolean isJarInTestApex(String pathStr) {
|
||||
Path path = Paths.get(pathStr);
|
||||
if (path.getNameCount() >= 2 && path.getName(0).toString().equals("apex")) {
|
||||
String apexModuleName = path.getName(1).toString();
|
||||
ApexManager apexManager = ApexManager.getInstance();
|
||||
String packageName = apexManager.getActivePackageNameForApexModuleName(apexModuleName);
|
||||
PackageInfo packageInfo = apexManager.getPackageInfo(
|
||||
packageName, ApexManager.MATCH_ACTIVE_PACKAGE);
|
||||
if (packageInfo != null) {
|
||||
try {
|
||||
PackageInfo packageInfo = mContext.getPackageManager().getPackageInfo(packageName,
|
||||
PackageManager.PackageInfoFlags.of(PackageManager.MATCH_APEX));
|
||||
return (packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_TEST_ONLY) != 0;
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -47,7 +47,6 @@ import static android.os.Trace.TRACE_TAG_PACKAGE_MANAGER;
|
||||
import static android.permission.PermissionManager.KILL_APP_REASON_GIDS_CHANGED;
|
||||
import static android.permission.PermissionManager.KILL_APP_REASON_PERMISSIONS_REVOKED;
|
||||
|
||||
import static com.android.server.pm.ApexManager.MATCH_ACTIVE_PACKAGE;
|
||||
import static com.android.server.pm.PackageManagerService.DEBUG_INSTALL;
|
||||
import static com.android.server.pm.PackageManagerService.DEBUG_PACKAGE_SCANNING;
|
||||
import static com.android.server.pm.PackageManagerService.DEBUG_PERMISSIONS;
|
||||
@@ -3240,9 +3239,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt
|
||||
}
|
||||
// Only enforce the allowlist on boot
|
||||
if (!mSystemReady) {
|
||||
final boolean isInUpdatedApex = containingApexPackageName != null
|
||||
&& !apexManager.isFactory(apexManager.getPackageInfo(containingApexPackageName,
|
||||
MATCH_ACTIVE_PACKAGE));
|
||||
final boolean isInUpdatedApex = packageSetting.isApkInUpdatedApex();
|
||||
// Apps that are in updated apexs' do not need to be allowlisted
|
||||
if (!isInUpdatedApex) {
|
||||
Slog.w(TAG, "Privileged permission " + permissionName + " for package "
|
||||
|
||||
Reference in New Issue
Block a user