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:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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))));
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user