From 7cfade62d34d1c5eae34d82dfe89fc51d8c90cbf Mon Sep 17 00:00:00 2001 From: sk Date: Mon, 4 Sep 2023 19:53:33 +0200 Subject: [PATCH 1/9] fix click listener target --- .../org/joinmastodon/android/fragments/ProfileFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java index c159b2836..3173ec0ab 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java @@ -377,7 +377,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList } }); - username.setOnLongClickListener(v->{ + content.findViewById(R.id.username_wrap).setOnLongClickListener(v->{ String usernameString=account.acct; if(!usernameString.contains("@")){ usernameString+="@"+domain; From 6f273df060361a5f1e8b5f83fdb1bcaa216ad002 Mon Sep 17 00:00:00 2001 From: sk Date: Mon, 4 Sep 2023 19:54:07 +0200 Subject: [PATCH 2/9] use single-line linear layout --- .../src/main/res/layout/fragment_profile.xml | 57 +++++++++---------- 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/mastodon/src/main/res/layout/fragment_profile.xml b/mastodon/src/main/res/layout/fragment_profile.xml index cd0630c52..4a4ffa6e5 100644 --- a/mastodon/src/main/res/layout/fragment_profile.xml +++ b/mastodon/src/main/res/layout/fragment_profile.xml @@ -167,19 +167,21 @@ - - + - + - - - - - + Date: Mon, 4 Sep 2023 22:19:47 +0200 Subject: [PATCH 3/9] fix: move tabbar padding to tabbar items (#792) * feat: increase padding without labels * fix: move tabbar padding to individual items --- mastodon/src/main/res/layout/tab_bar.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mastodon/src/main/res/layout/tab_bar.xml b/mastodon/src/main/res/layout/tab_bar.xml index 1b034ae70..b31bf4959 100644 --- a/mastodon/src/main/res/layout/tab_bar.xml +++ b/mastodon/src/main/res/layout/tab_bar.xml @@ -13,8 +13,6 @@ android:id="@+id/tabbar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingTop="12dp" - android:paddingBottom="16dp" android:paddingHorizontal="8dp"> Date: Mon, 4 Sep 2023 22:24:17 +0200 Subject: [PATCH 4/9] Fix errors when some entries were missing when retrieving account information (#757) * Handle null avatar * Handle empty account --- .../android/api/session/AccountSession.java | 6 ++++ .../fragments/FollowRequestsListFragment.java | 7 ++-- .../fragments/NotificationsListFragment.java | 2 +- .../android/fragments/ProfileFragment.java | 7 ++-- .../discover/DiscoverAccountsFragment.java | 6 ++-- .../joinmastodon/android/model/Account.java | 33 ++++++++++++++----- .../model/viewmodel/AccountViewModel.java | 10 ++++-- .../AccountCardStatusDisplayItem.java | 8 +++-- .../displayitems/HeaderStatusDisplayItem.java | 10 ++++-- .../NotificationHeaderStatusDisplayItem.java | 8 ++++- 10 files changed, 74 insertions(+), 23 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSession.java b/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSession.java index fa7a85eb1..c94c87c1a 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSession.java +++ b/mastodon/src/main/java/org/joinmastodon/android/api/session/AccountSession.java @@ -313,4 +313,10 @@ public class AccountSession{ .authority(getInstance().map(i -> i.normalizedUri).orElse(domain)) .build(); } + + public String getDefaultAvatarUrl() { + return getInstance() + .map(instance->"https://"+domain+(instance.isAkkoma() ? "/images/avi.png" : "/avatars/original/missing.png")) + .orElse(""); + } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/FollowRequestsListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/FollowRequestsListFragment.java index 87e9d28d8..d93c19fb3 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/FollowRequestsListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/FollowRequestsListFragment.java @@ -17,8 +17,10 @@ import android.widget.TextView; import org.joinmastodon.android.R; import org.joinmastodon.android.api.requests.accounts.GetAccountRelationships; import org.joinmastodon.android.api.requests.accounts.GetFollowRequests; +import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.model.Account; import org.joinmastodon.android.model.HeaderPaginationList; +import org.joinmastodon.android.model.Instance; import org.joinmastodon.android.model.Relationship; import org.joinmastodon.android.ui.OutlineProviders; import org.joinmastodon.android.ui.text.HtmlParser; @@ -357,8 +359,9 @@ public class FollowRequestsListFragment extends MastodonRecyclerFragment items = new ArrayList<>(); items.add(titleItem); - items.add(new AccountCardStatusDisplayItem(n.id, this, n.account, n)); + items.add(new AccountCardStatusDisplayItem(n.id, this, accountID, n.account, n)); return items; } if(n.status!=null){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java index 3173ec0ab..951bd14c6 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java @@ -601,7 +601,10 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList private void bindHeaderView(){ setTitle(account.displayName); setSubtitle(getResources().getQuantityString(R.plurals.x_posts, (int)(account.statusesCount%1000), account.statusesCount)); - ViewImageLoader.load(avatar, null, new UrlImageLoaderRequest(GlobalUserPreferences.playGifs ? account.avatar : account.avatarStatic, V.dp(100), V.dp(100))); + ViewImageLoader.load(avatar, null, new UrlImageLoaderRequest( + TextUtils.isEmpty(account.avatar) ? getSession().getDefaultAvatarUrl() : + GlobalUserPreferences.playGifs ? account.avatar : account.avatarStatic, + V.dp(100), V.dp(100))); ViewImageLoader.load(cover, null, new UrlImageLoaderRequest(GlobalUserPreferences.playGifs ? account.header : account.headerStatic, 1000, 1000)); SpannableStringBuilder ssb=new SpannableStringBuilder(account.displayName); if(AccountSessionManager.get(accountID).getLocalPreferences().customEmojiInNames) @@ -1229,7 +1232,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList if(ava==null) return; int radius=V.dp(25); - currentPhotoViewer=new PhotoViewer(getActivity(), createFakeAttachments(account.avatar, ava), 0, + currentPhotoViewer=new PhotoViewer(getActivity(), createFakeAttachments(TextUtils.isEmpty(account.avatar) ? getSession().getDefaultAvatarUrl() : account.avatar, ava), 0, new SingleImagePhotoViewerListener(avatar, avatarBorder, new int[]{radius, radius, radius, radius}, this, ()->currentPhotoViewer=null, ()->ava, null, null)); } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/DiscoverAccountsFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/DiscoverAccountsFragment.java index dff5d11e1..c58e3d5db 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/DiscoverAccountsFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/DiscoverAccountsFragment.java @@ -16,6 +16,7 @@ import android.widget.TextView; import org.joinmastodon.android.R; import org.joinmastodon.android.api.requests.accounts.GetAccountRelationships; import org.joinmastodon.android.api.requests.accounts.GetFollowSuggestions; +import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.fragments.IsOnTop; import org.joinmastodon.android.fragments.MastodonRecyclerFragment; import org.joinmastodon.android.fragments.ProfileFragment; @@ -319,8 +320,9 @@ public class DiscoverAccountsFragment extends MastodonRecyclerFragment Date: Mon, 4 Sep 2023 23:07:24 +0200 Subject: [PATCH 5/9] feat(search): show suicide help dialog (#767) * feat(search): show suicide help dialog * change wording, add helpline url, change behavior --------- Co-authored-by: sk --- .../android/GlobalUserPreferences.java | 3 + .../discover/SearchQueryFragment.java | 66 ++++++++++++++----- mastodon/src/main/res/values/strings_sk.xml | 6 ++ 3 files changed, 60 insertions(+), 15 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java index 200499599..22908509d 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java +++ b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java @@ -60,6 +60,7 @@ public class GlobalUserPreferences{ public static boolean showNavigationLabels; public static boolean displayPronounsInTimelines, displayPronounsInThreads, displayPronounsInUserListings; public static boolean overlayMedia; + public static boolean showSuicideHelp; private static SharedPreferences getPrefs(){ return MastodonApp.context.getSharedPreferences("global", Context.MODE_PRIVATE); @@ -119,6 +120,7 @@ public class GlobalUserPreferences{ displayPronounsInThreads=prefs.getBoolean("displayPronounsInThreads", true); displayPronounsInUserListings=prefs.getBoolean("displayPronounsInUserListings", true); overlayMedia=prefs.getBoolean("overlayMedia", false); + showSuicideHelp=prefs.getBoolean("showSuicideHelp", true); if (prefs.contains("prefixRepliesWithRe")) { prefixReplies = prefs.getBoolean("prefixRepliesWithRe", false) @@ -177,6 +179,7 @@ public class GlobalUserPreferences{ .putBoolean("displayPronounsInThreads", displayPronounsInThreads) .putBoolean("displayPronounsInUserListings", displayPronounsInUserListings) .putBoolean("overlayMedia", overlayMedia) + .putBoolean("showSuicideHelp", showSuicideHelp) .apply(); } diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/SearchQueryFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/SearchQueryFragment.java index 782cc6cbc..b9332ebf0 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/SearchQueryFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/discover/SearchQueryFragment.java @@ -10,7 +10,6 @@ import android.graphics.Outline; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; -import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; @@ -26,7 +25,7 @@ import android.widget.TextView; import android.widget.Toast; import android.widget.Toolbar; -import org.joinmastodon.android.MainActivity; +import org.joinmastodon.android.GlobalUserPreferences; import org.joinmastodon.android.R; import org.joinmastodon.android.api.requests.search.GetSearchResults; import org.joinmastodon.android.api.session.AccountSessionManager; @@ -38,19 +37,16 @@ import org.joinmastodon.android.model.SearchResults; import org.joinmastodon.android.model.viewmodel.ListItem; import org.joinmastodon.android.model.viewmodel.SearchResultViewModel; import org.joinmastodon.android.ui.DividerItemDecoration; +import org.joinmastodon.android.ui.M3AlertDialogBuilder; import org.joinmastodon.android.ui.SearchViewHelper; import org.joinmastodon.android.ui.adapters.GenericListItemsAdapter; import org.joinmastodon.android.ui.utils.HideableSingleViewRecyclerAdapter; import org.joinmastodon.android.ui.utils.UiUtils; import org.joinmastodon.android.ui.viewholders.AccountViewHolder; import org.joinmastodon.android.ui.viewholders.SimpleListItemViewHolder; -import org.parceler.Parcels; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; -import java.util.List; -import java.util.function.BiConsumer; import java.util.function.Function; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -381,16 +377,54 @@ public class SearchQueryFragment extends MastodonRecyclerFragment{ + UiUtils.openHashtagTimeline(getActivity(), accountID, res.hashtag.name, res.hashtag.following); + AccountSessionManager.getInstance().getAccount(accountID).getCacheController().putRecentSearch(res); + }); } private boolean isInRecentMode(){ return TextUtils.isEmpty(currentQuery); } + private void wrapSuicideDialog(Runnable r){ + if(!GlobalUserPreferences.showSuicideHelp){ + r.run(); + return; + } + + String[] terms=getContext().getString(R.string.sk_suicide_search_terms).toLowerCase().split(","); + String query=currentQuery.trim().toLowerCase(); + boolean termMatches=false; + for(String term : terms){ + if(query.contains(term)){ + termMatches=true; + break; + } + } + + if(!termMatches){ + r.run(); + return; + } + + String url=getContext().getString(R.string.sk_suicide_helplines_url); + new M3AlertDialogBuilder(getActivity()) + .setTitle(R.string.sk_search_suicide_title) + .setMessage(R.string.sk_search_suicide_message) + .setNegativeButton(R.string.sk_do_not_show_again, (dialog, which)->{ + GlobalUserPreferences.showSuicideHelp = false; + GlobalUserPreferences.save(); + r.run(); + }) + .setNeutralButton(R.string.sk_search_suicide_hotlines, (dialog, which)->UiUtils.launchWebBrowser(getContext(), url)) + .setPositiveButton(R.string.ok, (dialog, which)->r.run()) + .setOnDismissListener((dialog)->{}) + .show(); + } + private void onSearchViewEnter(){ - deliverResult(currentQuery, null); + wrapSuicideDialog(()->deliverResult(currentQuery, null)); } private void onOpenURLClick(){ @@ -398,10 +432,12 @@ public class SearchQueryFragment extends MastodonRecyclerFragment{ + String q=searchViewHelper.getQuery(); + if(q.startsWith("#")) + q=q.substring(1); + UiUtils.openHashtagTimeline(getActivity(), accountID, q, null); + }); } private void onGoToAccountClick(){ @@ -422,11 +458,11 @@ public class SearchQueryFragment extends MastodonRecyclerFragmentdeliverResult(searchViewHelper.getQuery(), SearchResult.Type.STATUS)); } private void onGoToAccountSearchClick(){ - deliverResult(searchViewHelper.getQuery(), SearchResult.Type.ACCOUNT); + wrapSuicideDialog(()->deliverResult(searchViewHelper.getQuery(), SearchResult.Type.ACCOUNT)); } private void onClearRecentClick(){ diff --git a/mastodon/src/main/res/values/strings_sk.xml b/mastodon/src/main/res/values/strings_sk.xml index 950285895..970baf128 100644 --- a/mastodon/src/main/res/values/strings_sk.xml +++ b/mastodon/src/main/res/values/strings_sk.xml @@ -374,6 +374,12 @@ 3 days 7 days You were mentioned by %s + Suicide + In case you’re in distress… + If you’re looking for a sign not to commit suicide, this is it. Please consider reaching out to a local suicide hotline if you’re in distress. + Find a helpline + Don’t show again + https://findahelpline.com post posts From 4975bde76feac5b8a995abc4e69ffd185551860b Mon Sep 17 00:00:00 2001 From: sk Date: Mon, 4 Sep 2023 23:33:35 +0200 Subject: [PATCH 6/9] fix tab layout horizontal paddings --- .../main/java/org/joinmastodon/android/ui/tabs/TabLayout.java | 4 +++- mastodon/src/main/res/layout/fragment_discover.xml | 3 +++ mastodon/src/main/res/layout/fragment_profile.xml | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/tabs/TabLayout.java b/mastodon/src/main/java/org/joinmastodon/android/ui/tabs/TabLayout.java index 1528f0ea4..0912b60c5 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/tabs/TabLayout.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/tabs/TabLayout.java @@ -1715,7 +1715,9 @@ public class TabLayout extends HorizontalScrollView implements CustomViewHelper{ child.getLayoutParams().height); int childWidthMeasureSpec = - MeasureSpec.makeMeasureSpec(getMeasuredWidth(), MeasureSpec.EXACTLY); + MeasureSpec.makeMeasureSpec( + getMeasuredWidth() - getPaddingLeft() - getPaddingRight(), + MeasureSpec.EXACTLY); child.measure(childWidthMeasureSpec, childHeightMeasureSpec); } } diff --git a/mastodon/src/main/res/layout/fragment_discover.xml b/mastodon/src/main/res/layout/fragment_discover.xml index 4b4d8ae66..2b4d7c31c 100644 --- a/mastodon/src/main/res/layout/fragment_discover.xml +++ b/mastodon/src/main/res/layout/fragment_discover.xml @@ -45,6 +45,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> + From a10e661b21454b49236721cd5723aaed71650707 Mon Sep 17 00:00:00 2001 From: sk Date: Mon, 4 Sep 2023 23:37:34 +0200 Subject: [PATCH 7/9] fix wrong info banner color closes sk22#790 --- mastodon/src/main/res/layout/discover_info_banner.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mastodon/src/main/res/layout/discover_info_banner.xml b/mastodon/src/main/res/layout/discover_info_banner.xml index 5fb51d1a5..5def8563c 100644 --- a/mastodon/src/main/res/layout/discover_info_banner.xml +++ b/mastodon/src/main/res/layout/discover_info_banner.xml @@ -15,7 +15,7 @@ android:layout_width="32dp" android:layout_height="32dp" android:layout_marginEnd="16dp" - android:tint="?colorM3OnPrimaryContainer" + android:tint="?colorM3Primary" android:scaleType="center" android:importantForAccessibility="no" tools:src="@drawable/ic_fluent_arrow_trending_24_regular"/> From 5065c7e7e2614d56655e648aa2a81995272102f4 Mon Sep 17 00:00:00 2001 From: sk Date: Mon, 4 Sep 2023 23:42:00 +0200 Subject: [PATCH 8/9] add dummy to add spacing closes sk22#782 --- .../android/fragments/StatusEditHistoryFragment.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/StatusEditHistoryFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/StatusEditHistoryFragment.java index 26ffd1260..f3e7b3d49 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/StatusEditHistoryFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/StatusEditHistoryFragment.java @@ -9,6 +9,7 @@ import org.joinmastodon.android.R; import org.joinmastodon.android.api.requests.statuses.GetStatusEditHistory; import org.joinmastodon.android.model.FilterContext; import org.joinmastodon.android.model.Status; +import org.joinmastodon.android.ui.displayitems.DummyStatusDisplayItem; import org.joinmastodon.android.ui.displayitems.ReblogOrReplyLineStatusDisplayItem; import org.joinmastodon.android.ui.displayitems.StatusDisplayItem; import org.joinmastodon.android.ui.utils.InsetStatusItemDecoration; @@ -144,6 +145,7 @@ public class StatusEditHistoryFragment extends StatusListFragment{ } String sep = getString(R.string.sk_separator); items.add(0, new ReblogOrReplyLineStatusDisplayItem(s.id, this, action+" "+sep+" "+date, Collections.emptyList(), 0, null, null)); + items.add(1, new DummyStatusDisplayItem(s.id, this)); } return items; } From 2aba90f353fb6a87ae1b57d26420dfa3b5ec0023 Mon Sep 17 00:00:00 2001 From: sk Date: Tue, 5 Sep 2023 00:18:47 +0200 Subject: [PATCH 9/9] add media indicator for spoiler closes sk22#598 --- .../SpoilerStatusDisplayItem.java | 10 +++++- .../ic_fluent_image_multiple_24_regular.xml | 3 ++ .../main/res/layout/display_item_spoiler.xml | 36 +++++++++++-------- mastodon/src/main/res/values/strings_sk.xml | 1 + 4 files changed, 35 insertions(+), 15 deletions(-) create mode 100644 mastodon/src/main/res/drawable/ic_fluent_image_multiple_24_regular.xml diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/SpoilerStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/SpoilerStatusDisplayItem.java index 54b755985..722bd5c49 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/SpoilerStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/SpoilerStatusDisplayItem.java @@ -6,9 +6,9 @@ import android.graphics.drawable.LayerDrawable; import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.TextView; -import org.joinmastodon.android.GlobalUserPreferences; import org.joinmastodon.android.R; import org.joinmastodon.android.fragments.BaseStatusListFragment; import org.joinmastodon.android.model.Status; @@ -29,11 +29,13 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{ private final CharSequence parsedTitle; private final CustomEmojiHelper emojiHelper; private final Type type; + private final int attachmentCount; public SpoilerStatusDisplayItem(String parentID, BaseStatusListFragment parentFragment, String title, Status statusForContent, Type type){ super(parentID, parentFragment); this.status=statusForContent; this.type=type; + this.attachmentCount=statusForContent.mediaAttachments.size(); if(TextUtils.isEmpty(title)){ parsedTitle=HtmlParser.parseCustomEmoji(statusForContent.spoilerText, statusForContent.emojis); emojiHelper=new CustomEmojiHelper(); @@ -62,12 +64,14 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{ public static class Holder extends StatusDisplayItem.Holder implements ImageLoaderViewHolder{ private final TextView title, action; private final View button; + private final ImageView mediaIcon; public Holder(Context context, ViewGroup parent, Type type){ super(context, R.layout.display_item_spoiler, parent); title=findViewById(R.id.spoiler_title); action=findViewById(R.id.spoiler_action); button=findViewById(R.id.spoiler_button); + mediaIcon=findViewById(R.id.media_icon); button.setOutlineProvider(OutlineProviders.roundedRect(8)); button.setClipToOutline(true); @@ -94,6 +98,10 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{ itemView.getPaddingRight(), 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 diff --git a/mastodon/src/main/res/drawable/ic_fluent_image_multiple_24_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_image_multiple_24_regular.xml new file mode 100644 index 000000000..cae62158a --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_image_multiple_24_regular.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/layout/display_item_spoiler.xml b/mastodon/src/main/res/layout/display_item_spoiler.xml index 5e5b0fc32..4171087c9 100644 --- a/mastodon/src/main/res/layout/display_item_spoiler.xml +++ b/mastodon/src/main/res/layout/display_item_spoiler.xml @@ -1,5 +1,5 @@ - - - + + + @@ -32,21 +47,14 @@ android:id="@+id/spoiler_action" android:layout_width="match_parent" android:layout_height="20dp" + android:layout_below="@id/spoiler_title" + android:layout_toStartOf="@id/media_icon" android:textAppearance="@style/m3_label_large" android:singleLine="true" android:gravity="center_vertical" android:textColor="?colorM3Primary" tools:text="Re-hide"/> - + - - - \ No newline at end of file + \ No newline at end of file diff --git a/mastodon/src/main/res/values/strings_sk.xml b/mastodon/src/main/res/values/strings_sk.xml index 970baf128..b4f936577 100644 --- a/mastodon/src/main/res/values/strings_sk.xml +++ b/mastodon/src/main/res/values/strings_sk.xml @@ -384,4 +384,5 @@ post posts + Post contains media \ No newline at end of file