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

Commit d4ac5371 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Optimize SystemConfig feature parsing" into main

parents 31fff76e 7d1977d1
Loading
Loading
Loading
Loading
+17 −4
Original line number Diff line number Diff line
@@ -670,6 +670,17 @@ public class SystemConfig {
    }

    private void readAllPermissions() {
        readAllPermissionsFromXml();
        readAllPermissionsFromEnvironment();

        // Apply global feature removal last, after all features have been read.
        // This only needs to happen once.
        for (String featureName : mUnavailableFeatures) {
            removeFeature(featureName);
        }
    }

    private void readAllPermissionsFromXml() {
        final XmlPullParser parser = Xml.newPullParser();

        // Read configuration from system
@@ -1732,7 +1743,13 @@ public class SystemConfig {
        } finally {
            IoUtils.closeQuietly(permReader);
        }
    }

    // Add features or permission dependent on global system properties (as
    // opposed to XML permission files).
    // This only needs to be called once after all features have been parsed
    // from various partition/apex sources.
    private void readAllPermissionsFromEnvironment() {
        // Some devices can be field-converted to FBE, so offer to splice in
        // those features if not already defined by the static config
        if (StorageManager.isFileEncrypted()) {
@@ -1773,10 +1790,6 @@ public class SystemConfig {
                addFeature(PackageManager.FEATURE_EROFS_LEGACY, 0);
            }
        }

        for (String featureName : mUnavailableFeatures) {
            removeFeature(featureName);
        }
    }

    private @Nullable SignedPackage parseEnhancedConfirmationTrustedPackage(XmlPullParser parser,