From 8915167a889a96292f1ef7885cf723c869440eb4 Mon Sep 17 00:00:00 2001 From: John Reck Date: Thu, 25 Apr 2019 10:59:23 -0700 Subject: [PATCH] Fix some force_dark prop behaviors * Make it persist.hwui.force_dark so the dev option survices reboots. * Remove the internal super-override behavior it applied using only the intended ViewRootImpl theme-aware behavior. Fixes: 127350499 Fixes: 130354206 Test: set dev option, verified nothing went dark. Set dark theme, verified non-dark apps were force-darked. Rebooted and verified property still set. Change-Id: I43adcbc25320669510fb03b162c98cbd14612f55 --- core/java/android/view/ThreadedRenderer.java | 2 +- core/java/android/view/ViewRootImpl.java | 2 +- libs/hwui/Properties.cpp | 6 ------ libs/hwui/Properties.h | 6 ------ libs/hwui/renderthread/CanvasContext.h | 9 --------- 5 files changed, 2 insertions(+), 23 deletions(-) diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java index 3d3d5dc7db325..3bae4b8553743 100644 --- a/core/java/android/view/ThreadedRenderer.java +++ b/core/java/android/view/ThreadedRenderer.java @@ -177,7 +177,7 @@ public final class ThreadedRenderer extends HardwareRenderer { * Forces smart-dark to be always on. * @hide */ - public static final String DEBUG_FORCE_DARK = "debug.hwui.force_dark"; + public static final String DEBUG_FORCE_DARK = "persist.hwui.force_dark"; public static int EGL_CONTEXT_PRIORITY_HIGH_IMG = 0x3101; public static int EGL_CONTEXT_PRIORITY_MEDIUM_IMG = 0x3102; diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index e71c7edc0a534..055e2e8351831 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1191,7 +1191,7 @@ public final class ViewRootImpl implements ViewParent, if (useAutoDark) { boolean forceDarkAllowedDefault = - SystemProperties.getBoolean("debug.hwui.force_dark", false); + SystemProperties.getBoolean(ThreadedRenderer.DEBUG_FORCE_DARK, false); TypedArray a = mContext.obtainStyledAttributes(R.styleable.Theme); useAutoDark = a.getBoolean(R.styleable.Theme_isLightTheme, true) && a.getBoolean(R.styleable.Theme_forceDarkAllowed, forceDarkAllowedDefault); diff --git a/libs/hwui/Properties.cpp b/libs/hwui/Properties.cpp index 19f509ce8fd78..56d18217e2f13 100644 --- a/libs/hwui/Properties.cpp +++ b/libs/hwui/Properties.cpp @@ -58,8 +58,6 @@ bool Properties::forceDrawFrame = false; bool Properties::filterOutTestOverhead = false; bool Properties::disableVsync = false; bool Properties::skpCaptureEnabled = false; -bool Properties::forceDarkMode = false; -bool Properties::enableForceDarkSupport = true; bool Properties::enableRTAnimations = true; bool Properties::runningInEmulator = false; @@ -126,10 +124,6 @@ bool Properties::load() { runningInEmulator = property_get_bool(PROPERTY_QEMU_KERNEL, false); - forceDarkMode = property_get_bool(PROPERTY_FORCE_DARK, false); - - enableForceDarkSupport = property_get_bool(PROPERTY_ENABLE_FORCE_DARK, true); - defaultRenderAhead = std::max(-1, std::min(2, property_get_int(PROPERTY_RENDERAHEAD, render_ahead().value_or(0)))); diff --git a/libs/hwui/Properties.h b/libs/hwui/Properties.h index 3e91c63fcbde8..22e15c7e6424c 100644 --- a/libs/hwui/Properties.h +++ b/libs/hwui/Properties.h @@ -163,10 +163,6 @@ enum DebugLevel { */ #define PROPERTY_QEMU_KERNEL "ro.kernel.qemu" -#define PROPERTY_FORCE_DARK "debug.hwui.force_dark" - -#define PROPERTY_ENABLE_FORCE_DARK "debug.hwui.force_dark_enabled" - #define PROPERTY_RENDERAHEAD "debug.hwui.render_ahead" /////////////////////////////////////////////////////////////////////////////// @@ -237,8 +233,6 @@ public: static bool disableVsync; static bool skpCaptureEnabled; - static bool forceDarkMode; - static bool enableForceDarkSupport; // For experimentation b/68769804 ANDROID_API static bool enableRTAnimations; diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h index f9de00288e65f..982c087b031a5 100644 --- a/libs/hwui/renderthread/CanvasContext.h +++ b/libs/hwui/renderthread/CanvasContext.h @@ -191,15 +191,6 @@ public: void setForceDark(bool enable) { mUseForceDark = enable; } bool useForceDark() { - // The force-dark override has the highest priority, followed by the disable setting - // for the feature as a whole, followed last by whether or not this context has had - // force dark set (typically automatically done via UIMode) - if (Properties::forceDarkMode) { - return true; - } - if (!Properties::enableForceDarkSupport) { - return false; - } return mUseForceDark; }