diff options
author | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2022-04-29 16:47:04 +0000 |
---|---|---|
committer | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2022-04-29 16:47:04 +0000 |
commit | 0313e2912dea8a1bd9108e527485e961fb62b2fc (patch) | |
tree | f51b3cbc50922888a30bc09e131123012cf52053 /app/src/main/java/foundation/e/privacycentralapp/common | |
parent | e1d3be6e413501d1a1e4036c0b6634e072619ecd (diff) | |
download | advanced-privacy-0313e2912dea8a1bd9108e527485e961fb62b2fc.tar.gz |
226 Highlight leaks from widget click
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp/common')
-rw-r--r-- | app/src/main/java/foundation/e/privacycentralapp/common/GraphHolder.kt | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/common/GraphHolder.kt b/app/src/main/java/foundation/e/privacycentralapp/common/GraphHolder.kt index aba3a95..32766ca 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/common/GraphHolder.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/common/GraphHolder.kt @@ -31,6 +31,7 @@ import androidx.core.view.isVisible import com.github.mikephil.charting.charts.BarChart import com.github.mikephil.charting.components.MarkerView import com.github.mikephil.charting.components.XAxis +import com.github.mikephil.charting.components.YAxis import com.github.mikephil.charting.data.BarData import com.github.mikephil.charting.data.BarDataSet import com.github.mikephil.charting.data.BarEntry @@ -87,7 +88,7 @@ class GraphHolder(val barChart: BarChart, val context: Context, val isMarkerAbov override fun onValueSelected(e: Entry?, h: Highlight?) { h?.let { val index = it.x.toInt() - if (index > 0 && + if (index >= 0 && index < labels.size && index < this@GraphHolder.data.size ) { @@ -97,17 +98,30 @@ class GraphHolder(val barChart: BarChart, val context: Context, val isMarkerAbov } } isHighlighted = true - refreshDataSet() } override fun onNothingSelected() { isHighlighted = false - refreshDataSet() } }) } } + fun highlightIndex(index: Int) { + if (index >= 0 && index < data.size) { + val xPx = barChart.getTransformer(YAxis.AxisDependency.LEFT) + .getPixelForValues(index.toFloat(), 0f) + .x + val highlight = Highlight( + index.toFloat(), 0f, + xPx.toFloat(), 0f, + 0, YAxis.AxisDependency.LEFT + ) + + barChart.highlightValue(highlight, true) + } + } + private fun refreshDataSet() { val trackersDataSet = BarDataSet( data.mapIndexed { index, value -> @@ -122,19 +136,12 @@ class GraphHolder(val barChart: BarChart, val context: Context, val isMarkerAbov val blockedColor = ContextCompat.getColor(context, R.color.accent) val leakedColor = ContextCompat.getColor(context, R.color.red_off) - // ColorUtils.setAlphaComponent() colors = listOf( blockedColor, - // if (isHighlighted) R.color.blue_unselected else R.color.accent leakedColor ) setDrawValues(false) - - // highLightColor = ContextCompat.getColor( - // context, R.color.accent - // ) - // highLightAlpha = 255 } barChart.data = BarData(trackersDataSet) |