Make instance names clickable

This commit is contained in:
Balazs Toldi 2023-08-16 19:35:40 +02:00
parent fcc0181075
commit 4ec6666f93
No known key found for this signature in database
GPG Key ID: 6C7D440036F99D58
2 changed files with 39 additions and 46 deletions

View File

@ -1268,16 +1268,18 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
mIconGifImageView.setOnClickListener(view -> mSubredditTextView.performClick()); mIconGifImageView.setOnClickListener(view -> mSubredditTextView.performClick());
mSubredditTextView.setOnClickListener(view -> { View.OnClickListener communityClickListener = view -> {
Intent intent; Intent intent;
intent = new Intent(mActivity, ViewSubredditDetailActivity.class); intent = new Intent(mActivity, ViewSubredditDetailActivity.class);
intent.putExtra(ViewSubredditDetailActivity.EXTRA_SUBREDDIT_NAME_KEY, intent.putExtra(ViewSubredditDetailActivity.EXTRA_SUBREDDIT_NAME_KEY,
mPost.getSubredditName()); mPost.getSubredditName());
intent.putExtra(ViewSubredditDetailActivity.EXTRA_COMMUNITY_FULL_NAME_KEY, mPost.getSubredditNamePrefixed()); intent.putExtra(ViewSubredditDetailActivity.EXTRA_COMMUNITY_FULL_NAME_KEY, mPost.getSubredditNamePrefixed());
mActivity.startActivity(intent); mActivity.startActivity(intent);
}); };
mSubredditTextView.setOnClickListener(communityClickListener);
mCommunityInstanceTextView.setOnClickListener(communityClickListener);
mUserTextView.setOnClickListener(view -> { View.OnClickListener onUserClick = view -> {
if (mPost.isAuthorDeleted()) { if (mPost.isAuthorDeleted()) {
return; return;
} }
@ -1285,7 +1287,9 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, mPost.getAuthor()); intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, mPost.getAuthor());
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, mPost.getAuthorNamePrefixed()); intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, mPost.getAuthorNamePrefixed());
mActivity.startActivity(intent); mActivity.startActivity(intent);
}); };
mUserTextView.setOnClickListener(onUserClick);
mUserInstanceTextView.setOnClickListener(onUserClick);
mAuthorFlairTextView.setOnClickListener(view -> mUserTextView.performClick()); mAuthorFlairTextView.setOnClickListener(view -> mUserTextView.performClick());

View File

@ -2547,7 +2547,7 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
return false; return false;
}); });
userTextView.setOnClickListener(view -> { View.OnClickListener onClickListener = view -> {
if (!canStartActivity) { if (!canStartActivity) {
return; return;
} }
@ -2564,10 +2564,12 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, post.getAuthor()); intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, post.getAuthor());
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, post.getAuthorNamePrefixed()); intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, post.getAuthorNamePrefixed());
mActivity.startActivity(intent); mActivity.startActivity(intent);
}); };
userTextView.setOnClickListener(onClickListener);
userInstanceTextView.setOnClickListener(onClickListener);
if (mDisplaySubredditName) {
subredditTextView.setOnClickListener(view -> { View.OnClickListener onClickListener1 = view -> {
int position = getBindingAdapterPosition(); int position = getBindingAdapterPosition();
if (position < 0) { if (position < 0) {
return; return;
@ -2584,29 +2586,13 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
mActivity.startActivity(intent); mActivity.startActivity(intent);
} }
} }
}); };
communityInstanceTextView.setOnClickListener(onClickListener1);
if (mDisplaySubredditName) {
subredditTextView.setOnClickListener(onClickListener1);
iconGifImageView.setOnClickListener(view -> subredditTextView.performClick()); iconGifImageView.setOnClickListener(view -> subredditTextView.performClick());
} else { } else {
subredditTextView.setOnClickListener(view -> { subredditTextView.setOnClickListener(onClickListener1);
int position = getBindingAdapterPosition();
if (position < 0) {
return;
}
Post post = getItem(position);
if (post != null) {
if (canStartActivity) {
canStartActivity = false;
Intent intent = new Intent(mActivity, ViewSubredditDetailActivity.class);
intent.putExtra(ViewSubredditDetailActivity.EXTRA_SUBREDDIT_NAME_KEY,
post.getSubredditName());
intent.putExtra(ViewSubredditDetailActivity.EXTRA_COMMUNITY_FULL_NAME_KEY,
post.getSubredditNamePrefixed());
mActivity.startActivity(intent);
}
}
});
iconGifImageView.setOnClickListener(view -> userTextView.performClick()); iconGifImageView.setOnClickListener(view -> userTextView.performClick());
} }
@ -4025,7 +4011,7 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
return false; return false;
}); });
nameTextView.setOnClickListener(view -> { View.OnClickListener onClickListener = view -> {
int position = getBindingAdapterPosition(); int position = getBindingAdapterPosition();
if (position < 0) { if (position < 0) {
return; return;
@ -4047,7 +4033,10 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
mActivity.startActivity(intent); mActivity.startActivity(intent);
} }
} }
}); };
nameTextView.setOnClickListener(onClickListener);
instanceTextView.setOnClickListener(onClickListener);
iconGifImageView.setOnClickListener(view -> nameTextView.performClick()); iconGifImageView.setOnClickListener(view -> nameTextView.performClick());