diff options
-rwxr-xr-x | api/system-current.txt | 1 | ||||
-rw-r--r-- | core/java/android/provider/DeviceConfig.java | 9 | ||||
-rw-r--r-- | core/java/android/view/WindowManagerGlobal.java | 8 | ||||
-rw-r--r-- | services/core/java/com/android/server/am/SettingsToPropertiesMapper.java | 1 |
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; |