parent
5065c7e7e2
commit
2aba90f353
|
@ -6,9 +6,9 @@ import android.graphics.drawable.LayerDrawable;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.joinmastodon.android.GlobalUserPreferences;
|
|
||||||
import org.joinmastodon.android.R;
|
import org.joinmastodon.android.R;
|
||||||
import org.joinmastodon.android.fragments.BaseStatusListFragment;
|
import org.joinmastodon.android.fragments.BaseStatusListFragment;
|
||||||
import org.joinmastodon.android.model.Status;
|
import org.joinmastodon.android.model.Status;
|
||||||
|
@ -29,11 +29,13 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{
|
||||||
private final CharSequence parsedTitle;
|
private final CharSequence parsedTitle;
|
||||||
private final CustomEmojiHelper emojiHelper;
|
private final CustomEmojiHelper emojiHelper;
|
||||||
private final Type type;
|
private final Type type;
|
||||||
|
private final int attachmentCount;
|
||||||
|
|
||||||
public SpoilerStatusDisplayItem(String parentID, BaseStatusListFragment<?> parentFragment, String title, Status statusForContent, Type type){
|
public SpoilerStatusDisplayItem(String parentID, BaseStatusListFragment<?> parentFragment, String title, Status statusForContent, Type type){
|
||||||
super(parentID, parentFragment);
|
super(parentID, parentFragment);
|
||||||
this.status=statusForContent;
|
this.status=statusForContent;
|
||||||
this.type=type;
|
this.type=type;
|
||||||
|
this.attachmentCount=statusForContent.mediaAttachments.size();
|
||||||
if(TextUtils.isEmpty(title)){
|
if(TextUtils.isEmpty(title)){
|
||||||
parsedTitle=HtmlParser.parseCustomEmoji(statusForContent.spoilerText, statusForContent.emojis);
|
parsedTitle=HtmlParser.parseCustomEmoji(statusForContent.spoilerText, statusForContent.emojis);
|
||||||
emojiHelper=new CustomEmojiHelper();
|
emojiHelper=new CustomEmojiHelper();
|
||||||
|
@ -62,12 +64,14 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{
|
||||||
public static class Holder extends StatusDisplayItem.Holder<SpoilerStatusDisplayItem> implements ImageLoaderViewHolder{
|
public static class Holder extends StatusDisplayItem.Holder<SpoilerStatusDisplayItem> implements ImageLoaderViewHolder{
|
||||||
private final TextView title, action;
|
private final TextView title, action;
|
||||||
private final View button;
|
private final View button;
|
||||||
|
private final ImageView mediaIcon;
|
||||||
|
|
||||||
public Holder(Context context, ViewGroup parent, Type type){
|
public Holder(Context context, ViewGroup parent, Type type){
|
||||||
super(context, R.layout.display_item_spoiler, parent);
|
super(context, R.layout.display_item_spoiler, parent);
|
||||||
title=findViewById(R.id.spoiler_title);
|
title=findViewById(R.id.spoiler_title);
|
||||||
action=findViewById(R.id.spoiler_action);
|
action=findViewById(R.id.spoiler_action);
|
||||||
button=findViewById(R.id.spoiler_button);
|
button=findViewById(R.id.spoiler_button);
|
||||||
|
mediaIcon=findViewById(R.id.media_icon);
|
||||||
|
|
||||||
button.setOutlineProvider(OutlineProviders.roundedRect(8));
|
button.setOutlineProvider(OutlineProviders.roundedRect(8));
|
||||||
button.setClipToOutline(true);
|
button.setClipToOutline(true);
|
||||||
|
@ -94,6 +98,10 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{
|
||||||
itemView.getPaddingRight(),
|
itemView.getPaddingRight(),
|
||||||
item.inset ? itemView.getPaddingTop() : 0
|
item.inset ? itemView.getPaddingTop() : 0
|
||||||
);
|
);
|
||||||
|
mediaIcon.setVisibility(item.attachmentCount > 0 ? View.VISIBLE : View.GONE);
|
||||||
|
mediaIcon.setImageResource(item.attachmentCount > 1
|
||||||
|
? R.drawable.ic_fluent_image_multiple_24_regular
|
||||||
|
: R.drawable.ic_fluent_image_24_regular);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24">
|
||||||
|
<path android:pathData="M13.748 8.996c0.69 0 1.248-0.559 1.248-1.248 0-0.69-0.559-1.248-1.248-1.248-0.69 0-1.248 0.559-1.248 1.248 0 0.69 0.559 1.248 1.248 1.248zM6.25 3C4.455 3 3 4.455 3 6.25v9c0 1.795 1.455 3.25 3.25 3.25h9c1.795 0 3.25-1.455 3.25-3.25v-9C18.5 4.455 17.045 3 15.25 3h-9zM4.5 6.25c0-0.966 0.784-1.75 1.75-1.75h9C16.216 4.5 17 5.284 17 6.25v9c0 0.231-0.045 0.452-0.126 0.654l-4.587-4.291c-0.865-0.81-2.21-0.81-3.075 0l-4.586 4.29C4.545 15.701 4.5 15.481 4.5 15.25v-9zm6.762 6.458l4.505 4.214C15.604 16.972 15.43 17 15.25 17h-9c-0.18 0-0.354-0.027-0.518-0.078l4.505-4.214c0.289-0.27 0.737-0.27 1.025 0zM8.75 21c-1.15 0-2.162-0.598-2.74-1.5h9.74c2.071 0 3.75-1.679 3.75-3.75V6.011C20.402 6.59 21 7.6 21 8.751v7C21 18.65 18.65 21 15.75 21h-7z" android:fillColor="@color/fluent_default_icon_tint"/>
|
||||||
|
</vector>
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
android:paddingTop="16dp"
|
android:paddingTop="16dp"
|
||||||
android:paddingRight="16dp">
|
android:paddingRight="16dp">
|
||||||
|
|
||||||
<LinearLayout
|
<RelativeLayout
|
||||||
android:id="@+id/spoiler_button"
|
android:id="@+id/spoiler_button"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -18,12 +18,27 @@
|
||||||
android:paddingTop="8dp"
|
android:paddingTop="8dp"
|
||||||
android:paddingRight="12dp"
|
android:paddingRight="12dp"
|
||||||
android:paddingBottom="8dp">
|
android:paddingBottom="8dp">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/media_icon"
|
||||||
|
android:layout_width="28dp"
|
||||||
|
android:layout_height="28dp"
|
||||||
|
android:layout_marginHorizontal="8dp"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:contentDescription="@string/sk_post_contains_media"
|
||||||
|
android:src="@drawable/ic_fluent_image_24_regular"
|
||||||
|
android:tint="?colorM3OnSecondaryContainer" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/spoiler_title"
|
android:id="@+id/spoiler_title"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="4dp"
|
android:layout_marginBottom="4dp"
|
||||||
|
android:layout_alignParentStart="true"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:layout_toStartOf="@id/media_icon"
|
||||||
android:textAppearance="@style/m3_body_large"
|
android:textAppearance="@style/m3_body_large"
|
||||||
android:textColor="?colorM3OnSecondaryContainer"
|
android:textColor="?colorM3OnSecondaryContainer"
|
||||||
tools:text="Spoilery stuff"/>
|
tools:text="Spoilery stuff"/>
|
||||||
|
@ -32,21 +47,14 @@
|
||||||
android:id="@+id/spoiler_action"
|
android:id="@+id/spoiler_action"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="20dp"
|
android:layout_height="20dp"
|
||||||
|
android:layout_below="@id/spoiler_title"
|
||||||
|
android:layout_toStartOf="@id/media_icon"
|
||||||
android:textAppearance="@style/m3_label_large"
|
android:textAppearance="@style/m3_label_large"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:textColor="?colorM3Primary"
|
android:textColor="?colorM3Primary"
|
||||||
tools:text="Re-hide"/>
|
tools:text="Re-hide"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<ImageView
|
</FrameLayout>
|
||||||
android:id="@+id/media_icon"
|
|
||||||
android:layout_width="36dp"
|
|
||||||
android:layout_height="36dp"
|
|
||||||
android:background="?android:actionBarItemBackground"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_fluent_image_24_regular"
|
|
||||||
android:tint="?android:textColorSecondary" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
|
@ -384,4 +384,5 @@
|
||||||
<item quantity="one">post</item>
|
<item quantity="one">post</item>
|
||||||
<item quantity="other">posts</item>
|
<item quantity="other">posts</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<string name="sk_post_contains_media">Post contains media</string>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue