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
diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java
index 3d3d5dc..3bae4b8 100644
--- a/core/java/android/view/ThreadedRenderer.java
+++ b/core/java/android/view/ThreadedRenderer.java
@@ -177,7 +177,7 @@
      * 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 e71c7ed..055e2e8 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -1191,7 +1191,7 @@
 
         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 19f509c..56d1821 100644
--- a/libs/hwui/Properties.cpp
+++ b/libs/hwui/Properties.cpp
@@ -58,8 +58,6 @@
 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 @@
 
     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 3e91c63..22e15c7 100644
--- a/libs/hwui/Properties.h
+++ b/libs/hwui/Properties.h
@@ -163,10 +163,6 @@
  */
 #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 @@
     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 f9de002..982c087 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -191,15 +191,6 @@
     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;
     }