Loading core/java/android/os/GraphicsEnvironment.java +17 −16 Original line number Diff line number Diff line Loading @@ -63,7 +63,7 @@ public class GraphicsEnvironment { private static final boolean DEBUG = false; private static final String TAG = "GraphicsEnvironment"; private static final String PROPERTY_GFX_DRIVER = "ro.gfx.driver.0"; private static final String GUP_WHITELIST_FILENAME = "whitelist.txt"; private static final String GAME_DRIVER_WHITELIST_FILENAME = "whitelist.txt"; private static final String ANGLE_RULES_FILE = "a4a_rules.json"; private static final String ANGLE_TEMP_RULES = "debug.angle.rules"; private static final String ACTION_ANGLE_FOR_ANDROID = "android.app.action.ANGLE_FOR_ANDROID"; Loading Loading @@ -529,44 +529,45 @@ public class GraphicsEnvironment { return; } // GUP_DEV_ALL_APPS // GAME_DRIVER_ALL_APPS // 0: Default (Invalid values fallback to default as well) // 1: All apps use Game Driver // 2: All apps use system graphics driver int gupDevAllApps = coreSettings.getInt(Settings.Global.GUP_DEV_ALL_APPS, 0); if (gupDevAllApps == 2) { int gameDriverAllApps = coreSettings.getInt(Settings.Global.GAME_DRIVER_ALL_APPS, 0); if (gameDriverAllApps == 2) { if (DEBUG) { Log.w(TAG, "GUP is turned off on this device"); Log.w(TAG, "Game Driver is turned off on this device"); } return; } if (gupDevAllApps != 1) { // GUP_DEV_OPT_OUT_APPS has higher priority than GUP_DEV_OPT_IN_APPS if (getGlobalSettingsString(coreSettings, Settings.Global.GUP_DEV_OPT_OUT_APPS) if (gameDriverAllApps != 1) { // GAME_DRIVER_OPT_OUT_APPS has higher priority than GAME_DRIVER_OPT_IN_APPS if (getGlobalSettingsString(coreSettings, Settings.Global.GAME_DRIVER_OPT_OUT_APPS) .contains(ai.packageName)) { if (DEBUG) { Log.w(TAG, ai.packageName + " opts out from GUP."); Log.w(TAG, ai.packageName + " opts out from Game Driver."); } return; } boolean isDevOptIn = getGlobalSettingsString(coreSettings, Settings.Global.GUP_DEV_OPT_IN_APPS) boolean isOptIn = getGlobalSettingsString(coreSettings, Settings.Global.GAME_DRIVER_OPT_IN_APPS) .contains(ai.packageName); if (!isDevOptIn && !onWhitelist(context, driverPackageName, ai.packageName)) { if (!isOptIn && !onWhitelist(context, driverPackageName, ai.packageName)) { if (DEBUG) { Log.w(TAG, ai.packageName + " is not on the whitelist."); } return; } if (!isDevOptIn) { if (!isOptIn) { // At this point, the application is on the whitelist only, check whether it's // on the blacklist, terminate early when it's on the blacklist. try { // TODO(b/121350991) Switch to DeviceConfig with property listener. String base64String = coreSettings.getString(Settings.Global.GUP_BLACKLIST); String base64String = coreSettings.getString(Settings.Global.GAME_DRIVER_BLACKLIST); if (base64String != null && !base64String.isEmpty()) { Blacklists blacklistsProto = Blacklists.parseFrom( Base64.decode(base64String, BASE64_FLAGS)); Loading Loading @@ -652,7 +653,7 @@ public class GraphicsEnvironment { Context driverContext = context.createPackageContext(driverPackageName, Context.CONTEXT_RESTRICTED); AssetManager assets = driverContext.getAssets(); InputStream stream = assets.open(GUP_WHITELIST_FILENAME); InputStream stream = assets.open(GAME_DRIVER_WHITELIST_FILENAME); BufferedReader reader = new BufferedReader(new InputStreamReader(stream)); for (String packageName; (packageName = reader.readLine()) != null; ) { if (packageName.equals(applicationPackageName)) { Loading core/java/android/provider/Settings.java +9 −9 Original line number Diff line number Diff line Loading @@ -12241,33 +12241,33 @@ public final class Settings { "angle_whitelist"; /** * Game Update Package global preference for all Apps. * Game Driver global preference for all Apps. * 0 = Default * 1 = All Apps use Game Update Package * 1 = All Apps use Game Driver * 2 = All Apps use system graphics driver * @hide */ public static final String GUP_DEV_ALL_APPS = "gup_dev_all_apps"; public static final String GAME_DRIVER_ALL_APPS = "game_driver_all_apps"; /** * List of Apps selected to use Game Update Package. * List of Apps selected to use Game Driver. * i.e. <pkg1>,<pkg2>,...,<pkgN> * @hide */ public static final String GUP_DEV_OPT_IN_APPS = "gup_dev_opt_in_apps"; public static final String GAME_DRIVER_OPT_IN_APPS = "game_driver_opt_in_apps"; /** * List of Apps selected not to use Game Update Package. * List of Apps selected not to use Game Driver. * i.e. <pkg1>,<pkg2>,...,<pkgN> * @hide */ public static final String GUP_DEV_OPT_OUT_APPS = "gup_dev_opt_out_apps"; public static final String GAME_DRIVER_OPT_OUT_APPS = "game_driver_opt_out_apps"; /** * Apps on the blacklist that are forbidden to use Game Update Package. * Apps on the blacklist that are forbidden to use Game Driver. * @hide */ public static final String GUP_BLACKLIST = "gup_blacklist"; public static final String GAME_DRIVER_BLACKLIST = "game_driver_blacklist"; /** * Apps on the whitelist that are allowed to use Game Driver. Loading core/proto/android/app/settings_enums.proto +2 −2 Original line number Diff line number Diff line Loading @@ -2157,10 +2157,10 @@ enum PageId { // OS: Q ZEN_CUSTOM_SETTINGS_DIALOG = 1612; // OPEN: Settings > Developer Options > Game Update Packages // OPEN: Settings > Developer Options > Game Driver Preferences // CATEGORY: SETTINGS // OS: Q SETTINGS_GUP_DASHBOARD = 1613; SETTINGS_GAME_DRIVER_DASHBOARD = 1613; // OPEN: Settings > Accessibility > Vibration > Ring vibration // CATEGORY: SETTINGS Loading core/proto/android/providers/settings/global.proto +10 −10 Original line number Diff line number Diff line Loading @@ -436,20 +436,20 @@ message GlobalSettingsProto { // Ordered GPU debug layer list for GLES // i.e. <layer1>:<layer2>:...:<layerN> optional SettingProto debug_layers_gles = 7; // GUP - Game Update Package global preference for all Apps // Game Driver - global preference for all Apps // 0 = Default // 1 = All Apps use Game Update Package // 1 = All Apps use Game Driver // 2 = All Apps use system graphics driver optional SettingProto gup_dev_all_apps = 8; // GUP - List of Apps selected to use Game Update Package optional SettingProto game_driver_all_apps = 8; // Game Driver - List of Apps selected to use Game Driver // i.e. <pkg1>,<pkg2>,...,<pkgN> optional SettingProto gup_dev_opt_in_apps = 9; // GUP - List of Apps selected not to use Game Update Package optional SettingProto game_driver_opt_in_apps = 9; // Game Driver - List of Apps selected not to use Game Driver // i.e. <pkg1>,<pkg2>,...,<pkgN> optional SettingProto gup_dev_opt_out_apps = 10; // GUP - List of Apps that are forbidden to use Game Update Package optional SettingProto gup_blacklist = 11; // List of Apps that are allowed to use Game Driver package. optional SettingProto game_driver_opt_out_apps = 10; // Game Driver - List of Apps that are forbidden to use Game Driver optional SettingProto game_driver_blacklist = 11; // Game Driver - List of Apps that are allowed to use Game Driver optional SettingProto game_driver_whitelist = 12; // ANGLE - List of Apps that can check ANGLE rules optional SettingProto angle_whitelist = 13; Loading core/tests/coretests/src/android/provider/SettingsBackupTest.java +4 −4 Original line number Diff line number Diff line Loading @@ -486,10 +486,10 @@ public class SettingsBackupTest { Settings.Global.GLOBAL_SETTINGS_ANGLE_GL_DRIVER_SELECTION_PKGS, Settings.Global.GLOBAL_SETTINGS_ANGLE_GL_DRIVER_SELECTION_VALUES, Settings.Global.GLOBAL_SETTINGS_ANGLE_WHITELIST, Settings.Global.GUP_DEV_ALL_APPS, Settings.Global.GUP_DEV_OPT_IN_APPS, Settings.Global.GUP_DEV_OPT_OUT_APPS, Settings.Global.GUP_BLACKLIST, Settings.Global.GAME_DRIVER_ALL_APPS, Settings.Global.GAME_DRIVER_OPT_IN_APPS, Settings.Global.GAME_DRIVER_OPT_OUT_APPS, Settings.Global.GAME_DRIVER_BLACKLIST, Settings.Global.GAME_DRIVER_WHITELIST, Settings.Global.GPU_DEBUG_LAYER_APP, Settings.Global.ENABLE_GNSS_RAW_MEAS_FULL_TRACKING, Loading Loading
core/java/android/os/GraphicsEnvironment.java +17 −16 Original line number Diff line number Diff line Loading @@ -63,7 +63,7 @@ public class GraphicsEnvironment { private static final boolean DEBUG = false; private static final String TAG = "GraphicsEnvironment"; private static final String PROPERTY_GFX_DRIVER = "ro.gfx.driver.0"; private static final String GUP_WHITELIST_FILENAME = "whitelist.txt"; private static final String GAME_DRIVER_WHITELIST_FILENAME = "whitelist.txt"; private static final String ANGLE_RULES_FILE = "a4a_rules.json"; private static final String ANGLE_TEMP_RULES = "debug.angle.rules"; private static final String ACTION_ANGLE_FOR_ANDROID = "android.app.action.ANGLE_FOR_ANDROID"; Loading Loading @@ -529,44 +529,45 @@ public class GraphicsEnvironment { return; } // GUP_DEV_ALL_APPS // GAME_DRIVER_ALL_APPS // 0: Default (Invalid values fallback to default as well) // 1: All apps use Game Driver // 2: All apps use system graphics driver int gupDevAllApps = coreSettings.getInt(Settings.Global.GUP_DEV_ALL_APPS, 0); if (gupDevAllApps == 2) { int gameDriverAllApps = coreSettings.getInt(Settings.Global.GAME_DRIVER_ALL_APPS, 0); if (gameDriverAllApps == 2) { if (DEBUG) { Log.w(TAG, "GUP is turned off on this device"); Log.w(TAG, "Game Driver is turned off on this device"); } return; } if (gupDevAllApps != 1) { // GUP_DEV_OPT_OUT_APPS has higher priority than GUP_DEV_OPT_IN_APPS if (getGlobalSettingsString(coreSettings, Settings.Global.GUP_DEV_OPT_OUT_APPS) if (gameDriverAllApps != 1) { // GAME_DRIVER_OPT_OUT_APPS has higher priority than GAME_DRIVER_OPT_IN_APPS if (getGlobalSettingsString(coreSettings, Settings.Global.GAME_DRIVER_OPT_OUT_APPS) .contains(ai.packageName)) { if (DEBUG) { Log.w(TAG, ai.packageName + " opts out from GUP."); Log.w(TAG, ai.packageName + " opts out from Game Driver."); } return; } boolean isDevOptIn = getGlobalSettingsString(coreSettings, Settings.Global.GUP_DEV_OPT_IN_APPS) boolean isOptIn = getGlobalSettingsString(coreSettings, Settings.Global.GAME_DRIVER_OPT_IN_APPS) .contains(ai.packageName); if (!isDevOptIn && !onWhitelist(context, driverPackageName, ai.packageName)) { if (!isOptIn && !onWhitelist(context, driverPackageName, ai.packageName)) { if (DEBUG) { Log.w(TAG, ai.packageName + " is not on the whitelist."); } return; } if (!isDevOptIn) { if (!isOptIn) { // At this point, the application is on the whitelist only, check whether it's // on the blacklist, terminate early when it's on the blacklist. try { // TODO(b/121350991) Switch to DeviceConfig with property listener. String base64String = coreSettings.getString(Settings.Global.GUP_BLACKLIST); String base64String = coreSettings.getString(Settings.Global.GAME_DRIVER_BLACKLIST); if (base64String != null && !base64String.isEmpty()) { Blacklists blacklistsProto = Blacklists.parseFrom( Base64.decode(base64String, BASE64_FLAGS)); Loading Loading @@ -652,7 +653,7 @@ public class GraphicsEnvironment { Context driverContext = context.createPackageContext(driverPackageName, Context.CONTEXT_RESTRICTED); AssetManager assets = driverContext.getAssets(); InputStream stream = assets.open(GUP_WHITELIST_FILENAME); InputStream stream = assets.open(GAME_DRIVER_WHITELIST_FILENAME); BufferedReader reader = new BufferedReader(new InputStreamReader(stream)); for (String packageName; (packageName = reader.readLine()) != null; ) { if (packageName.equals(applicationPackageName)) { Loading
core/java/android/provider/Settings.java +9 −9 Original line number Diff line number Diff line Loading @@ -12241,33 +12241,33 @@ public final class Settings { "angle_whitelist"; /** * Game Update Package global preference for all Apps. * Game Driver global preference for all Apps. * 0 = Default * 1 = All Apps use Game Update Package * 1 = All Apps use Game Driver * 2 = All Apps use system graphics driver * @hide */ public static final String GUP_DEV_ALL_APPS = "gup_dev_all_apps"; public static final String GAME_DRIVER_ALL_APPS = "game_driver_all_apps"; /** * List of Apps selected to use Game Update Package. * List of Apps selected to use Game Driver. * i.e. <pkg1>,<pkg2>,...,<pkgN> * @hide */ public static final String GUP_DEV_OPT_IN_APPS = "gup_dev_opt_in_apps"; public static final String GAME_DRIVER_OPT_IN_APPS = "game_driver_opt_in_apps"; /** * List of Apps selected not to use Game Update Package. * List of Apps selected not to use Game Driver. * i.e. <pkg1>,<pkg2>,...,<pkgN> * @hide */ public static final String GUP_DEV_OPT_OUT_APPS = "gup_dev_opt_out_apps"; public static final String GAME_DRIVER_OPT_OUT_APPS = "game_driver_opt_out_apps"; /** * Apps on the blacklist that are forbidden to use Game Update Package. * Apps on the blacklist that are forbidden to use Game Driver. * @hide */ public static final String GUP_BLACKLIST = "gup_blacklist"; public static final String GAME_DRIVER_BLACKLIST = "game_driver_blacklist"; /** * Apps on the whitelist that are allowed to use Game Driver. Loading
core/proto/android/app/settings_enums.proto +2 −2 Original line number Diff line number Diff line Loading @@ -2157,10 +2157,10 @@ enum PageId { // OS: Q ZEN_CUSTOM_SETTINGS_DIALOG = 1612; // OPEN: Settings > Developer Options > Game Update Packages // OPEN: Settings > Developer Options > Game Driver Preferences // CATEGORY: SETTINGS // OS: Q SETTINGS_GUP_DASHBOARD = 1613; SETTINGS_GAME_DRIVER_DASHBOARD = 1613; // OPEN: Settings > Accessibility > Vibration > Ring vibration // CATEGORY: SETTINGS Loading
core/proto/android/providers/settings/global.proto +10 −10 Original line number Diff line number Diff line Loading @@ -436,20 +436,20 @@ message GlobalSettingsProto { // Ordered GPU debug layer list for GLES // i.e. <layer1>:<layer2>:...:<layerN> optional SettingProto debug_layers_gles = 7; // GUP - Game Update Package global preference for all Apps // Game Driver - global preference for all Apps // 0 = Default // 1 = All Apps use Game Update Package // 1 = All Apps use Game Driver // 2 = All Apps use system graphics driver optional SettingProto gup_dev_all_apps = 8; // GUP - List of Apps selected to use Game Update Package optional SettingProto game_driver_all_apps = 8; // Game Driver - List of Apps selected to use Game Driver // i.e. <pkg1>,<pkg2>,...,<pkgN> optional SettingProto gup_dev_opt_in_apps = 9; // GUP - List of Apps selected not to use Game Update Package optional SettingProto game_driver_opt_in_apps = 9; // Game Driver - List of Apps selected not to use Game Driver // i.e. <pkg1>,<pkg2>,...,<pkgN> optional SettingProto gup_dev_opt_out_apps = 10; // GUP - List of Apps that are forbidden to use Game Update Package optional SettingProto gup_blacklist = 11; // List of Apps that are allowed to use Game Driver package. optional SettingProto game_driver_opt_out_apps = 10; // Game Driver - List of Apps that are forbidden to use Game Driver optional SettingProto game_driver_blacklist = 11; // Game Driver - List of Apps that are allowed to use Game Driver optional SettingProto game_driver_whitelist = 12; // ANGLE - List of Apps that can check ANGLE rules optional SettingProto angle_whitelist = 13; Loading
core/tests/coretests/src/android/provider/SettingsBackupTest.java +4 −4 Original line number Diff line number Diff line Loading @@ -486,10 +486,10 @@ public class SettingsBackupTest { Settings.Global.GLOBAL_SETTINGS_ANGLE_GL_DRIVER_SELECTION_PKGS, Settings.Global.GLOBAL_SETTINGS_ANGLE_GL_DRIVER_SELECTION_VALUES, Settings.Global.GLOBAL_SETTINGS_ANGLE_WHITELIST, Settings.Global.GUP_DEV_ALL_APPS, Settings.Global.GUP_DEV_OPT_IN_APPS, Settings.Global.GUP_DEV_OPT_OUT_APPS, Settings.Global.GUP_BLACKLIST, Settings.Global.GAME_DRIVER_ALL_APPS, Settings.Global.GAME_DRIVER_OPT_IN_APPS, Settings.Global.GAME_DRIVER_OPT_OUT_APPS, Settings.Global.GAME_DRIVER_BLACKLIST, Settings.Global.GAME_DRIVER_WHITELIST, Settings.Global.GPU_DEBUG_LAYER_APP, Settings.Global.ENABLE_GNSS_RAW_MEAS_FULL_TRACKING, Loading