From be4d4fa3dfb01af46229777e5da9bb94c00d9633 Mon Sep 17 00:00:00 2001 From: Diego Perez Date: Thu, 2 Feb 2017 10:32:03 +0000 Subject: [PATCH] NopCanvas is only hw accelerated during construction During construction, we want to make NopCanvas as light as possible so we just say that we are hw accelerated. This caused some crashes further down the line for some views that thought that NopCanvas was hw accelerated. From now on, NopCanvas is only hw accelerated during construction. Test: Covered by the existing tests Change-Id: If09a662312e5c90d011e7ab2cbb524ef7b420d12 --- .../layoutlib/bridge/android/graphics/NopCanvas.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/graphics/NopCanvas.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/graphics/NopCanvas.java index 2b4661b082104..3112a0d5da1d1 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/graphics/NopCanvas.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/graphics/NopCanvas.java @@ -31,14 +31,18 @@ import android.graphics.RectF; * Canvas implementation that does not do any rendering */ public class NopCanvas extends Canvas { + private boolean mIsHardwareAccelerated = true; + public NopCanvas() { super(); + // We return true the first time so there are no allocations for the software renderer in + // the constructor + mIsHardwareAccelerated = false; } @Override public boolean isHardwareAccelerated() { - // Return true so there is no allocations for the software renderer in the constructor - return true; + return mIsHardwareAccelerated; } @Override