Fix layout for single-line notification header + inline status

This commit is contained in:
Grishka
2024-09-21 09:47:50 +03:00
parent de83c1ea96
commit 9533b4f45d
3 changed files with 10 additions and 3 deletions

View File

@@ -39,7 +39,9 @@ public abstract class BaseNotificationsListFragment extends BaseStatusListFragme
} }
if(n.status!=null){ if(n.status!=null){
if(titleItem!=null && n.notification.type!=NotificationType.STATUS){ if(titleItem!=null && n.notification.type!=NotificationType.STATUS){
return List.of(titleItem, new InlineStatusStatusDisplayItem(n.getID(), this, n.status)); InlineStatusStatusDisplayItem inlineItem=new InlineStatusStatusDisplayItem(n.getID(), this, n.status);
inlineItem.removeTopPadding=true;
return List.of(titleItem, inlineItem);
}else{ }else{
ArrayList<StatusDisplayItem> items=StatusDisplayItem.buildItems(this, n.status, accountID, n, knownAccounts, 0); ArrayList<StatusDisplayItem> items=StatusDisplayItem.buildItems(this, n.status, accountID, n, knownAccounts, 0);
if(titleItem!=null) if(titleItem!=null)

View File

@@ -29,6 +29,7 @@ public class InlineStatusStatusDisplayItem extends StatusDisplayItem{
private SpannableStringBuilder parsedName; private SpannableStringBuilder parsedName;
private SpannableStringBuilder parsedPostText; private SpannableStringBuilder parsedPostText;
private UrlImageLoaderRequest avaRequest; private UrlImageLoaderRequest avaRequest;
public boolean removeTopPadding;
public InlineStatusStatusDisplayItem(String parentID, BaseStatusListFragment<?> parentFragment, Status status){ public InlineStatusStatusDisplayItem(String parentID, BaseStatusListFragment<?> parentFragment, Status status){
super(parentID, parentFragment); super(parentID, parentFragment);
@@ -85,7 +86,7 @@ public class InlineStatusStatusDisplayItem extends StatusDisplayItem{
@Override @Override
public void onBind(InlineStatusStatusDisplayItem item){ public void onBind(InlineStatusStatusDisplayItem item){
itemView.setPaddingRelative(V.dp(item.fullWidth ? 16 : 64), itemView.getPaddingTop(), itemView.getPaddingEnd(), itemView.getPaddingBottom()); itemView.setPaddingRelative(V.dp(item.fullWidth ? 16 : 64), item.removeTopPadding ? 0 : V.dp(8), itemView.getPaddingEnd(), itemView.getPaddingBottom());
name.setText(item.parsedName); name.setText(item.parsedName);
username.setText(item.status.account.getDisplayUsername()); username.setText(item.status.account.getDisplayUsername());
if(item.parsedPostText.length()==0){ if(item.parsedPostText.length()==0){

View File

@@ -5,7 +5,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingHorizontal="16dp" android:paddingHorizontal="16dp"
android:paddingTop="12dp"> android:paddingTop="12dp"
android:clipToPadding="false">
<ImageView <ImageView
android:id="@+id/icon" android:id="@+id/icon"
@@ -65,6 +66,9 @@
android:layout_toEndOf="@id/icon" android:layout_toEndOf="@id/icon"
android:layout_below="@id/avatars" android:layout_below="@id/avatars"
android:layout_alignWithParentIfMissing="true" android:layout_alignWithParentIfMissing="true"
android:padding="8dp"
android:layout_marginStart="-8dp"
android:layout_marginTop="-8dp"
android:textAppearance="@style/m3_body_medium" android:textAppearance="@style/m3_body_medium"
android:textColor="?colorM3OnSurface" android:textColor="?colorM3OnSurface"
android:minHeight="20dp" android:minHeight="20dp"