mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-12-28 11:58:23 +01:00
Validate index before performing onClick in PostRecyclerViewAdapter.
This commit is contained in:
parent
fd175178a2
commit
7d1aa07b9d
@ -1353,11 +1353,12 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
shareButton.setColorFilter(mPostIconAndInfoColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
|
||||
cardView.setOnClickListener(view -> {
|
||||
if (canStartActivity) {
|
||||
int position = getAdapterPosition();
|
||||
if (position > 0 && canStartActivity) {
|
||||
canStartActivity = false;
|
||||
|
||||
Intent intent = new Intent(mActivity, ViewPostDetailActivity.class);
|
||||
intent.putExtra(ViewPostDetailActivity.EXTRA_POST_DATA, getItem(getAdapterPosition()));
|
||||
intent.putExtra(ViewPostDetailActivity.EXTRA_POST_DATA, getItem(position));
|
||||
intent.putExtra(ViewPostDetailActivity.EXTRA_POST_LIST_POSITION, getAdapterPosition());
|
||||
mActivity.startActivity(intent);
|
||||
}
|
||||
@ -1365,7 +1366,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
|
||||
userTextView.setOnClickListener(view -> {
|
||||
if (canStartActivity) {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
canStartActivity = false;
|
||||
Intent intent = new Intent(mActivity, ViewUserDetailActivity.class);
|
||||
@ -1377,7 +1382,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
|
||||
if (mDisplaySubredditName) {
|
||||
subredditTextView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
if (canStartActivity) {
|
||||
canStartActivity = false;
|
||||
@ -1399,7 +1408,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
iconGifImageView.setOnClickListener(view -> subredditTextView.performClick());
|
||||
} else {
|
||||
subredditTextView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
if (canStartActivity) {
|
||||
canStartActivity = false;
|
||||
@ -1422,7 +1435,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
|
||||
if (!(mActivity instanceof FilteredThingActivity)) {
|
||||
nsfwTextView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
Intent intent = new Intent(mActivity, FilteredThingActivity.class);
|
||||
intent.putExtra(FilteredThingActivity.EXTRA_NAME, post.getSubredditNamePrefixed().substring(2));
|
||||
@ -1432,7 +1449,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
}
|
||||
});
|
||||
typeTextView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
mCallback.typeChipClicked(post.getPostType());
|
||||
}
|
||||
@ -1440,7 +1461,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
}
|
||||
|
||||
upvoteButton.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
if (mAccessToken == null) {
|
||||
Toast.makeText(mActivity, R.string.login_first, Toast.LENGTH_SHORT).show();
|
||||
@ -1514,7 +1539,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
});
|
||||
|
||||
downvoteButton.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
if (mAccessToken == null) {
|
||||
Toast.makeText(mActivity, R.string.login_first, Toast.LENGTH_SHORT).show();
|
||||
@ -1588,7 +1617,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
});
|
||||
|
||||
saveButton.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
if (mAccessToken == null) {
|
||||
Toast.makeText(mActivity, R.string.login_first, Toast.LENGTH_SHORT).show();
|
||||
@ -1640,7 +1673,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
});
|
||||
|
||||
shareButton.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
shareLink(post);
|
||||
}
|
||||
@ -1752,7 +1789,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
});
|
||||
|
||||
fullscreenButton.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
Intent intent = new Intent(mActivity, ViewVideoActivity.class);
|
||||
intent.setData(Uri.parse(post.getVideoUrl()));
|
||||
@ -1955,7 +1996,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
errorTextView.setTextColor(mPrimaryTextColor);
|
||||
|
||||
imageView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
if (post.getPostType() == Post.VIDEO_TYPE) {
|
||||
Intent intent = new Intent(mActivity, ViewVideoActivity.class);
|
||||
@ -2063,7 +2108,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
errorTextView.setTextColor(mPrimaryTextColor);
|
||||
|
||||
imageView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
if (post.getPostType() == Post.IMAGE_TYPE) {
|
||||
Intent intent = new Intent(mActivity, ViewImageOrGifActivity.class);
|
||||
@ -2172,7 +2221,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
errorTextView.setTextColor(mPrimaryTextColor);
|
||||
|
||||
imageView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
Intent intent = new Intent(mActivity, LinkResolverActivity.class);
|
||||
Uri uri = Uri.parse(post.getUrl());
|
||||
@ -2268,7 +2321,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
noPreviewLinkImageView.setBackgroundColor(mNoPreviewLinkBackgroundColor);
|
||||
|
||||
noPreviewLinkImageView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
Intent intent = new Intent(mActivity, LinkResolverActivity.class);
|
||||
Uri uri = Uri.parse(post.getUrl());
|
||||
@ -2373,7 +2430,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
errorTextView.setTextColor(mPrimaryTextColor);
|
||||
|
||||
imageView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
Intent intent = new Intent(mActivity, ViewRedditGalleryActivity.class);
|
||||
intent.putParcelableArrayListExtra(ViewRedditGalleryActivity.EXTRA_REDDIT_GALLERY, post.getGallery());
|
||||
@ -2607,7 +2668,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
noPreviewLinkImageFrameLayout.setClipToOutline(true);
|
||||
|
||||
itemView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null && canStartActivity) {
|
||||
canStartActivity = false;
|
||||
|
||||
@ -2619,7 +2684,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
});
|
||||
|
||||
nameTextView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null && canStartActivity) {
|
||||
canStartActivity = false;
|
||||
if (mDisplaySubredditName) {
|
||||
@ -2645,7 +2714,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
iconGifImageView.setOnClickListener(view -> nameTextView.performClick());
|
||||
|
||||
nsfwTextView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null && !(mActivity instanceof FilteredThingActivity)) {
|
||||
Intent intent = new Intent(mActivity, FilteredThingActivity.class);
|
||||
intent.putExtra(FilteredThingActivity.EXTRA_NAME, post.getSubredditNamePrefixed().substring(2));
|
||||
@ -2656,14 +2729,22 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
});
|
||||
|
||||
typeTextView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null && !(mActivity instanceof FilteredThingActivity)) {
|
||||
mCallback.typeChipClicked(post.getPostType());
|
||||
}
|
||||
});
|
||||
|
||||
imageView.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
switch (post.getPostType()) {
|
||||
case Post.IMAGE_TYPE: {
|
||||
@ -2709,7 +2790,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
});
|
||||
|
||||
noPreviewLinkImageFrameLayout.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
Intent intent = new Intent(mActivity, LinkResolverActivity.class);
|
||||
Uri uri = Uri.parse(post.getUrl());
|
||||
@ -2729,7 +2814,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
return;
|
||||
}
|
||||
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
if (post.isArchived()) {
|
||||
Toast.makeText(mActivity, R.string.archived_post_vote_unavailable, Toast.LENGTH_SHORT).show();
|
||||
@ -2803,7 +2892,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
return;
|
||||
}
|
||||
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
if (post.isArchived()) {
|
||||
Toast.makeText(mActivity, R.string.archived_post_vote_unavailable, Toast.LENGTH_SHORT).show();
|
||||
@ -2877,7 +2970,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
return;
|
||||
}
|
||||
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
if (post.isSaved()) {
|
||||
saveButton.setImageResource(R.drawable.ic_bookmark_border_grey_24dp);
|
||||
@ -2924,7 +3021,11 @@ public class PostRecyclerViewAdapter extends PagedListAdapter<Post, RecyclerView
|
||||
});
|
||||
|
||||
shareButton.setOnClickListener(view -> {
|
||||
Post post = getItem(getAdapterPosition());
|
||||
int position = getAdapterPosition();
|
||||
if (position < 0) {
|
||||
return;
|
||||
}
|
||||
Post post = getItem(position);
|
||||
if (post != null) {
|
||||
shareLink(post);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user