From 7020018bb72775d89784f81f04d8d861c9415675 Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Sat, 13 May 2023 21:21:52 -0300 Subject: [PATCH] fix: fixes remote attachments pointing to unexistent file in local server This fixes broken links to file attachments from calckey accounts on mastodon instances --- .../requests/timelines/GetHomeTimeline.java | 25 +++++++++++++++++++ .../displayitems/FileStatusDisplayItem.java | 4 +-- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 mastodon/src/main/java/org/joinmastodon/android/api/misskey/requests/timelines/GetHomeTimeline.java diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/misskey/requests/timelines/GetHomeTimeline.java b/mastodon/src/main/java/org/joinmastodon/android/api/misskey/requests/timelines/GetHomeTimeline.java new file mode 100644 index 000000000..2c0c4763a --- /dev/null +++ b/mastodon/src/main/java/org/joinmastodon/android/api/misskey/requests/timelines/GetHomeTimeline.java @@ -0,0 +1,25 @@ +package org.joinmastodon.android.api.misskey.requests.timelines; + +import com.google.gson.reflect.TypeToken; + +import org.joinmastodon.android.GlobalUserPreferences; +import org.joinmastodon.android.api.MastodonAPIRequest; +import org.joinmastodon.android.model.Status; + +import java.util.List; + +public class GetHomeTimeline extends MastodonAPIRequest>{ + public GetHomeTimeline(String maxID, String minID, int limit, String sinceID){ + super(HttpMethod.GET, "/timelines/home", new TypeToken<>(){}); + if(maxID!=null) + addQueryParameter("max_id", maxID); + if(minID!=null) + addQueryParameter("min_id", minID); + if(sinceID!=null) + addQueryParameter("since_id", sinceID); + if(limit>0) + addQueryParameter("limit", ""+limit); + if(GlobalUserPreferences.replyVisibility != null) + addQueryParameter("reply_visibility", GlobalUserPreferences.replyVisibility); + } +} diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FileStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FileStatusDisplayItem.java index 91aa8fc5c..737d5b082 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FileStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/FileStatusDisplayItem.java @@ -48,12 +48,12 @@ public class FileStatusDisplayItem extends StatusDisplayItem{ @Override public void onBind(FileStatusDisplayItem item){ title.setText(item.attachment.description == null ? title.getContext().getText(R.string.media_no_description) : item.attachment.description); - domain.setText(Uri.parse(item.attachment.url).getHost()); + domain.setText(Uri.parse(item.attachment.remoteUrl == null ? item.attachment.url : item.attachment.remoteUrl).getHost()); } private void onClick(View v){ - UiUtils.openURL(itemView.getContext(), item.parentFragment.getAccountID(), item.attachment.url); + UiUtils.openURL(itemView.getContext(), item.parentFragment.getAccountID(), item.attachment.remoteUrl == null ? item.attachment.url : item.attachment.remoteUrl); } } }