aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDocile-Alligator <chineseperson5@gmail.com>2022-03-06 07:09:57 +0000
committerDocile-Alligator <chineseperson5@gmail.com>2022-03-06 07:09:57 +0000
commit53755d438168f3830dba2dad9ae63d7262909fc3 (patch)
tree3322f0367c9d70f737a21fbbf89cb02d44b625e6
parent141abc654a66c003351091d9df9f94229d9eb9ce (diff)
downloadinfinity-for-reddit-53755d438168f3830dba2dad9ae63d7262909fc3.tar
infinity-for-reddit-53755d438168f3830dba2dad9ae63d7262909fc3.tar.gz
infinity-for-reddit-53755d438168f3830dba2dad9ae63d7262909fc3.tar.bz2
infinity-for-reddit-53755d438168f3830dba2dad9ae63d7262909fc3.tar.lz
infinity-for-reddit-53755d438168f3830dba2dad9ae63d7262909fc3.tar.xz
infinity-for-reddit-53755d438168f3830dba2dad9ae63d7262909fc3.tar.zst
infinity-for-reddit-53755d438168f3830dba2dad9ae63d7262909fc3.zip
Version 5.1.9-beta1. Fix low resolution post previews when showing them for the first time in PostDetailRecyclerViewAdapter.
-rw-r--r--app/build.gradle4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/MessageRecyclerViewAdapter.java8
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostDetailRecyclerViewAdapter.java33
3 files changed, 35 insertions, 10 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 548b70fa..779678fc 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,8 +6,8 @@ android {
applicationId "ml.docilealligator.infinityforreddit"
minSdkVersion 21
targetSdkVersion 30
- versionCode 93
- versionName "5.1.8"
+ versionCode 94
+ versionName "5.1.9-beta1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/MessageRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/MessageRecyclerViewAdapter.java
index d558d500..33add2f0 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/MessageRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/MessageRecyclerViewAdapter.java
@@ -187,7 +187,7 @@ public class MessageRecyclerViewAdapter extends PagedListAdapter<Message, Recycl
((DataViewHolder) holder).subjectTextView.setText(subject);
mMarkwon.setMarkdown(((DataViewHolder) holder).contentCustomMarkwonView, displayedMessage.getBody());
- ((DataViewHolder) holder).itemView.setOnClickListener(view -> {
+ holder.itemView.setOnClickListener(view -> {
if (mMessageType == FetchMessage.MESSAGE_TYPE_INBOX
&& message.getContext() != null && !message.getContext().equals("")) {
Uri uri = Uri.parse(message.getContext());
@@ -202,7 +202,7 @@ public class MessageRecyclerViewAdapter extends PagedListAdapter<Message, Recycl
}
if (displayedMessage.isNew()) {
- ((DataViewHolder) holder).itemView.setBackgroundColor(mMessageBackgroundColor);
+ holder.itemView.setBackgroundColor(mMessageBackgroundColor);
message.setNew(false);
ReadMessage.readMessage(mOauthRetrofit, mAccessToken, message.getFullname(),
@@ -214,7 +214,7 @@ public class MessageRecyclerViewAdapter extends PagedListAdapter<Message, Recycl
@Override
public void readFailed() {
message.setNew(true);
- ((DataViewHolder) holder).itemView.setBackgroundColor(mUnreadMessageBackgroundColor);
+ holder.itemView.setBackgroundColor(mUnreadMessageBackgroundColor);
}
});
}
@@ -228,7 +228,7 @@ public class MessageRecyclerViewAdapter extends PagedListAdapter<Message, Recycl
((DataViewHolder) holder).contentCustomMarkwonView.setOnClickListener(view -> {
if (((DataViewHolder) holder).contentCustomMarkwonView.getSelectionStart() == -1 && ((DataViewHolder) holder).contentCustomMarkwonView.getSelectionEnd() == -1) {
- ((DataViewHolder) holder).itemView.performClick();
+ holder.itemView.performClick();
}
});
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostDetailRecyclerViewAdapter.java b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostDetailRecyclerViewAdapter.java
index 983c887a..1d72ec32 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostDetailRecyclerViewAdapter.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/adapters/PostDetailRecyclerViewAdapter.java
@@ -19,6 +19,7 @@ import android.text.util.Linkify;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
@@ -717,7 +718,13 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
Post.Preview preview = getSuitablePreview(mPost.getPreviews());
if (preview != null) {
((PostDetailVideoAndGifPreviewHolder) holder).mImageView.setRatio((float) preview.getPreviewHeight() / (float) preview.getPreviewWidth());
- loadImage((PostDetailVideoAndGifPreviewHolder) holder, preview);
+ ((PostDetailVideoAndGifPreviewHolder) holder).mImageView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ ((PostDetailVideoAndGifPreviewHolder) holder).mImageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
+ loadImage((PostDetailVideoAndGifPreviewHolder) holder, preview);
+ }
+ });
}
} else if (holder instanceof PostDetailImageAndGifAutoplayViewHolder) {
if (!mHidePostType) {
@@ -737,7 +744,13 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
} else {
((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView.setRatio((float) preview.getPreviewHeight() / (float) preview.getPreviewWidth());
}
- loadImage((PostDetailImageAndGifAutoplayViewHolder) holder, preview);
+ ((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ ((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
+ loadImage((PostDetailImageAndGifAutoplayViewHolder) holder, preview);
+ }
+ });
}
} else if (holder instanceof PostDetailLinkViewHolder) {
String domain = Uri.parse(mPost.getUrl()).getHost();
@@ -745,7 +758,13 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
Post.Preview preview = getSuitablePreview(mPost.getPreviews());
if (preview != null) {
((PostDetailLinkViewHolder) holder).mImageView.setRatio((float) preview.getPreviewHeight() / (float) preview.getPreviewWidth());
- loadImage((PostDetailLinkViewHolder) holder, preview);
+ ((PostDetailLinkViewHolder) holder).mImageView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ ((PostDetailLinkViewHolder) holder).mImageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
+ loadImage((PostDetailLinkViewHolder) holder, preview);
+ }
+ });
}
} else if (holder instanceof PostDetailNoPreviewViewHolder) {
@@ -812,7 +831,13 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
((PostDetailGalleryViewHolder) holder).mImageView
.setRatio((float) preview.getPreviewHeight() / preview.getPreviewWidth());
- loadImage((PostDetailGalleryViewHolder) holder, preview);
+ ((PostDetailGalleryViewHolder) holder).mImageView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ ((PostDetailGalleryViewHolder) holder).mImageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
+ loadImage((PostDetailGalleryViewHolder) holder, preview);
+ }
+ });
loadCaptionPreview((PostDetailGalleryViewHolder) holder, preview);
} else {