Loading services/core/java/com/android/server/pm/ApexManager.java +6 −3 Original line number Diff line number Diff line Loading @@ -121,17 +121,19 @@ public abstract class ApexManager { public final File apexDirectory; public final File preInstalledApexPath; public final File apexFile; public final boolean activeApexChanged; private ActiveApexInfo(File apexDirectory, File preInstalledApexPath, File apexFile) { this(null, apexDirectory, preInstalledApexPath, apexFile); this(null, apexDirectory, preInstalledApexPath, apexFile, false); } private ActiveApexInfo(@Nullable String apexModuleName, File apexDirectory, File preInstalledApexPath, File apexFile) { File preInstalledApexPath, File apexFile, boolean activeApexChanged) { this.apexModuleName = apexModuleName; this.apexDirectory = apexDirectory; this.preInstalledApexPath = preInstalledApexPath; this.apexFile = apexFile; this.activeApexChanged = activeApexChanged; } private ActiveApexInfo(ApexInfo apexInfo) { Loading @@ -140,7 +142,8 @@ public abstract class ApexManager { new File(Environment.getApexDirectory() + File.separator + apexInfo.moduleName), new File(apexInfo.preinstalledModulePath), new File(apexInfo.modulePath)); new File(apexInfo.modulePath), apexInfo.activeApexChanged); } } Loading services/tests/servicestests/src/com/android/server/pm/ApexManagerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -546,6 +546,18 @@ public class ApexManagerTest { assertThat(backingApexFile).isNull(); } @Test public void testActiveApexChanged() throws RemoteException { ApexInfo apex1 = createApexInfo( "com.apex1", 37, true, true, new File("/data/apex/active/com.apex@37.apex")); apex1.activeApexChanged = true; apex1.preinstalledModulePath = apex1.modulePath; when(mApexService.getActivePackages()).thenReturn(new ApexInfo[]{apex1}); final ApexManager.ActiveApexInfo activeApex = mApexManager.getActiveApexInfos().get(0); assertThat(activeApex.apexModuleName).isEqualTo("com.apex1"); assertThat(activeApex.activeApexChanged).isTrue(); } private ApexInfo createApexInfoForTestPkg(boolean isActive, boolean isFactory, int version) { File apexFile = extractResource(TEST_APEX_PKG, TEST_APEX_FILE_NAME); ApexInfo apexInfo = new ApexInfo(); Loading Loading
services/core/java/com/android/server/pm/ApexManager.java +6 −3 Original line number Diff line number Diff line Loading @@ -121,17 +121,19 @@ public abstract class ApexManager { public final File apexDirectory; public final File preInstalledApexPath; public final File apexFile; public final boolean activeApexChanged; private ActiveApexInfo(File apexDirectory, File preInstalledApexPath, File apexFile) { this(null, apexDirectory, preInstalledApexPath, apexFile); this(null, apexDirectory, preInstalledApexPath, apexFile, false); } private ActiveApexInfo(@Nullable String apexModuleName, File apexDirectory, File preInstalledApexPath, File apexFile) { File preInstalledApexPath, File apexFile, boolean activeApexChanged) { this.apexModuleName = apexModuleName; this.apexDirectory = apexDirectory; this.preInstalledApexPath = preInstalledApexPath; this.apexFile = apexFile; this.activeApexChanged = activeApexChanged; } private ActiveApexInfo(ApexInfo apexInfo) { Loading @@ -140,7 +142,8 @@ public abstract class ApexManager { new File(Environment.getApexDirectory() + File.separator + apexInfo.moduleName), new File(apexInfo.preinstalledModulePath), new File(apexInfo.modulePath)); new File(apexInfo.modulePath), apexInfo.activeApexChanged); } } Loading
services/tests/servicestests/src/com/android/server/pm/ApexManagerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -546,6 +546,18 @@ public class ApexManagerTest { assertThat(backingApexFile).isNull(); } @Test public void testActiveApexChanged() throws RemoteException { ApexInfo apex1 = createApexInfo( "com.apex1", 37, true, true, new File("/data/apex/active/com.apex@37.apex")); apex1.activeApexChanged = true; apex1.preinstalledModulePath = apex1.modulePath; when(mApexService.getActivePackages()).thenReturn(new ApexInfo[]{apex1}); final ApexManager.ActiveApexInfo activeApex = mApexManager.getActiveApexInfos().get(0); assertThat(activeApex.apexModuleName).isEqualTo("com.apex1"); assertThat(activeApex.activeApexChanged).isTrue(); } private ApexInfo createApexInfoForTestPkg(boolean isActive, boolean isFactory, int version) { File apexFile = extractResource(TEST_APEX_PKG, TEST_APEX_FILE_NAME); ApexInfo apexInfo = new ApexInfo(); Loading