aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostRecyclerViewAdapter.java113
1 files changed, 72 insertions, 41 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostRecyclerViewAdapter.java
index f5fc9eb7..be869dbf 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostRecyclerViewAdapter.java
@@ -69,14 +69,8 @@ import javax.inject.Provider;
import jp.wasabeef.glide.transformations.BlurTransformation;
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
import ml.docilealligator.infinityforreddit.FetchVideoLinkListener;
-import ml.docilealligator.infinityforreddit.thing.FetchRedgifsVideoLinks;
-import ml.docilealligator.infinityforreddit.post.FetchStreamableVideo;
-import ml.docilealligator.infinityforreddit.post.MarkPostAsReadInterface;
import ml.docilealligator.infinityforreddit.R;
import ml.docilealligator.infinityforreddit.SaveMemoryCenterInisdeDownsampleStrategy;
-import ml.docilealligator.infinityforreddit.thing.SaveThing;
-import ml.docilealligator.infinityforreddit.thing.StreamableVideo;
-import ml.docilealligator.infinityforreddit.thing.VoteThing;
import ml.docilealligator.infinityforreddit.account.Account;
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
import ml.docilealligator.infinityforreddit.activities.FilteredPostsActivity;
@@ -115,8 +109,14 @@ import ml.docilealligator.infinityforreddit.databinding.ItemPostVideoTypeAutopla
import ml.docilealligator.infinityforreddit.databinding.ItemPostWithPreviewBinding;
import ml.docilealligator.infinityforreddit.events.PostUpdateEventToPostDetailFragment;
import ml.docilealligator.infinityforreddit.fragments.PostFragment;
+import ml.docilealligator.infinityforreddit.post.FetchStreamableVideo;
+import ml.docilealligator.infinityforreddit.post.MarkPostAsReadInterface;
import ml.docilealligator.infinityforreddit.post.Post;
import ml.docilealligator.infinityforreddit.post.PostPagingSource;
+import ml.docilealligator.infinityforreddit.thing.FetchRedgifsVideoLinks;
+import ml.docilealligator.infinityforreddit.thing.SaveThing;
+import ml.docilealligator.infinityforreddit.thing.StreamableVideo;
+import ml.docilealligator.infinityforreddit.thing.VoteThing;
import ml.docilealligator.infinityforreddit.utils.APIUtils;
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
import ml.docilealligator.infinityforreddit.utils.Utils;
@@ -980,19 +980,11 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
}
} else if (holder instanceof PostTextTypeViewHolder) {
if (!mHideTextPostContent && !post.isSpoiler() && post.getSelfTextPlainTrimmed() != null && !post.getSelfTextPlainTrimmed().equals("")) {
- ((PostTextTypeViewHolder) holder).binding.contentTextViewItemPostTextType.setVisibility(View.VISIBLE);
+ ((PostTextTypeViewHolder) holder).contentTextView.setVisibility(View.VISIBLE);
if (post.isRead()) {
- ((PostTextTypeViewHolder) holder).binding.contentTextViewItemPostTextType.setTextColor(mReadPostContentColor);
+ ((PostTextTypeViewHolder) holder).contentTextView.setTextColor(mReadPostContentColor);
}
- ((PostTextTypeViewHolder) holder).binding.contentTextViewItemPostTextType.setText(post.getSelfTextPlainTrimmed());
- }
- } else if (holder instanceof PostCard2TextTypeViewHolder) {
- if (!mHideTextPostContent && !post.isSpoiler() && post.getSelfTextPlainTrimmed() != null && !post.getSelfTextPlainTrimmed().equals("")) {
- ((PostCard2TextTypeViewHolder) holder).binding.contentTextViewItemPostCard2Text.setVisibility(View.VISIBLE);
- if (post.isRead()) {
- ((PostCard2TextTypeViewHolder) holder).binding.contentTextViewItemPostCard2Text.setTextColor(mReadPostContentColor);
- }
- ((PostCard2TextTypeViewHolder) holder).binding.contentTextViewItemPostCard2Text.setText(post.getSelfTextPlainTrimmed());
+ ((PostTextTypeViewHolder) holder).contentTextView.setText(post.getSelfTextPlainTrimmed());
}
}
mCallback.currentlyBindItem(holder.getBindingAdapterPosition());
@@ -2173,13 +2165,9 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
((PostBaseGalleryTypeViewHolder) holder).noPreviewImageView.setVisibility(View.GONE);
((PostBaseGalleryTypeViewHolder) holder).adapter.setGalleryImages(null);
} else if (holder instanceof PostTextTypeViewHolder) {
- ((PostTextTypeViewHolder) holder).binding.contentTextViewItemPostTextType.setText("");
- ((PostTextTypeViewHolder) holder).binding.contentTextViewItemPostTextType.setTextColor(mPostContentColor);
- ((PostTextTypeViewHolder) holder).binding.contentTextViewItemPostTextType.setVisibility(View.GONE);
- } else if (holder instanceof PostCard2TextTypeViewHolder) {
- ((PostCard2TextTypeViewHolder) holder).binding.contentTextViewItemPostCard2Text.setText("");
- ((PostCard2TextTypeViewHolder) holder).binding.contentTextViewItemPostCard2Text.setTextColor(mPostContentColor);
- ((PostCard2TextTypeViewHolder) holder).binding.contentTextViewItemPostCard2Text.setVisibility(View.GONE);
+ ((PostTextTypeViewHolder) holder).contentTextView.setText("");
+ ((PostTextTypeViewHolder) holder).contentTextView.setTextColor(mPostContentColor);
+ ((PostTextTypeViewHolder) holder).contentTextView.setVisibility(View.GONE);
}
mGlide.clear(((PostBaseViewHolder) holder).iconGifImageView);
@@ -3563,7 +3551,7 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
}
titleTextView.setTextColor(mReadPostTitleColor);
if (this instanceof PostTextTypeViewHolder) {
- ((PostTextTypeViewHolder) this).binding.contentTextViewItemPostTextType.setTextColor(mReadPostContentColor);
+ ((PostTextTypeViewHolder) this).contentTextView.setTextColor(mReadPostContentColor);
}
}
if (mActivity != null && mActivity instanceof MarkPostAsReadInterface) {
@@ -3922,7 +3910,7 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
}
}
- public class PostBaseGalleryTypeViewHolder extends PostBaseViewHolder {
+ public abstract class PostBaseGalleryTypeViewHolder extends PostBaseViewHolder {
FrameLayout frameLayout;
RecyclerView galleryRecyclerView;
CustomTextView imageIndexTextView;
@@ -4137,12 +4125,14 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
}
class PostTextTypeViewHolder extends PostBaseViewHolder {
+ TextView contentTextView;
- ItemPostTextBinding binding;
+ PostTextTypeViewHolder(@NonNull View itemView) {
+ super(itemView);
+ }
PostTextTypeViewHolder(@NonNull ItemPostTextBinding binding) {
super(binding.getRoot());
- this.binding = binding;
setBaseView(
binding.iconGifImageViewItemPostTextType,
binding.subredditNameTextViewItemPostTextType,
@@ -4163,12 +4153,59 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
binding.downvoteButtonItemPostTextType,
binding.commentsCountButtonItemPostTextType,
binding.saveButtonItemPostTextType,
- binding.shareButtonItemPostTextType);
+ binding.shareButtonItemPostTextType,
+ binding.contentTextViewItemPostTextType);
+ }
+
+ void setBaseView(AspectRatioGifImageView iconGifImageView,
+ TextView subredditTextView,
+ TextView userTextView,
+ ImageView stickiedPostImageView,
+ TextView postTimeTextView,
+ TextView titleTextView,
+ CustomTextView typeTextView,
+ ImageView archivedImageView,
+ ImageView lockedImageView,
+ ImageView crosspostImageView,
+ CustomTextView nsfwTextView,
+ CustomTextView spoilerTextView,
+ CustomTextView flairTextView,
+ ConstraintLayout bottomConstraintLayout,
+ MaterialButton upvoteButton,
+ TextView scoreTextView,
+ MaterialButton downvoteButton,
+ MaterialButton commentsCountButton,
+ MaterialButton saveButton,
+ MaterialButton shareButton,
+ TextView contentTextView) {
+ super.setBaseView(
+ iconGifImageView,
+ subredditTextView,
+ userTextView,
+ stickiedPostImageView,
+ postTimeTextView,
+ titleTextView,
+ typeTextView,
+ archivedImageView,
+ lockedImageView,
+ crosspostImageView,
+ nsfwTextView,
+ spoilerTextView,
+ flairTextView,
+ bottomConstraintLayout,
+ upvoteButton,
+ scoreTextView,
+ downvoteButton,
+ commentsCountButton,
+ saveButton,
+ shareButton);
+
+ this.contentTextView = contentTextView;
if (mActivity.contentTypeface != null) {
- binding.contentTextViewItemPostTextType.setTypeface(mActivity.titleTypeface);
+ contentTextView.setTypeface(mActivity.titleTypeface);
}
- binding.contentTextViewItemPostTextType.setTextColor(mPostContentColor);
+ contentTextView.setTextColor(mPostContentColor);
}
}
@@ -4948,13 +4985,11 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
}
}
- class PostCard2TextTypeViewHolder extends PostBaseViewHolder {
-
- ItemPostCard2TextBinding binding;
-
+ class PostCard2TextTypeViewHolder extends PostTextTypeViewHolder {
PostCard2TextTypeViewHolder(@NonNull ItemPostCard2TextBinding binding) {
super(binding.getRoot());
- this.binding = binding;
+ itemViewIsNotCardView = true;
+
setBaseView(
binding.iconGifImageViewItemPostCard2Text,
binding.subredditNameTextViewItemPostCard2Text,
@@ -4976,12 +5011,8 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
binding.commentsCountButtonItemPostCard2Text,
binding.saveButtonItemPostCard2Text,
binding.shareButtonItemPostCard2Text,
- true);
+ binding.contentTextViewItemPostCard2Text);
- if (mActivity.contentTypeface != null) {
- binding.contentTextViewItemPostCard2Text.setTypeface(mActivity.contentTypeface);
- }
- binding.contentTextViewItemPostCard2Text.setTextColor(mPostContentColor);
binding.dividerItemPostCard2Text.setBackgroundColor(mDividerColor);
}
}