Loading services/core/java/com/android/server/pm/PackageManagerService.java +555 −406 File changed.Preview size limit exceeded, changes collapsed. Show changes services/core/java/com/android/server/pm/PackageSettingBase.java +0 −2 Original line number Diff line number Diff line Loading @@ -131,7 +131,6 @@ public abstract class PackageSettingBase extends SettingBase { * using the full set of code paths when the package's process is started. */ Set<String> oldCodePaths; PackageSettingBase origPackage; /** Package name of the app that installed this package */ String installerPackageName; Loading Loading @@ -263,7 +262,6 @@ public abstract class PackageSettingBase extends SettingBase { lastUpdateTime = orig.lastUpdateTime; legacyNativeLibraryPathString = orig.legacyNativeLibraryPathString; // Intentionally skip oldCodePaths; it's not relevant for copies origPackage = orig.origPackage; parentPackageName = orig.parentPackageName; primaryCpuAbiString = orig.primaryCpuAbiString; resourcePath = orig.resourcePath; Loading services/core/java/com/android/server/pm/SELinuxMMAC.java +17 −1 Original line number Diff line number Diff line Loading @@ -59,6 +59,8 @@ public final class SELinuxMMAC { // All policy stanzas read from mac_permissions.xml. This is also the lock // to synchronize access during policy load and access attempts. private static List<Policy> sPolicies = new ArrayList<>(); /** Whether or not the policy files have been read */ private static boolean sPolicyRead; /** Path to MAC permissions on system image */ private static final File[] MAC_PERMISSIONS = Loading Loading @@ -88,6 +90,12 @@ public final class SELinuxMMAC { * were loaded successfully; no partial loading is possible. */ public static boolean readInstallPolicy() { synchronized (sPolicies) { if (sPolicyRead) { return true; } } // Temp structure to hold the rules while we parse the xml file List<Policy> policies = new ArrayList<>(); Loading Loading @@ -142,7 +150,9 @@ public final class SELinuxMMAC { } synchronized (sPolicies) { sPolicies = policies; sPolicies.clear(); sPolicies.addAll(policies); sPolicyRead = true; if (DEBUG_POLICY_ORDER) { for (Policy policy : sPolicies) { Loading Loading @@ -280,6 +290,12 @@ public final class SELinuxMMAC { */ public static void assignSeInfoValue(PackageParser.Package pkg) { synchronized (sPolicies) { if (!sPolicyRead) { if (DEBUG_POLICY) { Slog.d(TAG, "Policy not read"); } return; } for (Policy policy : sPolicies) { String seInfo = policy.getMatchedSeInfo(pkg); if (seInfo != null) { Loading services/core/java/com/android/server/pm/Settings.java +0 −1 Original line number Diff line number Diff line Loading @@ -687,7 +687,6 @@ public final class Settings { (childPkgNames != null) ? new ArrayList<>(childPkgNames) : null; pkgSetting.codePath = codePath; pkgSetting.legacyNativeLibraryPathString = legacyNativeLibraryPath; pkgSetting.origPackage = originalPkg; pkgSetting.parentPackageName = parentPkgName; pkgSetting.pkgFlags = pkgFlags; pkgSetting.pkgPrivateFlags = pkgPrivateFlags; Loading services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java +0 −8 Original line number Diff line number Diff line Loading @@ -305,7 +305,6 @@ public class PackageManagerSettingsTests { null /*usesStaticLibrariesVersions*/); assertThat(testPkgSetting01.primaryCpuAbiString, is("arm64-v8a")); assertThat(testPkgSetting01.secondaryCpuAbiString, is("armeabi")); assertThat(testPkgSetting01.origPackage, is(nullValue())); assertThat(testPkgSetting01.pkgFlags, is(0)); assertThat(testPkgSetting01.pkgPrivateFlags, is(0)); final PackageUserState userState = testPkgSetting01.readUserState(0); Loading Loading @@ -339,7 +338,6 @@ public class PackageManagerSettingsTests { null /*usesStaticLibrariesVersions*/); assertThat(testPkgSetting01.primaryCpuAbiString, is("arm64-v8a")); assertThat(testPkgSetting01.secondaryCpuAbiString, is("armeabi")); assertThat(testPkgSetting01.origPackage, is(nullValue())); assertThat(testPkgSetting01.pkgFlags, is(ApplicationInfo.FLAG_SYSTEM)); assertThat(testPkgSetting01.pkgPrivateFlags, is(ApplicationInfo.PRIVATE_FLAG_PRIVILEGED)); final PackageUserState userState = testPkgSetting01.readUserState(0); Loading Loading @@ -419,7 +417,6 @@ public class PackageManagerSettingsTests { assertThat(testPkgSetting01.primaryCpuAbiString, is("arm64-v8a")); assertThat(testPkgSetting01.resourcePath, is(UPDATED_CODE_PATH)); assertThat(testPkgSetting01.secondaryCpuAbiString, is("armeabi")); assertSame(testPkgSetting01.origPackage, originalPkgSetting01); // signatures object must be different assertNotSame(testPkgSetting01.signatures, originalSignatures); assertThat(testPkgSetting01.versionCode, is(UPDATED_VERSION_CODE)); Loading Loading @@ -457,7 +454,6 @@ public class PackageManagerSettingsTests { assertThat(testPkgSetting01.appId, is(0)); assertThat(testPkgSetting01.codePath, is(INITIAL_CODE_PATH)); assertThat(testPkgSetting01.name, is(PACKAGE_NAME)); assertThat(testPkgSetting01.origPackage, is(nullValue())); assertThat(testPkgSetting01.pkgFlags, is(0)); assertThat(testPkgSetting01.pkgPrivateFlags, is(0)); assertThat(testPkgSetting01.primaryCpuAbiString, is("x86_64")); Loading Loading @@ -506,7 +502,6 @@ public class PackageManagerSettingsTests { assertThat(testPkgSetting01.appId, is(10064)); assertThat(testPkgSetting01.codePath, is(INITIAL_CODE_PATH)); assertThat(testPkgSetting01.name, is(PACKAGE_NAME)); assertThat(testPkgSetting01.origPackage, is(nullValue())); assertThat(testPkgSetting01.pkgFlags, is(0)); assertThat(testPkgSetting01.pkgPrivateFlags, is(0)); assertThat(testPkgSetting01.primaryCpuAbiString, is("x86_64")); Loading Loading @@ -551,7 +546,6 @@ public class PackageManagerSettingsTests { assertThat(testPkgSetting01.appId, is(10064)); assertThat(testPkgSetting01.codePath, is(UPDATED_CODE_PATH)); assertThat(testPkgSetting01.name, is(PACKAGE_NAME)); assertThat(testPkgSetting01.origPackage, is(nullValue())); assertThat(testPkgSetting01.pkgFlags, is(0)); assertThat(testPkgSetting01.pkgPrivateFlags, is(0)); assertThat(testPkgSetting01.primaryCpuAbiString, is("arm64-v8a")); Loading Loading @@ -658,8 +652,6 @@ public class PackageManagerSettingsTests { // oldCodePaths is _not_ copied // assertNotSame(origPkgSetting.oldCodePaths, testPkgSetting.oldCodePaths); // assertThat(origPkgSetting.oldCodePaths, is(not(testPkgSetting.oldCodePaths))); assertSame(origPkgSetting.origPackage, testPkgSetting.origPackage); assertThat(origPkgSetting.origPackage, is(testPkgSetting.origPackage)); assertSame(origPkgSetting.parentPackageName, testPkgSetting.parentPackageName); assertThat(origPkgSetting.parentPackageName, is(testPkgSetting.parentPackageName)); assertSame(origPkgSetting.pkg, testPkgSetting.pkg); Loading Loading
services/core/java/com/android/server/pm/PackageManagerService.java +555 −406 File changed.Preview size limit exceeded, changes collapsed. Show changes
services/core/java/com/android/server/pm/PackageSettingBase.java +0 −2 Original line number Diff line number Diff line Loading @@ -131,7 +131,6 @@ public abstract class PackageSettingBase extends SettingBase { * using the full set of code paths when the package's process is started. */ Set<String> oldCodePaths; PackageSettingBase origPackage; /** Package name of the app that installed this package */ String installerPackageName; Loading Loading @@ -263,7 +262,6 @@ public abstract class PackageSettingBase extends SettingBase { lastUpdateTime = orig.lastUpdateTime; legacyNativeLibraryPathString = orig.legacyNativeLibraryPathString; // Intentionally skip oldCodePaths; it's not relevant for copies origPackage = orig.origPackage; parentPackageName = orig.parentPackageName; primaryCpuAbiString = orig.primaryCpuAbiString; resourcePath = orig.resourcePath; Loading
services/core/java/com/android/server/pm/SELinuxMMAC.java +17 −1 Original line number Diff line number Diff line Loading @@ -59,6 +59,8 @@ public final class SELinuxMMAC { // All policy stanzas read from mac_permissions.xml. This is also the lock // to synchronize access during policy load and access attempts. private static List<Policy> sPolicies = new ArrayList<>(); /** Whether or not the policy files have been read */ private static boolean sPolicyRead; /** Path to MAC permissions on system image */ private static final File[] MAC_PERMISSIONS = Loading Loading @@ -88,6 +90,12 @@ public final class SELinuxMMAC { * were loaded successfully; no partial loading is possible. */ public static boolean readInstallPolicy() { synchronized (sPolicies) { if (sPolicyRead) { return true; } } // Temp structure to hold the rules while we parse the xml file List<Policy> policies = new ArrayList<>(); Loading Loading @@ -142,7 +150,9 @@ public final class SELinuxMMAC { } synchronized (sPolicies) { sPolicies = policies; sPolicies.clear(); sPolicies.addAll(policies); sPolicyRead = true; if (DEBUG_POLICY_ORDER) { for (Policy policy : sPolicies) { Loading Loading @@ -280,6 +290,12 @@ public final class SELinuxMMAC { */ public static void assignSeInfoValue(PackageParser.Package pkg) { synchronized (sPolicies) { if (!sPolicyRead) { if (DEBUG_POLICY) { Slog.d(TAG, "Policy not read"); } return; } for (Policy policy : sPolicies) { String seInfo = policy.getMatchedSeInfo(pkg); if (seInfo != null) { Loading
services/core/java/com/android/server/pm/Settings.java +0 −1 Original line number Diff line number Diff line Loading @@ -687,7 +687,6 @@ public final class Settings { (childPkgNames != null) ? new ArrayList<>(childPkgNames) : null; pkgSetting.codePath = codePath; pkgSetting.legacyNativeLibraryPathString = legacyNativeLibraryPath; pkgSetting.origPackage = originalPkg; pkgSetting.parentPackageName = parentPkgName; pkgSetting.pkgFlags = pkgFlags; pkgSetting.pkgPrivateFlags = pkgPrivateFlags; Loading
services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java +0 −8 Original line number Diff line number Diff line Loading @@ -305,7 +305,6 @@ public class PackageManagerSettingsTests { null /*usesStaticLibrariesVersions*/); assertThat(testPkgSetting01.primaryCpuAbiString, is("arm64-v8a")); assertThat(testPkgSetting01.secondaryCpuAbiString, is("armeabi")); assertThat(testPkgSetting01.origPackage, is(nullValue())); assertThat(testPkgSetting01.pkgFlags, is(0)); assertThat(testPkgSetting01.pkgPrivateFlags, is(0)); final PackageUserState userState = testPkgSetting01.readUserState(0); Loading Loading @@ -339,7 +338,6 @@ public class PackageManagerSettingsTests { null /*usesStaticLibrariesVersions*/); assertThat(testPkgSetting01.primaryCpuAbiString, is("arm64-v8a")); assertThat(testPkgSetting01.secondaryCpuAbiString, is("armeabi")); assertThat(testPkgSetting01.origPackage, is(nullValue())); assertThat(testPkgSetting01.pkgFlags, is(ApplicationInfo.FLAG_SYSTEM)); assertThat(testPkgSetting01.pkgPrivateFlags, is(ApplicationInfo.PRIVATE_FLAG_PRIVILEGED)); final PackageUserState userState = testPkgSetting01.readUserState(0); Loading Loading @@ -419,7 +417,6 @@ public class PackageManagerSettingsTests { assertThat(testPkgSetting01.primaryCpuAbiString, is("arm64-v8a")); assertThat(testPkgSetting01.resourcePath, is(UPDATED_CODE_PATH)); assertThat(testPkgSetting01.secondaryCpuAbiString, is("armeabi")); assertSame(testPkgSetting01.origPackage, originalPkgSetting01); // signatures object must be different assertNotSame(testPkgSetting01.signatures, originalSignatures); assertThat(testPkgSetting01.versionCode, is(UPDATED_VERSION_CODE)); Loading Loading @@ -457,7 +454,6 @@ public class PackageManagerSettingsTests { assertThat(testPkgSetting01.appId, is(0)); assertThat(testPkgSetting01.codePath, is(INITIAL_CODE_PATH)); assertThat(testPkgSetting01.name, is(PACKAGE_NAME)); assertThat(testPkgSetting01.origPackage, is(nullValue())); assertThat(testPkgSetting01.pkgFlags, is(0)); assertThat(testPkgSetting01.pkgPrivateFlags, is(0)); assertThat(testPkgSetting01.primaryCpuAbiString, is("x86_64")); Loading Loading @@ -506,7 +502,6 @@ public class PackageManagerSettingsTests { assertThat(testPkgSetting01.appId, is(10064)); assertThat(testPkgSetting01.codePath, is(INITIAL_CODE_PATH)); assertThat(testPkgSetting01.name, is(PACKAGE_NAME)); assertThat(testPkgSetting01.origPackage, is(nullValue())); assertThat(testPkgSetting01.pkgFlags, is(0)); assertThat(testPkgSetting01.pkgPrivateFlags, is(0)); assertThat(testPkgSetting01.primaryCpuAbiString, is("x86_64")); Loading Loading @@ -551,7 +546,6 @@ public class PackageManagerSettingsTests { assertThat(testPkgSetting01.appId, is(10064)); assertThat(testPkgSetting01.codePath, is(UPDATED_CODE_PATH)); assertThat(testPkgSetting01.name, is(PACKAGE_NAME)); assertThat(testPkgSetting01.origPackage, is(nullValue())); assertThat(testPkgSetting01.pkgFlags, is(0)); assertThat(testPkgSetting01.pkgPrivateFlags, is(0)); assertThat(testPkgSetting01.primaryCpuAbiString, is("arm64-v8a")); Loading Loading @@ -658,8 +652,6 @@ public class PackageManagerSettingsTests { // oldCodePaths is _not_ copied // assertNotSame(origPkgSetting.oldCodePaths, testPkgSetting.oldCodePaths); // assertThat(origPkgSetting.oldCodePaths, is(not(testPkgSetting.oldCodePaths))); assertSame(origPkgSetting.origPackage, testPkgSetting.origPackage); assertThat(origPkgSetting.origPackage, is(testPkgSetting.origPackage)); assertSame(origPkgSetting.parentPackageName, testPkgSetting.parentPackageName); assertThat(origPkgSetting.parentPackageName, is(testPkgSetting.parentPackageName)); assertSame(origPkgSetting.pkg, testPkgSetting.pkg); Loading