summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeiyong Lin <lpy@google.com>2020-08-13 20:19:53 -0700
committerPeiyong Lin <lpy@google.com>2020-08-14 10:44:59 -0700
commitb18a2fccc359c5deba515c6c4aa5d0e51719e51a (patch)
tree358e63da7a963f70e654769f81d1bf63807ea878
parente0d071525b48270f2e70202bdda6391738318f47 (diff)
Rename game driver to updatable driver.
Game driver is considered a production name. We should use the term updatable driver instead of the production name. Bug: b/164449016 Test: build Change-Id: I787f97b4801dcc7b5ec2acd569a7ce284c9a1f18
-rw-r--r--core/java/android/os/GraphicsEnvironment.java103
-rwxr-xr-xcore/java/android/provider/Settings.java46
-rw-r--r--core/proto/android/app/settings_enums.proto4
-rw-r--r--core/proto/android/providers/settings/global.proto39
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java32
-rw-r--r--packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java16
-rw-r--r--services/core/java/com/android/server/am/CoreSettingsObserver.java21
-rw-r--r--services/core/java/com/android/server/gpu/GpuService.java51
8 files changed, 168 insertions, 144 deletions
diff --git a/core/java/android/os/GraphicsEnvironment.java b/core/java/android/os/GraphicsEnvironment.java
index a6b869d19867..1eb3fc11df7b 100644
--- a/core/java/android/os/GraphicsEnvironment.java
+++ b/core/java/android/os/GraphicsEnvironment.java
@@ -64,10 +64,11 @@ public class GraphicsEnvironment {
private static final String SYSTEM_DRIVER_NAME = "system";
private static final String SYSTEM_DRIVER_VERSION_NAME = "";
private static final long SYSTEM_DRIVER_VERSION_CODE = 0;
- private static final String PROPERTY_GFX_DRIVER = "ro.gfx.driver.0";
+ private static final String PROPERTY_GFX_DRIVER_PRODUCTION = "ro.gfx.driver.0";
private static final String PROPERTY_GFX_DRIVER_PRERELEASE = "ro.gfx.driver.1";
private static final String PROPERTY_GFX_DRIVER_BUILD_TIME = "ro.gfx.driver_build_time";
- private static final String METADATA_DRIVER_BUILD_TIME = "com.android.gamedriver.build_time";
+ private static final String METADATA_DRIVER_BUILD_TIME =
+ "com.android.graphics.updatabledriver.build_time";
private static final String METADATA_DEVELOPER_DRIVER_ENABLE =
"com.android.graphics.developerdriver.enable";
private static final String METADATA_INJECT_LAYERS_ENABLE =
@@ -78,20 +79,20 @@ public class GraphicsEnvironment {
private static final String ACTION_ANGLE_FOR_ANDROID_TOAST_MESSAGE =
"android.app.action.ANGLE_FOR_ANDROID_TOAST_MESSAGE";
private static final String INTENT_KEY_A4A_TOAST_MESSAGE = "A4A Toast Message";
- private static final String GAME_DRIVER_ALLOWLIST_ALL = "*";
- private static final String GAME_DRIVER_SPHAL_LIBRARIES_FILENAME = "sphal_libraries.txt";
+ private static final String UPDATABLE_DRIVER_ALLOWLIST_ALL = "*";
+ private static final String UPDATABLE_DRIVER_SPHAL_LIBRARIES_FILENAME = "sphal_libraries.txt";
private static final int VULKAN_1_0 = 0x00400000;
private static final int VULKAN_1_1 = 0x00401000;
- // GAME_DRIVER_ALL_APPS
+ // UPDATABLE_DRIVER_ALL_APPS
// 0: Default (Invalid values fallback to default as well)
- // 1: All apps use Game Driver
- // 2: All apps use Prerelease Driver
+ // 1: All apps use updatable production driver
+ // 2: All apps use updatable prerelease driver
// 3: All apps use system graphics driver
- private static final int GAME_DRIVER_GLOBAL_OPT_IN_DEFAULT = 0;
- private static final int GAME_DRIVER_GLOBAL_OPT_IN_GAME_DRIVER = 1;
- private static final int GAME_DRIVER_GLOBAL_OPT_IN_PRERELEASE_DRIVER = 2;
- private static final int GAME_DRIVER_GLOBAL_OPT_IN_OFF = 3;
+ private static final int UPDATABLE_DRIVER_GLOBAL_OPT_IN_DEFAULT = 0;
+ private static final int UPDATABLE_DRIVER_GLOBAL_OPT_IN_PRODUCTION_DRIVER = 1;
+ private static final int UPDATABLE_DRIVER_GLOBAL_OPT_IN_PRERELEASE_DRIVER = 2;
+ private static final int UPDATABLE_DRIVER_GLOBAL_OPT_IN_OFF = 3;
private ClassLoader mClassLoader;
private String mLibrarySearchPaths;
@@ -722,14 +723,17 @@ public class GraphicsEnvironment {
* Return the driver package name to use. Return null for system driver.
*/
private static String chooseDriverInternal(Bundle coreSettings, ApplicationInfo ai) {
- final String gameDriver = SystemProperties.get(PROPERTY_GFX_DRIVER);
- final boolean hasGameDriver = gameDriver != null && !gameDriver.isEmpty();
+ final String productionDriver = SystemProperties.get(PROPERTY_GFX_DRIVER_PRODUCTION);
+ final boolean hasProductionDriver = productionDriver != null && !productionDriver.isEmpty();
final String prereleaseDriver = SystemProperties.get(PROPERTY_GFX_DRIVER_PRERELEASE);
final boolean hasPrereleaseDriver = prereleaseDriver != null && !prereleaseDriver.isEmpty();
- if (!hasGameDriver && !hasPrereleaseDriver) {
- if (DEBUG) Log.v(TAG, "Neither Game Driver nor prerelease driver is supported.");
+ if (!hasProductionDriver && !hasPrereleaseDriver) {
+ if (DEBUG) {
+ Log.v(TAG,
+ "Neither updatable production driver nor prerelease driver is supported.");
+ }
return null;
}
@@ -745,56 +749,59 @@ public class GraphicsEnvironment {
(ai.metaData != null && ai.metaData.getBoolean(METADATA_DEVELOPER_DRIVER_ENABLE))
|| isDebuggable();
- // Priority for Game Driver settings global on confliction (Higher priority comes first):
- // 1. GAME_DRIVER_ALL_APPS
- // 2. GAME_DRIVER_OPT_OUT_APPS
- // 3. GAME_DRIVER_PRERELEASE_OPT_IN_APPS
- // 4. GAME_DRIVER_OPT_IN_APPS
- // 5. GAME_DRIVER_DENYLIST
- // 6. GAME_DRIVER_ALLOWLIST
- switch (coreSettings.getInt(Settings.Global.GAME_DRIVER_ALL_APPS, 0)) {
- case GAME_DRIVER_GLOBAL_OPT_IN_OFF:
- if (DEBUG) Log.v(TAG, "Game Driver is turned off on this device.");
+ // Priority of updatable driver settings on confliction (Higher priority comes first):
+ // 1. UPDATABLE_DRIVER_ALL_APPS
+ // 2. UPDATABLE_DRIVER_PRODUCTION_OPT_OUT_APPS
+ // 3. UPDATABLE_DRIVER_PRERELEASE_OPT_IN_APPS
+ // 4. UPDATABLE_DRIVER_PRODUCTION_OPT_IN_APPS
+ // 5. UPDATABLE_DRIVER_PRODUCTION_DENYLIST
+ // 6. UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST
+ switch (coreSettings.getInt(Settings.Global.UPDATABLE_DRIVER_ALL_APPS, 0)) {
+ case UPDATABLE_DRIVER_GLOBAL_OPT_IN_OFF:
+ if (DEBUG) Log.v(TAG, "updatable driver is turned off on this device.");
return null;
- case GAME_DRIVER_GLOBAL_OPT_IN_GAME_DRIVER:
- if (DEBUG) Log.v(TAG, "All apps opt in to use Game Driver.");
- return hasGameDriver ? gameDriver : null;
- case GAME_DRIVER_GLOBAL_OPT_IN_PRERELEASE_DRIVER:
- if (DEBUG) Log.v(TAG, "All apps opt in to use prerelease driver.");
+ case UPDATABLE_DRIVER_GLOBAL_OPT_IN_PRODUCTION_DRIVER:
+ if (DEBUG) Log.v(TAG, "All apps opt in to use updatable production driver.");
+ return hasProductionDriver ? productionDriver : null;
+ case UPDATABLE_DRIVER_GLOBAL_OPT_IN_PRERELEASE_DRIVER:
+ if (DEBUG) Log.v(TAG, "All apps opt in to use updatable prerelease driver.");
return hasPrereleaseDriver && enablePrereleaseDriver ? prereleaseDriver : null;
- case GAME_DRIVER_GLOBAL_OPT_IN_DEFAULT:
+ case UPDATABLE_DRIVER_GLOBAL_OPT_IN_DEFAULT:
default:
break;
}
final String appPackageName = ai.packageName;
- if (getGlobalSettingsString(null, coreSettings, Settings.Global.GAME_DRIVER_OPT_OUT_APPS)
+ if (getGlobalSettingsString(null, coreSettings,
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_OPT_OUT_APPS)
.contains(appPackageName)) {
- if (DEBUG) Log.v(TAG, "App opts out for Game Driver.");
+ if (DEBUG) Log.v(TAG, "App opts out for updatable production driver.");
return null;
}
if (getGlobalSettingsString(
- null, coreSettings, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS)
+ null, coreSettings, Settings.Global.UPDATABLE_DRIVER_PRERELEASE_OPT_IN_APPS)
.contains(appPackageName)) {
- if (DEBUG) Log.v(TAG, "App opts in for prerelease Game Driver.");
+ if (DEBUG) Log.v(TAG, "App opts in for updatable prerelease driver.");
return hasPrereleaseDriver && enablePrereleaseDriver ? prereleaseDriver : null;
}
- // Early return here since the rest logic is only for Game Driver.
- if (!hasGameDriver) {
- if (DEBUG) Log.v(TAG, "Game Driver is not supported on the device.");
+ // Early return here since the rest logic is only for updatable production Driver.
+ if (!hasProductionDriver) {
+ if (DEBUG) Log.v(TAG, "Updatable production driver is not supported on the device.");
return null;
}
final boolean isOptIn =
- getGlobalSettingsString(null, coreSettings, Settings.Global.GAME_DRIVER_OPT_IN_APPS)
+ getGlobalSettingsString(null, coreSettings,
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_OPT_IN_APPS)
.contains(appPackageName);
final List<String> allowlist =
- getGlobalSettingsString(null, coreSettings, Settings.Global.GAME_DRIVER_ALLOWLIST);
- if (!isOptIn && allowlist.indexOf(GAME_DRIVER_ALLOWLIST_ALL) != 0
+ getGlobalSettingsString(null, coreSettings,
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST);
+ if (!isOptIn && allowlist.indexOf(UPDATABLE_DRIVER_ALLOWLIST_ALL) != 0
&& !allowlist.contains(appPackageName)) {
- if (DEBUG) Log.v(TAG, "App is not on the allowlist for Game Driver.");
+ if (DEBUG) Log.v(TAG, "App is not on the allowlist for updatable production driver.");
return null;
}
@@ -802,13 +809,13 @@ public class GraphicsEnvironment {
// terminate early if it's on the denylist and fallback to system driver.
if (!isOptIn
&& getGlobalSettingsString(
- null, coreSettings, Settings.Global.GAME_DRIVER_DENYLIST)
+ null, coreSettings, Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLIST)
.contains(appPackageName)) {
- if (DEBUG) Log.v(TAG, "App is on the denylist for Game Driver.");
+ if (DEBUG) Log.v(TAG, "App is on the denylist for updatable production driver.");
return null;
}
- return gameDriver;
+ return productionDriver;
}
/**
@@ -873,7 +880,7 @@ public class GraphicsEnvironment {
final String driverBuildTime = driverAppInfo.metaData.getString(METADATA_DRIVER_BUILD_TIME);
if (driverBuildTime == null || driverBuildTime.isEmpty()) {
- throw new IllegalArgumentException("com.android.gamedriver.build_time is not set");
+ Log.v(TAG, "com.android.graphics.updatabledriver.build_time is not set");
}
// driver_build_time in the meta-data is in "L<Unix epoch timestamp>" format. e.g. L123456.
// Long.parseLong will throw if the meta-data "driver_build_time" is not set properly.
@@ -901,7 +908,7 @@ public class GraphicsEnvironment {
final Context driverContext =
context.createPackageContext(driverPackageName, Context.CONTEXT_RESTRICTED);
final BufferedReader reader = new BufferedReader(new InputStreamReader(
- driverContext.getAssets().open(GAME_DRIVER_SPHAL_LIBRARIES_FILENAME)));
+ driverContext.getAssets().open(UPDATABLE_DRIVER_SPHAL_LIBRARIES_FILENAME)));
final ArrayList<String> assetStrings = new ArrayList<>();
for (String assetString; (assetString = reader.readLine()) != null;) {
assetStrings.add(assetString);
@@ -913,7 +920,7 @@ public class GraphicsEnvironment {
}
} catch (IOException e) {
if (DEBUG) {
- Log.w(TAG, "Failed to load '" + GAME_DRIVER_SPHAL_LIBRARIES_FILENAME + "'");
+ Log.w(TAG, "Failed to load '" + UPDATABLE_DRIVER_SPHAL_LIBRARIES_FILENAME + "'");
}
}
return "";
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index dda5c5ede53f..a760dc677437 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -12291,63 +12291,71 @@ public final class Settings {
"show_angle_in_use_dialog_box";
/**
- * Game Driver global preference for all Apps.
+ * Updatable driver global preference for all Apps.
* 0 = Default
- * 1 = All Apps use Game Driver
- * 2 = All Apps use system graphics driver
+ * 1 = All Apps use updatable production driver
+ * 2 = All apps use updatable prerelease driver
+ * 3 = All Apps use system graphics driver
* @hide
*/
- public static final String GAME_DRIVER_ALL_APPS = "game_driver_all_apps";
+ public static final String UPDATABLE_DRIVER_ALL_APPS = "updatable_driver_all_apps";
/**
- * List of Apps selected to use Game Driver.
+ * List of Apps selected to use updatable production driver.
* i.e. <pkg1>,<pkg2>,...,<pkgN>
* @hide
*/
- public static final String GAME_DRIVER_OPT_IN_APPS = "game_driver_opt_in_apps";
+ public static final String UPDATABLE_DRIVER_PRODUCTION_OPT_IN_APPS =
+ "updatable_driver_production_opt_in_apps";
/**
- * List of Apps selected to use prerelease Game Driver.
+ * List of Apps selected to use updatable prerelease driver.
* i.e. <pkg1>,<pkg2>,...,<pkgN>
* @hide
*/
- public static final String GAME_DRIVER_PRERELEASE_OPT_IN_APPS =
- "game_driver_prerelease_opt_in_apps";
+ public static final String UPDATABLE_DRIVER_PRERELEASE_OPT_IN_APPS =
+ "updatable_driver_prerelease_opt_in_apps";
/**
- * List of Apps selected not to use Game Driver.
+ * List of Apps selected not to use updatable production driver.
* i.e. <pkg1>,<pkg2>,...,<pkgN>
* @hide
*/
- public static final String GAME_DRIVER_OPT_OUT_APPS = "game_driver_opt_out_apps";
+ public static final String UPDATABLE_DRIVER_PRODUCTION_OPT_OUT_APPS =
+ "updatable_driver_production_opt_out_apps";
/**
- * Apps on the denylist that are forbidden to use Game Driver.
+ * Apps on the denylist that are forbidden to use updatable production driver.
* @hide
*/
- public static final String GAME_DRIVER_DENYLIST = "game_driver_denylist";
+ public static final String UPDATABLE_DRIVER_PRODUCTION_DENYLIST =
+ "updatable_driver_production_denylist";
/**
- * List of denylists, each denylist is a denylist for a specific version of Game Driver.
+ * List of denylists, each denylist is a denylist for a specific version of
+ * updatable production driver.
* @hide
*/
- public static final String GAME_DRIVER_DENYLISTS = "game_driver_denylists";
+ public static final String UPDATABLE_DRIVER_PRODUCTION_DENYLISTS =
+ "updatable_driver_production_denylists";
/**
- * Apps on the allowlist that are allowed to use Game Driver.
+ * Apps on the allowlist that are allowed to use updatable production driver.
* The string is a list of application package names, seperated by comma.
* i.e. <apk1>,<apk2>,...,<apkN>
* @hide
*/
- public static final String GAME_DRIVER_ALLOWLIST = "game_driver_allowlist";
+ public static final String UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST =
+ "updatable_driver_production_allowlist";
/**
- * List of libraries in sphal accessible by Game Driver
+ * List of libraries in sphal accessible by updatable driver
* The string is a list of library names, separated by colon.
* i.e. <lib1>:<lib2>:...:<libN>
* @hide
*/
- public static final String GAME_DRIVER_SPHAL_LIBRARIES = "game_driver_sphal_libraries";
+ public static final String UPDATABLE_DRIVER_SPHAL_LIBRARIES =
+ "updatable_driver_sphal_libraries";
/**
* Ordered GPU debug layer list for Vulkan
diff --git a/core/proto/android/app/settings_enums.proto b/core/proto/android/app/settings_enums.proto
index 69b32c264d3d..b3b464de9437 100644
--- a/core/proto/android/app/settings_enums.proto
+++ b/core/proto/android/app/settings_enums.proto
@@ -2310,10 +2310,10 @@ enum PageId {
// OS: Q
ZEN_CUSTOM_SETTINGS_DIALOG = 1612;
- // OPEN: Settings > Developer Options > Game Driver Preferences
+ // OPEN: Settings > Developer Options > Graphics Driver Preferences
// CATEGORY: SETTINGS
// OS: Q
- SETTINGS_GAME_DRIVER_DASHBOARD = 1613;
+ SETTINGS_GRAPHICS_DRIVER_DASHBOARD = 1613;
// OPEN: Settings > Accessibility > Vibration > Ring vibration
// CATEGORY: SETTINGS
diff --git a/core/proto/android/providers/settings/global.proto b/core/proto/android/providers/settings/global.proto
index a80bb4013854..171a14bfe301 100644
--- a/core/proto/android/providers/settings/global.proto
+++ b/core/proto/android/providers/settings/global.proto
@@ -433,35 +433,36 @@ message GlobalSettingsProto {
// Ordered GPU debug layer list for GLES
// i.e. <layer1>:<layer2>:...:<layerN>
optional SettingProto debug_layers_gles = 7;
- // Game Driver - global preference for all Apps
+ // Updatable Driver - global preference for all Apps
// 0 = Default
- // 1 = All Apps use Game Driver
- // 2 = All Apps use system graphics driver
- optional SettingProto game_driver_all_apps = 8;
- // Game Driver - List of Apps selected to use Game Driver
+ // 1 = All Apps use updatable production driver
+ // 2 = All apps use updatable prerelease driver
+ // 3 = All Apps use system graphics driver
+ optional SettingProto updatable_driver_all_apps = 8;
+ // Updatable Driver - List of Apps selected to use updatable production driver
// i.e. <pkg1>,<pkg2>,...,<pkgN>
- optional SettingProto game_driver_opt_in_apps = 9;
- // Game Driver - List of Apps selected not to use Game Driver
+ optional SettingProto updatable_driver_production_opt_in_apps = 9;
+ // Updatable Driver - List of Apps selected not to use updatable production driver
// i.e. <pkg1>,<pkg2>,...,<pkgN>
- optional SettingProto game_driver_opt_out_apps = 10;
- // Game Driver - List of Apps that are forbidden to use Game Driver
- optional SettingProto game_driver_denylist = 11;
- // Game Driver - List of Apps that are allowed to use Game Driver
- optional SettingProto game_driver_allowlist = 12;
+ optional SettingProto updatable_driver_production_opt_out_apps = 10;
+ // Updatable Driver - List of Apps that are forbidden to use updatable production driver
+ optional SettingProto updatable_driver_production_denylist = 11;
+ // Updatable Driver - List of Apps that are allowed to use updatable production driver
+ optional SettingProto updatable_driver_production_allowlist = 12;
// ANGLE - List of Apps that can check ANGLE rules
optional SettingProto angle_allowlist = 13;
- // Game Driver - List of denylists, each denylist is a denylist for
- // a specific Game Driver version
- optional SettingProto game_driver_denylists = 14;
+ // Updatable Driver - List of denylists, each denylist is a denylist for
+ // a specific updatable production driver version
+ optional SettingProto updatable_driver_production_denylists = 14;
// ANGLE - Show a dialog box when ANGLE is selected for the currently running PKG
optional SettingProto show_angle_in_use_dialog = 15;
- // Game Driver - List of libraries in sphal accessible by Game Driver
- optional SettingProto game_driver_sphal_libraries = 16;
+ // Updatable Driver - List of libraries in sphal accessible by updatable driver
+ optional SettingProto updatable_driver_sphal_libraries = 16;
// ANGLE - External package containing ANGLE libraries
optional SettingProto angle_debug_package = 17;
- // Game Driver - List of Apps selected to use prerelease Game Driver
+ // Updatable Driver - List of Apps selected to use updatable prerelease driver
// i.e. <pkg1>,<pkg2>,...,<pkgN>
- optional SettingProto game_driver_prerelease_opt_in_apps = 18;
+ optional SettingProto updatable_driver_prerelease_opt_in_apps = 18;
}
optional Gpu gpu = 59;
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
index 7c198c88d5b6..779293fb2f61 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -773,29 +773,29 @@ class SettingsProtoDumpUtil {
Settings.Global.GPU_DEBUG_LAYERS_GLES,
GlobalSettingsProto.Gpu.DEBUG_LAYERS_GLES);
dumpSetting(s, p,
- Settings.Global.GAME_DRIVER_ALL_APPS,
- GlobalSettingsProto.Gpu.GAME_DRIVER_ALL_APPS);
+ Settings.Global.UPDATABLE_DRIVER_ALL_APPS,
+ GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_ALL_APPS);
dumpSetting(s, p,
- Settings.Global.GAME_DRIVER_OPT_IN_APPS,
- GlobalSettingsProto.Gpu.GAME_DRIVER_OPT_IN_APPS);
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_OPT_IN_APPS,
+ GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRODUCTION_OPT_IN_APPS);
dumpSetting(s, p,
- Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS,
- GlobalSettingsProto.Gpu.GAME_DRIVER_PRERELEASE_OPT_IN_APPS);
+ Settings.Global.UPDATABLE_DRIVER_PRERELEASE_OPT_IN_APPS,
+ GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRERELEASE_OPT_IN_APPS);
dumpSetting(s, p,
- Settings.Global.GAME_DRIVER_OPT_OUT_APPS,
- GlobalSettingsProto.Gpu.GAME_DRIVER_OPT_OUT_APPS);
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_OPT_OUT_APPS,
+ GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRODUCTION_OPT_OUT_APPS);
dumpSetting(s, p,
- Settings.Global.GAME_DRIVER_DENYLIST,
- GlobalSettingsProto.Gpu.GAME_DRIVER_DENYLIST);
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLIST,
+ GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRODUCTION_DENYLIST);
dumpSetting(s, p,
- Settings.Global.GAME_DRIVER_ALLOWLIST,
- GlobalSettingsProto.Gpu.GAME_DRIVER_ALLOWLIST);
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST,
+ GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST);
dumpSetting(s, p,
- Settings.Global.GAME_DRIVER_DENYLISTS,
- GlobalSettingsProto.Gpu.GAME_DRIVER_DENYLISTS);
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS,
+ GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS);
dumpSetting(s, p,
- Settings.Global.GAME_DRIVER_SPHAL_LIBRARIES,
- GlobalSettingsProto.Gpu.GAME_DRIVER_SPHAL_LIBRARIES);
+ Settings.Global.UPDATABLE_DRIVER_SPHAL_LIBRARIES,
+ GlobalSettingsProto.Gpu.UPDATABLE_DRIVER_SPHAL_LIBRARIES);
p.end(gpuToken);
final long hdmiToken = p.start(GlobalSettingsProto.HDMI);
diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
index d20e14e62f52..1d07734ec1fc 100644
--- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
+++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
@@ -504,14 +504,14 @@ 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_ALLOWLIST,
- Settings.Global.GAME_DRIVER_ALL_APPS,
- Settings.Global.GAME_DRIVER_OPT_IN_APPS,
- Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS,
- Settings.Global.GAME_DRIVER_OPT_OUT_APPS,
- Settings.Global.GAME_DRIVER_DENYLISTS,
- Settings.Global.GAME_DRIVER_DENYLIST,
- Settings.Global.GAME_DRIVER_ALLOWLIST,
- Settings.Global.GAME_DRIVER_SPHAL_LIBRARIES,
+ Settings.Global.UPDATABLE_DRIVER_ALL_APPS,
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_OPT_IN_APPS,
+ Settings.Global.UPDATABLE_DRIVER_PRERELEASE_OPT_IN_APPS,
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_OPT_OUT_APPS,
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS,
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLIST,
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST,
+ Settings.Global.UPDATABLE_DRIVER_SPHAL_LIBRARIES,
Settings.Global.GLOBAL_SETTINGS_SHOW_ANGLE_IN_USE_DIALOG_BOX,
Settings.Global.GPU_DEBUG_LAYER_APP,
Settings.Global.ENABLE_GNSS_RAW_MEAS_FULL_TRACKING,
diff --git a/services/core/java/com/android/server/am/CoreSettingsObserver.java b/services/core/java/com/android/server/am/CoreSettingsObserver.java
index 2661dd62ce21..4e938abb7d0d 100644
--- a/services/core/java/com/android/server/am/CoreSettingsObserver.java
+++ b/services/core/java/com/android/server/am/CoreSettingsObserver.java
@@ -100,15 +100,20 @@ final class CoreSettingsObserver extends ContentObserver {
sGlobalSettingToTypeMap.put(Settings.Global.GPU_DEBUG_LAYERS, String.class);
sGlobalSettingToTypeMap.put(Settings.Global.GPU_DEBUG_LAYERS_GLES, String.class);
sGlobalSettingToTypeMap.put(Settings.Global.GPU_DEBUG_LAYER_APP, String.class);
- sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_ALL_APPS, int.class);
- sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_OPT_IN_APPS, String.class);
+ sGlobalSettingToTypeMap.put(Settings.Global.UPDATABLE_DRIVER_ALL_APPS, int.class);
sGlobalSettingToTypeMap.put(
- Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS, String.class);
- sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_OPT_OUT_APPS, String.class);
- sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_DENYLIST, String.class);
- sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_ALLOWLIST, String.class);
- sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_DENYLISTS, String.class);
- sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_SPHAL_LIBRARIES, String.class);
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_OPT_IN_APPS, String.class);
+ sGlobalSettingToTypeMap.put(
+ Settings.Global.UPDATABLE_DRIVER_PRERELEASE_OPT_IN_APPS, String.class);
+ sGlobalSettingToTypeMap.put(
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_OPT_OUT_APPS, String.class);
+ sGlobalSettingToTypeMap.put(
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLIST, String.class);
+ sGlobalSettingToTypeMap.put(
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST, String.class);
+ sGlobalSettingToTypeMap.put(
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS, String.class);
+ sGlobalSettingToTypeMap.put(Settings.Global.UPDATABLE_DRIVER_SPHAL_LIBRARIES, String.class);
// add other global settings here...
sDeviceConfigEntries.add(new DeviceConfigEntry<Boolean>(
diff --git a/services/core/java/com/android/server/gpu/GpuService.java b/services/core/java/com/android/server/gpu/GpuService.java
index c0617ca95f9f..54794fecbf5b 100644
--- a/services/core/java/com/android/server/gpu/GpuService.java
+++ b/services/core/java/com/android/server/gpu/GpuService.java
@@ -65,7 +65,7 @@ public class GpuService extends SystemService {
private static final String PROD_DRIVER_PROPERTY = "ro.gfx.driver.0";
private static final String DEV_DRIVER_PROPERTY = "ro.gfx.driver.1";
- private static final String GAME_DRIVER_ALLOWLIST_FILENAME = "allowlist.txt";
+ private static final String UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST_FILENAME = "allowlist.txt";
private static final int BASE64_FLAGS = Base64.NO_PADDING | Base64.NO_WRAP;
private final Context mContext;
@@ -77,7 +77,7 @@ public class GpuService extends SystemService {
private final boolean mHasProdDriver;
private final boolean mHasDevDriver;
private ContentResolver mContentResolver;
- private long mGameDriverVersionCode;
+ private long mProdDriverVersionCode;
private SettingsObserver mSettingsObserver;
private DeviceConfigListener mDeviceConfigListener;
@GuardedBy("mLock")
@@ -88,7 +88,7 @@ public class GpuService extends SystemService {
mContext = context;
mProdDriverPackageName = SystemProperties.get(PROD_DRIVER_PROPERTY);
- mGameDriverVersionCode = -1;
+ mProdDriverVersionCode = -1;
mDevDriverPackageName = SystemProperties.get(DEV_DRIVER_PROPERTY);
mPackageManager = context.getPackageManager();
mHasProdDriver = !TextUtils.isEmpty(mProdDriverPackageName);
@@ -117,20 +117,20 @@ public class GpuService extends SystemService {
}
mSettingsObserver = new SettingsObserver();
mDeviceConfigListener = new DeviceConfigListener();
- fetchGameDriverPackageProperties();
+ fetchProductionDriverPackageProperties();
processDenylists();
setDenylist();
- fetchDeveloperDriverPackageProperties();
+ fetchPrereleaseDriverPackageProperties();
}
}
private final class SettingsObserver extends ContentObserver {
- private final Uri mGameDriverDenylistsUri =
- Settings.Global.getUriFor(Settings.Global.GAME_DRIVER_DENYLISTS);
+ private final Uri mProdDriverDenylistsUri =
+ Settings.Global.getUriFor(Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS);
SettingsObserver() {
super(new Handler());
- mContentResolver.registerContentObserver(mGameDriverDenylistsUri, false, this,
+ mContentResolver.registerContentObserver(mProdDriverDenylistsUri, false, this,
UserHandle.USER_ALL);
}
@@ -140,7 +140,7 @@ public class GpuService extends SystemService {
return;
}
- if (mGameDriverDenylistsUri.equals(uri)) {
+ if (mProdDriverDenylistsUri.equals(uri)) {
processDenylists();
setDenylist();
}
@@ -157,9 +157,11 @@ public class GpuService extends SystemService {
@Override
public void onPropertiesChanged(Properties properties) {
synchronized (mDeviceConfigLock) {
- if (properties.getKeyset().contains(Settings.Global.GAME_DRIVER_DENYLISTS)) {
+ if (properties.getKeyset().contains(
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS)) {
parseDenylists(
- properties.getString(Settings.Global.GAME_DRIVER_DENYLISTS, ""));
+ properties.getString(
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS, ""));
setDenylist();
}
}
@@ -186,10 +188,10 @@ public class GpuService extends SystemService {
case ACTION_PACKAGE_CHANGED:
case ACTION_PACKAGE_REMOVED:
if (isProdDriver) {
- fetchGameDriverPackageProperties();
+ fetchProductionDriverPackageProperties();
setDenylist();
} else if (isDevDriver) {
- fetchDeveloperDriverPackageProperties();
+ fetchPrereleaseDriverPackageProperties();
}
break;
default:
@@ -218,7 +220,7 @@ public class GpuService extends SystemService {
}
}
- private void fetchGameDriverPackageProperties() {
+ private void fetchProductionDriverPackageProperties() {
final ApplicationInfo driverInfo;
try {
driverInfo = mPackageManager.getApplicationInfo(mProdDriverPackageName,
@@ -241,15 +243,16 @@ public class GpuService extends SystemService {
// Reset the allowlist.
Settings.Global.putString(mContentResolver,
- Settings.Global.GAME_DRIVER_ALLOWLIST, "");
- mGameDriverVersionCode = driverInfo.longVersionCode;
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST, "");
+ mProdDriverVersionCode = driverInfo.longVersionCode;
try {
final Context driverContext = mContext.createPackageContext(mProdDriverPackageName,
Context.CONTEXT_RESTRICTED);
- assetToSettingsGlobal(mContext, driverContext, GAME_DRIVER_ALLOWLIST_FILENAME,
- Settings.Global.GAME_DRIVER_ALLOWLIST, ",");
+ assetToSettingsGlobal(mContext, driverContext,
+ UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST_FILENAME,
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST, ",");
} catch (PackageManager.NameNotFoundException e) {
if (DEBUG) {
Slog.w(TAG, "driver package '" + mProdDriverPackageName + "' not installed");
@@ -259,11 +262,11 @@ public class GpuService extends SystemService {
private void processDenylists() {
String base64String = DeviceConfig.getProperty(DeviceConfig.NAMESPACE_GAME_DRIVER,
- Settings.Global.GAME_DRIVER_DENYLISTS);
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS);
if (base64String == null) {
base64String =
Settings.Global.getString(mContentResolver,
- Settings.Global.GAME_DRIVER_DENYLISTS);
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLISTS);
}
parseDenylists(base64String != null ? base64String : "");
}
@@ -288,16 +291,16 @@ public class GpuService extends SystemService {
private void setDenylist() {
Settings.Global.putString(mContentResolver,
- Settings.Global.GAME_DRIVER_DENYLIST, "");
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLIST, "");
synchronized (mLock) {
if (mDenylists == null) {
return;
}
List<Denylist> denylists = mDenylists.getDenylistsList();
for (Denylist denylist : denylists) {
- if (denylist.getVersionCode() == mGameDriverVersionCode) {
+ if (denylist.getVersionCode() == mProdDriverVersionCode) {
Settings.Global.putString(mContentResolver,
- Settings.Global.GAME_DRIVER_DENYLIST,
+ Settings.Global.UPDATABLE_DRIVER_PRODUCTION_DENYLIST,
String.join(",", denylist.getPackageNamesList()));
return;
}
@@ -305,7 +308,7 @@ public class GpuService extends SystemService {
}
}
- private void fetchDeveloperDriverPackageProperties() {
+ private void fetchPrereleaseDriverPackageProperties() {
final ApplicationInfo driverInfo;
try {
driverInfo = mPackageManager.getApplicationInfo(mDevDriverPackageName,