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

Commit 5c4040ce authored by Luke Huang's avatar Luke Huang
Browse files

Add new configuration loading path for apex module Cronet

Add an additional loading path which is used for libs permission
xml providing from Cronet apex module.

Bug: 145474221
Bug: 139397529
Test: build
Test: manual test with Cronet
Change-Id: I103539a45fe9182f84a79bfe45a6172d94068690
Merged-In: I02541eb2d4808d69ab8cb2d6a48cf8aaa39c86dc
parent bedcf85e
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.pm.FeatureInfo;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Environment;
import android.os.FileUtils;
import android.os.Process;
import android.os.SystemProperties;
import android.os.storage.StorageManager;
@@ -417,6 +418,19 @@ public class SystemConfig {
                Environment.getSystemExtDirectory(), "etc", "sysconfig"), ALLOW_ALL);
        readPermissions(Environment.buildPath(
                Environment.getSystemExtDirectory(), "etc", "permissions"), ALLOW_ALL);

        // Skip loading configuration from apex if it is not a system process.
        if (!isSystemProcess()) {
            return;
        }
        // Read configuration of libs from apex module.
        // TODO(146407631): Use a solid way to filter apex module folders?
        for (File f: FileUtils.listFilesOrEmpty(Environment.getApexDirectory())) {
            if (f.isFile() || f.getPath().contains("@")) {
                continue;
            }
            readPermissions(Environment.buildPath(f, "etc", "permissions"), ALLOW_LIBS);
        }
    }

    void readPermissions(File libraryDir, int permissionFlag) {