Skip to content

Commit 7647079

Browse files
Disallowing replying to locked comment. Hide the reply option in PostOptionsBottomSheetFragment if the post is locked or archived.
1 parent e68c635 commit 7647079

File tree

4 files changed

+40
-28
lines changed

4 files changed

+40
-28
lines changed

app/src/main/java/ml/docilealligator/infinityforreddit/adapters/CommentsRecyclerViewAdapter.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
572572
((CommentBaseViewHolder) holder).downvoteButton.setIconTint(ColorStateList.valueOf(mVoteAndReplyUnavailableVoteButtonColor));
573573
}
574574

575-
if (mPost.isLocked()) {
575+
if (mPost.isLocked() || comment.isLocked()) {
576576
((CommentBaseViewHolder) holder).replyButton.setIconTint(ColorStateList.valueOf(mVoteAndReplyUnavailableVoteButtonColor));
577577
}
578578

@@ -1538,6 +1538,11 @@ public void unlockSwipe() {
15381538

15391539
Comment comment = getCurrentComment(this);
15401540
if (comment != null) {
1541+
if (comment.isLocked()) {
1542+
Toast.makeText(mActivity, R.string.locked_comment_reply_unavailable, Toast.LENGTH_SHORT).show();
1543+
return;
1544+
}
1545+
15411546
Intent intent = new Intent(mActivity, CommentActivity.class);
15421547
intent.putExtra(CommentActivity.EXTRA_PARENT_DEPTH_KEY, comment.getDepth() + 1);
15431548
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY, comment.getCommentMarkdown());

app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/CommentMoreBottomSheetFragment.java

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
import java.util.ArrayList;
2020

21-
import ml.docilealligator.infinityforreddit.thing.MediaMetadata;
2221
import ml.docilealligator.infinityforreddit.R;
2322
import ml.docilealligator.infinityforreddit.account.Account;
2423
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
@@ -31,6 +30,7 @@
3130
import ml.docilealligator.infinityforreddit.comment.Comment;
3231
import ml.docilealligator.infinityforreddit.customviews.LandscapeExpandedRoundedBottomSheetDialogFragment;
3332
import ml.docilealligator.infinityforreddit.databinding.FragmentCommentMoreBottomSheetBinding;
33+
import ml.docilealligator.infinityforreddit.thing.MediaMetadata;
3434
import ml.docilealligator.infinityforreddit.utils.ShareScreenshotUtilsKt;
3535
import ml.docilealligator.infinityforreddit.utils.Utils;
3636

@@ -124,7 +124,22 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
124124
}
125125

126126
if (showReplyAndSaveOption) {
127-
binding.replyTextViewCommentMoreBottomSheetFragment.setVisibility(View.VISIBLE);
127+
if (!comment.isLocked()) {
128+
binding.replyTextViewCommentMoreBottomSheetFragment.setVisibility(View.VISIBLE);
129+
binding.replyTextViewCommentMoreBottomSheetFragment.setOnClickListener(view -> {
130+
Intent intent = new Intent(activity, CommentActivity.class);
131+
intent.putExtra(CommentActivity.EXTRA_PARENT_DEPTH_KEY, comment.getDepth() + 1);
132+
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY, comment.getCommentMarkdown());
133+
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_KEY, comment.getCommentRawText());
134+
intent.putExtra(CommentActivity.EXTRA_PARENT_FULLNAME_KEY, comment.getFullName());
135+
intent.putExtra(CommentActivity.EXTRA_IS_REPLYING_KEY, true);
136+
137+
intent.putExtra(CommentActivity.EXTRA_PARENT_POSITION_KEY, bundle.getInt(EXTRA_POSITION));
138+
activity.startActivityForResult(intent, CommentActivity.WRITE_COMMENT_REQUEST_CODE);
139+
140+
dismiss();
141+
});
142+
}
128143
binding.saveTextViewCommentMoreBottomSheetFragment.setVisibility(View.VISIBLE);
129144
if (comment.isSaved()) {
130145
binding.saveTextViewCommentMoreBottomSheetFragment.setCompoundDrawablesWithIntrinsicBounds(ContextCompat.getDrawable(activity, R.drawable.ic_bookmark_day_night_24dp), null, null, null);
@@ -133,19 +148,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
133148
binding.saveTextViewCommentMoreBottomSheetFragment.setCompoundDrawablesWithIntrinsicBounds(ContextCompat.getDrawable(activity, R.drawable.ic_bookmark_border_day_night_24dp), null, null, null);
134149
binding.saveTextViewCommentMoreBottomSheetFragment.setText(R.string.save_comment);
135150
}
136-
binding.replyTextViewCommentMoreBottomSheetFragment.setOnClickListener(view -> {
137-
Intent intent = new Intent(activity, CommentActivity.class);
138-
intent.putExtra(CommentActivity.EXTRA_PARENT_DEPTH_KEY, comment.getDepth() + 1);
139-
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY, comment.getCommentMarkdown());
140-
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_KEY, comment.getCommentRawText());
141-
intent.putExtra(CommentActivity.EXTRA_PARENT_FULLNAME_KEY, comment.getFullName());
142-
intent.putExtra(CommentActivity.EXTRA_IS_REPLYING_KEY, true);
143-
144-
intent.putExtra(CommentActivity.EXTRA_PARENT_POSITION_KEY, bundle.getInt(EXTRA_POSITION));
145-
activity.startActivityForResult(intent, CommentActivity.WRITE_COMMENT_REQUEST_CODE);
146-
147-
dismiss();
148-
});
149151

150152
binding.saveTextViewCommentMoreBottomSheetFragment.setOnClickListener(view -> {
151153
if (activity instanceof ViewPostDetailActivity) {

app/src/main/java/ml/docilealligator/infinityforreddit/bottomsheetfragments/PostOptionsBottomSheetFragment.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -201,19 +201,23 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
201201
binding.crosspostTextViewPostOptionsBottomSheetFragment.setVisibility(View.GONE);
202202
binding.reportTextViewPostOptionsBottomSheetFragment.setVisibility(View.GONE);
203203
} else {
204-
binding.commentTextViewPostOptionsBottomSheetFragment.setOnClickListener(view -> {
205-
Intent intent = new Intent(mBaseActivity, CommentActivity.class);
206-
intent.putExtra(CommentActivity.EXTRA_PARENT_FULLNAME_KEY, mPost.getFullName());
207-
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TITLE_KEY, mPost.getTitle());
208-
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY, mPost.getSelfText());
209-
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_KEY, mPost.getSelfTextPlain());
210-
intent.putExtra(CommentActivity.EXTRA_SUBREDDIT_NAME_KEY, mPost.getSubredditName());
211-
intent.putExtra(CommentActivity.EXTRA_IS_REPLYING_KEY, false);
212-
intent.putExtra(CommentActivity.EXTRA_PARENT_DEPTH_KEY, 0);
213-
mBaseActivity.startActivity(intent);
204+
if (mPost.isLocked() || mPost.isArchived()) {
205+
binding.commentTextViewPostOptionsBottomSheetFragment.setVisibility(View.GONE);
206+
} else {
207+
binding.commentTextViewPostOptionsBottomSheetFragment.setOnClickListener(view -> {
208+
Intent intent = new Intent(mBaseActivity, CommentActivity.class);
209+
intent.putExtra(CommentActivity.EXTRA_PARENT_FULLNAME_KEY, mPost.getFullName());
210+
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_TITLE_KEY, mPost.getTitle());
211+
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_MARKDOWN_KEY, mPost.getSelfText());
212+
intent.putExtra(CommentActivity.EXTRA_COMMENT_PARENT_BODY_KEY, mPost.getSelfTextPlain());
213+
intent.putExtra(CommentActivity.EXTRA_SUBREDDIT_NAME_KEY, mPost.getSubredditName());
214+
intent.putExtra(CommentActivity.EXTRA_IS_REPLYING_KEY, false);
215+
intent.putExtra(CommentActivity.EXTRA_PARENT_DEPTH_KEY, 0);
216+
mBaseActivity.startActivity(intent);
214217

215-
dismiss();
216-
});
218+
dismiss();
219+
});
220+
}
217221

218222
if (mPost.isHidden()) {
219223
binding.hidePostTextViewPostOptionsBottomSheetFragment.setText(R.string.action_unhide_post);

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@
302302
<string name="archived_post_reply_unavailable">Archived post. Reply unavailable.</string>
303303
<string name="locked_post_comment_unavailable">Locked post. Comment unavailable.</string>
304304
<string name="locked_post_reply_unavailable">Locked post. Reply unavailable.</string>
305+
<string name="locked_comment_reply_unavailable">Locked comment. Reply unavailable.</string>
305306

306307
<string name="text">TEXT</string>
307308
<string name="link">LINK</string>

0 commit comments

Comments
 (0)