Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eeef1a9b authored by Valerie Hau's avatar Valerie Hau
Browse files

Adding WINDOW_MANAGER_NATIVE_BOOT and window_manager_use_blast_adapter flags

For ViewRootImpl on BLAST experiment, setting up namespace and flag to
turn on Blast adapter through P/H experiment

Bug: 147096935
Test: build, boot, adb shell device_config put
window_manager_native_boot wm_use_blast_adapter true/false
check that BLAST adapter is turned on/off as expected
Change-Id: Ie1b158721ac9b751fcf3954310259f14486d3bb8
parent 1ea91ab3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7877,6 +7877,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 {
+9 −0
Original line number Diff line number Diff line
@@ -332,6 +332,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
     *
+7 −1
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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;