mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-12-28 11:58:23 +01:00
Probably fix app crashes when loading large images in CommentAndPostRecyclerViewAdapter.
This commit is contained in:
parent
cd108fbe55
commit
b1c6223233
@ -5,6 +5,7 @@ import android.content.SharedPreferences;
|
|||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.util.DisplayMetrics;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
@ -196,6 +197,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
|
|||||||
private boolean mLockFab;
|
private boolean mLockFab;
|
||||||
private boolean mSwipeUpToHideFab;
|
private boolean mSwipeUpToHideFab;
|
||||||
private boolean mExpandChildren;
|
private boolean mExpandChildren;
|
||||||
|
private int mWindowWidth;
|
||||||
private LinearLayoutManager mLinearLayoutManager;
|
private LinearLayoutManager mLinearLayoutManager;
|
||||||
private CommentAndPostRecyclerViewAdapter mAdapter;
|
private CommentAndPostRecyclerViewAdapter mAdapter;
|
||||||
private RecyclerView.SmoothScroller mSmoothScroller;
|
private RecyclerView.SmoothScroller mSmoothScroller;
|
||||||
@ -251,6 +253,10 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DisplayMetrics displayMetrics = new DisplayMetrics();
|
||||||
|
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
|
||||||
|
mWindowWidth = displayMetrics.widthPixels;
|
||||||
|
|
||||||
mToolbar.setTitle("");
|
mToolbar.setTitle("");
|
||||||
setSupportActionBar(mToolbar);
|
setSupportActionBar(mToolbar);
|
||||||
setToolbarGoToTop(mToolbar);
|
setToolbarGoToTop(mToolbar);
|
||||||
@ -462,8 +468,8 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
|
|||||||
|
|
||||||
mAdapter = new CommentAndPostRecyclerViewAdapter(ViewPostDetailActivity.this,
|
mAdapter = new CommentAndPostRecyclerViewAdapter(ViewPostDetailActivity.this,
|
||||||
mCustomThemeWrapper, mRetrofit, mOauthRetrofit, mRedditDataRoomDatabase, mGlide,
|
mCustomThemeWrapper, mRetrofit, mOauthRetrofit, mRedditDataRoomDatabase, mGlide,
|
||||||
mAccessToken, mAccountName, mPost, mLocale, mSingleCommentId, isSingleCommentThreadMode,
|
mWindowWidth, mAccessToken, mAccountName, mPost, mLocale, mSingleCommentId,
|
||||||
mSharedPreferences, mExoCreator,
|
isSingleCommentThreadMode, mSharedPreferences, mExoCreator,
|
||||||
new CommentAndPostRecyclerViewAdapter.CommentRecyclerViewAdapterCallback() {
|
new CommentAndPostRecyclerViewAdapter.CommentRecyclerViewAdapterCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void updatePost(Post post) {
|
public void updatePost(Post post) {
|
||||||
@ -626,8 +632,8 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
|
|||||||
|
|
||||||
mAdapter = new CommentAndPostRecyclerViewAdapter(ViewPostDetailActivity.this,
|
mAdapter = new CommentAndPostRecyclerViewAdapter(ViewPostDetailActivity.this,
|
||||||
mCustomThemeWrapper, mRetrofit, mOauthRetrofit, mRedditDataRoomDatabase, mGlide,
|
mCustomThemeWrapper, mRetrofit, mOauthRetrofit, mRedditDataRoomDatabase, mGlide,
|
||||||
mAccessToken, mAccountName, mPost, mLocale, mSingleCommentId, isSingleCommentThreadMode,
|
mWindowWidth, mAccessToken, mAccountName, mPost, mLocale,
|
||||||
mSharedPreferences, mExoCreator,
|
mSingleCommentId, isSingleCommentThreadMode, mSharedPreferences, mExoCreator,
|
||||||
new CommentAndPostRecyclerViewAdapter.CommentRecyclerViewAdapterCallback() {
|
new CommentAndPostRecyclerViewAdapter.CommentRecyclerViewAdapterCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void updatePost(Post post) {
|
public void updatePost(Post post) {
|
||||||
|
@ -5,7 +5,6 @@ import android.content.SharedPreferences;
|
|||||||
import android.content.res.ColorStateList;
|
import android.content.res.ColorStateList;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Bitmap;
|
|
||||||
import android.graphics.ColorFilter;
|
import android.graphics.ColorFilter;
|
||||||
import android.graphics.PorterDuff;
|
import android.graphics.PorterDuff;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
@ -42,11 +41,7 @@ import com.bumptech.glide.load.DataSource;
|
|||||||
import com.bumptech.glide.load.engine.GlideException;
|
import com.bumptech.glide.load.engine.GlideException;
|
||||||
import com.bumptech.glide.request.RequestListener;
|
import com.bumptech.glide.request.RequestListener;
|
||||||
import com.bumptech.glide.request.RequestOptions;
|
import com.bumptech.glide.request.RequestOptions;
|
||||||
import com.bumptech.glide.request.target.CustomTarget;
|
|
||||||
import com.bumptech.glide.request.target.Target;
|
import com.bumptech.glide.request.target.Target;
|
||||||
import com.bumptech.glide.request.transition.Transition;
|
|
||||||
import com.davemorrissey.labs.subscaleview.ImageSource;
|
|
||||||
import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView;
|
|
||||||
import com.google.android.exoplayer2.metadata.Metadata;
|
import com.google.android.exoplayer2.metadata.Metadata;
|
||||||
import com.google.android.exoplayer2.source.TrackGroupArray;
|
import com.google.android.exoplayer2.source.TrackGroupArray;
|
||||||
import com.google.android.exoplayer2.text.Cue;
|
import com.google.android.exoplayer2.text.Cue;
|
||||||
@ -102,7 +97,6 @@ import ml.docilealligator.infinityforreddit.Comment.Comment;
|
|||||||
import ml.docilealligator.infinityforreddit.Comment.FetchComment;
|
import ml.docilealligator.infinityforreddit.Comment.FetchComment;
|
||||||
import ml.docilealligator.infinityforreddit.CustomTheme.CustomThemeWrapper;
|
import ml.docilealligator.infinityforreddit.CustomTheme.CustomThemeWrapper;
|
||||||
import ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView;
|
import ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView;
|
||||||
import ml.docilealligator.infinityforreddit.CustomView.AspectRatioSubsamplingScaleImageView;
|
|
||||||
import ml.docilealligator.infinityforreddit.CustomView.MarkwonLinearLayoutManager;
|
import ml.docilealligator.infinityforreddit.CustomView.MarkwonLinearLayoutManager;
|
||||||
import ml.docilealligator.infinityforreddit.Post.Post;
|
import ml.docilealligator.infinityforreddit.Post.Post;
|
||||||
import ml.docilealligator.infinityforreddit.Post.PostDataSource;
|
import ml.docilealligator.infinityforreddit.Post.PostDataSource;
|
||||||
@ -122,20 +116,19 @@ import static ml.docilealligator.infinityforreddit.Activity.CommentActivity.WRIT
|
|||||||
public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements CacheManager {
|
public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements CacheManager {
|
||||||
private static final int VIEW_TYPE_POST_DETAIL_VIDEO_AUTOPLAY = 1;
|
private static final int VIEW_TYPE_POST_DETAIL_VIDEO_AUTOPLAY = 1;
|
||||||
private static final int VIEW_TYPE_POST_DETAIL_VIDEO_AND_GIF_PREVIEW = 2;
|
private static final int VIEW_TYPE_POST_DETAIL_VIDEO_AND_GIF_PREVIEW = 2;
|
||||||
private static final int VIEW_TYPE_POST_DETAIL_GIF_AUTOPLAY = 3;
|
private static final int VIEW_TYPE_POST_DETAIL_IMAGE_AND_GIF_AUTOPLAY = 3;
|
||||||
private static final int VIEW_TYPE_POST_DETAIL_IMAGE = 4;
|
private static final int VIEW_TYPE_POST_DETAIL_LINK = 4;
|
||||||
private static final int VIEW_TYPE_POST_DETAIL_LINK = 5;
|
private static final int VIEW_TYPE_POST_DETAIL_NO_PREVIEW_LINK = 5;
|
||||||
private static final int VIEW_TYPE_POST_DETAIL_NO_PREVIEW_LINK = 6;
|
private static final int VIEW_TYPE_POST_DETAIL_TEXT_TYPE = 6;
|
||||||
private static final int VIEW_TYPE_POST_DETAIL_TEXT_TYPE = 7;
|
private static final int VIEW_TYPE_FIRST_LOADING = 7;
|
||||||
private static final int VIEW_TYPE_FIRST_LOADING = 8;
|
private static final int VIEW_TYPE_FIRST_LOADING_FAILED = 8;
|
||||||
private static final int VIEW_TYPE_FIRST_LOADING_FAILED = 9;
|
private static final int VIEW_TYPE_NO_COMMENT_PLACEHOLDER = 9;
|
||||||
private static final int VIEW_TYPE_NO_COMMENT_PLACEHOLDER = 10;
|
private static final int VIEW_TYPE_COMMENT = 10;
|
||||||
private static final int VIEW_TYPE_COMMENT = 11;
|
private static final int VIEW_TYPE_COMMENT_FULLY_COLLAPSED = 11;
|
||||||
private static final int VIEW_TYPE_COMMENT_FULLY_COLLAPSED = 12;
|
private static final int VIEW_TYPE_LOAD_MORE_CHILD_COMMENTS = 12;
|
||||||
private static final int VIEW_TYPE_LOAD_MORE_CHILD_COMMENTS = 13;
|
private static final int VIEW_TYPE_IS_LOADING_MORE_COMMENTS = 13;
|
||||||
private static final int VIEW_TYPE_IS_LOADING_MORE_COMMENTS = 14;
|
private static final int VIEW_TYPE_LOAD_MORE_COMMENTS_FAILED = 14;
|
||||||
private static final int VIEW_TYPE_LOAD_MORE_COMMENTS_FAILED = 15;
|
private static final int VIEW_TYPE_VIEW_ALL_COMMENTS = 15;
|
||||||
private static final int VIEW_TYPE_VIEW_ALL_COMMENTS = 16;
|
|
||||||
|
|
||||||
private AppCompatActivity mActivity;
|
private AppCompatActivity mActivity;
|
||||||
private Retrofit mRetrofit;
|
private Retrofit mRetrofit;
|
||||||
@ -145,6 +138,7 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
|||||||
private Markwon mPostDetailMarkwon;
|
private Markwon mPostDetailMarkwon;
|
||||||
private Markwon mCommentMarkwon;
|
private Markwon mCommentMarkwon;
|
||||||
private final MarkwonAdapter mMarkwonAdapter;
|
private final MarkwonAdapter mMarkwonAdapter;
|
||||||
|
private int mImageViewWidth;
|
||||||
private String mAccessToken;
|
private String mAccessToken;
|
||||||
private String mAccountName;
|
private String mAccountName;
|
||||||
private Post mPost;
|
private Post mPost;
|
||||||
@ -229,8 +223,9 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
|||||||
public CommentAndPostRecyclerViewAdapter(AppCompatActivity activity, CustomThemeWrapper customThemeWrapper,
|
public CommentAndPostRecyclerViewAdapter(AppCompatActivity activity, CustomThemeWrapper customThemeWrapper,
|
||||||
Retrofit retrofit, Retrofit oauthRetrofit,
|
Retrofit retrofit, Retrofit oauthRetrofit,
|
||||||
RedditDataRoomDatabase redditDataRoomDatabase, RequestManager glide,
|
RedditDataRoomDatabase redditDataRoomDatabase, RequestManager glide,
|
||||||
String accessToken, String accountName, Post post, Locale locale,
|
int imageViewWidth, String accessToken, String accountName,
|
||||||
String singleCommentId, boolean isSingleCommentThreadMode,
|
Post post, Locale locale, String singleCommentId,
|
||||||
|
boolean isSingleCommentThreadMode,
|
||||||
SharedPreferences sharedPreferences, ExoCreator exoCreator,
|
SharedPreferences sharedPreferences, ExoCreator exoCreator,
|
||||||
CommentRecyclerViewAdapterCallback commentRecyclerViewAdapterCallback) {
|
CommentRecyclerViewAdapterCallback commentRecyclerViewAdapterCallback) {
|
||||||
mActivity = activity;
|
mActivity = activity;
|
||||||
@ -322,6 +317,7 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
|||||||
.tableLayout(R.layout.adapter_table_block, R.id.table_layout)
|
.tableLayout(R.layout.adapter_table_block, R.id.table_layout)
|
||||||
.textLayoutIsRoot(R.layout.view_table_entry_cell)))
|
.textLayoutIsRoot(R.layout.view_table_entry_cell)))
|
||||||
.build();
|
.build();
|
||||||
|
mImageViewWidth = imageViewWidth;
|
||||||
mAccessToken = accessToken;
|
mAccessToken = accessToken;
|
||||||
mAccountName = accountName;
|
mAccountName = accountName;
|
||||||
mPost = post;
|
mPost = post;
|
||||||
@ -438,12 +434,12 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
|||||||
if (!mAutoplayNsfwVideos && mPost.isNSFW()) {
|
if (!mAutoplayNsfwVideos && mPost.isNSFW()) {
|
||||||
return VIEW_TYPE_POST_DETAIL_VIDEO_AND_GIF_PREVIEW;
|
return VIEW_TYPE_POST_DETAIL_VIDEO_AND_GIF_PREVIEW;
|
||||||
}
|
}
|
||||||
return VIEW_TYPE_POST_DETAIL_GIF_AUTOPLAY;
|
return VIEW_TYPE_POST_DETAIL_IMAGE_AND_GIF_AUTOPLAY;
|
||||||
} else {
|
} else {
|
||||||
return VIEW_TYPE_POST_DETAIL_VIDEO_AND_GIF_PREVIEW;
|
return VIEW_TYPE_POST_DETAIL_VIDEO_AND_GIF_PREVIEW;
|
||||||
}
|
}
|
||||||
case Post.IMAGE_TYPE:
|
case Post.IMAGE_TYPE:
|
||||||
return VIEW_TYPE_POST_DETAIL_IMAGE;
|
return VIEW_TYPE_POST_DETAIL_IMAGE_AND_GIF_AUTOPLAY;
|
||||||
case Post.LINK_TYPE:
|
case Post.LINK_TYPE:
|
||||||
return VIEW_TYPE_POST_DETAIL_LINK;
|
return VIEW_TYPE_POST_DETAIL_LINK;
|
||||||
case Post.NO_PREVIEW_LINK_TYPE:
|
case Post.NO_PREVIEW_LINK_TYPE:
|
||||||
@ -517,10 +513,8 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
|||||||
return new PostDetailVideoAutoplayViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_video_autoplay, parent, false));
|
return new PostDetailVideoAutoplayViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_video_autoplay, parent, false));
|
||||||
case VIEW_TYPE_POST_DETAIL_VIDEO_AND_GIF_PREVIEW:
|
case VIEW_TYPE_POST_DETAIL_VIDEO_AND_GIF_PREVIEW:
|
||||||
return new PostDetailVideoAndGifPreviewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_video_and_gif_preview, parent, false));
|
return new PostDetailVideoAndGifPreviewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_video_and_gif_preview, parent, false));
|
||||||
case VIEW_TYPE_POST_DETAIL_GIF_AUTOPLAY:
|
case VIEW_TYPE_POST_DETAIL_IMAGE_AND_GIF_AUTOPLAY:
|
||||||
return new PostDetailGifAutoplayViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_gif_autoplay, parent, false));
|
return new PostDetailImageAndGifAutoplayViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_image_and_gif_autoplay, parent, false));
|
||||||
case VIEW_TYPE_POST_DETAIL_IMAGE:
|
|
||||||
return new PostDetailImageViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_image, parent, false));
|
|
||||||
case VIEW_TYPE_POST_DETAIL_LINK:
|
case VIEW_TYPE_POST_DETAIL_LINK:
|
||||||
return new PostDetailLinkViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_link, parent, false));
|
return new PostDetailLinkViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_link, parent, false));
|
||||||
case VIEW_TYPE_POST_DETAIL_NO_PREVIEW_LINK:
|
case VIEW_TYPE_POST_DETAIL_NO_PREVIEW_LINK:
|
||||||
@ -722,17 +716,20 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
|||||||
}
|
}
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mImageView.setRatio((float) mPost.getPreviewHeight() / (float) mPost.getPreviewWidth());
|
((PostDetailVideoAndGifPreviewHolder) holder).mImageView.setRatio((float) mPost.getPreviewHeight() / (float) mPost.getPreviewWidth());
|
||||||
loadImage((PostDetailVideoAndGifPreviewHolder) holder);
|
loadImage((PostDetailVideoAndGifPreviewHolder) holder);
|
||||||
} else if (holder instanceof PostDetailGifAutoplayViewHolder) {
|
} else if (holder instanceof PostDetailImageAndGifAutoplayViewHolder) {
|
||||||
((PostDetailGifAutoplayViewHolder) holder).mImageView.setRatio((float) mPost.getPreviewHeight() / (float) mPost.getPreviewWidth());
|
if (mPost.getPostType() == Post.IMAGE_TYPE) {
|
||||||
loadImage((PostDetailGifAutoplayViewHolder) holder);
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mTypeTextView.setText(R.string.image);
|
||||||
} else if (holder instanceof PostDetailImageViewHolder) {
|
} else {
|
||||||
if (mPost.getPreviewWidth() <= 0 || mPost.getPreviewHeight() <= 0) {
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mTypeTextView.setText(R.string.gif);
|
||||||
((PostDetailImageViewHolder) holder).mImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP);
|
|
||||||
((PostDetailImageViewHolder) holder).mImageView.getLayoutParams().height = (int) (400 * mScale);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
((PostDetailImageViewHolder) holder).mImageView.setRatio((float) mPost.getPreviewHeight() / (float) mPost.getPreviewWidth());
|
if (mPost.getPreviewWidth() <= 0 || mPost.getPreviewHeight() <= 0) {
|
||||||
loadImage((PostDetailImageViewHolder) holder);
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
|
||||||
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView.getLayoutParams().height = (int) (400 * mScale);
|
||||||
|
} else {
|
||||||
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView.setRatio((float) mPost.getPreviewHeight() / (float) mPost.getPreviewWidth());
|
||||||
|
}
|
||||||
|
loadImage((PostDetailImageAndGifAutoplayViewHolder) holder);
|
||||||
} else if (holder instanceof PostDetailLinkViewHolder) {
|
} else if (holder instanceof PostDetailLinkViewHolder) {
|
||||||
String domain = Uri.parse(mPost.getUrl()).getHost();
|
String domain = Uri.parse(mPost.getUrl()).getHost();
|
||||||
((PostDetailLinkViewHolder) holder).mLinkTextView.setText(domain);
|
((PostDetailLinkViewHolder) holder).mLinkTextView.setText(domain);
|
||||||
@ -1222,65 +1219,36 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void loadImage(PostDetailBaseViewHolder holder) {
|
private void loadImage(PostDetailBaseViewHolder holder) {
|
||||||
if (holder instanceof PostDetailGifAutoplayViewHolder) {
|
if (holder instanceof PostDetailImageAndGifAutoplayViewHolder) {
|
||||||
mGlide.asBitmap().load(mPost.getPreviewUrl())
|
RequestBuilder<Drawable> imageRequestBuilder = mGlide.load(mPost.getPreviewUrl())
|
||||||
.listener(new RequestListener<Bitmap>() {
|
.listener(new RequestListener<Drawable>() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
|
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
|
||||||
((PostDetailGifAutoplayViewHolder) holder).mLoadImageProgressBar.setVisibility(View.GONE);
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageProgressBar.setVisibility(View.GONE);
|
||||||
((PostDetailGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.VISIBLE);
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.VISIBLE);
|
||||||
((PostDetailGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setOnClickListener(view -> {
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setOnClickListener(view -> {
|
||||||
((PostDetailGifAutoplayViewHolder) holder).mLoadImageProgressBar.setVisibility(View.VISIBLE);
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageProgressBar.setVisibility(View.VISIBLE);
|
||||||
((PostDetailGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.GONE);
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.GONE);
|
||||||
loadImage(holder);
|
loadImage(holder);
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
|
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
|
||||||
((PostDetailGifAutoplayViewHolder) holder).mLoadWrapper.setVisibility(View.GONE);
|
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadWrapper.setVisibility(View.GONE);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}).into(((PostDetailGifAutoplayViewHolder) holder).mImageView);
|
|
||||||
} else if (holder instanceof PostDetailImageViewHolder) {
|
|
||||||
RequestBuilder<Bitmap> imageRequestBuilder = mGlide.asBitmap().load(mPost.getPreviewUrl())
|
|
||||||
.listener(new RequestListener<Bitmap>() {
|
|
||||||
@Override
|
|
||||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
|
|
||||||
((PostDetailImageViewHolder) holder).mLoadImageProgressBar.setVisibility(View.GONE);
|
|
||||||
((PostDetailImageViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailImageViewHolder) holder).mLoadImageErrorTextView.setOnClickListener(view -> {
|
|
||||||
((PostDetailImageViewHolder) holder).mLoadImageProgressBar.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailImageViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.GONE);
|
|
||||||
loadImage(holder);
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
|
|
||||||
((PostDetailImageViewHolder) holder).mLoadWrapper.setVisibility(View.GONE);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
CustomTarget<Bitmap> customTarget = new CustomTarget<Bitmap>() {
|
|
||||||
@Override
|
|
||||||
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
|
|
||||||
((PostDetailImageViewHolder) holder).mImageView.setImage(ImageSource.cachedBitmap(resource));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadCleared(@Nullable Drawable placeholder) {
|
|
||||||
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
if ((mPost.isNSFW() && mNeedBlurNsfw) || (mPost.isSpoiler() && mNeedBlurSpoiler)) {
|
if ((mPost.isNSFW() && mNeedBlurNsfw) || (mPost.isSpoiler() && mNeedBlurSpoiler)) {
|
||||||
imageRequestBuilder.apply(RequestOptions.bitmapTransform(new BlurTransformation(50, 10))).into(customTarget);
|
imageRequestBuilder.apply(RequestOptions.bitmapTransform(new BlurTransformation(50, 10))).into(((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView);
|
||||||
} else {
|
} else {
|
||||||
imageRequestBuilder.apply(RequestOptions.noTransformation()).into(customTarget);
|
if (mImageViewWidth > mPost.getPreviewWidth()) {
|
||||||
|
imageRequestBuilder.override(Target.SIZE_ORIGINAL).into(((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView);
|
||||||
|
} else {
|
||||||
|
imageRequestBuilder.into(((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (holder instanceof PostDetailVideoAndGifPreviewHolder) {
|
} else if (holder instanceof PostDetailVideoAndGifPreviewHolder) {
|
||||||
RequestBuilder<Drawable> imageRequestBuilder = mGlide.load(mPost.getPreviewUrl())
|
RequestBuilder<Drawable> imageRequestBuilder = mGlide.load(mPost.getPreviewUrl())
|
||||||
@ -1341,259 +1309,6 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*private void loadImage(PostDetailBaseViewHolder holder) {
|
|
||||||
if (holder instanceof PostDetailImageAndGifAutoplayViewHolder) {
|
|
||||||
String url = mAutoplay && mPost.getPostType() == Post.GIF_TYPE ? mPost.getUrl() : mPost.getPreviewUrl();
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView.setImageLoaderCallback(new ImageLoader.Callback() {
|
|
||||||
@Override
|
|
||||||
public void onCacheHit(int imageType, File image) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCacheMiss(int imageType, File image) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStart() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgress(int progress) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFinish() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSuccess(File image) {
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadWrapper.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFail(Exception error) {
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageProgressBar.setVisibility(View.GONE);
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setOnClickListener(view -> {
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageProgressBar.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.GONE);
|
|
||||||
loadImage(holder);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if ((mPost.isNSFW() && mNeedBlurNsfw) || (mPost.isSpoiler() && mNeedBlurSpoiler)) {
|
|
||||||
SubsamplingScaleImageView subsamplingScaleImageView = ((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView.getSSIV();
|
|
||||||
if (subsamplingScaleImageView != null) {
|
|
||||||
mGlide.asBitmap().load(url)
|
|
||||||
.listener(new RequestListener<Bitmap>() {
|
|
||||||
@Override
|
|
||||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageProgressBar.setVisibility(View.GONE);
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setOnClickListener(view -> {
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageProgressBar.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.GONE);
|
|
||||||
loadImage(holder);
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mLoadWrapper.setVisibility(View.GONE);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}).apply(RequestOptions.bitmapTransform(new BlurTransformation(50, 10))).into(new CustomTarget<Bitmap>() {
|
|
||||||
@Override
|
|
||||||
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
|
|
||||||
subsamplingScaleImageView.setImage(ImageSource.bitmap(resource));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadCleared(@Nullable Drawable placeholder) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView.showImage(Uri.parse(url));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView.showImage(Uri.parse(url));
|
|
||||||
}
|
|
||||||
} else if (holder instanceof PostDetailVideoAndGifPreviewHolder) {
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mImageView.setImageLoaderCallback(new ImageLoader.Callback() {
|
|
||||||
@Override
|
|
||||||
public void onCacheHit(int imageType, File image) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCacheMiss(int imageType, File image) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStart() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgress(int progress) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFinish() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSuccess(File image) {
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadWrapper.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFail(Exception error) {
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadImageProgressBar.setVisibility(View.GONE);
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadImageErrorTextView.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadImageErrorTextView.setOnClickListener(view -> {
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadImageProgressBar.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadImageErrorTextView.setVisibility(View.GONE);
|
|
||||||
loadImage(holder);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if ((mPost.isNSFW() && mNeedBlurNsfw) || (mPost.isSpoiler() && mNeedBlurSpoiler)) {
|
|
||||||
SubsamplingScaleImageView subsamplingScaleImageView = ((PostDetailVideoAndGifPreviewHolder) holder).mImageView.getSSIV();
|
|
||||||
if (subsamplingScaleImageView != null) {
|
|
||||||
mGlide.asBitmap().load(mPost.getPreviewUrl())
|
|
||||||
.listener(new RequestListener<Bitmap>() {
|
|
||||||
@Override
|
|
||||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadImageProgressBar.setVisibility(View.GONE);
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadImageErrorTextView.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadImageErrorTextView.setOnClickListener(view -> {
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadImageProgressBar.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadImageErrorTextView.setVisibility(View.GONE);
|
|
||||||
loadImage(holder);
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mLoadWrapper.setVisibility(View.GONE);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}).apply(RequestOptions.bitmapTransform(new BlurTransformation(50, 10)))
|
|
||||||
.into(new CustomTarget<Bitmap>() {
|
|
||||||
@Override
|
|
||||||
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
|
|
||||||
subsamplingScaleImageView.setImage(ImageSource.bitmap(resource));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadCleared(@Nullable Drawable placeholder) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mImageView.showImage(Uri.parse(mPost.getPreviewUrl()));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
((PostDetailVideoAndGifPreviewHolder) holder).mImageView.showImage(Uri.parse(mPost.getPreviewUrl()));
|
|
||||||
}
|
|
||||||
} else if (holder instanceof PostDetailLinkViewHolder) {
|
|
||||||
((PostDetailLinkViewHolder) holder).mImageView.setImageLoaderCallback(new ImageLoader.Callback() {
|
|
||||||
@Override
|
|
||||||
public void onCacheHit(int imageType, File image) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCacheMiss(int imageType, File image) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onStart() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onProgress(int progress) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFinish() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSuccess(File image) {
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadWrapper.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFail(Exception error) {
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadImageProgressBar.setVisibility(View.GONE);
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadImageErrorTextView.setOnClickListener(view -> {
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadImageProgressBar.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.GONE);
|
|
||||||
loadImage(holder);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if ((mPost.isNSFW() && mNeedBlurNsfw) || (mPost.isSpoiler() && mNeedBlurSpoiler)) {
|
|
||||||
SubsamplingScaleImageView subsamplingScaleImageView = ((PostDetailLinkViewHolder) holder).mImageView.getSSIV();
|
|
||||||
if (subsamplingScaleImageView != null) {
|
|
||||||
mGlide.asBitmap().load(mPost.getPreviewUrl())
|
|
||||||
.listener(new RequestListener<Bitmap>() {
|
|
||||||
@Override
|
|
||||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadImageProgressBar.setVisibility(View.GONE);
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadImageErrorTextView.setOnClickListener(view -> {
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadImageProgressBar.setVisibility(View.VISIBLE);
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadImageErrorTextView.setVisibility(View.GONE);
|
|
||||||
loadImage(holder);
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
|
|
||||||
((PostDetailLinkViewHolder) holder).mLoadWrapper.setVisibility(View.GONE);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}).apply(RequestOptions.bitmapTransform(new BlurTransformation(50, 10)))
|
|
||||||
.into(new CustomTarget<Bitmap>() {
|
|
||||||
@Override
|
|
||||||
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
|
|
||||||
subsamplingScaleImageView.setImage(ImageSource.bitmap(resource));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadCleared(@Nullable Drawable placeholder) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
((PostDetailLinkViewHolder) holder).mImageView.showImage(Uri.parse(mPost.getPreviewUrl()));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
((PostDetailLinkViewHolder) holder).mImageView.showImage(Uri.parse(mPost.getPreviewUrl()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
public void updatePost(Post post) {
|
public void updatePost(Post post) {
|
||||||
mPost = post;
|
mPost = post;
|
||||||
notifyItemChanged(0);
|
notifyItemChanged(0);
|
||||||
@ -1903,11 +1618,8 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
|||||||
((PostDetailVideoAutoplayViewHolder) holder).previewImageView.setVisibility(View.GONE);
|
((PostDetailVideoAutoplayViewHolder) holder).previewImageView.setVisibility(View.GONE);
|
||||||
} else if (holder instanceof PostDetailVideoAndGifPreviewHolder) {
|
} else if (holder instanceof PostDetailVideoAndGifPreviewHolder) {
|
||||||
mGlide.clear(((PostDetailVideoAndGifPreviewHolder) holder).mImageView);
|
mGlide.clear(((PostDetailVideoAndGifPreviewHolder) holder).mImageView);
|
||||||
} else if (holder instanceof PostDetailGifAutoplayViewHolder) {
|
} else if (holder instanceof PostDetailImageAndGifAutoplayViewHolder) {
|
||||||
mGlide.clear(((PostDetailGifAutoplayViewHolder) holder).mImageView);
|
mGlide.clear(((PostDetailImageAndGifAutoplayViewHolder) holder).mImageView);
|
||||||
} else if (holder instanceof PostDetailImageViewHolder) {
|
|
||||||
mGlide.clear(((PostDetailImageViewHolder) holder).mImageView);
|
|
||||||
((PostDetailImageViewHolder) holder).mImageView.recycle();
|
|
||||||
} else if (holder instanceof PostDetailLinkViewHolder) {
|
} else if (holder instanceof PostDetailLinkViewHolder) {
|
||||||
mGlide.clear(((PostDetailLinkViewHolder) holder).mImageView);
|
mGlide.clear(((PostDetailLinkViewHolder) holder).mImageView);
|
||||||
}
|
}
|
||||||
@ -2689,163 +2401,61 @@ public class CommentAndPostRecyclerViewAdapter extends RecyclerView.Adapter<Recy
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class PostDetailGifAutoplayViewHolder extends PostDetailBaseViewHolder {
|
class PostDetailImageAndGifAutoplayViewHolder extends PostDetailBaseViewHolder {
|
||||||
@BindView(R.id.icon_gif_image_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.icon_gif_image_view_item_post_detail_image_and_gif_autoplay)
|
||||||
AspectRatioGifImageView mIconGifImageView;
|
AspectRatioGifImageView mIconGifImageView;
|
||||||
@BindView(R.id.subreddit_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.subreddit_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
TextView mSubredditTextView;
|
TextView mSubredditTextView;
|
||||||
@BindView(R.id.user_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.user_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
TextView mUserTextView;
|
TextView mUserTextView;
|
||||||
@BindView(R.id.author_flair_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.author_flair_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
TextView mAuthorFlairTextView;
|
TextView mAuthorFlairTextView;
|
||||||
@BindView(R.id.post_time_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.post_time_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
TextView mPostTimeTextView;
|
TextView mPostTimeTextView;
|
||||||
@BindView(R.id.title_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.title_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
TextView mTitleTextView;
|
TextView mTitleTextView;
|
||||||
@BindView(R.id.type_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.type_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
CustomTextView mTypeTextView;
|
CustomTextView mTypeTextView;
|
||||||
@BindView(R.id.crosspost_image_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.crosspost_image_view_item_post_detail_image_and_gif_autoplay)
|
||||||
ImageView mCrosspostImageView;
|
ImageView mCrosspostImageView;
|
||||||
@BindView(R.id.archived_image_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.archived_image_view_item_post_detail_image_and_gif_autoplay)
|
||||||
ImageView mArchivedImageView;
|
ImageView mArchivedImageView;
|
||||||
@BindView(R.id.locked_image_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.locked_image_view_item_post_detail_image_and_gif_autoplay)
|
||||||
ImageView mLockedImageView;
|
ImageView mLockedImageView;
|
||||||
@BindView(R.id.nsfw_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.nsfw_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
CustomTextView mNSFWTextView;
|
CustomTextView mNSFWTextView;
|
||||||
@BindView(R.id.spoiler_custom_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.spoiler_custom_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
CustomTextView mSpoilerTextView;
|
CustomTextView mSpoilerTextView;
|
||||||
@BindView(R.id.flair_custom_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.flair_custom_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
CustomTextView mFlairTextView;
|
CustomTextView mFlairTextView;
|
||||||
@BindView(R.id.awards_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.awards_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
TextView mAwardsTextView;
|
TextView mAwardsTextView;
|
||||||
@BindView(R.id.image_view_wrapper_item_post_detail_gif_autoplay)
|
@BindView(R.id.image_view_wrapper_item_post_detail_image_and_gif_autoplay)
|
||||||
RelativeLayout mRelativeLayout;
|
RelativeLayout mRelativeLayout;
|
||||||
@BindView(R.id.load_wrapper_item_post_detail_gif_autoplay)
|
@BindView(R.id.load_wrapper_item_post_detail_image_and_gif_autoplay)
|
||||||
RelativeLayout mLoadWrapper;
|
RelativeLayout mLoadWrapper;
|
||||||
@BindView(R.id.progress_bar_item_post_detail_gif_autoplay)
|
@BindView(R.id.progress_bar_item_post_detail_image_and_gif_autoplay)
|
||||||
ProgressBar mLoadImageProgressBar;
|
ProgressBar mLoadImageProgressBar;
|
||||||
@BindView(R.id.load_image_error_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.load_image_error_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
TextView mLoadImageErrorTextView;
|
TextView mLoadImageErrorTextView;
|
||||||
@BindView(R.id.image_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.image_view_item_post_detail_image_and_gif_autoplay)
|
||||||
AspectRatioGifImageView mImageView;
|
AspectRatioGifImageView mImageView;
|
||||||
@BindView(R.id.bottom_constraint_layout_item_post_detail_gif_autoplay)
|
@BindView(R.id.bottom_constraint_layout_item_post_detail_image_and_gif_autoplay)
|
||||||
ConstraintLayout mBottomConstraintLayout;
|
ConstraintLayout mBottomConstraintLayout;
|
||||||
@BindView(R.id.plus_button_item_post_detail_gif_autoplay)
|
@BindView(R.id.plus_button_item_post_detail_image_and_gif_autoplay)
|
||||||
ImageView mUpvoteButton;
|
ImageView mUpvoteButton;
|
||||||
@BindView(R.id.score_text_view_item_post_detail_gif_autoplay)
|
@BindView(R.id.score_text_view_item_post_detail_image_and_gif_autoplay)
|
||||||
TextView mScoreTextView;
|
TextView mScoreTextView;
|
||||||
@BindView(R.id.minus_button_item_post_detail_gif_autoplay)
|
@BindView(R.id.minus_button_item_post_detail_image_and_gif_autoplay)
|
||||||
ImageView mDownvoteButton;
|
ImageView mDownvoteButton;
|
||||||
@BindView(R.id.comments_count_item_post_detail_gif_autoplay)
|
@BindView(R.id.comments_count_item_post_detail_image_and_gif_autoplay)
|
||||||
TextView commentsCountTextView;
|
TextView commentsCountTextView;
|
||||||
@BindView(R.id.save_button_item_post_detail_gif_autoplay)
|
@BindView(R.id.save_button_item_post_detail_image_and_gif_autoplay)
|
||||||
ImageView mSaveButton;
|
ImageView mSaveButton;
|
||||||
@BindView(R.id.share_button_item_post_detail_gif_autoplay)
|
@BindView(R.id.share_button_item_post_detail_image_and_gif_autoplay)
|
||||||
ImageView mShareButton;
|
ImageView mShareButton;
|
||||||
|
|
||||||
PostDetailGifAutoplayViewHolder(@NonNull View itemView) {
|
PostDetailImageAndGifAutoplayViewHolder(@NonNull View itemView) {
|
||||||
super(itemView);
|
|
||||||
ButterKnife.bind(this, itemView);
|
|
||||||
setBaseView(mIconGifImageView,
|
|
||||||
mSubredditTextView,
|
|
||||||
mUserTextView,
|
|
||||||
mAuthorFlairTextView,
|
|
||||||
mPostTimeTextView,
|
|
||||||
mTitleTextView,
|
|
||||||
mTypeTextView,
|
|
||||||
mCrosspostImageView,
|
|
||||||
mArchivedImageView,
|
|
||||||
mLockedImageView,
|
|
||||||
mNSFWTextView,
|
|
||||||
mSpoilerTextView,
|
|
||||||
mFlairTextView,
|
|
||||||
mAwardsTextView,
|
|
||||||
mBottomConstraintLayout,
|
|
||||||
mUpvoteButton,
|
|
||||||
mScoreTextView,
|
|
||||||
mDownvoteButton,
|
|
||||||
commentsCountTextView,
|
|
||||||
mSaveButton,
|
|
||||||
mShareButton);
|
|
||||||
|
|
||||||
mLoadImageProgressBar.setIndeterminateTintList(ColorStateList.valueOf(mColorAccent));
|
|
||||||
mLoadImageErrorTextView.setTextColor(mPrimaryTextColor);
|
|
||||||
|
|
||||||
mImageView.setOnClickListener(view -> {
|
|
||||||
if (mPost.getPostType() == Post.IMAGE_TYPE) {
|
|
||||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
|
||||||
intent.putExtra(ViewImageOrGifActivity.IMAGE_URL_KEY, mPost.getUrl());
|
|
||||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, mPost.getSubredditNamePrefixed().substring(2)
|
|
||||||
+ "-" + mPost.getId().substring(3) + ".jpg");
|
|
||||||
intent.putExtra(ViewImageOrGifActivity.POST_TITLE_KEY, mPost.getTitle());
|
|
||||||
mActivity.startActivity(intent);
|
|
||||||
} else if (mPost.getPostType() == Post.GIF_TYPE) {
|
|
||||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
|
||||||
intent.putExtra(ViewImageOrGifActivity.FILE_NAME_KEY, mPost.getSubredditName()
|
|
||||||
+ "-" + mPost.getId() + ".gif");
|
|
||||||
intent.putExtra(ViewImageOrGifActivity.GIF_URL_KEY, mPost.getVideoUrl());
|
|
||||||
intent.putExtra(ViewImageOrGifActivity.POST_TITLE_KEY, mPost.getTitle());
|
|
||||||
mActivity.startActivity(intent);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class PostDetailImageViewHolder extends PostDetailBaseViewHolder {
|
|
||||||
@BindView(R.id.icon_gif_image_view_item_post_detail_image)
|
|
||||||
AspectRatioGifImageView mIconGifImageView;
|
|
||||||
@BindView(R.id.subreddit_text_view_item_post_detail_image)
|
|
||||||
TextView mSubredditTextView;
|
|
||||||
@BindView(R.id.user_text_view_item_post_detail_image)
|
|
||||||
TextView mUserTextView;
|
|
||||||
@BindView(R.id.author_flair_text_view_item_post_detail_image)
|
|
||||||
TextView mAuthorFlairTextView;
|
|
||||||
@BindView(R.id.post_time_text_view_item_post_detail_image)
|
|
||||||
TextView mPostTimeTextView;
|
|
||||||
@BindView(R.id.title_text_view_item_post_detail_image)
|
|
||||||
TextView mTitleTextView;
|
|
||||||
@BindView(R.id.type_text_view_item_post_detail_image)
|
|
||||||
CustomTextView mTypeTextView;
|
|
||||||
@BindView(R.id.crosspost_image_view_item_post_detail_image)
|
|
||||||
ImageView mCrosspostImageView;
|
|
||||||
@BindView(R.id.archived_image_view_item_post_detail_image)
|
|
||||||
ImageView mArchivedImageView;
|
|
||||||
@BindView(R.id.locked_image_view_item_post_detail_image)
|
|
||||||
ImageView mLockedImageView;
|
|
||||||
@BindView(R.id.nsfw_text_view_item_post_detail_image)
|
|
||||||
CustomTextView mNSFWTextView;
|
|
||||||
@BindView(R.id.spoiler_custom_text_view_item_post_detail_image)
|
|
||||||
CustomTextView mSpoilerTextView;
|
|
||||||
@BindView(R.id.flair_custom_text_view_item_post_detail_image)
|
|
||||||
CustomTextView mFlairTextView;
|
|
||||||
@BindView(R.id.awards_text_view_item_post_detail_image)
|
|
||||||
TextView mAwardsTextView;
|
|
||||||
@BindView(R.id.image_view_wrapper_item_post_detail_image)
|
|
||||||
RelativeLayout mRelativeLayout;
|
|
||||||
@BindView(R.id.load_wrapper_item_post_detail_image)
|
|
||||||
RelativeLayout mLoadWrapper;
|
|
||||||
@BindView(R.id.progress_bar_item_post_detail_image)
|
|
||||||
ProgressBar mLoadImageProgressBar;
|
|
||||||
@BindView(R.id.load_image_error_text_view_item_post_detail_image)
|
|
||||||
TextView mLoadImageErrorTextView;
|
|
||||||
@BindView(R.id.image_view_item_post_detail_image)
|
|
||||||
AspectRatioSubsamplingScaleImageView mImageView;
|
|
||||||
@BindView(R.id.bottom_constraint_layout_item_post_detail_image)
|
|
||||||
ConstraintLayout mBottomConstraintLayout;
|
|
||||||
@BindView(R.id.plus_button_item_post_detail_image)
|
|
||||||
ImageView mUpvoteButton;
|
|
||||||
@BindView(R.id.score_text_view_item_post_detail_image)
|
|
||||||
TextView mScoreTextView;
|
|
||||||
@BindView(R.id.minus_button_item_post_detail_image)
|
|
||||||
ImageView mDownvoteButton;
|
|
||||||
@BindView(R.id.comments_count_item_post_detail_image)
|
|
||||||
TextView commentsCountTextView;
|
|
||||||
@BindView(R.id.save_button_item_post_detail_image)
|
|
||||||
ImageView mSaveButton;
|
|
||||||
@BindView(R.id.share_button_item_post_detail_image)
|
|
||||||
ImageView mShareButton;
|
|
||||||
|
|
||||||
PostDetailImageViewHolder(@NonNull View itemView) {
|
|
||||||
super(itemView);
|
super(itemView);
|
||||||
ButterKnife.bind(this, itemView);
|
ButterKnife.bind(this, itemView);
|
||||||
setBaseView(mIconGifImageView,
|
setBaseView(mIconGifImageView,
|
||||||
|
@ -1,328 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:background="?attr/cardViewBackgroundColor">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:id="@+id/constraint_layout_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="16dp">
|
|
||||||
|
|
||||||
<ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView
|
|
||||||
android:id="@+id/icon_gif_image_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="24dp"
|
|
||||||
android:layout_height="24dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/subreddit_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:textSize="?attr/font_default"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
android:maxLines="2"
|
|
||||||
android:ellipsize="end"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_gif_autoplay"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/user_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:textSize="?attr/font_default"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
android:maxLines="2"
|
|
||||||
android:ellipsize="end"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/author_flair_text_view_item_post_detail_gif_autoplay"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_gif_autoplay"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/subreddit_text_view_item_post_detail_gif_autoplay"
|
|
||||||
app:layout_constraintHorizontal_bias="0" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/author_flair_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="16dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:textSize="?attr/font_12"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
android:maxLines="2"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:visibility="gone"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_gif_autoplay"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/user_text_view_item_post_detail_gif_autoplay"
|
|
||||||
app:layout_constraintHorizontal_bias="0" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/post_time_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:gravity="end"
|
|
||||||
android:textSize="?attr/font_default"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
app:layout_constraintHorizontal_bias="1"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/guideline"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
|
||||||
android:id="@+id/guideline"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintGuide_percent="0.6" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/title_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingStart="16dp"
|
|
||||||
android:paddingEnd="16dp"
|
|
||||||
android:textColor="?attr/primaryTextColor"
|
|
||||||
android:textSize="?attr/title_font_18"
|
|
||||||
android:fontFamily="?attr/title_font_family"
|
|
||||||
android:textIsSelectable="true"
|
|
||||||
android:enabled="true"
|
|
||||||
android:focusable="true"
|
|
||||||
android:longClickable="true" />
|
|
||||||
|
|
||||||
<com.nex3z.flowlayout.FlowLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="16dp"
|
|
||||||
app:flChildSpacing="16dp"
|
|
||||||
app:flChildSpacingForLastRow="align"
|
|
||||||
app:flRowSpacing="8dp">
|
|
||||||
|
|
||||||
<com.libRG.CustomTextView
|
|
||||||
android:id="@+id/type_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="4dp"
|
|
||||||
android:text="@string/gif"
|
|
||||||
android:textSize="?attr/font_12"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
app:lib_setRadius="3dp"
|
|
||||||
app:lib_setRoundedView="true"
|
|
||||||
app:lib_setShape="rectangle" />
|
|
||||||
|
|
||||||
<com.libRG.CustomTextView
|
|
||||||
android:id="@+id/spoiler_custom_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:text="@string/spoiler"
|
|
||||||
android:textSize="?attr/font_12"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
android:padding="4dp"
|
|
||||||
android:visibility="gone"
|
|
||||||
app:lib_setRadius="3dp"
|
|
||||||
app:lib_setRoundedView="true"
|
|
||||||
app:lib_setShape="rectangle" />
|
|
||||||
|
|
||||||
<com.libRG.CustomTextView
|
|
||||||
android:id="@+id/nsfw_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="4dp"
|
|
||||||
android:text="@string/nsfw"
|
|
||||||
android:textSize="?attr/font_12"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
android:visibility="gone"
|
|
||||||
app:lib_setRadius="3dp"
|
|
||||||
app:lib_setRoundedView="true"
|
|
||||||
app:lib_setShape="rectangle" />
|
|
||||||
|
|
||||||
<com.libRG.CustomTextView
|
|
||||||
android:id="@+id/flair_custom_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center"
|
|
||||||
android:padding="4dp"
|
|
||||||
android:textSize="?attr/font_12"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
android:visibility="gone"
|
|
||||||
app:lib_setRadius="3dp"
|
|
||||||
app:lib_setRoundedView="true"
|
|
||||||
app:lib_setShape="rectangle" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/archived_image_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="20dp"
|
|
||||||
android:layout_height="20dp"
|
|
||||||
android:src="@drawable/ic_archive_outline"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/locked_image_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="20dp"
|
|
||||||
android:layout_height="20dp"
|
|
||||||
android:src="@drawable/ic_outline_lock_24dp"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/crosspost_image_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="20dp"
|
|
||||||
android:layout_height="20dp"
|
|
||||||
android:src="@drawable/crosspost"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/awards_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textSize="?attr/font_12"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
</com.nex3z.flowlayout.FlowLayout>
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/image_view_wrapper_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
<ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView
|
|
||||||
android:id="@+id/image_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:adjustViewBounds="true"
|
|
||||||
android:scaleType="fitStart" />
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:id="@+id/load_wrapper_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerInParent="true">
|
|
||||||
|
|
||||||
<ProgressBar
|
|
||||||
android:id="@+id/progress_bar_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerInParent="true" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/load_image_error_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:drawableTop="@drawable/ic_error_outline_black_24dp"
|
|
||||||
android:layout_centerInParent="true"
|
|
||||||
android:gravity="center"
|
|
||||||
android:text="@string/error_loading_image_tap_to_retry"
|
|
||||||
android:textSize="?attr/font_default"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
android:visibility="gone" />
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:id="@+id/bottom_constraint_layout_item_post_detail_gif_autoplay">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/plus_button_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:src="@drawable/ic_arrow_upward_grey_24dp"
|
|
||||||
android:tint="@android:color/tab_indicator_text"
|
|
||||||
android:background="?actionBarItemBackground"
|
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/score_text_view_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="64dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:gravity="center"
|
|
||||||
android:textSize="?attr/font_12"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/plus_button_item_post_detail_gif_autoplay" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/minus_button_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:src="@drawable/ic_arrow_downward_grey_24dp"
|
|
||||||
android:tint="@android:color/tab_indicator_text"
|
|
||||||
android:background="?actionBarItemBackground"
|
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_gif_autoplay" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/comments_count_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:textSize="?attr/font_12"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:fontFamily="?attr/font_family"
|
|
||||||
android:drawableStart="@drawable/ic_comment_grey_24dp"
|
|
||||||
android:drawablePadding="12dp"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_gif_autoplay" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/save_button_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:tint="@android:color/tab_indicator_text"
|
|
||||||
android:background="?actionBarItemBackground"
|
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true"
|
|
||||||
app:layout_constraintHorizontal_bias="1"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/comments_count_item_post_detail_gif_autoplay"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/share_button_item_post_detail_gif_autoplay" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/share_button_item_post_detail_gif_autoplay"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:padding="12dp"
|
|
||||||
android:src="@drawable/ic_share_grey_24dp"
|
|
||||||
android:background="?actionBarItemBackground"
|
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
@ -7,13 +7,13 @@
|
|||||||
android:background="?attr/cardViewBackgroundColor">
|
android:background="?attr/cardViewBackgroundColor">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/constraint_layout_item_post_detail_image"
|
android:id="@+id/constraint_layout_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="16dp">
|
android:padding="16dp">
|
||||||
|
|
||||||
<ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView
|
<ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView
|
||||||
android:id="@+id/icon_gif_image_view_item_post_detail_image"
|
android:id="@+id/icon_gif_image_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="24dp"
|
android:layout_width="24dp"
|
||||||
android:layout_height="24dp"
|
android:layout_height="24dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
@ -21,7 +21,7 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/subreddit_text_view_item_post_detail_image"
|
android:id="@+id/subreddit_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
@ -30,13 +30,13 @@
|
|||||||
android:fontFamily="?attr/font_family"
|
android:fontFamily="?attr/font_family"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_image"
|
app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_image_and_gif_autoplay"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline"
|
app:layout_constraintEnd_toStartOf="@id/guideline"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0" />
|
app:layout_constraintHorizontal_bias="0" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/user_text_view_item_post_detail_image"
|
android:id="@+id/user_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
@ -45,14 +45,14 @@
|
|||||||
android:fontFamily="?attr/font_family"
|
android:fontFamily="?attr/font_family"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/author_flair_text_view_item_post_detail_image"
|
app:layout_constraintBottom_toTopOf="@+id/author_flair_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_image"
|
app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_image_and_gif_autoplay"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline"
|
app:layout_constraintEnd_toStartOf="@id/guideline"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/subreddit_text_view_item_post_detail_image"
|
app:layout_constraintTop_toBottomOf="@+id/subreddit_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
app:layout_constraintHorizontal_bias="0" />
|
app:layout_constraintHorizontal_bias="0" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/author_flair_text_view_item_post_detail_image"
|
android:id="@+id/author_flair_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
@ -63,13 +63,13 @@
|
|||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_image"
|
app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_image_and_gif_autoplay"
|
||||||
app:layout_constraintEnd_toStartOf="@id/guideline"
|
app:layout_constraintEnd_toStartOf="@id/guideline"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/user_text_view_item_post_detail_image"
|
app:layout_constraintTop_toBottomOf="@+id/user_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
app:layout_constraintHorizontal_bias="0" />
|
app:layout_constraintHorizontal_bias="0" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/post_time_text_view_item_post_detail_image"
|
android:id="@+id/post_time_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="end"
|
android:gravity="end"
|
||||||
@ -91,7 +91,7 @@
|
|||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/title_text_view_item_post_detail_image"
|
android:id="@+id/title_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
@ -113,7 +113,7 @@
|
|||||||
app:flRowSpacing="8dp">
|
app:flRowSpacing="8dp">
|
||||||
|
|
||||||
<com.libRG.CustomTextView
|
<com.libRG.CustomTextView
|
||||||
android:id="@+id/type_text_view_item_post_detail_image"
|
android:id="@+id/type_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="4dp"
|
android:padding="4dp"
|
||||||
@ -125,7 +125,7 @@
|
|||||||
app:lib_setShape="rectangle" />
|
app:lib_setShape="rectangle" />
|
||||||
|
|
||||||
<com.libRG.CustomTextView
|
<com.libRG.CustomTextView
|
||||||
android:id="@+id/spoiler_custom_text_view_item_post_detail_image"
|
android:id="@+id/spoiler_custom_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
@ -139,7 +139,7 @@
|
|||||||
app:lib_setShape="rectangle" />
|
app:lib_setShape="rectangle" />
|
||||||
|
|
||||||
<com.libRG.CustomTextView
|
<com.libRG.CustomTextView
|
||||||
android:id="@+id/nsfw_text_view_item_post_detail_image"
|
android:id="@+id/nsfw_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="4dp"
|
android:padding="4dp"
|
||||||
@ -152,7 +152,7 @@
|
|||||||
app:lib_setShape="rectangle" />
|
app:lib_setShape="rectangle" />
|
||||||
|
|
||||||
<com.libRG.CustomTextView
|
<com.libRG.CustomTextView
|
||||||
android:id="@+id/flair_custom_text_view_item_post_detail_image"
|
android:id="@+id/flair_custom_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
@ -165,28 +165,28 @@
|
|||||||
app:lib_setShape="rectangle" />
|
app:lib_setShape="rectangle" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/archived_image_view_item_post_detail_image"
|
android:id="@+id/archived_image_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="20dp"
|
android:layout_width="20dp"
|
||||||
android:layout_height="20dp"
|
android:layout_height="20dp"
|
||||||
android:src="@drawable/ic_archive_outline"
|
android:src="@drawable/ic_archive_outline"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/locked_image_view_item_post_detail_image"
|
android:id="@+id/locked_image_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="20dp"
|
android:layout_width="20dp"
|
||||||
android:layout_height="20dp"
|
android:layout_height="20dp"
|
||||||
android:src="@drawable/ic_outline_lock_24dp"
|
android:src="@drawable/ic_outline_lock_24dp"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/crosspost_image_view_item_post_detail_image"
|
android:id="@+id/crosspost_image_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="20dp"
|
android:layout_width="20dp"
|
||||||
android:layout_height="20dp"
|
android:layout_height="20dp"
|
||||||
android:src="@drawable/crosspost"
|
android:src="@drawable/crosspost"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/awards_text_view_item_post_detail_image"
|
android:id="@+id/awards_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textSize="?attr/font_12"
|
android:textSize="?attr/font_12"
|
||||||
@ -196,32 +196,31 @@
|
|||||||
</com.nex3z.flowlayout.FlowLayout>
|
</com.nex3z.flowlayout.FlowLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:id="@+id/image_view_wrapper_item_post_detail_image"
|
android:id="@+id/image_view_wrapper_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<ml.docilealligator.infinityforreddit.CustomView.AspectRatioSubsamplingScaleImageView
|
<ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView
|
||||||
android:id="@+id/image_view_item_post_detail_image"
|
android:id="@+id/image_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:quickScaleEnabled="false"
|
android:adjustViewBounds="true"
|
||||||
app:zoomEnabled="false"
|
android:scaleType="fitStart" />
|
||||||
app:panEnabled="false" />
|
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:id="@+id/load_wrapper_item_post_detail_image"
|
android:id="@+id/load_wrapper_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerInParent="true">
|
android:layout_centerInParent="true">
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/progress_bar_item_post_detail_image"
|
android:id="@+id/progress_bar_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerInParent="true" />
|
android:layout_centerInParent="true" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/load_image_error_text_view_item_post_detail_image"
|
android:id="@+id/load_image_error_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:drawableTop="@drawable/ic_error_outline_black_24dp"
|
android:drawableTop="@drawable/ic_error_outline_black_24dp"
|
||||||
@ -239,10 +238,10 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:id="@+id/bottom_constraint_layout_item_post_detail_image">
|
android:id="@+id/bottom_constraint_layout_item_post_detail_image_and_gif_autoplay">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/plus_button_item_post_detail_image"
|
android:id="@+id/plus_button_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
@ -256,7 +255,7 @@
|
|||||||
app:layout_constraintStart_toStartOf="parent" />
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/score_text_view_item_post_detail_image"
|
android:id="@+id/score_text_view_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="64dp"
|
android:layout_width="64dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
@ -265,10 +264,10 @@
|
|||||||
android:fontFamily="?attr/font_family"
|
android:fontFamily="?attr/font_family"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/plus_button_item_post_detail_image" />
|
app:layout_constraintStart_toEndOf="@id/plus_button_item_post_detail_image_and_gif_autoplay" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/minus_button_item_post_detail_image"
|
android:id="@+id/minus_button_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
@ -279,10 +278,10 @@
|
|||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_image" />
|
app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_image_and_gif_autoplay" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/comments_count_item_post_detail_image"
|
android:id="@+id/comments_count_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
@ -294,10 +293,10 @@
|
|||||||
android:drawablePadding="12dp"
|
android:drawablePadding="12dp"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_image" />
|
app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_image_and_gif_autoplay" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/save_button_item_post_detail_image"
|
android:id="@+id/save_button_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
||||||
@ -308,11 +307,11 @@
|
|||||||
app:layout_constraintHorizontal_bias="1"
|
app:layout_constraintHorizontal_bias="1"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/comments_count_item_post_detail_image"
|
app:layout_constraintStart_toEndOf="@id/comments_count_item_post_detail_image_and_gif_autoplay"
|
||||||
app:layout_constraintEnd_toStartOf="@id/share_button_item_post_detail_image" />
|
app:layout_constraintEnd_toStartOf="@id/share_button_item_post_detail_image_and_gif_autoplay" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/share_button_item_post_detail_image"
|
android:id="@+id/share_button_item_post_detail_image_and_gif_autoplay"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:padding="12dp"
|
android:padding="12dp"
|
Loading…
Reference in New Issue
Block a user