Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
package org.schabi.newpipe.info_list.holder;

import android.content.SharedPreferences;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
import android.text.style.URLSpan;
import android.text.util.Linkify;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;
import androidx.preference.PreferenceManager;


import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.InfoItem;
Expand All @@ -31,7 +36,12 @@ public class CommentsMiniInfoItemHolder extends InfoItemHolder {
private static final int COMMENT_DEFAULT_LINES = 2;
private static final int COMMENT_EXPANDED_LINES = 1000;
private static final Pattern PATTERN = Pattern.compile("(\\d+:)?(\\d+)?:(\\d+)");
private final String downloadThumbnailKey;
private final int commentHorizontalPadding;
private final int commentVerticalPadding;

private SharedPreferences preferences = null;
private final RelativeLayout itemRoot;
public final CircleImageView itemThumbnailView;
private final TextView itemContentView;
private final TextView itemLikesCountView;
Expand Down Expand Up @@ -65,11 +75,20 @@ public String transformUrl(final Matcher match, final String url) {
final ViewGroup parent) {
super(infoItemBuilder, layoutId, parent);

itemRoot = itemView.findViewById(R.id.itemRoot);
itemThumbnailView = itemView.findViewById(R.id.itemThumbnailView);
itemLikesCountView = itemView.findViewById(R.id.detail_thumbs_up_count_view);
itemDislikesCountView = itemView.findViewById(R.id.detail_thumbs_down_count_view);
itemPublishedTime = itemView.findViewById(R.id.itemPublishedTime);
itemContentView = itemView.findViewById(R.id.itemCommentContentView);

downloadThumbnailKey = infoItemBuilder.getContext().
getString(R.string.download_thumbnail_key);

commentHorizontalPadding = (int) infoItemBuilder.getContext()
.getResources().getDimension(R.dimen.comments_horizontal_padding);
commentVerticalPadding = (int) infoItemBuilder.getContext()
.getResources().getDimension(R.dimen.comments_vertical_padding);
}

public CommentsMiniInfoItemHolder(final InfoItemBuilder infoItemBuilder,
Expand All @@ -85,11 +104,24 @@ public void updateFromItem(final InfoItem infoItem,
}
final CommentsInfoItem item = (CommentsInfoItem) infoItem;

preferences = PreferenceManager.getDefaultSharedPreferences(itemBuilder.getContext());

itemBuilder.getImageLoader()
.displayImage(item.getUploaderAvatarUrl(),
itemThumbnailView,
ImageDisplayConstants.DISPLAY_THUMBNAIL_OPTIONS);

if (preferences.getBoolean(downloadThumbnailKey, true)) {
itemThumbnailView.setVisibility(View.VISIBLE);
itemRoot.setPadding(commentVerticalPadding, commentVerticalPadding,
commentVerticalPadding, commentVerticalPadding);
} else {
itemThumbnailView.setVisibility(View.GONE);
itemRoot.setPadding(commentHorizontalPadding, commentVerticalPadding,
commentHorizontalPadding, commentVerticalPadding);
}


itemThumbnailView.setOnClickListener(view -> openCommentAuthor(item));

streamUrl = item.getUrl();
Expand Down
3 changes: 1 addition & 2 deletions app/src/main/res/layout/list_comments_item.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/video_item_search_padding">
android:padding="@dimen/comments_vertical_padding">

<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/itemThumbnailView"
Expand All @@ -30,7 +30,6 @@
android:layout_alignParentTop="true"
android:layout_marginBottom="@dimen/video_item_search_image_right_margin"
android:layout_toEndOf="@+id/itemThumbnailView"
android:layout_toRightOf="@+id/itemThumbnailView"
android:ellipsize="end"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceSmall"
Expand Down
6 changes: 6 additions & 0 deletions app/src/main/res/values/dimens.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@
<dimen name="video_item_detail_description_to_details_margin">4dp</dimen>
<dimen name="software_component_item_padding">8dp</dimen>
<dimen name="channel_item_grid_padding">12dp</dimen>
<<<<<<< HEAD
<dimen name="comments_horizontal_padding">20dp</dimen>
=======
<dimen name="comments_horizontal_padding">16dp</dimen>
>>>>>>> 5fe7107b0c6cb07a3c2cb1dd6d73bf8d1a166469
<dimen name="comments_vertical_padding">12dp</dimen>

<!-- Players padding & sizes -->
<dimen name="player_main_controls_padding">16dp</dimen>
Expand Down
20 changes: 10 additions & 10 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<string name="controls_download_desc">Download stream file</string>
<string name="search">Search</string>
<string name="settings">Settings</string>
<string name="did_you_mean">Did you mean \"%1$s\"?</string>
<string name="did_you_mean">Did you mean: %1$s?</string>
<string name="search_showing_result_for">Showing results for: %s</string>
<string name="share_dialog_title">Share with</string>
<string name="choose_browser">Choose browser</string>
Expand Down Expand Up @@ -87,8 +87,8 @@
<string name="use_inexact_seek_summary">Inexact seek allows the player to seek to positions faster with reduced precision. Seeking for 5, 15 or 25 seconds doesn\'t work with this.</string>
<string name="seek_duration_title">Fast-forward/-rewind seek duration</string>
<string name="clear_queue_confirmation_title">Ask for confirmation before clearing a queue</string>
<string name="clear_queue_confirmation_summary">Switching from one player to another may replace your queue</string>
<string name="clear_queue_confirmation_description">The active player queue will be replaced</string>
<string name="clear_queue_confirmation_summary">After switching from one player to another your queue may be replaced</string>
<string name="clear_queue_confirmation_description">Queue from the active player will be replaced</string>
<string name="download_thumbnail_title">Load thumbnails</string>
<string name="show_comments_title">Show comments</string>
<string name="show_comments_summary">Turn off to hide comments</string>
Expand Down Expand Up @@ -125,7 +125,7 @@
<string name="show_hold_to_append_title">Show \"Hold to append\" tip</string>
<string name="show_hold_to_append_summary">Show tip when pressing the background or the popup button in video \"Details:\"</string>
<string name="unsupported_url">Unsupported URL</string>
<string name="unsupported_url_dialog_message">Could not recognize the URL. Open with another app?</string>
<string name="unsupported_url_dialog_message">NewPipe could not recognize the provided url. Open it with another method?</string>
<string name="default_content_country_title">Default content country</string>
<string name="service_title">Service</string>
<string name="content_language_title">Default content language</string>
Expand All @@ -140,8 +140,8 @@
<string name="peertube_instance_add_exists">Instance already exists</string>
<string name="settings_category_player_title">Player</string>
<string name="settings_category_player_behavior_title">Behavior</string>
<string name="settings_category_video_audio_title">Video and audio</string>
<string name="settings_category_history_title">History and cache</string>
<string name="settings_category_video_audio_title">Video &amp; audio</string>
<string name="settings_category_history_title">History &amp; cache</string>
<string name="settings_category_popup_title">Popup</string>
<string name="settings_category_appearance_title">Appearance</string>
<string name="settings_category_other_title">Other</string>
Expand All @@ -157,7 +157,7 @@
<string name="show_age_restricted_content_title">Age restricted content</string>
<string name="video_is_age_restricted">Show age restricted video. Future changes are possible from the settings.</string>
<string name="youtube_restricted_mode_enabled_title">YouTube restricted mode</string>
<string name="restricted_video">This video is age restricted.\n\nTurn on \"Age restricted content\" in the settings if you want to see it.</string>
<string name="restricted_video">This video is age restricted.\n\nIf you want to view it, enable \"Age restricted content\" in the settings.</string>
<string name="duration_live">Live</string>
<string name="downloads">Downloads</string>
<string name="downloads_title">Downloads</string>
Expand Down Expand Up @@ -254,9 +254,9 @@
<string name="guru_meditation" translatable="false">Guru Meditation.</string>
<string name="error_report_button_text">Report this error via e-mail</string>
<string name="copy_for_github">Copy formatted report</string>
<string name="error_report_open_issue_button_text">Report on GitHub</string>
<string name="error_report_open_issue_button_text">Report error on GitHub</string>
<string name="error_report_open_github_notice">Please check whether an issue discussing your crash already exists. When creating duplicate tickets, you take time from us which we could spend with fixing the actual bug.</string>
<string name="error_snackbar_message">Sorry, something went wrong.</string>
<string name="error_snackbar_message">Sorry, some errors occurred.</string>
<string name="error_snackbar_action">Report</string>
<string name="what_device_headline">Info:</string>
<string name="what_happened_headline">What happened:</string>
Expand Down Expand Up @@ -436,7 +436,7 @@
<string name="kiosk">Kiosk</string>
<string name="trending">Trending</string>
<string name="top_50">Top 50</string>
<string name="new_and_hot">New and hot</string>
<string name="new_and_hot">New &amp; hot</string>
<string name="local">Local</string>
<string name="recently_added">Recently added</string>
<string name="most_liked">Most liked</string>
Expand Down