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

Commit 0b8faf71 authored by Sanjana Sunil's avatar Sanjana Sunil
Browse files

Set isStaticLibrary correctly

Bug: 372861622
Test: atest ApkLiteParseUtilsTest#testParseApkLite_isIsStaticLibrary
Flag: android.content.pm.sdk_dependency_installer
Change-Id: I782bcc357e9b5e1b574cbf7291d9986b774bdb7a
parent 05d69398
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -660,7 +660,7 @@ public class ApkLiteParseUtils {
                                    SharedLibraryInfo.TYPE_SDK_PACKAGE));
                            break;
                        case TAG_STATIC_LIBRARY:
                            isSdkLibrary = true;
                            isStaticLibrary = true;
                            // Mirrors ParsingPackageUtils#parseStaticLibrary until lite and full
                            // parsing are combined
                            String staticLibName = parser.getAttributeValue(
+1 −0
Original line number Diff line number Diff line
@@ -152,6 +152,7 @@ android_test {
        ":HelloWorldUsingSdkMalformedNegativeVersion",
        ":CtsStaticSharedLibConsumerApp1",
        ":CtsStaticSharedLibConsumerApp3",
        ":CtsStaticSharedLibProviderApp1",
    ],
}

+2 −0
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@
            value="/data/local/tmp/tests/coretests/pm/CtsStaticSharedLibConsumerApp1.apk"/>
        <option name="push-file" key="CtsStaticSharedLibConsumerApp3.apk"
            value="/data/local/tmp/tests/coretests/pm/CtsStaticSharedLibConsumerApp3.apk"/>
        <option name="push-file" key="CtsStaticSharedLibProviderApp1.apk"
                value="/data/local/tmp/tests/coretests/pm/CtsStaticSharedLibProviderApp1.apk"/>
    </target_preparer>

    <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
+12 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ public class ApkLiteParseUtilsTest {
    private static final String TEST_APP_USING_SDK1_AND_SDK1 = "HelloWorldUsingSdk1AndSdk1.apk";
    private static final String TEST_APP_USING_SDK_MALFORMED_VERSION =
            "HelloWorldUsingSdkMalformedNegativeVersion.apk";
    private static final String TEST_STATIC_LIB_APP = "CtsStaticSharedLibProviderApp1.apk";
    private static final String TEST_APP_USING_STATIC_LIB = "CtsStaticSharedLibConsumerApp1.apk";
    private static final String TEST_APP_USING_STATIC_LIB_TWO_CERTS =
            "CtsStaticSharedLibConsumerApp3.apk";
@@ -207,6 +208,17 @@ public class ApkLiteParseUtilsTest {
        assertThat(liteCerts).isEqualTo(pkgCerts);
    }

    @Test
    public void testParseApkLite_isIsStaticLibrary() throws Exception {
        File apkFile = copyApkToTmpDir(TEST_STATIC_LIB_APP);
        ParseResult<ApkLite> result = ApkLiteParseUtils
                .parseApkLite(ParseTypeImpl.forDefaultParsing().reset(), apkFile, 0);
        assertThat(result.isError()).isFalse();
        ApkLite baseApk = result.getResult();

        assertThat(baseApk.isIsStaticLibrary()).isTrue();
    }

    @SuppressLint("CheckResult")
    @Test
    public void testParseApkLite_malformedUsesSdkLibrary_duplicate() throws Exception {