diff options
Diffstat (limited to 'app/src')
8 files changed, 30 insertions, 11 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java index 409100e26..8811d9b31 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBReaderTest.java @@ -375,7 +375,7 @@ public class DBReaderTest { for (Feed feed : feeds) { for (FeedItem item : feed.getItems()) { assertFalse(item.hasChapters()); - DBReader.loadChaptersOfFeedItem(item); + item.setChapters(DBReader.loadChaptersOfFeedItem(item)); assertFalse(item.hasChapters()); assertNull(item.getChapters()); } @@ -390,7 +390,7 @@ public class DBReaderTest { for (Feed feed : feeds) { for (FeedItem item : feed.getItems()) { assertTrue(item.hasChapters()); - DBReader.loadChaptersOfFeedItem(item); + item.setChapters(DBReader.loadChaptersOfFeedItem(item)); assertTrue(item.hasChapters()); assertNotNull(item.getChapters()); assertEquals(NUM_CHAPTERS, item.getChapters().size()); @@ -404,7 +404,7 @@ public class DBReaderTest { List<Feed> feeds = saveFeedlist(1, 1, false, true, NUM_CHAPTERS); FeedItem item1 = feeds.get(0).getItems().get(0); FeedItem item2 = DBReader.getFeedItem(item1.getId()); - DBReader.loadChaptersOfFeedItem(item2); + item2.setChapters(DBReader.loadChaptersOfFeedItem(item2)); assertTrue(item2.hasChapters()); assertEquals(item1.getChapters(), item2.getChapters()); } 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/dialog/StreamingConfirmationDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/StreamingConfirmationDialog.java index 46095604c..8e5ceece2 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/StreamingConfirmationDialog.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/StreamingConfirmationDialog.java @@ -20,7 +20,7 @@ public class StreamingConfirmationDialog { new AlertDialog.Builder(context) .setTitle(R.string.stream_label) .setMessage(R.string.confirm_mobile_streaming_notification_message) - .setPositiveButton(R.string.stream_label, (dialog, which) -> stream()) + .setPositiveButton(R.string.confirm_mobile_streaming_button_once, (dialog, which) -> stream()) .setNegativeButton(R.string.confirm_mobile_streaming_button_always, (dialog, which) -> { UserPreferences.setAllowMobileStreaming(true); stream(); 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) { |