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
This commit is contained in:
John Reck
2019-04-25 10:59:23 -07:00
parent d86369ae3e
commit 8915167a88
5 changed files with 2 additions and 23 deletions

View File

@@ -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;

View File

@@ -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);

View File

@@ -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))));

View File

@@ -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;

View File

@@ -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;
}