summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Valerie Hau <vhau@google.com> 2020-01-21 22:20:04 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-01-21 22:20:04 +0000
commit2eb5cc7bf90dd1ec3e4cd6b0be910672d7497ea3 (patch)
treee015518fa8207114053733df55c3c2eda79ad9bf
parent4c6d7145396c7e37f61f7ccdf744b0f4ede7fc4c (diff)
parenteeef1a9baa0053a13b5e4c3a5f4a47b0993daf69 (diff)
Merge "Adding WINDOW_MANAGER_NATIVE_BOOT and window_manager_use_blast_adapter flags"
-rwxr-xr-xapi/system-current.txt1
-rw-r--r--core/java/android/provider/DeviceConfig.java9
-rw-r--r--core/java/android/view/WindowManagerGlobal.java8
-rw-r--r--services/core/java/com/android/server/am/SettingsToPropertiesMapper.java1
4 files changed, 18 insertions, 1 deletions
diff --git a/api/system-current.txt b/api/system-current.txt
index f95f715110a4..3909ca249caa 100755
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -8472,6 +8472,7 @@ package android.provider {
field public static final String NAMESPACE_SYSTEMUI = "systemui";
field public static final String NAMESPACE_TELEPHONY = "telephony";
field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
+ field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
}
public static class DeviceConfig.BadConfigException extends java.lang.Exception {
diff --git a/core/java/android/provider/DeviceConfig.java b/core/java/android/provider/DeviceConfig.java
index 53f46158238e..84ceca0c3622 100644
--- a/core/java/android/provider/DeviceConfig.java
+++ b/core/java/android/provider/DeviceConfig.java
@@ -333,6 +333,15 @@ public final class DeviceConfig {
public static final String NAMESPACE_WINDOW_MANAGER = "window_manager";
/**
+ * Namespace for window manager features accessible by native code and
+ * loaded once per boot.
+ *
+ * @hide
+ */
+ @SystemApi
+ public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
+
+ /**
* List of namespaces which can be read without READ_DEVICE_CONFIG permission
*
* @hide
diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java
index ccfbd7e5c1dc..d39c3c0a5cc6 100644
--- a/core/java/android/view/WindowManagerGlobal.java
+++ b/core/java/android/view/WindowManagerGlobal.java
@@ -29,6 +29,7 @@ import android.os.IBinder;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemProperties;
+import android.provider.DeviceConfig;
import android.util.AndroidRuntimeException;
import android.util.ArraySet;
import android.util.Log;
@@ -56,11 +57,16 @@ import java.util.ArrayList;
public final class WindowManagerGlobal {
private static final String TAG = "WindowManager";
+ private static final String WM_USE_BLAST_ADAPTER_FLAG = "wm_use_blast_adapter";
+
/**
* This flag controls whether ViewRootImpl will utilize the Blast Adapter
* to send buffer updates to SurfaceFlinger
*/
- public static final boolean USE_BLAST_ADAPTER = false;
+ public static final boolean USE_BLAST_ADAPTER =
+ SystemProperties.getBoolean(String.join(".", "persist.device_config",
+ DeviceConfig.NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT,
+ WM_USE_BLAST_ADAPTER_FLAG), false);
/**
* The user is navigating with keys (not the touch screen), so
diff --git a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java
index 4a6e63f2d2ab..0a8e70c7d772 100644
--- a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java
+++ b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java
@@ -87,6 +87,7 @@ public class SettingsToPropertiesMapper {
DeviceConfig.NAMESPACE_RUNTIME_NATIVE,
DeviceConfig.NAMESPACE_RUNTIME_NATIVE_BOOT,
DeviceConfig.NAMESPACE_STORAGE_NATIVE_BOOT,
+ DeviceConfig.NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT,
};
private final String[] mGlobalSettings;