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

Commit b76bfe95 authored by Peiyong Lin's avatar Peiyong Lin
Browse files

[Game Driver] Add global whitelist option.

Allow a '*' at the beginning of the whitelist file to mean whitelist
everything.

BUG: 120869311
Test: Build, flash and boot. Verify with apk
Change-Id: Ia1b772f545a04acb7f5b4ccbe5489e43ecddb9d2
parent e3e53162
Loading
Loading
Loading
Loading
+5 −3
Original line number Original line Diff line number Diff line
@@ -64,6 +64,7 @@ public class GraphicsEnvironment {
    private static final String ANGLE_RULES_FILE = "a4a_rules.json";
    private static final String ANGLE_RULES_FILE = "a4a_rules.json";
    private static final String ANGLE_TEMP_RULES = "debug.angle.rules";
    private static final String ANGLE_TEMP_RULES = "debug.angle.rules";
    private static final String ACTION_ANGLE_FOR_ANDROID = "android.app.action.ANGLE_FOR_ANDROID";
    private static final String ACTION_ANGLE_FOR_ANDROID = "android.app.action.ANGLE_FOR_ANDROID";
    private static final String GAME_DRIVER_WHITELIST_ALL = "*";


    private ClassLoader mClassLoader;
    private ClassLoader mClassLoader;
    private String mLayerPath;
    private String mLayerPath;
@@ -623,9 +624,10 @@ public class GraphicsEnvironment {
            final boolean isOptIn =
            final boolean isOptIn =
                    getGlobalSettingsString(null, coreSettings,
                    getGlobalSettingsString(null, coreSettings,
                            Settings.Global.GAME_DRIVER_OPT_IN_APPS).contains(packageName);
                            Settings.Global.GAME_DRIVER_OPT_IN_APPS).contains(packageName);
            if (!isOptIn
            final List<String> whitelist = getGlobalSettingsString(null, coreSettings,
                    && !getGlobalSettingsString(null, coreSettings,
                    Settings.Global.GAME_DRIVER_WHITELIST);
                    Settings.Global.GAME_DRIVER_WHITELIST).contains(packageName)) {
            if (!isOptIn && whitelist.indexOf(GAME_DRIVER_WHITELIST_ALL) != 0
                    && !whitelist.contains(packageName)) {
                if (DEBUG) {
                if (DEBUG) {
                    Log.w(TAG, packageName + " is not on the whitelist.");
                    Log.w(TAG, packageName + " is not on the whitelist.");
                }
                }