diff options
Diffstat (limited to 'app')
5 files changed, 38 insertions, 28 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadStatisticsListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadStatisticsListAdapter.java index 227eea6e0..c49d2f39d 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadStatisticsListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadStatisticsListAdapter.java @@ -3,10 +3,12 @@ package de.danoeh.antennapod.adapter; import android.content.Context; import de.danoeh.antennapod.R; -import de.danoeh.antennapod.core.storage.DBReader; +import de.danoeh.antennapod.core.storage.StatisticsItem; import de.danoeh.antennapod.core.util.Converter; import de.danoeh.antennapod.view.PieChartView; +import java.util.List; + /** * Adapter for the download statistics list. */ @@ -27,17 +29,17 @@ public class DownloadStatisticsListAdapter extends StatisticsListAdapter { } @Override - PieChartView.PieChartData generateChartData(DBReader.StatisticsData statisticsData) { - float[] dataValues = new float[statisticsData.feeds.size()]; - for (int i = 0; i < statisticsData.feeds.size(); i++) { - DBReader.StatisticsItem item = statisticsData.feeds.get(i); + PieChartView.PieChartData generateChartData(List<StatisticsItem> statisticsData) { + float[] dataValues = new float[statisticsData.size()]; + for (int i = 0; i < statisticsData.size(); i++) { + StatisticsItem item = statisticsData.get(i); dataValues[i] = item.totalDownloadSize; } return new PieChartView.PieChartData(dataValues); } @Override - void onBindFeedViewHolder(StatisticsHolder holder, DBReader.StatisticsItem item) { + void onBindFeedViewHolder(StatisticsHolder holder, StatisticsItem item) { holder.value.setText(Converter.byteToString(item.totalDownloadSize)); } diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/PlaybackStatisticsListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/PlaybackStatisticsListAdapter.java index 8471569d3..c5a73c53e 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/PlaybackStatisticsListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/PlaybackStatisticsListAdapter.java @@ -4,10 +4,12 @@ import android.content.Context; import androidx.appcompat.app.AlertDialog; import de.danoeh.antennapod.R; -import de.danoeh.antennapod.core.storage.DBReader; +import de.danoeh.antennapod.core.storage.StatisticsItem; import de.danoeh.antennapod.core.util.Converter; import de.danoeh.antennapod.view.PieChartView; +import java.util.List; + /** * Adapter for the playback statistics list. */ @@ -34,17 +36,17 @@ public class PlaybackStatisticsListAdapter extends StatisticsListAdapter { } @Override - PieChartView.PieChartData generateChartData(DBReader.StatisticsData statisticsData) { - float[] dataValues = new float[statisticsData.feeds.size()]; - for (int i = 0; i < statisticsData.feeds.size(); i++) { - DBReader.StatisticsItem item = statisticsData.feeds.get(i); + PieChartView.PieChartData generateChartData(List<StatisticsItem> statisticsData) { + float[] dataValues = new float[statisticsData.size()]; + for (int i = 0; i < statisticsData.size(); i++) { + StatisticsItem item = statisticsData.get(i); dataValues[i] = countAll ? item.timePlayedCountAll : item.timePlayed; } return new PieChartView.PieChartData(dataValues); } @Override - void onBindFeedViewHolder(StatisticsHolder holder, DBReader.StatisticsItem statsItem) { + void onBindFeedViewHolder(StatisticsHolder holder, StatisticsItem statsItem) { long time = countAll ? statsItem.timePlayedCountAll : statsItem.timePlayed; holder.value.setText(Converter.shortLocalizedDuration(context, time)); diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java index db65190f2..5f019d1db 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java @@ -14,9 +14,11 @@ import com.bumptech.glide.request.RequestOptions; import de.danoeh.antennapod.R; import de.danoeh.antennapod.core.glide.ApGlideSettings; -import de.danoeh.antennapod.core.storage.DBReader; +import de.danoeh.antennapod.core.storage.StatisticsItem; import de.danoeh.antennapod.view.PieChartView; +import java.util.List; + /** * Parent Adapter for the playback and download statistics list. */ @@ -24,7 +26,7 @@ public abstract class StatisticsListAdapter extends RecyclerView.Adapter<Recycle private static final int TYPE_HEADER = 0; private static final int TYPE_FEED = 1; final Context context; - private DBReader.StatisticsData statisticsData; + private List<StatisticsItem> statisticsData; PieChartView.PieChartData pieChartData; StatisticsListAdapter(Context context) { @@ -33,14 +35,14 @@ public abstract class StatisticsListAdapter extends RecyclerView.Adapter<Recycle @Override public int getItemCount() { - return statisticsData.feeds.size() + 1; + return statisticsData.size() + 1; } - public DBReader.StatisticsItem getItem(int position) { + public StatisticsItem getItem(int position) { if (position == 0) { return null; } - return statisticsData.feeds.get(position - 1); + return statisticsData.get(position - 1); } @Override @@ -69,7 +71,7 @@ public abstract class StatisticsListAdapter extends RecyclerView.Adapter<Recycle holder.totalTime.setText(getHeaderValue()); } else { StatisticsHolder holder = (StatisticsHolder) h; - DBReader.StatisticsItem statsItem = statisticsData.feeds.get(position - 1); + StatisticsItem statsItem = statisticsData.get(position - 1); Glide.with(context) .load(statsItem.feed.getImageLocation()) .apply(new RequestOptions() @@ -86,8 +88,8 @@ public abstract class StatisticsListAdapter extends RecyclerView.Adapter<Recycle } } - public void update(DBReader.StatisticsData statistics) { - this.statisticsData = statistics; + public void update(List<StatisticsItem> statistics) { + statisticsData = statistics; pieChartData = generateChartData(statistics); notifyDataSetChanged(); } @@ -122,7 +124,7 @@ public abstract class StatisticsListAdapter extends RecyclerView.Adapter<Recycle abstract String getHeaderValue(); - abstract PieChartView.PieChartData generateChartData(DBReader.StatisticsData statisticsData); + abstract PieChartView.PieChartData generateChartData(List<StatisticsItem> statisticsData); - abstract void onBindFeedViewHolder(StatisticsHolder holder, DBReader.StatisticsItem item); + abstract void onBindFeedViewHolder(StatisticsHolder holder, StatisticsItem item); } diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/DownloadStatisticsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/DownloadStatisticsFragment.java index 34ea6d6e3..3059d7ad2 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/DownloadStatisticsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/DownloadStatisticsFragment.java @@ -16,6 +16,7 @@ import androidx.recyclerview.widget.RecyclerView; import de.danoeh.antennapod.R; import de.danoeh.antennapod.adapter.DownloadStatisticsListAdapter; import de.danoeh.antennapod.core.storage.DBReader; +import de.danoeh.antennapod.core.storage.StatisticsItem; import de.danoeh.antennapod.core.util.comparator.CompareCompat; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -23,6 +24,7 @@ import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; import java.util.Collections; +import java.util.List; /** * Displays the 'download statistics' screen @@ -71,8 +73,8 @@ public class DownloadStatisticsFragment extends Fragment { disposable = Observable.fromCallable(() -> { - DBReader.StatisticsData statisticsData = DBReader.getStatistics(); - Collections.sort(statisticsData.feeds, (item1, item2) -> + List<StatisticsItem> statisticsData = DBReader.getStatistics(); + Collections.sort(statisticsData, (item1, item2) -> CompareCompat.compareLong(item1.totalDownloadSize, item2.totalDownloadSize)); return statisticsData; }) diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackStatisticsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackStatisticsFragment.java index bed767e8e..d25dff743 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackStatisticsFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackStatisticsFragment.java @@ -27,6 +27,7 @@ import de.danoeh.antennapod.adapter.PlaybackStatisticsListAdapter; import de.danoeh.antennapod.core.dialog.ConfirmationDialog; import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBWriter; +import de.danoeh.antennapod.core.storage.StatisticsItem; import de.danoeh.antennapod.core.util.comparator.CompareCompat; import io.reactivex.Completable; import io.reactivex.Observable; @@ -35,6 +36,7 @@ import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; import java.util.Collections; +import java.util.List; /** * Displays the 'playback statistics' screen @@ -180,13 +182,13 @@ public class PlaybackStatisticsFragment extends Fragment { }, error -> Log.e(TAG, Log.getStackTraceString(error))); } - private DBReader.StatisticsData fetchStatistics() { - DBReader.StatisticsData statisticsData = DBReader.getStatistics(); + private List<StatisticsItem> fetchStatistics() { + List<StatisticsItem> statisticsData = DBReader.getStatistics(); if (countAll) { - Collections.sort(statisticsData.feeds, (item1, item2) -> + Collections.sort(statisticsData, (item1, item2) -> CompareCompat.compareLong(item1.timePlayedCountAll, item2.timePlayedCountAll)); } else { - Collections.sort(statisticsData.feeds, (item1, item2) -> + Collections.sort(statisticsData, (item1, item2) -> CompareCompat.compareLong(item1.timePlayed, item2.timePlayed)); } return statisticsData; |