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

Commit 9d8b2a95 authored by LuK1337's avatar LuK1337 Committed by Luca Stefani
Browse files

camera: Allow extending aux list/excludelist via sdk resources

Properties are limited and don't allow us to list as many apps as we
wish.

Change-Id: I4432f627f1fa120b6ea41c252cd512beb129848c
parent 807d43ab
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -344,6 +344,7 @@ java_library {
    // For backwards compatibility.
    stem: "framework",
    apex_available: ["//apex_available:platform"],
    static_libs: ["org.lineageos.platform.resources"],
    visibility: [
        "//frameworks/base",
        // TODO(b/147128803) remove the below lines
+15 −6
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.app.ActivityThread;
import android.app.AppOpsManager;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.ImageFormat;
import android.graphics.Point;
import android.graphics.Rect;
@@ -275,12 +276,20 @@ public class Camera {
         * if the package name does not falls in this bucket
         */
        String packageName = ActivityThread.currentOpPackageName();
        List<String> packageList = Arrays.asList(
                SystemProperties.get("vendor.camera.aux.packagelist", packageName).split(","));
        List<String> packageExcludelist = Arrays.asList(
                SystemProperties.get("vendor.camera.aux.packageexcludelist", "").split(","));

        return packageList.contains(packageName) && !packageExcludelist.contains(packageName);
        List<String> packageList = new ArrayList<>(Arrays.asList(
                SystemProperties.get("vendor.camera.aux.packagelist", ",").split(",")));
        List<String> packageExcludelist = new ArrayList<>(Arrays.asList(
                SystemProperties.get("vendor.camera.aux.packageexcludelist", ",").split(",")));

        // Append packages from lineage-sdk resources
        Resources res = ActivityThread.currentApplication().getResources();
        packageList.addAll(Arrays.asList(res.getStringArray(
                org.lineageos.platform.internal.R.array.config_cameraAuxPackageAllowList)));
        packageExcludelist.addAll(Arrays.asList(res.getStringArray(
                org.lineageos.platform.internal.R.array.config_cameraAuxPackageExcludeList)));

        return (packageList.isEmpty() || packageList.contains(packageName)) &&
                !packageExcludelist.contains(packageName);
    }

    /**