diff --git a/app/src/main/java/org/schabi/newpipe/local/LocalItemListAdapter.java b/app/src/main/java/org/schabi/newpipe/local/LocalItemListAdapter.java index b33619dea..3bb8ab1e5 100644 --- a/app/src/main/java/org/schabi/newpipe/local/LocalItemListAdapter.java +++ b/app/src/main/java/org/schabi/newpipe/local/LocalItemListAdapter.java @@ -30,11 +30,8 @@ import org.schabi.newpipe.local.holder.RemotePlaylistCardItemHolder; import org.schabi.newpipe.local.holder.RemotePlaylistGridItemHolder; import org.schabi.newpipe.local.holder.RemotePlaylistItemHolder; import org.schabi.newpipe.util.FallbackViewHolder; -import org.schabi.newpipe.util.Localization; import org.schabi.newpipe.util.OnClickGesture; -import java.time.format.DateTimeFormatter; -import java.time.format.FormatStyle; import java.util.ArrayList; import java.util.List; @@ -85,7 +82,6 @@ public class LocalItemListAdapter extends RecyclerView.Adapter localItems; private final HistoryRecordManager recordManager; - private final DateTimeFormatter dateTimeFormatter; private boolean showFooter = false; private View header = null; @@ -97,8 +93,6 @@ public class LocalItemListAdapter extends RecyclerView.Adapter(); - dateTimeFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT) - .withLocale(Localization.getPreferredLocale(context)); } public void setSelectedListener(final OnClickGesture listener) { @@ -364,19 +358,19 @@ public class LocalItemListAdapter extends RecyclerView.Adapter args = Map.of( + "formatted_views", Localization.formatViewCount(context, entry.getWatchCount()), + "last_viewed_date", GregorianCalendar.from(zdt), + "service_name", getNameOfServiceById(entry.getStreamEntity().getServiceId()) + ); + return MessageFormat.format(context, R.string.history_detail_line, args); } @Override public void updateFromItem(final LocalItem localItem, - final HistoryRecordManager historyRecordManager, - final DateTimeFormatter dateTimeFormatter) { - if (!(localItem instanceof StreamStatisticsEntry)) { + final HistoryRecordManager historyRecordManager) { + if (!(localItem instanceof StreamStatisticsEntry item)) { return; } - final StreamStatisticsEntry item = (StreamStatisticsEntry) localItem; itemVideoTitleView.setText(item.getStreamEntity().getTitle()); itemUploaderView.setText(item.getStreamEntity().getUploader()); @@ -113,7 +118,7 @@ public class LocalStatisticStreamItemHolder extends LocalItemHolder { } if (itemAdditionalDetails != null) { - itemAdditionalDetails.setText(getStreamInfoDetailLine(item, dateTimeFormatter)); + itemAdditionalDetails.setText(getStreamInfoDetailLine(item)); } // Default thumbnail is shown on error, while loading and if the url is empty diff --git a/app/src/main/java/org/schabi/newpipe/local/holder/PlaylistItemHolder.java b/app/src/main/java/org/schabi/newpipe/local/holder/PlaylistItemHolder.java index e8c53161e..7dbefec12 100644 --- a/app/src/main/java/org/schabi/newpipe/local/holder/PlaylistItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/local/holder/PlaylistItemHolder.java @@ -9,8 +9,6 @@ import org.schabi.newpipe.database.LocalItem; import org.schabi.newpipe.local.LocalItemBuilder; import org.schabi.newpipe.local.history.HistoryRecordManager; -import java.time.format.DateTimeFormatter; - public abstract class PlaylistItemHolder extends LocalItemHolder { public final ImageView itemThumbnailView; final TextView itemStreamCountView; @@ -33,8 +31,7 @@ public abstract class PlaylistItemHolder extends LocalItemHolder { @Override public void updateFromItem(final LocalItem localItem, - final HistoryRecordManager historyRecordManager, - final DateTimeFormatter dateTimeFormatter) { + final HistoryRecordManager historyRecordManager) { itemView.setOnClickListener(view -> { if (itemBuilder.getOnItemSelectedListener() != null) { itemBuilder.getOnItemSelectedListener().selected(localItem); diff --git a/app/src/main/java/org/schabi/newpipe/local/holder/RemoteBookmarkPlaylistItemHolder.java b/app/src/main/java/org/schabi/newpipe/local/holder/RemoteBookmarkPlaylistItemHolder.java index 6d61d1e08..b1dfc8cc5 100644 --- a/app/src/main/java/org/schabi/newpipe/local/holder/RemoteBookmarkPlaylistItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/local/holder/RemoteBookmarkPlaylistItemHolder.java @@ -10,8 +10,6 @@ import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity; import org.schabi.newpipe.local.LocalItemBuilder; import org.schabi.newpipe.local.history.HistoryRecordManager; -import java.time.format.DateTimeFormatter; - public class RemoteBookmarkPlaylistItemHolder extends RemotePlaylistItemHolder { private final View itemHandleView; @@ -28,16 +26,14 @@ public class RemoteBookmarkPlaylistItemHolder extends RemotePlaylistItemHolder { @Override public void updateFromItem(final LocalItem localItem, - final HistoryRecordManager historyRecordManager, - final DateTimeFormatter dateTimeFormatter) { - if (!(localItem instanceof PlaylistRemoteEntity)) { + final HistoryRecordManager historyRecordManager) { + if (!(localItem instanceof PlaylistRemoteEntity item)) { return; } - final PlaylistRemoteEntity item = (PlaylistRemoteEntity) localItem; itemHandleView.setOnTouchListener(getOnTouchListener(item)); - super.updateFromItem(localItem, historyRecordManager, dateTimeFormatter); + super.updateFromItem(localItem, historyRecordManager); } private View.OnTouchListener getOnTouchListener(final PlaylistRemoteEntity item) { diff --git a/app/src/main/java/org/schabi/newpipe/local/holder/RemotePlaylistItemHolder.java b/app/src/main/java/org/schabi/newpipe/local/holder/RemotePlaylistItemHolder.java index 3dd5ebc90..8dd0c84f7 100644 --- a/app/src/main/java/org/schabi/newpipe/local/holder/RemotePlaylistItemHolder.java +++ b/app/src/main/java/org/schabi/newpipe/local/holder/RemotePlaylistItemHolder.java @@ -11,8 +11,6 @@ import org.schabi.newpipe.util.Localization; import org.schabi.newpipe.util.image.PicassoHelper; import org.schabi.newpipe.util.ServiceHelper; -import java.time.format.DateTimeFormatter; - public class RemotePlaylistItemHolder extends PlaylistItemHolder { public RemotePlaylistItemHolder(final LocalItemBuilder infoItemBuilder, @@ -27,8 +25,7 @@ public class RemotePlaylistItemHolder extends PlaylistItemHolder { @Override public void updateFromItem(final LocalItem localItem, - final HistoryRecordManager historyRecordManager, - final DateTimeFormatter dateTimeFormatter) { + final HistoryRecordManager historyRecordManager) { if (!(localItem instanceof PlaylistRemoteEntity item)) { return; } @@ -46,6 +43,6 @@ public class RemotePlaylistItemHolder extends PlaylistItemHolder { PicassoHelper.loadPlaylistThumbnail(item.getThumbnailUrl()).into(itemThumbnailView); - super.updateFromItem(localItem, historyRecordManager, dateTimeFormatter); + super.updateFromItem(localItem, historyRecordManager); } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 50ea29afe..d17c1c04c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -893,4 +893,7 @@ HTTP error 403 received from server while playing, likely caused by an IP ban or streaming URL deobfuscation issues %1$s refused to provide data, asking for a login to confirm the requester is not a bot.\n\nYour IP might have been temporarily banned by %1$s, you can wait some time or switch to a different IP (for example by turning on/off a VPN, or by switching from WiFi to mobile data). This content is not available for the currently selected content country.\n\nChange your selection from \"Settings > Content > Default content country\". + + {formatted_views} • {last_viewed_date, date, short} • {service_name} +