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

Commit cb94c877 authored by William Loh's avatar William Loh
Browse files

Check for metadata file by attempting to open

Checking for the app.metadata file by attempting to open a Inputstream
to the file avoids the overhead of using the AssetManager.list() API.

Bug: 327429424
Test: atest InstallAppMetadataTest
Test: atest PackageParsingPerfTest
Change-Id: Ie2ee4550d31b3ca76285add068bb347cd2ead82c
parent 8454fc6b
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -134,6 +134,7 @@ import org.xmlpull.v1.XmlPullParserException;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.security.PublicKey;
@@ -639,9 +640,10 @@ public class ParsingPackageUtils {
                pkg.setSigningDetails(SigningDetails.UNKNOWN);
            }

            if (Flags.aslInApkAppMetadataSource()
                    && ArrayUtils.contains(assets.list(""), APP_METADATA_FILE_NAME)) {
            if (Flags.aslInApkAppMetadataSource()) {
                try (InputStream in = assets.open(APP_METADATA_FILE_NAME)) {
                    pkg.setAppMetadataFileInApk(true);
                } catch (Exception e) { }
            }

            return input.success(pkg);