From b2c51f7be17e0cbb413fbbd1a3c65e9084f3b65f Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 8 Feb 2023 17:18:48 +0100 Subject: [PATCH] fix: crash while clicking on an empty chart (#50) --- build.gradle.kts | 9 +++------ gradle/wrapper/gradle-wrapper.properties | 2 +- library/src/main/java/com/dzeio/charts/ChartView.kt | 6 ++++++ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 552a981..5652e57 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,16 +4,13 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:7.4.0") - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files + classpath("com.android.tools.build:gradle:7.4.1") } } plugins { - id("com.android.application") version "7.4.0" apply false - id("com.android.library") version "7.4.0" apply false + id("com.android.application") version "7.4.1" apply false + id("com.android.library") version "7.4.1" apply false id("org.jetbrains.kotlin.android") version "1.7.0" apply false } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4cbbcaa..959b705 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sun Aug 07 22:38:24 CEST 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-rc-1-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/library/src/main/java/com/dzeio/charts/ChartView.kt b/library/src/main/java/com/dzeio/charts/ChartView.kt index ca295c1..4c7c1bf 100644 --- a/library/src/main/java/com/dzeio/charts/ChartView.kt +++ b/library/src/main/java/com/dzeio/charts/ChartView.kt @@ -42,6 +42,9 @@ class ChartView @JvmOverloads constructor(context: Context?, attrs: AttributeSet var lastMovementX = 0.0 var lastMovementY = 0f setOnChartMoved { movementX, movementY -> + if (getDataset().isEmpty()) { + return@setOnChartMoved + } if (xAxis.scrollEnabled) { xAxis.x += (movementX - lastMovementX) * xAxis.getDataWidth() / width lastMovementX = movementX.toDouble() @@ -59,6 +62,9 @@ class ChartView @JvmOverloads constructor(context: Context?, attrs: AttributeSet refresh() } setOnChartClick { x, y -> + if (getDataset().isEmpty()) { + return@setOnChartClick + } // Log.d("Chart clicked at", "$x, $y") val dataset = series.map { it.getDisplayedEntries() }.reduce { acc, entries -> acc.addAll(entries)