From 892c5c8b7a148b1428f21d6551b4af14e5628adf Mon Sep 17 00:00:00 2001 From: Cameron Mace Date: Wed, 21 Mar 2018 14:56:21 -0400 Subject: [PATCH 1/2] Fixes fill animation path --- spark/src/main/java/com/robinhood/spark/SparkView.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/spark/src/main/java/com/robinhood/spark/SparkView.java b/spark/src/main/java/com/robinhood/spark/SparkView.java index ac8935b..4752a99 100644 --- a/spark/src/main/java/com/robinhood/spark/SparkView.java +++ b/spark/src/main/java/com/robinhood/spark/SparkView.java @@ -351,10 +351,13 @@ public Path getSparkLinePath() { /** * Set the path to animate in onDraw, used for getAnimation purposes */ - public void setAnimationPath(@NonNull Path animationPath) { + public void setAnimationPath(@NonNull final Path animationPath) { + float fillY = getFillEdge() != null ? getFillEdge() : 0; + this.renderPath.reset(); this.renderPath.addPath(animationPath); - this.renderPath.rLineTo(0, 0); + this.renderPath.rLineTo(0, fillType == FillType.UP ? -getHeight(): fillY); + this.renderPath.lineTo(0, fillY); invalidate(); } From dc756358561b1effdffe69cdd27954beb7e3f64d Mon Sep 17 00:00:00 2001 From: Cameron Mace Date: Wed, 4 Apr 2018 15:10:48 -0400 Subject: [PATCH 2/2] fixed line drawing from coordinate 0 when fill isn't enabled --- spark/src/main/java/com/robinhood/spark/SparkView.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spark/src/main/java/com/robinhood/spark/SparkView.java b/spark/src/main/java/com/robinhood/spark/SparkView.java index 4752a99..9176030 100644 --- a/spark/src/main/java/com/robinhood/spark/SparkView.java +++ b/spark/src/main/java/com/robinhood/spark/SparkView.java @@ -356,8 +356,10 @@ public void setAnimationPath(@NonNull final Path animationPath) { this.renderPath.reset(); this.renderPath.addPath(animationPath); - this.renderPath.rLineTo(0, fillType == FillType.UP ? -getHeight(): fillY); - this.renderPath.lineTo(0, fillY); + this.renderPath.rLineTo(0, fillType == FillType.UP ? -getHeight() : fillY); + if (fillType != FillType.NONE) { + this.renderPath.lineTo(0, fillY); + } invalidate(); }