summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yiwei Zhang <zzyiwei@google.com> 2019-01-10 10:23:09 +0800
committer Yiwei Zhang <zzyiwei@google.com> 2019-04-17 15:54:48 -0700
commit79c5356a076335b5b2fba524f5ecead20a7580a0 (patch)
tree6cb00564100b0d21e2fe0166f56c77eb297403c4
parenta35e865b97b0da2f4a63f58b833ad6bf3d863907 (diff)
GUP: Add a global property for genreal preference
This change also fixes typos and adds some missing comments Bug: 119221883 Test: Build, flash and boot, verify with prototype Change-Id: Ida976c4fb3d4af5ffc1d9b977f00fa9c7239a434 Merged-In: Ida976c4fb3d4af5ffc1d9b977f00fa9c7239a434
-rw-r--r--core/java/android/os/GraphicsEnvironment.java33
-rw-r--r--core/java/android/provider/Settings.java19
-rw-r--r--core/proto/android/providers/settings/global.proto19
-rw-r--r--core/tests/coretests/src/android/provider/SettingsBackupTest.java3
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java7
-rw-r--r--services/core/java/com/android/server/am/CoreSettingsObserver.java3
6 files changed, 61 insertions, 23 deletions
diff --git a/core/java/android/os/GraphicsEnvironment.java b/core/java/android/os/GraphicsEnvironment.java
index f09cf3fbec1e..619610e1aa58 100644
--- a/core/java/android/os/GraphicsEnvironment.java
+++ b/core/java/android/os/GraphicsEnvironment.java
@@ -170,21 +170,36 @@ public class GraphicsEnvironment {
return;
}
- if (getGlobalSettingsString(coreSettings, Settings.Global.GUP_DEV_OPT_OUT_APPS)
- .contains(ai.packageName)) {
+ // GUP_DEV_ALL_APPS
+ // 0: Default (Invalid values fallback to default as well)
+ // 1: All apps use Game Update Package
+ // 2: All apps use system graphics driver
+ int gupDevAllApps = coreSettings.getInt(Settings.Global.GUP_DEV_ALL_APPS, 0);
+ if (gupDevAllApps == 2) {
if (DEBUG) {
- Log.w(TAG, ai.packageName + " opts out from GUP.");
+ Log.w(TAG, "GUP is turned off on this device");
}
return;
}
- if (!getGlobalSettingsString(coreSettings, Settings.Global.GUP_DEV_OPT_IN_APPS)
- .contains(ai.packageName)
- && !onWhitelist(context, driverPackageName, ai.packageName)) {
- if (DEBUG) {
- Log.w(TAG, ai.packageName + " is not on the whitelist.");
+ 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)
+ .contains(ai.packageName)) {
+ if (DEBUG) {
+ Log.w(TAG, ai.packageName + " opts out from GUP.");
+ }
+ return;
+ }
+
+ if (!getGlobalSettingsString(coreSettings, Settings.Global.GUP_DEV_OPT_IN_APPS)
+ .contains(ai.packageName)
+ && !onWhitelist(context, driverPackageName, ai.packageName)) {
+ if (DEBUG) {
+ Log.w(TAG, ai.packageName + " is not on the whitelist.");
+ }
+ return;
}
- return;
}
ApplicationInfo driverInfo;
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 9118c91d5ccd..ae22b07a2db9 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -11446,22 +11446,33 @@ public final class Settings {
public static final String GPU_DEBUG_APP = "gpu_debug_app";
/**
- * List of Apps selected to use Game Update Packages.
+ * Game Update Package global preference for all Apps.
+ * 0 = Default
+ * 1 = All Apps use Game Update Package
+ * 2 = All Apps use system graphics driver
+ * @hide
+ */
+ public static final String GUP_DEV_ALL_APPS = "gup_dev_all_apps";
+
+ /**
+ * List of Apps selected to use Game Update Package.
+ * i.e. <pkg1>,<pkg2>,...,<pkgN>
* @hide
*/
public static final String GUP_DEV_OPT_IN_APPS = "gup_dev_opt_in_apps";
/**
- * List of Apps selected not to use Game Update Packages.
+ * List of Apps selected not to use Game Update Package.
+ * i.e. <pkg1>,<pkg2>,...,<pkgN>
* @hide
*/
public static final String GUP_DEV_OPT_OUT_APPS = "gup_dev_opt_out_apps";
/**
- * Apps on the black list that are forbidden to useGame Update Package.
+ * Apps on the blacklist that are forbidden to use Game Update Package.
* @hide
*/
- public static final String GUP_BLACK_LIST = "gup_black_list";
+ public static final String GUP_BLACKLIST = "gup_blacklist";
/**
* Ordered GPU debug layer list
diff --git a/core/proto/android/providers/settings/global.proto b/core/proto/android/providers/settings/global.proto
index 187d5d645dfd..a7d9fc5ccfae 100644
--- a/core/proto/android/providers/settings/global.proto
+++ b/core/proto/android/providers/settings/global.proto
@@ -384,12 +384,19 @@ message GlobalSettingsProto {
// App allowed to load GPU debug layers.
optional SettingProto debug_app = 1;
optional SettingProto debug_layers = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
- // GUP - List of Apps selected to use Game Update Packages
- optional SettingProto gup_dev_opt_in_apps = 8;
- // GUP - List of Apps selected not to use Game Update Packages
- optional SettingProto gup_dev_opt_out_apps = 9;
- // GUP - List of Apps that are forbidden to use Game Update Packages
- optional SettingProto gup_black_list = 10;
+ // GUP - Game Update Package global preference for all Apps
+ // 0 = Default
+ // 1 = All Apps use Game Update Package
+ // 2 = All Apps use system graphics driver
+ optional SettingProto gup_dev_all_apps = 8;
+ // GUP - List of Apps selected to use Game Update Package
+ // i.e. <pkg1>,<pkg2>,...,<pkgN>
+ optional SettingProto gup_dev_opt_in_apps = 9;
+ // GUP - List of Apps selected not to use Game Update Package
+ // 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;
}
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 d17fbd9590bd..e84f4be4aba0 100644
--- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java
+++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
@@ -444,9 +444,10 @@ public class SettingsBackupTest {
Settings.Global.ENABLE_GPU_DEBUG_LAYERS,
Settings.Global.GPU_DEBUG_APP,
Settings.Global.GPU_DEBUG_LAYERS,
+ Settings.Global.GUP_DEV_ALL_APPS,
Settings.Global.GUP_DEV_OPT_IN_APPS,
Settings.Global.GUP_DEV_OPT_OUT_APPS,
- Settings.Global.GUP_BLACK_LIST,
+ Settings.Global.GUP_BLACKLIST,
Settings.Global.ENABLE_GNSS_RAW_MEAS_FULL_TRACKING,
Settings.Global.INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT,
Settings.Global.INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS,
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
index eca009003dd0..9559b7c41e37 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -648,14 +648,17 @@ class SettingsProtoDumpUtil {
Settings.Global.GPU_DEBUG_LAYERS,
GlobalSettingsProto.Gpu.DEBUG_LAYERS);
dumpSetting(s, p,
+ Settings.Global.GUP_DEV_ALL_APPS,
+ GlobalSettingsProto.Gpu.GUP_DEV_ALL_APPS);
+ dumpSetting(s, p,
Settings.Global.GUP_DEV_OPT_IN_APPS,
GlobalSettingsProto.Gpu.GUP_DEV_OPT_IN_APPS);
dumpSetting(s, p,
Settings.Global.GUP_DEV_OPT_OUT_APPS,
GlobalSettingsProto.Gpu.GUP_DEV_OPT_OUT_APPS);
dumpSetting(s, p,
- Settings.Global.GUP_BLACK_LIST,
- GlobalSettingsProto.Gpu.GUP_BLACK_LIST);
+ Settings.Global.GUP_BLACKLIST,
+ GlobalSettingsProto.Gpu.GUP_BLACKLIST);
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 0dc80ce05f4a..4172c9534dbe 100644
--- a/services/core/java/com/android/server/am/CoreSettingsObserver.java
+++ b/services/core/java/com/android/server/am/CoreSettingsObserver.java
@@ -55,9 +55,10 @@ final class CoreSettingsObserver extends ContentObserver {
// add other system settings here...
sGlobalSettingToTypeMap.put(Settings.Global.DEBUG_VIEW_ATTRIBUTES, int.class);
+ sGlobalSettingToTypeMap.put(Settings.Global.GUP_DEV_ALL_APPS, int.class);
sGlobalSettingToTypeMap.put(Settings.Global.GUP_DEV_OPT_IN_APPS, String.class);
sGlobalSettingToTypeMap.put(Settings.Global.GUP_DEV_OPT_OUT_APPS, String.class);
- sGlobalSettingToTypeMap.put(Settings.Global.GUP_BLACK_LIST, String.class);
+ sGlobalSettingToTypeMap.put(Settings.Global.GUP_BLACKLIST, String.class);
// add other global settings here...
}