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

Commit 8915167a authored by John Reck's avatar John Reck
Browse files

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
parent d86369ae
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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);
+0 −6
Original line number Diff line number Diff line
@@ -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))));

+0 −6
Original line number Diff line number Diff line
@@ -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;
+0 −9
Original line number Diff line number Diff line
@@ -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;
    }