visually connect descendant replies in threads

closes sk22#256
closes sk22#510
This commit is contained in:
sk
2023-06-02 00:55:42 +02:00
parent e175a721d4
commit 3985de5b14
5 changed files with 163 additions and 9 deletions

View File

@@ -134,12 +134,20 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
bindButton(reply, item.status.repliesCount);
bindButton(boost, item.status.reblogsCount);
bindButton(favorite, item.status.favouritesCount);
reply.setSelected(item.status.repliesCount > 0);
// in thread view, direct descendant posts display one direct reply to themselves,
// hence in that case displaying whether there is another reply
reply.setSelected(item.status.repliesCount > (item.descendantLevel > 0 ? 1 : 0));
boost.setSelected(item.status.reblogged);
favorite.setSelected(item.status.favourited);
bookmark.setSelected(item.status.bookmarked);
boost.setEnabled(item.status.visibility==StatusPrivacy.PUBLIC || item.status.visibility==StatusPrivacy.UNLISTED || item.status.visibility==StatusPrivacy.LOCAL
|| (item.status.visibility==StatusPrivacy.PRIVATE && item.status.account.id.equals(AccountSessionManager.getInstance().getAccount(item.accountID).self.id)));
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) itemView.getLayoutParams();
params.setMargins(params.leftMargin, params.topMargin, params.rightMargin,
item.descendantLevel != 0 && item.hasDescendantSibling ? V.dp(-6) : 0);
itemView.requestLayout();
}
private void bindButton(TextView btn, long count){

View File

@@ -49,6 +49,8 @@ public abstract class StatusDisplayItem{
public final BaseStatusListFragment parentFragment;
public boolean inset;
public int index;
public int descendantLevel;
public boolean hasDescendantSibling, isDescendantSibling;
public StatusDisplayItem(String parentID, BaseStatusListFragment parentFragment){
this.parentID=parentID;