diff options
Diffstat (limited to 'app')
6 files changed, 26 insertions, 7 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 3c4003125..684ba281d 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadStatisticsListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadStatisticsListAdapter.java @@ -20,8 +20,8 @@ public class DownloadStatisticsListAdapter extends StatisticsListAdapter { } @Override - int getHeaderCaptionResourceId() { - return R.string.total_size_downloaded_podcasts; + String getHeaderCaption() { + return context.getString(R.string.total_size_downloaded_podcasts); } @Override 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 c5a73c53e..a71595c55 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,13 @@ import android.content.Context; import androidx.appcompat.app.AlertDialog; import de.danoeh.antennapod.R; +import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.StatisticsItem; import de.danoeh.antennapod.core.util.Converter; +import de.danoeh.antennapod.core.util.DateUtils; import de.danoeh.antennapod.view.PieChartView; +import java.util.Date; import java.util.List; /** @@ -26,8 +29,14 @@ public class PlaybackStatisticsListAdapter extends StatisticsListAdapter { } @Override - int getHeaderCaptionResourceId() { - return R.string.total_time_listened_to_podcasts; + String getHeaderCaption() { + long usageCounting = UserPreferences.getUsageCountingDateMillis(); + if (usageCounting > 0) { + String date = DateUtils.formatAbbrev(context, new Date(usageCounting)); + return context.getString(R.string.statistics_counting_since, date); + } else { + return context.getString(R.string.total_time_listened_to_podcasts); + } } @Override 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 2b498cd47..72482b06d 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java @@ -50,7 +50,7 @@ public abstract class StatisticsListAdapter extends RecyclerView.Adapter<Recycle if (viewType == TYPE_HEADER) { View view = inflater.inflate(R.layout.statistics_listitem_total, parent, false); TextView totalText = view.findViewById(R.id.total_description); - totalText.setText(getHeaderCaptionResourceId()); + totalText.setText(getHeaderCaption()); return new HeaderHolder(view); } return new StatisticsHolder(inflater.inflate(R.layout.statistics_listitem, parent, false)); @@ -113,7 +113,7 @@ public abstract class StatisticsListAdapter extends RecyclerView.Adapter<Recycle } } - abstract int getHeaderCaptionResourceId(); + abstract String getHeaderCaption(); abstract String getHeaderValue(); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java index 106b9eef6..f6aa45e93 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java @@ -26,6 +26,7 @@ import de.danoeh.antennapod.core.export.ExportWriter; import de.danoeh.antennapod.core.export.favorites.FavoritesWriter; import de.danoeh.antennapod.core.export.html.HtmlWriter; import de.danoeh.antennapod.core.export.opml.OpmlWriter; +import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.DatabaseExporter; import io.reactivex.Completable; import io.reactivex.Observable; @@ -268,6 +269,7 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat { .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> { showDatabaseImportSuccessDialog(); + UserPreferences.unsetUsageCountingDate(); progressDialog.dismiss(); }, this::showExportErrorDialog); } else if (requestCode == REQUEST_CODE_BACKUP_DATABASE) { 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 d25dff743..4819e0b94 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 @@ -25,6 +25,7 @@ import de.danoeh.antennapod.R; import de.danoeh.antennapod.activity.PreferenceActivity; import de.danoeh.antennapod.adapter.PlaybackStatisticsListAdapter; import de.danoeh.antennapod.core.dialog.ConfirmationDialog; +import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.storage.StatisticsItem; @@ -159,7 +160,10 @@ public class PlaybackStatisticsFragment extends Fragment { disposable = Completable.fromFuture(DBWriter.resetStatistics()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(this::refreshStatistics, error -> Log.e(TAG, Log.getStackTraceString(error))); + .subscribe(() -> { + refreshStatistics(); + UserPreferences.resetUsageCountingDate(); + }, error -> Log.e(TAG, Log.getStackTraceString(error))); } private void refreshStatistics() { diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java index 64dd03b00..311f44881 100644 --- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java +++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java @@ -34,6 +34,10 @@ public class PreferenceUpgrader { private static void upgrade(int oldVersion) { if (oldVersion == -1) { + //New installation + if (UserPreferences.getUsageCountingDateMillis() < 0) { + UserPreferences.resetUsageCountingDate(); + } return; } if (oldVersion < 1070196) { |