aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2020-10-23 12:26:03 +0000
committerAlex Ning <chineseperson5@gmail.com>2020-10-23 12:26:03 +0000
commit6f403e89cc76f78b86ef947d496a1850cef1c05b (patch)
treedf5cc8c487e9ba2cae7a577b0a35cb2172a99d1a /app
parent7c38857ee875462d28152417b4e8215182598886 (diff)
downloadinfinity-for-reddit-6f403e89cc76f78b86ef947d496a1850cef1c05b.tar
infinity-for-reddit-6f403e89cc76f78b86ef947d496a1850cef1c05b.tar.gz
infinity-for-reddit-6f403e89cc76f78b86ef947d496a1850cef1c05b.tar.bz2
infinity-for-reddit-6f403e89cc76f78b86ef947d496a1850cef1c05b.tar.lz
infinity-for-reddit-6f403e89cc76f78b86ef947d496a1850cef1c05b.tar.xz
infinity-for-reddit-6f403e89cc76f78b86ef947d496a1850cef1c05b.tar.zst
infinity-for-reddit-6f403e89cc76f78b86ef947d496a1850cef1c05b.zip
Remove PostTextTypeViewHolder.
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java676
-rw-r--r--app/src/main/res/layout/item_post_gallery.xml13
2 files changed, 40 insertions, 649 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java
index d4119aa2..732022d5 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Adapter/PostRecyclerViewAdapter.java
@@ -359,10 +359,9 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|| viewType == VIEW_TYPE_POST_CARD_IMAGE_AND_GIF_AUTOPLAY_TYPE
|| viewType == VIEW_TYPE_POST_CARD_LINK_TYPE
|| viewType == VIEW_TYPE_POST_CARD_NO_PREVIEW_LINK_TYPE
- || viewType == VIEW_TYPE_POST_CARD_GALLERY_TYPE) {
+ || viewType == VIEW_TYPE_POST_CARD_GALLERY_TYPE
+ || viewType == VIEW_TYPE_POST_CARD_TEXT_TYPE) {
return new PostGalleryTypeViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_gallery, parent, false));
- } else if (viewType == VIEW_TYPE_POST_CARD_TEXT_TYPE) {
- return new PostTextTypeViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_text, parent, false));
} else if (viewType == VIEW_TYPE_POST_COMPACT) {
if (mShowThumbnailOnTheRightInCompactLayout) {
return new PostCompactRightThumbnailViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_compact_right_thumbnail, parent, false));
@@ -623,30 +622,33 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
((PostGalleryTypeViewHolder) holder).linkTextView.setText(domain);
} else if (post.getPostType() == Post.GALLERY_TYPE) {
((PostGalleryTypeViewHolder) holder).typeTextView.setText(mActivity.getString(R.string.gallery));
+ } else if (post.getPostType() == Post.TEXT_TYPE) {
+ ((PostGalleryTypeViewHolder) holder).typeTextView.setText(mActivity.getString(R.string.text));
+ if (!post.isSpoiler() && post.getSelfTextPlainTrimmed() != null && !post.getSelfTextPlainTrimmed().equals("")) {
+ ((PostGalleryTypeViewHolder) holder).contentTextView.setVisibility(View.VISIBLE);
+ ((PostGalleryTypeViewHolder) holder).contentTextView.setText(post.getSelfTextPlainTrimmed());
+ }
}
if (post.getPostType() != Post.NO_PREVIEW_LINK_TYPE) {
((PostGalleryTypeViewHolder) holder).progressBar.setVisibility(View.VISIBLE);
}
- Post.Preview preview = getSuitablePreview(post.getPreviews());
- if (preview != null) {
- ((PostGalleryTypeViewHolder) holder).imageWrapperRelativeLayout.setVisibility(View.VISIBLE);
- if (preview.getPreviewWidth() <= 0 || preview.getPreviewHeight() <= 0) {
- ((PostGalleryTypeViewHolder) holder).imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
- ((PostGalleryTypeViewHolder) holder).imageView.getLayoutParams().height = (int) (400 * mScale);
+ if (post.getPostType() != Post.TEXT_TYPE) {
+ Post.Preview preview = getSuitablePreview(post.getPreviews());
+ if (preview != null) {
+ ((PostGalleryTypeViewHolder) holder).imageWrapperRelativeLayout.setVisibility(View.VISIBLE);
+ if (preview.getPreviewWidth() <= 0 || preview.getPreviewHeight() <= 0) {
+ ((PostGalleryTypeViewHolder) holder).imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
+ ((PostGalleryTypeViewHolder) holder).imageView.getLayoutParams().height = (int) (400 * mScale);
+ } else {
+ ((PostGalleryTypeViewHolder) holder).imageView
+ .setRatio((float) preview.getPreviewHeight() / preview.getPreviewWidth());
+ }
+ loadImage(holder, post, preview);
} else {
- ((PostGalleryTypeViewHolder) holder).imageView
- .setRatio((float) preview.getPreviewHeight() / preview.getPreviewWidth());
+ ((PostGalleryTypeViewHolder) holder).noPreviewLinkImageView.setVisibility(View.VISIBLE);
}
- loadImage(holder, post, preview);
- } else {
- ((PostGalleryTypeViewHolder) holder).noPreviewLinkImageView.setVisibility(View.VISIBLE);
- }
- } else if (holder instanceof PostTextTypeViewHolder) {
- if (!post.isSpoiler() && post.getSelfTextPlainTrimmed() != null && !post.getSelfTextPlainTrimmed().equals("")) {
- ((PostTextTypeViewHolder) holder).contentTextView.setVisibility(View.VISIBLE);
- ((PostTextTypeViewHolder) holder).contentTextView.setText(post.getSelfTextPlainTrimmed());
}
}
mCallback.currentlyBindItem(holder.getAdapterPosition());
@@ -963,104 +965,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
private void loadImage(final RecyclerView.ViewHolder holder, final Post post, @NonNull Post.Preview preview) {
if (preview != null) {
- if (holder instanceof PostImageAndGifAutoplayViewHolder) {
- String url = post.getPostType() == Post.IMAGE_TYPE ? preview.getPreviewUrl() : post.getUrl();
- RequestBuilder<Drawable> imageRequestBuilder = mGlide.load(url).listener(new RequestListener<Drawable>() {
- @Override
- public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
- ((PostImageAndGifAutoplayViewHolder) holder).progressBar.setVisibility(View.GONE);
- ((PostImageAndGifAutoplayViewHolder) holder).errorRelativeLayout.setVisibility(View.VISIBLE);
- ((PostImageAndGifAutoplayViewHolder) holder).errorRelativeLayout.setOnClickListener(view -> {
- ((PostImageAndGifAutoplayViewHolder) holder).progressBar.setVisibility(View.VISIBLE);
- ((PostImageAndGifAutoplayViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE);
- loadImage(holder, post, preview);
- });
- return false;
- }
-
- @Override
- public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
- ((PostImageAndGifAutoplayViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE);
- ((PostImageAndGifAutoplayViewHolder) holder).progressBar.setVisibility(View.GONE);
- return false;
- }
- });
-
- if ((post.isNSFW() && mNeedBlurNSFW && !(post.getPostType() == Post.GIF_TYPE && mAutoplayNsfwVideos)) || post.isSpoiler() && mNeedBlurSpoiler) {
- imageRequestBuilder.apply(RequestOptions.bitmapTransform(new BlurTransformation(50, 10)))
- .into(((PostImageAndGifAutoplayViewHolder) holder).imageView);
- } else {
- if (mImageViewWidth > preview.getPreviewWidth()) {
- imageRequestBuilder.override(Target.SIZE_ORIGINAL).into(((PostImageAndGifAutoplayViewHolder) holder).imageView);
- } else {
- imageRequestBuilder.into(((PostImageAndGifAutoplayViewHolder) holder).imageView);
- }
- }
- } else if (holder instanceof PostVideoAndGifPreviewViewHolder) {
- RequestBuilder<Drawable> imageRequestBuilder = mGlide.load(preview.getPreviewUrl()).listener(new RequestListener<Drawable>() {
- @Override
- public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
- ((PostVideoAndGifPreviewViewHolder) holder).progressBar.setVisibility(View.GONE);
- ((PostVideoAndGifPreviewViewHolder) holder).errorRelativeLayout.setVisibility(View.VISIBLE);
- ((PostVideoAndGifPreviewViewHolder) holder).errorRelativeLayout.setOnClickListener(view -> {
- ((PostVideoAndGifPreviewViewHolder) holder).progressBar.setVisibility(View.VISIBLE);
- ((PostVideoAndGifPreviewViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE);
- loadImage(holder, post, preview);
- });
- return false;
- }
-
- @Override
- public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
- ((PostVideoAndGifPreviewViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE);
- ((PostVideoAndGifPreviewViewHolder) holder).progressBar.setVisibility(View.GONE);
- return false;
- }
- });
-
- if ((post.isNSFW() && mNeedBlurNSFW) || post.isSpoiler() && mNeedBlurSpoiler) {
- imageRequestBuilder.apply(RequestOptions.bitmapTransform(new BlurTransformation(50, 10)))
- .into(((PostVideoAndGifPreviewViewHolder) holder).imageView);
- } else {
- if (mImageViewWidth > preview.getPreviewWidth()) {
- imageRequestBuilder.override(Target.SIZE_ORIGINAL).into(((PostVideoAndGifPreviewViewHolder) holder).imageView);
- } else {
- imageRequestBuilder.into(((PostVideoAndGifPreviewViewHolder) holder).imageView);
- }
- }
- } else if (holder instanceof PostLinkTypeViewHolder) {
- RequestBuilder<Drawable> imageRequestBuilder = mGlide.load(preview.getPreviewUrl()).listener(new RequestListener<Drawable>() {
- @Override
- public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
- ((PostLinkTypeViewHolder) holder).progressBar.setVisibility(View.GONE);
- ((PostLinkTypeViewHolder) holder).errorRelativeLayout.setVisibility(View.VISIBLE);
- ((PostLinkTypeViewHolder) holder).errorRelativeLayout.setOnClickListener(view -> {
- ((PostLinkTypeViewHolder) holder).progressBar.setVisibility(View.VISIBLE);
- ((PostLinkTypeViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE);
- loadImage(holder, post, preview);
- });
- return false;
- }
-
- @Override
- public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
- ((PostLinkTypeViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE);
- ((PostLinkTypeViewHolder) holder).progressBar.setVisibility(View.GONE);
- return false;
- }
- });
-
- if ((post.isNSFW() && mNeedBlurNSFW) || post.isSpoiler() && mNeedBlurSpoiler) {
- imageRequestBuilder.apply(RequestOptions.bitmapTransform(new BlurTransformation(50, 10)))
- .into(((PostLinkTypeViewHolder) holder).imageView);
- } else {
- if (mImageViewWidth > preview.getPreviewWidth()) {
- imageRequestBuilder.override(Target.SIZE_ORIGINAL).into(((PostLinkTypeViewHolder) holder).imageView);
- } else {
- imageRequestBuilder.into(((PostLinkTypeViewHolder) holder).imageView);
- }
- }
- } else if (holder instanceof PostGalleryTypeViewHolder) {
+ if (holder instanceof PostGalleryTypeViewHolder) {
RequestBuilder<Drawable> imageRequestBuilder = mGlide.load(preview.getPreviewUrl()).listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
@@ -1279,17 +1184,6 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
((PostVideoAutoplayViewHolder) holder).resetVolume();
mGlide.clear(((PostVideoAutoplayViewHolder) holder).previewImageView);
((PostVideoAutoplayViewHolder) holder).previewImageView.setVisibility(View.GONE);
- } else if (holder instanceof PostImageAndGifAutoplayViewHolder) {
- mGlide.clear(((PostImageAndGifAutoplayViewHolder) holder).imageView);
- ((PostImageAndGifAutoplayViewHolder) holder).imageView.setScaleType(ImageView.ScaleType.FIT_START);
- ((PostImageAndGifAutoplayViewHolder) holder).imageView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
- ((PostImageAndGifAutoplayViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE);
- } else if (holder instanceof PostVideoAndGifPreviewViewHolder) {
- mGlide.clear(((PostVideoAndGifPreviewViewHolder) holder).imageView);
- } else if (holder instanceof PostLinkTypeViewHolder) {
- mGlide.clear(((PostLinkTypeViewHolder) holder).imageView);
- ((PostLinkTypeViewHolder) holder).imageView.getLayoutParams().height = FrameLayout.LayoutParams.WRAP_CONTENT;
- ((PostLinkTypeViewHolder) holder).errorRelativeLayout.setVisibility(View.GONE);
} else if (holder instanceof PostGalleryTypeViewHolder) {
mGlide.clear(((PostGalleryTypeViewHolder) holder).imageView);
((PostGalleryTypeViewHolder) holder).imageWrapperRelativeLayout.setVisibility(View.GONE);
@@ -1298,9 +1192,8 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
((PostGalleryTypeViewHolder) holder).progressBar.setVisibility(View.GONE);
((PostGalleryTypeViewHolder) holder).videoOrGifIndicatorImageView.setVisibility(View.GONE);
((PostGalleryTypeViewHolder) holder).linkTextView.setVisibility(View.GONE);
- } else if (holder instanceof PostTextTypeViewHolder) {
- ((PostTextTypeViewHolder) holder).contentTextView.setText("");
- ((PostTextTypeViewHolder) holder).contentTextView.setVisibility(View.GONE);
+ ((PostGalleryTypeViewHolder) holder).contentTextView.setText("");
+ ((PostGalleryTypeViewHolder) holder).contentTextView.setVisibility(View.GONE);
}
mGlide.clear(((PostBaseViewHolder) holder).iconGifImageView);
@@ -2102,446 +1995,6 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
}
}
- class PostVideoAndGifPreviewViewHolder extends PostBaseViewHolder {
- @BindView(R.id.card_view_item_post_video_and_gif_preview)
- MaterialCardView cardView;
- @BindView(R.id.icon_gif_image_view_item_post_video_and_gif_preview)
- AspectRatioGifImageView iconGifImageView;
- @BindView(R.id.subreddit_name_text_view_item_post_video_and_gif_preview)
- TextView subredditTextView;
- @BindView(R.id.user_text_view_item_post_video_and_gif_preview)
- TextView userTextView;
- @BindView(R.id.stickied_post_image_view_item_post_video_and_gif_preview)
- ImageView stickiedPostImageView;
- @BindView(R.id.post_time_text_view_item_post_video_and_gif_preview)
- TextView postTimeTextView;
- @BindView(R.id.title_text_view_item_post_video_and_gif_preview)
- TextView titleTextView;
- @BindView(R.id.type_text_view_item_post_video_and_gif_preview)
- CustomTextView typeTextView;
- @BindView(R.id.archived_image_view_item_post_video_and_gif_preview)
- ImageView archivedImageView;
- @BindView(R.id.locked_image_view_item_post_video_and_gif_preview)
- ImageView lockedImageView;
- @BindView(R.id.crosspost_image_view_item_post_video_and_gif_preview)
- ImageView crosspostImageView;
- @BindView(R.id.nsfw_text_view_item_post_video_and_gif_preview)
- CustomTextView nsfwTextView;
- @BindView(R.id.spoiler_custom_text_view_item_post_video_and_gif_preview)
- CustomTextView spoilerTextView;
- @BindView(R.id.flair_custom_text_view_item_post_video_and_gif_preview)
- CustomTextView flairTextView;
- @BindView(R.id.awards_text_view_item_post_video_and_gif_preview)
- CustomTextView awardsTextView;
- @BindView(R.id.progress_bar_item_post_video_and_gif_preview)
- ProgressBar progressBar;
- @BindView(R.id.image_view_item_post_video_and_gif_preview)
- AspectRatioGifImageView imageView;
- @BindView(R.id.load_image_error_relative_layout_item_post_video_and_gif_preview)
- RelativeLayout errorRelativeLayout;
- @BindView(R.id.load_image_error_text_view_item_post_video_and_gif_preview)
- TextView errorTextView;
- @BindView(R.id.bottom_constraint_layout_item_post_video_and_gif_preview)
- ConstraintLayout bottomConstraintLayout;
- @BindView(R.id.plus_button_item_post_video_and_gif_preview)
- ImageView upvoteButton;
- @BindView(R.id.score_text_view_item_post_video_and_gif_preview)
- TextView scoreTextView;
- @BindView(R.id.minus_button_item_post_video_and_gif_preview)
- ImageView downvoteButton;
- @BindView(R.id.comments_count_item_post_video_and_gif_preview)
- TextView commentsCountTextView;
- @BindView(R.id.save_button_item_post_video_and_gif_preview)
- ImageView saveButton;
- @BindView(R.id.share_button_item_post_video_and_gif_preview)
- ImageView shareButton;
-
- PostVideoAndGifPreviewViewHolder(View itemView) {
- super(itemView);
- ButterKnife.bind(this, itemView);
- setBaseView(cardView,
- iconGifImageView,
- subredditTextView,
- userTextView,
- stickiedPostImageView,
- postTimeTextView,
- titleTextView,
- typeTextView,
- archivedImageView,
- lockedImageView,
- crosspostImageView,
- nsfwTextView,
- spoilerTextView,
- flairTextView,
- awardsTextView,
- bottomConstraintLayout,
- upvoteButton,
- scoreTextView,
- downvoteButton,
- commentsCountTextView,
- saveButton,
- shareButton);
-
- progressBar.setIndeterminateTintList(ColorStateList.valueOf(mColorAccent));
- errorTextView.setTextColor(mPrimaryTextColor);
-
- imageView.setOnClickListener(view -> {
- int position = getAdapterPosition();
- if (position < 0) {
- return;
- }
- Post post = getItem(position);
- if (post != null) {
- if (post.getPostType() == Post.VIDEO_TYPE) {
- Intent intent = new Intent(mActivity, ViewVideoActivity.class);
- if (post.isGfycat()) {
- intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_TYPE, ViewVideoActivity.VIDEO_TYPE_GFYCAT);
- intent.putExtra(ViewVideoActivity.EXTRA_GFYCAT_ID, post.getGfycatId());
- } else if (post.isRedgifs()) {
- intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_TYPE, ViewVideoActivity.VIDEO_TYPE_REDGIFS);
- intent.putExtra(ViewVideoActivity.EXTRA_GFYCAT_ID, post.getGfycatId());
- } else {
- intent.setData(Uri.parse(post.getVideoUrl()));
- intent.putExtra(ViewVideoActivity.EXTRA_SUBREDDIT, post.getSubredditName());
- intent.putExtra(ViewVideoActivity.EXTRA_ID, post.getId());
- intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_DOWNLOAD_URL, post.getVideoDownloadUrl());
- }
- intent.putExtra(ViewVideoActivity.EXTRA_POST_TITLE, post.getTitle());
- intent.putExtra(ViewVideoActivity.EXTRA_IS_NSFW, post.isNSFW());
- mActivity.startActivity(intent);
- } else if (post.getPostType() == Post.GIF_TYPE) {
- Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
- intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, post.getSubredditName()
- + "-" + post.getId() + ".gif");
- intent.putExtra(ViewImageOrGifActivity.EXTRA_GIF_URL_KEY, post.getVideoUrl());
- intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, post.getTitle());
- intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, post.getSubredditName());
- mActivity.startActivity(intent);
- }
- }
- });
- }
- }
-
- class PostImageAndGifAutoplayViewHolder extends PostBaseViewHolder {
- @BindView(R.id.card_view_item_post_image_and_gif_autoplay)
- MaterialCardView cardView;
- @BindView(R.id.icon_gif_image_view_item_post_image_and_gif_autoplay)
- AspectRatioGifImageView iconGifImageView;
- @BindView(R.id.subreddit_name_text_view_item_post_image_and_gif_autoplay)
- TextView subredditTextView;
- @BindView(R.id.user_text_view_item_post_image_and_gif_autoplay)
- TextView userTextView;
- @BindView(R.id.stickied_post_image_view_item_post_image_and_gif_autoplay)
- ImageView stickiedPostImageView;
- @BindView(R.id.post_time_text_view_item_post_image_and_gif_autoplay)
- TextView postTimeTextView;
- @BindView(R.id.title_text_view_item_post_image_and_gif_autoplay)
- TextView titleTextView;
- @BindView(R.id.type_text_view_item_post_image_and_gif_autoplay)
- CustomTextView typeTextView;
- @BindView(R.id.archived_image_view_item_post_image_and_gif_autoplay)
- ImageView archivedImageView;
- @BindView(R.id.locked_image_view_item_post_image_and_gif_autoplay)
- ImageView lockedImageView;
- @BindView(R.id.crosspost_image_view_item_post_image_and_gif_autoplay)
- ImageView crosspostImageView;
- @BindView(R.id.nsfw_text_view_item_post_image_and_gif_autoplay)
- CustomTextView nsfwTextView;
- @BindView(R.id.spoiler_custom_text_view_item_post_image_and_gif_autoplay)
- CustomTextView spoilerTextView;
- @BindView(R.id.flair_custom_text_view_item_post_image_and_gif_autoplay)
- CustomTextView flairTextView;
- @BindView(R.id.awards_text_view_item_post_image_and_gif_autoplay)
- CustomTextView awardsTextView;
- @BindView(R.id.progress_bar_item_post_image_and_gif_autoplay)
- ProgressBar progressBar;
- @BindView(R.id.image_view_item_post_image_and_gif_autoplay)
- AspectRatioGifImageView imageView;
- @BindView(R.id.load_image_error_relative_layout_item_post_image_and_gif_autoplay)
- RelativeLayout errorRelativeLayout;
- @BindView(R.id.load_image_error_text_view_item_post_image_and_gif_autoplay)
- TextView errorTextView;
- @BindView(R.id.bottom_constraint_layout_item_post_image_and_gif_autoplay)
- ConstraintLayout bottomConstraintLayout;
- @BindView(R.id.plus_button_item_post_image_and_gif_autoplay)
- ImageView upvoteButton;
- @BindView(R.id.score_text_view_item_post_image_and_gif_autoplay)
- TextView scoreTextView;
- @BindView(R.id.minus_button_item_post_image_and_gif_autoplay)
- ImageView downvoteButton;
- @BindView(R.id.comments_count_item_post_image_and_gif_autoplay)
- TextView commentsCountTextView;
- @BindView(R.id.save_button_item_post_image_and_gif_autoplay)
- ImageView saveButton;
- @BindView(R.id.share_button_item_post_image_and_gif_autoplay)
- ImageView shareButton;
-
- PostImageAndGifAutoplayViewHolder(View itemView) {
- super(itemView);
- ButterKnife.bind(this, itemView);
- setBaseView(cardView,
- iconGifImageView,
- subredditTextView,
- userTextView,
- stickiedPostImageView,
- postTimeTextView,
- titleTextView,
- typeTextView,
- archivedImageView,
- lockedImageView,
- crosspostImageView,
- nsfwTextView,
- spoilerTextView,
- flairTextView,
- awardsTextView,
- bottomConstraintLayout,
- upvoteButton,
- scoreTextView,
- downvoteButton,
- commentsCountTextView,
- saveButton,
- shareButton);
-
- progressBar.setIndeterminateTintList(ColorStateList.valueOf(mColorAccent));
- errorTextView.setTextColor(mPrimaryTextColor);
-
- imageView.setOnClickListener(view -> {
- int position = getAdapterPosition();
- if (position < 0) {
- return;
- }
- Post post = getItem(position);
- if (post != null) {
- if (post.getPostType() == Post.IMAGE_TYPE) {
- Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
- intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, post.getUrl());
- intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, post.getSubredditName()
- + "-" + post.getId() + ".jpg");
- intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, post.getTitle());
- intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, post.getSubredditName());
- mActivity.startActivity(intent);
- } else {
- Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
- intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, post.getSubredditName()
- + "-" + post.getId() + ".gif");
- intent.putExtra(ViewImageOrGifActivity.EXTRA_GIF_URL_KEY, post.getVideoUrl());
- intent.putExtra(ViewImageOrGifActivity.EXTRA_POST_TITLE_KEY, post.getTitle());
- intent.putExtra(ViewImageOrGifActivity.EXTRA_SUBREDDIT_OR_USERNAME_KEY, post.getSubredditName());
- mActivity.startActivity(intent);
- }
- }
- });
- }
- }
-
- class PostLinkTypeViewHolder extends PostBaseViewHolder {
- @BindView(R.id.card_view_item_post_link)
- MaterialCardView cardView;
- @BindView(R.id.icon_gif_image_view_item_post_link)
- AspectRatioGifImageView iconGifImageView;
- @BindView(R.id.subreddit_name_text_view_item_post_link)
- TextView subredditTextView;
- @BindView(R.id.user_text_view_item_post_link)
- TextView userTextView;
- @BindView(R.id.stickied_post_image_view_item_post_link)
- ImageView stickiedPostImageView;
- @BindView(R.id.post_time_text_view_item_post_link)
- TextView postTimeTextView;
- @BindView(R.id.title_text_view_item_post_link)
- TextView titleTextView;
- @BindView(R.id.type_text_view_item_post_link)
- CustomTextView typeTextView;
- @BindView(R.id.archived_image_view_item_post_link)
- ImageView archivedImageView;
- @BindView(R.id.locked_image_view_item_post_link)
- ImageView lockedImageView;
- @BindView(R.id.crosspost_image_view_item_post_link)
- ImageView crosspostImageView;
- @BindView(R.id.nsfw_text_view_item_post_link)
- CustomTextView nsfwTextView;
- @BindView(R.id.spoiler_custom_text_view_item_post_link)
- CustomTextView spoilerTextView;
- @BindView(R.id.flair_custom_text_view_item_post_link)
- CustomTextView flairTextView;
- @BindView(R.id.awards_text_view_item_post_link)
- CustomTextView awardsTextView;
- @BindView(R.id.link_text_view_item_post_link)
- TextView linkTextView;
- @BindView(R.id.progress_bar_item_post_link)
- ProgressBar progressBar;
- @BindView(R.id.image_view_item_post_link)
- AspectRatioGifImageView imageView;
- @BindView(R.id.load_image_error_relative_layout_item_post_link)
- RelativeLayout errorRelativeLayout;
- @BindView(R.id.load_image_error_text_view_item_post_link)
- TextView errorTextView;
- @BindView(R.id.bottom_constraint_layout_item_post_link)
- ConstraintLayout bottomConstraintLayout;
- @BindView(R.id.plus_button_item_post_link)
- ImageView upvoteButton;
- @BindView(R.id.score_text_view_item_post_link)
- TextView scoreTextView;
- @BindView(R.id.minus_button_item_post_link)
- ImageView downvoteButton;
- @BindView(R.id.comments_count_item_post_link)
- TextView commentsCountTextView;
- @BindView(R.id.save_button_item_post_link)
- ImageView saveButton;
- @BindView(R.id.share_button_item_post_link)
- ImageView shareButton;
-
- PostLinkTypeViewHolder(View itemView) {
- super(itemView);
- ButterKnife.bind(this, itemView);
- setBaseView(cardView,
- iconGifImageView,
- subredditTextView,
- userTextView,
- stickiedPostImageView,
- postTimeTextView,
- titleTextView,
- typeTextView,
- archivedImageView,
- lockedImageView,
- crosspostImageView,
- nsfwTextView,
- spoilerTextView,
- flairTextView,
- awardsTextView,
- bottomConstraintLayout,
- upvoteButton,
- scoreTextView,
- downvoteButton,
- commentsCountTextView,
- saveButton,
- shareButton);
-
- linkTextView.setTextColor(mSecondaryTextColor);
- progressBar.setIndeterminateTintList(ColorStateList.valueOf(mColorAccent));
- errorTextView.setTextColor(mPrimaryTextColor);
-
- imageView.setOnClickListener(view -> {
- int position = getAdapterPosition();
- if (position < 0) {
- return;
- }
- Post post = getItem(position);
- if (post != null) {
- Intent intent = new Intent(mActivity, LinkResolverActivity.class);
- Uri uri = Uri.parse(post.getUrl());
- if (uri.getScheme() == null && uri.getHost() == null) {
- intent.setData(LinkResolverActivity.getRedditUriByPath(post.getUrl()));
- } else {
- intent.setData(uri);
- }
- intent.putExtra(LinkResolverActivity.EXTRA_IS_NSFW, post.isNSFW());
- mActivity.startActivity(intent);
- }
- });
- }
- }
-
- class PostNoPreviewLinkTypeViewHolder extends PostBaseViewHolder {
- @BindView(R.id.card_view_item_post_no_preview_link_type)
- MaterialCardView cardView;
- @BindView(R.id.icon_gif_image_view_item_post_no_preview_link_type)
- AspectRatioGifImageView iconGifImageView;
- @BindView(R.id.subreddit_name_text_view_item_post_no_preview_link_type)
- TextView subredditTextView;
- @BindView(R.id.user_text_view_item_post_no_preview_link_type)
- TextView userTextView;
- @BindView(R.id.stickied_post_image_view_item_post_no_preview_link_type)
- ImageView stickiedPostImageView;
- @BindView(R.id.post_time_text_view_item_post_no_preview_link_type)
- TextView postTimeTextView;
- @BindView(R.id.title_text_view_item_post_no_preview_link_type)
- TextView titleTextView;
- @BindView(R.id.type_text_view_item_post_no_preview_link_type)
- CustomTextView typeTextView;
- @BindView(R.id.archived_image_view_item_post_no_preview_link_type)
- ImageView archivedImageView;
- @BindView(R.id.locked_image_view_item_post_no_preview_link_type)
- ImageView lockedImageView;
- @BindView(R.id.crosspost_image_view_item_post_no_preview_link_type)
- ImageView crosspostImageView;
- @BindView(R.id.nsfw_text_view_item_post_no_preview_link_type)
- CustomTextView nsfwTextView;
- @BindView(R.id.spoiler_custom_text_view_item_post_no_preview_link_type)
- CustomTextView spoilerTextView;
- @BindView(R.id.flair_custom_text_view_item_post_no_preview_link_type)
- CustomTextView flairTextView;
- @BindView(R.id.awards_text_view_item_post_no_preview_link_type)
- CustomTextView awardsTextView;
- @BindView(R.id.link_text_view_item_post_no_preview_link_type)
- TextView linkTextView;
- @BindView(R.id.image_view_no_preview_link_item_post_no_preview_link_type)
- ImageView noPreviewLinkImageView;
- @BindView(R.id.bottom_constraint_layout_item_post_no_preview_link_type)
- ConstraintLayout bottomConstraintLayout;
- @BindView(R.id.plus_button_item_post_no_preview_link_type)
- ImageView upvoteButton;
- @BindView(R.id.score_text_view_item_post_no_preview_link_type)
- TextView scoreTextView;
- @BindView(R.id.minus_button_item_post_no_preview_link_type)
- ImageView downvoteButton;
- @BindView(R.id.comments_count_item_post_no_preview_link_type)
- TextView commentsCountTextView;
- @BindView(R.id.save_button_item_post_no_preview_link_type)
- ImageView saveButton;
- @BindView(R.id.share_button_item_post_no_preview_link_type)
- ImageView shareButton;
-
- PostNoPreviewLinkTypeViewHolder(View itemView) {
- super(itemView);
- ButterKnife.bind(this, itemView);
- setBaseView(cardView,
- iconGifImageView,
- subredditTextView,
- userTextView,
- stickiedPostImageView,
- postTimeTextView,
- titleTextView,
- typeTextView,
- archivedImageView,
- lockedImageView,
- crosspostImageView,
- nsfwTextView,
- spoilerTextView,
- flairTextView,
- awardsTextView,
- bottomConstraintLayout,
- upvoteButton,
- scoreTextView,
- downvoteButton,
- commentsCountTextView,
- saveButton,
- shareButton);
-
- linkTextView.setTextColor(mSecondaryTextColor);
- noPreviewLinkImageView.setBackgroundColor(mNoPreviewLinkBackgroundColor);
-
- noPreviewLinkImageView.setOnClickListener(view -> {
- int position = getAdapterPosition();
- if (position < 0) {
- return;
- }
- Post post = getItem(position);
- if (post != null) {
- Intent intent = new Intent(mActivity, LinkResolverActivity.class);
- Uri uri = Uri.parse(post.getUrl());
- if (uri.getScheme() == null && uri.getHost() == null) {
- intent.setData(LinkResolverActivity.getRedditUriByPath(post.getUrl()));
- } else {
- intent.setData(uri);
- }
- intent.putExtra(LinkResolverActivity.EXTRA_IS_NSFW, post.isNSFW());
- mActivity.startActivity(intent);
- }
- });
- }
- }
-
class PostGalleryTypeViewHolder extends PostBaseViewHolder {
@BindView(R.id.card_view_item_post_gallery_type)
MaterialCardView cardView;
@@ -2557,6 +2010,8 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
TextView postTimeTextView;
@BindView(R.id.title_text_view_item_post_gallery_type)
TextView titleTextView;
+ @BindView(R.id.content_text_view_item_post_gallery_type)
+ TextView contentTextView;
@BindView(R.id.type_text_view_item_post_gallery_type)
CustomTextView typeTextView;
@BindView(R.id.archived_image_view_item_post_gallery_type)
@@ -2630,6 +2085,7 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
saveButton,
shareButton);
+ contentTextView.setTextColor(mPostContentColor);
linkTextView.setTextColor(mSecondaryTextColor);
noPreviewLinkImageView.setBackgroundColor(mNoPreviewLinkBackgroundColor);
progressBar.setIndeterminateTintList(ColorStateList.valueOf(mColorAccent));
@@ -2700,84 +2156,6 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
}
}
- class PostTextTypeViewHolder extends PostBaseViewHolder {
- @BindView(R.id.card_view_item_post_text_type)
- MaterialCardView cardView;
- @BindView(R.id.icon_gif_image_view_item_post_text_type)
- AspectRatioGifImageView iconGifImageView;
- @BindView(R.id.subreddit_name_text_view_item_post_text_type)
- TextView subredditTextView;
- @BindView(R.id.user_text_view_item_post_text_type)
- TextView userTextView;
- @BindView(R.id.stickied_post_image_view_item_post_text_type)
- ImageView stickiedPostImageView;
- @BindView(R.id.post_time_text_view_item_post_text_type)
- TextView postTimeTextView;
- @BindView(R.id.title_text_view_item_post_text_type)
- TextView titleTextView;
- @BindView(R.id.type_text_view_item_post_text_type)
- CustomTextView typeTextView;
- @BindView(R.id.archived_image_view_item_post_text_type)
- ImageView archivedImageView;
- @BindView(R.id.locked_image_view_item_post_text_type)
- ImageView lockedImageView;
- @BindView(R.id.crosspost_image_view_item_post_text_type)
- ImageView crosspostImageView;
- @BindView(R.id.nsfw_text_view_item_post_text_type)
- CustomTextView nsfwTextView;
- @BindView(R.id.spoiler_custom_text_view_item_post_text_type)
- CustomTextView spoilerTextView;
- @BindView(R.id.flair_custom_text_view_item_post_text_type)
- CustomTextView flairTextView;
- @BindView(R.id.awards_text_view_item_post_text_type)
- CustomTextView awardsTextView;
- @BindView(R.id.content_text_view_item_post_text_type)
- TextView contentTextView;
- @BindView(R.id.bottom_constraint_layout_item_post_text_type)
- ConstraintLayout bottomConstraintLayout;
- @BindView(R.id.plus_button_item_post_text_type)
- ImageView upvoteButton;
- @BindView(R.id.score_text_view_item_post_text_type)
- TextView scoreTextView;
- @BindView(R.id.minus_button_item_post_text_type)
- ImageView downvoteButton;
- @BindView(R.id.comments_count_item_post_text_type)
- TextView commentsCountTextView;
- @BindView(R.id.save_button_item_post_text_type)
- ImageView saveButton;
- @BindView(R.id.share_button_item_post_text_type)
- ImageView shareButton;
-
- PostTextTypeViewHolder(View itemView) {
- super(itemView);
- ButterKnife.bind(this, itemView);
- setBaseView(cardView,
- iconGifImageView,
- subredditTextView,
- userTextView,
- stickiedPostImageView,
- postTimeTextView,
- titleTextView,
- typeTextView,
- archivedImageView,
- lockedImageView,
- crosspostImageView,
- nsfwTextView,
- spoilerTextView,
- flairTextView,
- awardsTextView,
- bottomConstraintLayout,
- upvoteButton,
- scoreTextView,
- downvoteButton,
- commentsCountTextView,
- saveButton,
- shareButton);
-
- contentTextView.setTextColor(mPostContentColor);
- }
- }
-
public class PostCompactBaseViewHolder extends RecyclerView.ViewHolder {
AspectRatioGifImageView iconGifImageView;
TextView nameTextView;
diff --git a/app/src/main/res/layout/item_post_gallery.xml b/app/src/main/res/layout/item_post_gallery.xml
index ed5cdbe3..dbe3cc28 100644
--- a/app/src/main/res/layout/item_post_gallery.xml
+++ b/app/src/main/res/layout/item_post_gallery.xml
@@ -102,6 +102,19 @@
android:textSize="?attr/title_font_18"
android:fontFamily="?attr/title_font_family" />
+ <TextView
+ android:id="@+id/content_text_view_item_post_gallery_type"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:paddingStart="16dp"
+ android:paddingEnd="16dp"
+ android:maxLines="4"
+ android:visibility="gone"
+ android:textSize="?attr/content_font_default"
+ android:fontFamily="?attr/content_font_family"
+ android:ellipsize="end" />
+
<com.nex3z.flowlayout.FlowLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"