From 03f3ff20bfa173cd88fda80e16705501a7e34508 Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Thu, 14 Feb 2019 10:43:42 -0800 Subject: [PATCH] Game Driver: Add a Settings.Global property for sphal libraries This change add the GAME_DRIVER_SPHAL_LIBRARIES property to save the list of sphal libraries assessible to Game Driver. Bug: 124448366 Test: Build, flash and boot. Change-Id: I7cb06df80f19d87f5fd13d7df3c991ceb5bdfb06 --- core/java/android/provider/Settings.java | 8 ++++++++ core/proto/android/providers/settings/global.proto | 2 ++ .../src/android/provider/SettingsBackupTest.java | 1 + .../android/providers/settings/SettingsProtoDumpUtil.java | 3 +++ .../java/com/android/server/am/CoreSettingsObserver.java | 1 + 5 files changed, 15 insertions(+) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index d925d7ee26768..5d298bf29bd50 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -12392,6 +12392,14 @@ public final class Settings { */ public static final String GAME_DRIVER_WHITELIST = "game_driver_whitelist"; + /** + * List of libraries in sphal accessible by Game Driver + * The string is a list of library names, separated by colon. + * i.e. ::...: + * @hide + */ + public static final String GAME_DRIVER_SPHAL_LIBRARIES = "game_driver_sphal_libraries"; + /** * Ordered GPU debug layer list for Vulkan * i.e. ::...: diff --git a/core/proto/android/providers/settings/global.proto b/core/proto/android/providers/settings/global.proto index c9957f369473c..cccb40d51722b 100644 --- a/core/proto/android/providers/settings/global.proto +++ b/core/proto/android/providers/settings/global.proto @@ -453,6 +453,8 @@ message GlobalSettingsProto { optional SettingProto game_driver_blacklists = 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; } optional Gpu gpu = 59; diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java index c57b609023ca3..bb5e8dfa86200 100644 --- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java +++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java @@ -494,6 +494,7 @@ public class SettingsBackupTest { Settings.Global.GAME_DRIVER_BLACKLISTS, Settings.Global.GAME_DRIVER_BLACKLIST, Settings.Global.GAME_DRIVER_WHITELIST, + Settings.Global.GAME_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/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index db4b131a0f6fd..81b304dc2ce43 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -724,6 +724,9 @@ class SettingsProtoDumpUtil { dumpSetting(s, p, Settings.Global.GAME_DRIVER_BLACKLISTS, GlobalSettingsProto.Gpu.GAME_DRIVER_BLACKLISTS); + dumpSetting(s, p, + Settings.Global.GAME_DRIVER_SPHAL_LIBRARIES, + GlobalSettingsProto.Gpu.GAME_DRIVER_SPHAL_LIBRARIES); p.end(gpuToken); final long hdmiToken = p.start(GlobalSettingsProto.HDMI); diff --git a/services/core/java/com/android/server/am/CoreSettingsObserver.java b/services/core/java/com/android/server/am/CoreSettingsObserver.java index 8ffb67a1405c3..06d0152340113 100644 --- a/services/core/java/com/android/server/am/CoreSettingsObserver.java +++ b/services/core/java/com/android/server/am/CoreSettingsObserver.java @@ -79,6 +79,7 @@ final class CoreSettingsObserver extends ContentObserver { sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_BLACKLIST, String.class); sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_WHITELIST, String.class); sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_BLACKLISTS, String.class); + sGlobalSettingToTypeMap.put(Settings.Global.GAME_DRIVER_SPHAL_LIBRARIES, String.class); // add other global settings here... }