Skip to content

Commit 4ef00f8

Browse files
committed
fix line color issues
fix line color issues in accessibility dialog
1 parent b923a75 commit 4ef00f8

File tree

1 file changed

+32
-30
lines changed
  • YChartsLib/src/main/java/co/yml/charts/ui/linechart

1 file changed

+32
-30
lines changed

YChartsLib/src/main/java/co/yml/charts/ui/linechart/LineChart.kt

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ import co.yml.charts.ui.linechart.model.SelectionHighlightPoint
5151
import co.yml.charts.ui.linechart.model.SelectionHighlightPopUp
5252
import co.yml.charts.common.components.ItemDivider
5353
import co.yml.charts.common.components.accessibility.AccessibilityBottomSheetDialog
54+
import co.yml.charts.common.components.accessibility.CombinedChartInfo
5455
import co.yml.charts.common.components.accessibility.LinePointInfo
5556
import co.yml.charts.common.extensions.RowClip
5657
import co.yml.charts.common.extensions.collectIsTalkbackEnabledAsState
@@ -239,41 +240,42 @@ fun LineChart(modifier: Modifier, lineChartData: LineChartData) {
239240
isTapped = false
240241
selectionTextVisibility = false
241242
})
243+
if (isTalkBackEnabled) {
244+
AccessibilityBottomSheetDialog(
245+
modifier = Modifier.fillMaxSize(),
246+
backgroundColor = Color.White,
247+
content = {
248+
LazyColumn {
249+
items(count = linePlotData.lines.size) { lineIndex ->
250+
linePlotData.lines[lineIndex].dataPoints.forEachIndexed { pointIndex, point ->
251+
Column {
252+
LinePointInfo(
253+
xAxisData.axisLabelDescription(
254+
xAxisData.labelData(
255+
pointIndex
256+
)
257+
),
258+
point.description,
259+
linePlotData.lines[lineIndex].lineStyle.color
260+
)
242261

243-
}
244-
if (isTalkBackEnabled) {
245-
with(lineChartData) {
246-
AccessibilityBottomSheetDialog(
247-
modifier = Modifier.fillMaxSize(),
248-
backgroundColor = Color.White,
249-
content = {
250-
val linePoints: List<Point> = linePlotData.lines.flatMap { line -> line.dataPoints.map { it } }
251-
val lineColors: List<Color> = linePlotData.lines.map { line -> line.lineStyle.color }
252-
LazyColumn {
253-
items(linePoints?.size ?: 0) { index ->
254-
Column {
255-
LinePointInfo(
256-
xAxisData.axisLabelDescription(
257-
xAxisData.labelData(
258-
index
262+
ItemDivider(
263+
thickness = accessibilityConfig.dividerThickness,
264+
dividerColor = accessibilityConfig.dividerColor
259265
)
260-
),
261-
linePoints[index].description ?: "",
262-
lineColors[index]
263-
)
264-
ItemDivider(
265-
thickness = accessibilityConfig.dividerThickness,
266-
dividerColor = accessibilityConfig.dividerColor
267-
)
266+
}
267+
268+
}
268269
}
269270
}
270-
}
271-
},
272-
popUpTopRightButtonTitle = accessibilityConfig.popUpTopRightButtonTitle,
273-
popUpTopRightButtonDescription = accessibilityConfig.popUpTopRightButtonDescription,
274-
sheetState = accessibilitySheetState
275-
)
271+
},
272+
popUpTopRightButtonTitle = accessibilityConfig.popUpTopRightButtonTitle,
273+
popUpTopRightButtonDescription = accessibilityConfig.popUpTopRightButtonDescription,
274+
sheetState = accessibilitySheetState
275+
)
276+
276277
}
278+
277279
}
278280
}
279281
}

0 commit comments

Comments
 (0)