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

Commit 5924bd58 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Optimize SystemConfig feature parsing" into main am: d4ac5371

parents 1fa73f6d d4ac5371
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,