Merge "Revert "Fix the isSystemApp flag for APEX""
This commit is contained in:
committed by
Android (Google) Code Review
commit
4031ad06f5
@@ -214,7 +214,7 @@ public abstract class ApexManager {
|
||||
* @return {@code true} if this package is pre-installed, {@code false} otherwise.
|
||||
*/
|
||||
public static boolean isFactory(@NonNull PackageInfo packageInfo) {
|
||||
return (packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 0;
|
||||
return (packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -321,10 +321,11 @@ public class PackageInfoWithoutStateUtils {
|
||||
|
||||
pi.applicationInfo.sourceDir = apexFile.getPath();
|
||||
pi.applicationInfo.publicSourceDir = apexFile.getPath();
|
||||
pi.applicationInfo.flags |= ApplicationInfo.FLAG_SYSTEM;
|
||||
if (apexInfo.isFactory) {
|
||||
pi.applicationInfo.flags |= ApplicationInfo.FLAG_SYSTEM;
|
||||
pi.applicationInfo.flags &= ~ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
|
||||
} else {
|
||||
pi.applicationInfo.flags &= ~ApplicationInfo.FLAG_SYSTEM;
|
||||
pi.applicationInfo.flags |= ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
|
||||
}
|
||||
if (apexInfo.isActive) {
|
||||
|
||||
@@ -386,8 +386,7 @@ public class ApexManagerTest {
|
||||
ApexManager.MATCH_ACTIVE_PACKAGE);
|
||||
assertThat(newInfo.applicationInfo.sourceDir).isEqualTo(finalApex.getAbsolutePath());
|
||||
assertThat(newInfo.applicationInfo.longVersionCode).isEqualTo(2);
|
||||
assertThat(newInfo.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)
|
||||
.isEqualTo(ApplicationInfo.FLAG_UPDATED_SYSTEM_APP);
|
||||
assertThat(newInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM).isEqualTo(0);
|
||||
assertThat(newInfo.applicationInfo.flags & ApplicationInfo.FLAG_INSTALLED)
|
||||
.isEqualTo(ApplicationInfo.FLAG_INSTALLED);
|
||||
|
||||
@@ -425,8 +424,7 @@ public class ApexManagerTest {
|
||||
ApexManager.MATCH_ACTIVE_PACKAGE);
|
||||
assertThat(newInfo.applicationInfo.sourceDir).isEqualTo(finalApex.getAbsolutePath());
|
||||
assertThat(newInfo.applicationInfo.longVersionCode).isEqualTo(2);
|
||||
assertThat(newInfo.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)
|
||||
.isEqualTo(ApplicationInfo.FLAG_UPDATED_SYSTEM_APP);
|
||||
assertThat(newInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM).isEqualTo(0);
|
||||
assertThat(newInfo.applicationInfo.flags & ApplicationInfo.FLAG_INSTALLED)
|
||||
.isEqualTo(ApplicationInfo.FLAG_INSTALLED);
|
||||
|
||||
|
||||
@@ -566,7 +566,7 @@ public class PackageParserLegacyCoreTest {
|
||||
assertNotNull(pi.signingInfo);
|
||||
assertTrue(pi.signingInfo.getApkContentsSigners().length > 0);
|
||||
assertTrue(pi.isApex);
|
||||
assertTrue((pi.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0);
|
||||
assertTrue((pi.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0);
|
||||
assertTrue((pi.applicationInfo.flags & ApplicationInfo.FLAG_INSTALLED) != 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -460,8 +460,7 @@ public class StagedInstallInternalTest {
|
||||
{
|
||||
PackageInfo apex = pm.getPackageInfo("test.apex.rebootless", PackageManager.MATCH_APEX);
|
||||
assertThat(apex.getLongVersionCode()).isEqualTo(1);
|
||||
assertThat(apex.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)
|
||||
.isEqualTo(ApplicationInfo.FLAG_UPDATED_SYSTEM_APP);
|
||||
assertThat(apex.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM).isEqualTo(0);
|
||||
assertThat(apex.applicationInfo.flags & ApplicationInfo.FLAG_INSTALLED)
|
||||
.isEqualTo(ApplicationInfo.FLAG_INSTALLED);
|
||||
assertThat(apex.applicationInfo.sourceDir).startsWith("/data/apex/active");
|
||||
|
||||
Reference in New Issue
Block a user