Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5157101a authored by Nikita Ioffe's avatar Nikita Ioffe Committed by Android (Google) Code Review
Browse files

Merge "Populate activeApexChanged in ActiveApexInfo" into tm-dev

parents c7c60d5e d4838ac4
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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) {
@@ -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);
        }
    }

+12 −0
Original line number Diff line number Diff line
@@ -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();