[ios] disable ele chart interaction when the chart data is empty

to prevent crashing

Signed-off-by: Kiryl Kaveryn <kirylkaveryn@gmail.com>
This commit is contained in:
Kiryl Kaveryn
2025-06-16 13:03:05 +04:00
committed by Konstantin Pastbin
parent 494b00b862
commit 18be61e789
2 changed files with 10 additions and 0 deletions

View File

@@ -80,10 +80,13 @@ extension ElevationProfilePresenter: ElevationProfilePresenterProtocol {
let kMinPointsToDraw = 3
guard let profileData, let chartData, chartData.points.count >= kMinPointsToDraw else {
view?.userInteractionEnabled = false
return
}
view?.setChartData(ChartPresentationData(chartData, formatter: formatter))
view?.reloadDescription()
view?.userInteractionEnabled = true
guard !profileData.isTrackRecording else {
view?.isChartViewInfoHidden = true

View File

@@ -3,6 +3,7 @@ import Chart
protocol ElevationProfileViewProtocol: AnyObject {
var presenter: ElevationProfilePresenterProtocol? { get set }
var userInteractionEnabled: Bool { get set }
var isChartViewHidden: Bool { get set }
var isChartViewInfoHidden: Bool { get set }
@@ -116,6 +117,12 @@ final class ElevationProfileViewController: UIViewController {
// MARK: - ElevationProfileViewProtocol
extension ElevationProfileViewController: ElevationProfileViewProtocol {
var userInteractionEnabled: Bool {
get { chartView.isUserInteractionEnabled }
set { chartView.isUserInteractionEnabled = newValue }
}
var isChartViewHidden: Bool {
get { chartView.isHidden }
set {