Skip to content
This repository was archived by the owner on Oct 28, 2024. It is now read-only.

Commit

Permalink
fuck it, indented header line
Browse files Browse the repository at this point in the history
closes #448
  • Loading branch information
sk22 committed Mar 14, 2023
1 parent ed1fdba commit 92beac8
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,10 @@ public class ReblogOrReplyLineStatusDisplayItem extends StatusDisplayItem{
private int iconEnd;
private CustomEmojiHelper emojiHelper=new CustomEmojiHelper();
private View.OnClickListener handleClick;
private boolean isLastLine;
private boolean isLastLine = true;
private int lineNo = 0;

public ReblogOrReplyLineStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, CharSequence text, List<Emoji> emojis, @DrawableRes int icon, StatusPrivacy visibility, @Nullable View.OnClickListener handleClick){
this(parentID, parentFragment, text, emojis, icon, visibility, handleClick, true);
}

public ReblogOrReplyLineStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, CharSequence text, List<Emoji> emojis, @DrawableRes int icon, StatusPrivacy visibility, @Nullable View.OnClickListener handleClick, boolean isLastLine){
super(parentID, parentFragment);
SpannableStringBuilder ssb=new SpannableStringBuilder(text);
HtmlParser.parseCustomEmoji(ssb, emojis);
Expand All @@ -55,13 +52,16 @@ public ReblogOrReplyLineStatusDisplayItem(String parentID, BaseStatusListFragmen
TypedValue outValue = new TypedValue();
context.getTheme().resolveAttribute(android.R.attr.selectableItemBackground, outValue, true);
updateVisibility(visibility);
setIsLastLine(isLastLine);
}

public void setIsLastLine(boolean isLastLine) {
this.isLastLine = isLastLine;
}

public void setLineNo(int lineNo) {
this.lineNo = lineNo;
}

public void updateVisibility(StatusPrivacy visibility) {
this.visibility = visibility;
this.iconEnd = visibility != null ? switch (visibility) {
Expand Down Expand Up @@ -116,6 +116,7 @@ public void onBind(ReblogOrReplyLineStatusDisplayItem item){
UiUtils.fixCompoundDrawableTintOnAndroid6(text);
ViewGroup.MarginLayoutParams params = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.bottomMargin = V.dp(item.isLastLine ? -12 : -18);
params.leftMargin = V.dp(13) * item.lineNo;
frame.setLayoutParams(params);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,23 +113,8 @@ public static ArrayList<StatusDisplayItem> buildItems(BaseStatusListFragment<?>
items.add(new ReblogOrReplyLineStatusDisplayItem(parentID, fragment, fragment.getString(R.string.user_boosted, status.account.displayName), status.account.emojis, R.drawable.ic_fluent_arrow_repeat_all_20_filled, isOwnPost ? status.visibility : null, i->{
args.putParcelable("profileAccount", Parcels.wrap(status.account));
Nav.go(fragment.getActivity(), ProfileFragment.class, args);
}, false));
}

if(statusForContent.inReplyToAccountId!=null){
Account account = knownAccounts.get(statusForContent.inReplyToAccountId);
View.OnClickListener handleClick = account == null ? null : i -> {
args.putParcelable("profileAccount", Parcels.wrap(account));
Nav.go(fragment.getActivity(), ProfileFragment.class, args);
};
String text = account != null ? fragment.getString(R.string.in_reply_to, account.displayName) : fragment.getString(R.string.sk_in_reply);
items.add(new ReblogOrReplyLineStatusDisplayItem(
parentID, fragment, text, account == null ? List.of() : account.emojis,
R.drawable.ic_fluent_arrow_reply_20_filled, null, handleClick, false
));
}

if (status.reblog == null && !(status.tags.isEmpty() ||
}));
} else if (!(status.tags.isEmpty() ||
fragment instanceof HashtagTimelineFragment ||
fragment instanceof ListTimelineFragment
) && fragment.getParentFragment() instanceof HomeTabFragment home) {
Expand All @@ -144,14 +129,34 @@ public static ArrayList<StatusDisplayItem> buildItems(BaseStatusListFragment<?>
i -> {
args.putString("hashtag", hashtag.name);
Nav.go(fragment.getActivity(), HashtagTimelineFragment.class, args);
},
false
}
)));
}

if (items.size() > 0) {
((ReblogOrReplyLineStatusDisplayItem) items.get(items.size() - 1)).setIsLastLine(true);
if(statusForContent.inReplyToAccountId!=null){
Account account = knownAccounts.get(statusForContent.inReplyToAccountId);
View.OnClickListener handleClick = account == null ? null : i -> {
args.putParcelable("profileAccount", Parcels.wrap(account));
Nav.go(fragment.getActivity(), ProfileFragment.class, args);
};
String text = account != null ? fragment.getString(R.string.in_reply_to, account.displayName) : fragment.getString(R.string.sk_in_reply);
items.add(new ReblogOrReplyLineStatusDisplayItem(
parentID, fragment, text, account == null ? List.of() : account.emojis,
R.drawable.ic_fluent_arrow_reply_20_filled, null, handleClick
));
}

int l = 0;
ReblogOrReplyLineStatusDisplayItem lastLine = null;
for (StatusDisplayItem item : items) {
if (item instanceof ReblogOrReplyLineStatusDisplayItem line) {
line.setLineNo(l);
line.setIsLastLine(false);
lastLine = line;
l++;
}
}
if (lastLine != null) lastLine.setIsLastLine(true);

HeaderStatusDisplayItem header;
items.add(header=new HeaderStatusDisplayItem(parentID, statusForContent.account, statusForContent.createdAt, fragment, accountID, statusForContent, null, notification, scheduledStatus));
Expand Down

0 comments on commit 92beac8

Please sign in to comment.