diff --git a/ui/i18n/src/main/res/values/strings.xml b/ui/i18n/src/main/res/values/strings.xml index fe03c8ed5..3fb2ad923 100644 --- a/ui/i18n/src/main/res/values/strings.xml +++ b/ui/i18n/src/main/res/values/strings.xml @@ -751,6 +751,7 @@ Any day now Unknown All podcasts » + Time played per month Edit feed URL Changing the RSS address can easily break the playback state and episode listings of the podcast. We do NOT recommend changing it and will NOT provide support if anything goes wrong. This cannot be undone. The broken subscription CANNOT be repaired by simply changing the address back. We recommend creating a backup before continuing. diff --git a/ui/statistics/src/main/java/de/danoeh/antennapod/ui/statistics/years/BarChartView.java b/ui/statistics/src/main/java/de/danoeh/antennapod/ui/statistics/years/BarChartView.java index 510bcb8e1..44e33ba21 100644 --- a/ui/statistics/src/main/java/de/danoeh/antennapod/ui/statistics/years/BarChartView.java +++ b/ui/statistics/src/main/java/de/danoeh/antennapod/ui/statistics/years/BarChartView.java @@ -89,18 +89,25 @@ public class BarChartView extends AppCompatImageView { paintBars.setStrokeWidth(height * 0.015f); paintBars.setColor(colors[0]); int colorIndex = 0; - int lastYear = data.size() > 0 ? data.get(0).getYear() : 0; + int prevYear = data.isEmpty() ? 0 : data.get(0).getYear(); + int monthsInFirstYear = 0; + while (monthsInFirstYear < data.size() && data.get(monthsInFirstYear).getYear() == data.get(0).getYear()) { + monthsInFirstYear++; + } + for (int i = 0; i < data.size(); i++) { float x = textPadding + (i + 1) * stepSize; - if (lastYear != data.get(i).getYear()) { - lastYear = data.get(i).getYear(); + if (prevYear != data.get(i).getYear() || (i == 0 && monthsInFirstYear > 4)) { + prevYear = data.get(i).getYear(); colorIndex++; paintBars.setColor(colors[colorIndex % 2]); - if (i < data.size() - 2) { + if (i < data.size() - 4) { canvas.drawText(String.valueOf(data.get(i).getYear()), x + stepSize, barHeight + (height - barHeight + textSize) / 2, paintGridText); } - canvas.drawLine(x, height, x, barHeight, paintGridText); + if (data.get(i).getMonth() == 1) { + canvas.drawLine(x, height, x, barHeight, paintGridText); + } } float valuePercentage = (float) Math.max(0.005, (float) data.get(i).getTimePlayed() / maxValue); diff --git a/ui/statistics/src/main/res/layout/statistics_listitem_barchart.xml b/ui/statistics/src/main/res/layout/statistics_listitem_barchart.xml index d70e1da07..8830a812b 100644 --- a/ui/statistics/src/main/res/layout/statistics_listitem_barchart.xml +++ b/ui/statistics/src/main/res/layout/statistics_listitem_barchart.xml @@ -11,6 +11,14 @@ android:layout_width="match_parent" android:layout_height="200dp" /> + +