@@ -110,26 +110,24 @@ open class LineChartRenderer(
110110 cubicPath.reset()
111111
112112 if (xBounds.range >= 1 ) {
113- var prev = dataSet.getEntryForIndex(xBounds.min)
114- val cur = prev
113+ var prev = dataSet.getEntryForIndex(xBounds.min)!!
114+ var cur = prev
115115
116- cur?.let {
117- // let the spline start
118- cubicPath.moveTo(it.x, it.y * phaseY)
116+ // let the spline start
117+ cubicPath.moveTo(cur.x, cur.y * phaseY)
119118
120- for (j in xBounds.min + 1 .. xBounds.range + xBounds.min) {
121- prev = it
122- dataSet.getEntryForIndex(j)?. let { cur ->
119+ for (j in xBounds.min + 1 .. xBounds.range + xBounds.min) {
120+ prev = cur
121+ cur = dataSet.getEntryForIndex(j)!!
123122
124- val cpx = ((prev.x) + (cur.x - prev.x) / 2.0f )
123+ val cpx = ((prev.x)
124+ + (cur.x - prev.x) / 2.0f )
125125
126- cubicPath.cubicTo(
127- cpx, prev.y * phaseY,
128- cpx, cur.y * phaseY,
129- cur.x, cur.y * phaseY
130- )
131- }
132- }
126+ cubicPath.cubicTo(
127+ cpx, prev.y * phaseY,
128+ cpx, cur.y * phaseY,
129+ cur.x, cur.y * phaseY
130+ )
133131 }
134132 }
135133
@@ -181,29 +179,29 @@ open class LineChartRenderer(
181179 var next = cur
182180 var nextIndex = - 1
183181
184- cur?.let {
185- // let the spline start
186- cubicPath.moveTo(it.x, it.y * phaseY)
182+ if (cur == null ) return
187183
188- for (j in xBounds.min + 1 .. xBounds.range + xBounds.min) {
189- prevPrev = prev
190- prev = it
191- cur = if (nextIndex == j) next else dataSet.getEntryForIndex(j)!!
184+ // let the spline start
185+ cubicPath.moveTo(cur.x, cur.y * phaseY)
192186
193- nextIndex = if (j + 1 < dataSet.entryCount) j + 1 else j
194- next = dataSet.getEntryForIndex(nextIndex)!!
187+ for (j in xBounds.min + 1 .. xBounds.range + xBounds.min) {
188+ prevPrev = prev
189+ prev = cur
190+ cur = if (nextIndex == j) next else dataSet.getEntryForIndex(j)
195191
196- prevDx = (cur!! .x - prevPrev!! .x) * intensity
197- prevDy = (cur.y - prevPrev.y) * intensity
198- curDx = (next.x - prev.x) * intensity
199- curDy = (next.y - prev.y) * intensity
192+ nextIndex = if (j + 1 < dataSet.entryCount) j + 1 else j
193+ next = dataSet.getEntryForIndex(nextIndex)!!
200194
201- cubicPath.cubicTo(
202- prev.x + prevDx, (prev.y + prevDy) * phaseY,
203- cur.x - curDx,
204- (cur.y - curDy) * phaseY, cur.x, cur.y * phaseY
205- )
206- }
195+ prevDx = (cur!! .x - prevPrev!! .x) * intensity
196+ prevDy = (cur.y - prevPrev.y) * intensity
197+ curDx = (next.x - prev!! .x) * intensity
198+ curDy = (next.y - prev.y) * intensity
199+
200+ cubicPath.cubicTo(
201+ prev.x + prevDx, (prev.y + prevDy) * phaseY,
202+ cur.x - curDx,
203+ (cur.y - curDy) * phaseY, cur.x, cur.y * phaseY
204+ )
207205 }
208206 }
209207
0 commit comments