diff options
-rw-r--r-- | libs/hwui/Properties.cpp | 20 | ||||
-rw-r--r-- | libs/hwui/Properties.h | 7 |
2 files changed, 12 insertions, 15 deletions
diff --git a/libs/hwui/Properties.cpp b/libs/hwui/Properties.cpp index 18fab8ee5f92..c804418e8380 100644 --- a/libs/hwui/Properties.cpp +++ b/libs/hwui/Properties.cpp @@ -88,8 +88,7 @@ bool Properties::enableWebViewOverlays = false; StretchEffectBehavior Properties::stretchEffectBehavior = StretchEffectBehavior::ShaderHWUI; -bool Properties::drawingEnabled = true; -OverrideDrawingEnabled Properties::overrideDrawingEnabled = OverrideDrawingEnabled::Default; +DrawingEnabled Properties::drawingEnabled = DrawingEnabled::NotInitialized; bool Properties::load() { bool prevDebugLayersUpdates = debugLayersUpdates; @@ -144,10 +143,8 @@ bool Properties::load() { enableWebViewOverlays = base::GetBoolProperty(PROPERTY_WEBVIEW_OVERLAYS_ENABLED, false); - drawingEnabled = base::GetBoolProperty(PROPERTY_DRAWING_ENABLED, true); - if (!drawingEnabled) { - enableRTAnimations = false; - } + // call isDrawingEnabled to force loading of the property + isDrawingEnabled(); return (prevDebugLayersUpdates != debugLayersUpdates) || (prevDebugOverdraw != debugOverdraw); } @@ -219,16 +216,17 @@ void Properties::overrideRenderPipelineType(RenderPipelineType type, bool inUnit } void Properties::setDrawingEnabled(bool newDrawingEnabled) { - overrideDrawingEnabled = - newDrawingEnabled ? OverrideDrawingEnabled::On : OverrideDrawingEnabled::Off; + drawingEnabled = newDrawingEnabled ? DrawingEnabled::On : DrawingEnabled::Off; enableRTAnimations = newDrawingEnabled; } bool Properties::isDrawingEnabled() { - if (overrideDrawingEnabled == OverrideDrawingEnabled::Default) { - return drawingEnabled; + if (drawingEnabled == DrawingEnabled::NotInitialized) { + bool drawingEnabledProp = base::GetBoolProperty(PROPERTY_DRAWING_ENABLED, true); + drawingEnabled = drawingEnabledProp ? DrawingEnabled::On : DrawingEnabled::Off; + enableRTAnimations = drawingEnabledProp; } - return overrideDrawingEnabled == OverrideDrawingEnabled::On; + return drawingEnabled == DrawingEnabled::On; } } // namespace uirenderer diff --git a/libs/hwui/Properties.h b/libs/hwui/Properties.h index 73fccb67800b..7f9782bf8d20 100644 --- a/libs/hwui/Properties.h +++ b/libs/hwui/Properties.h @@ -214,7 +214,7 @@ enum class StretchEffectBehavior { UniformScale // Uniform scale stretch everywhere }; -enum class OverrideDrawingEnabled { Default, On, Off }; +enum class DrawingEnabled { NotInitialized, On, Off }; /** * Renderthread-only singleton which manages several static rendering properties. Most of these @@ -309,9 +309,8 @@ public: stretchEffectBehavior = behavior; } - // Represents if GL drawing is enabled. Should only be false in headless testing environments - static bool drawingEnabled; - static OverrideDrawingEnabled overrideDrawingEnabled; + // Represents if drawing is enabled. Should only be Off in headless testing environments + static DrawingEnabled drawingEnabled; static bool isDrawingEnabled(); static void setDrawingEnabled(bool enable); |