From 8e0420fc2d2f5ab58f967a28c03b1dd75bdc5f6e Mon Sep 17 00:00:00 2001 From: Mikael Sand Date: Sat, 25 Aug 2018 01:06:45 +0300 Subject: [PATCH] [android] Fix caching of text --- .../src/main/java/com/horcrux/svg/TSpanShadowNode.java | 1 + android/src/main/java/com/horcrux/svg/TextShadowNode.java | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/horcrux/svg/TSpanShadowNode.java b/android/src/main/java/com/horcrux/svg/TSpanShadowNode.java index ac2ad1ca..b89381dd 100644 --- a/android/src/main/java/com/horcrux/svg/TSpanShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/TSpanShadowNode.java @@ -65,6 +65,7 @@ class TSpanShadowNode extends TextShadowNode { @Override protected void releaseCachedPath() { mCache = null; + mPath = null; } @Override diff --git a/android/src/main/java/com/horcrux/svg/TextShadowNode.java b/android/src/main/java/com/horcrux/svg/TextShadowNode.java index 5024136e..d41ded01 100644 --- a/android/src/main/java/com/horcrux/svg/TextShadowNode.java +++ b/android/src/main/java/com/horcrux/svg/TextShadowNode.java @@ -35,6 +35,12 @@ class TextShadowNode extends GroupShadowNode { private @Nullable ReadableArray mDeltaX; private @Nullable ReadableArray mDeltaY; + @Override + public void markUpdated() { + super.markUpdated(); + releaseCachedPath(); + } + @ReactProp(name = "textLength") public void setTextLength(@Nullable String length) { mTextLength = length; @@ -124,7 +130,6 @@ class TextShadowNode extends GroupShadowNode { clip(canvas, paint); getGroupPath(canvas, paint); drawGroup(canvas, paint, opacity); - releaseCachedPath(); } } @@ -132,7 +137,6 @@ class TextShadowNode extends GroupShadowNode { protected Path getPath(Canvas canvas, Paint paint) { setupGlyphContext(canvas); Path groupPath = getGroupPath(canvas, paint); - releaseCachedPath(); return groupPath; }