From 76867a971b5ff23e05e823620ce2d3ac5ccaa4f7 Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Fri, 16 Feb 2024 20:21:38 -0300 Subject: [PATCH] chore(merge-upstream): more conflict solving tomfoolery --- .../android/api/requests/lists/GetList.java | 6 +- .../android/api/requests/lists/GetLists.java | 1 - .../events/ListUpdatedCreatedEvent.java | 6 +- .../android/fragments/CreateListFragment.java | 2 +- .../fragments/EditTimelinesFragment.java | 13 ++-- .../android/fragments/HomeTabFragment.java | 12 ++-- .../fragments/ListMembersFragment.java | 24 +++++++- .../fragments/ListTimelineFragment.java | 16 ++--- .../android/fragments/ListsFragment.java | 24 ++++---- .../ManageFollowedHashtagsFragment.java | 2 +- .../fragments/NotificationsListFragment.java | 28 ++------- .../android/fragments/ProfileFragment.java | 1 + .../PaginatedAccountListFragment.java | 3 +- .../android/model/FollowList.java | 61 +++++++++---------- .../android/model/ListTimeline.java | 38 ------------ .../android/model/TimelineDefinition.java | 3 +- .../android/ui/OldPostPreReplySheet.java | 2 +- .../android/ui/utils/UiUtils.java | 3 +- .../android/ui/views/ListEditor.java | 18 +++--- 19 files changed, 110 insertions(+), 153 deletions(-) delete mode 100644 mastodon/src/main/java/org/joinmastodon/android/model/ListTimeline.java diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/requests/lists/GetList.java b/mastodon/src/main/java/org/joinmastodon/android/api/requests/lists/GetList.java index 19bda79ca..340af5523 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/api/requests/lists/GetList.java +++ b/mastodon/src/main/java/org/joinmastodon/android/api/requests/lists/GetList.java @@ -1,10 +1,10 @@ package org.joinmastodon.android.api.requests.lists; import org.joinmastodon.android.api.MastodonAPIRequest; -import org.joinmastodon.android.model.ListTimeline; +import org.joinmastodon.android.model.FollowList; -public class GetList extends MastodonAPIRequest { +public class GetList extends MastodonAPIRequest { public GetList(String id) { - super(HttpMethod.GET, "/lists/" + id, ListTimeline.class); + super(HttpMethod.GET, "/lists/" + id, FollowList.class); } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/api/requests/lists/GetLists.java b/mastodon/src/main/java/org/joinmastodon/android/api/requests/lists/GetLists.java index 1a276eed5..ab1cdad48 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/api/requests/lists/GetLists.java +++ b/mastodon/src/main/java/org/joinmastodon/android/api/requests/lists/GetLists.java @@ -4,7 +4,6 @@ import com.google.gson.reflect.TypeToken; import org.joinmastodon.android.api.MastodonAPIRequest; import org.joinmastodon.android.model.FollowList; -import org.joinmastodon.android.model.ListTimeline; import java.util.List; diff --git a/mastodon/src/main/java/org/joinmastodon/android/events/ListUpdatedCreatedEvent.java b/mastodon/src/main/java/org/joinmastodon/android/events/ListUpdatedCreatedEvent.java index 26e0081e6..919a2950a 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/events/ListUpdatedCreatedEvent.java +++ b/mastodon/src/main/java/org/joinmastodon/android/events/ListUpdatedCreatedEvent.java @@ -1,14 +1,14 @@ package org.joinmastodon.android.events; -import org.joinmastodon.android.model.ListTimeline; +import org.joinmastodon.android.model.FollowList; public class ListUpdatedCreatedEvent { public final String id; public final String title; - public final ListTimeline.RepliesPolicy repliesPolicy; + public final FollowList.RepliesPolicy repliesPolicy; public final boolean exclusive; - public ListUpdatedCreatedEvent(String id, String title, boolean exclusive, ListTimeline.RepliesPolicy repliesPolicy) { + public ListUpdatedCreatedEvent(String id, String title, boolean exclusive, FollowList.RepliesPolicy repliesPolicy) { this.id = id; this.title = title; this.exclusive = exclusive; diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/CreateListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/CreateListFragment.java index 41be943e2..9ae409045 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/CreateListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/CreateListFragment.java @@ -51,7 +51,7 @@ public class CreateListFragment extends BaseEditListFragment{ @Override protected int getNavigationIconDrawableResource(){ - return R.drawable.ic_baseline_close_24; + return R.drawable.ic_baseline_arrow_drop_down_18; } @Override diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/EditTimelinesFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/EditTimelinesFragment.java index 9d03a10df..195de9796 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/EditTimelinesFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/EditTimelinesFragment.java @@ -41,17 +41,14 @@ import org.joinmastodon.android.api.requests.lists.GetLists; import org.joinmastodon.android.api.requests.tags.GetFollowedHashtags; import org.joinmastodon.android.api.session.AccountLocalPreferences; import org.joinmastodon.android.api.session.AccountSessionManager; -import org.joinmastodon.android.api.session.AccountSession; -import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.model.CustomLocalTimeline; +import org.joinmastodon.android.model.FollowList; import org.joinmastodon.android.model.Hashtag; import org.joinmastodon.android.model.HeaderPaginationList; -import org.joinmastodon.android.model.ListTimeline; import org.joinmastodon.android.model.TimelineDefinition; import org.joinmastodon.android.ui.DividerItemDecoration; import org.joinmastodon.android.ui.M3AlertDialogBuilder; import org.joinmastodon.android.ui.utils.UiUtils; -import org.joinmastodon.android.ui.views.TextInputFrameLayout; import java.util.ArrayList; import java.util.Collections; @@ -74,7 +71,7 @@ public class EditTimelinesFragment extends MastodonRecyclerFragment timelineByMenuItem=new HashMap<>(); - private final List listTimelines=new ArrayList<>(); + private final List followLists =new ArrayList<>(); private final List hashtags=new ArrayList<>(); private MenuItem addHashtagItem; private final List localTimelines = new ArrayList<>(); @@ -94,8 +91,8 @@ public class EditTimelinesFragment extends MastodonRecyclerFragment(){ @Override - public void onSuccess(List result){ - listTimelines.addAll(result); + public void onSuccess(List result){ + followLists.addAll(result); updateOptionsMenu(); } @@ -224,7 +221,7 @@ public class EditTimelinesFragment extends MastodonRecyclerFragmentaddTimelineToOptions(tl, timelinesMenu)); - listTimelines.stream().map(TimelineDefinition::ofList).forEach(tl->addTimelineToOptions(tl, listsMenu)); + followLists.stream().map(TimelineDefinition::ofList).forEach(tl->addTimelineToOptions(tl, listsMenu)); addHashtagItem=addOptionsItem(hashtagsMenu, getContext().getString(R.string.sk_timelines_add), R.drawable.ic_fluent_add_24_regular); hashtags.stream().map(TimelineDefinition::ofHashtag).forEach(tl->addTimelineToOptions(tl, hashtagsMenu)); diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTabFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTabFragment.java index 42aacbd6b..802aae4bc 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTabFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTabFragment.java @@ -53,7 +53,7 @@ import org.joinmastodon.android.fragments.settings.SettingsMainFragment; import org.joinmastodon.android.model.Announcement; import org.joinmastodon.android.model.Hashtag; import org.joinmastodon.android.model.HeaderPaginationList; -import org.joinmastodon.android.model.ListTimeline; +import org.joinmastodon.android.model.FollowList; import org.joinmastodon.android.model.TimelineDefinition; import org.joinmastodon.android.ui.SimpleViewHolder; import org.joinmastodon.android.ui.utils.UiUtils; @@ -95,7 +95,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab private ImageView collapsedChevron; private TextView timelineTitle; private PopupMenu switcherPopup; - private final Map listItems = new HashMap<>(); + private final Map listItems = new HashMap<>(); private final Map hashtagsItems = new HashMap<>(); private List timelinesList; private int count; @@ -270,7 +270,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab new GetLists().setCallback(new Callback<>() { @Override - public void onSuccess(List lists) { + public void onSuccess(List lists) { updateList(lists, listItems); } @@ -512,7 +512,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab Bundle args=new Bundle(); args.putString("account", accountID); int id = item.getItemId(); - ListTimeline list; + FollowList list; Hashtag hashtag; if (item.getItemId() == R.id.menu_back) { @@ -701,13 +701,13 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab @Subscribe public void onListDeletedEvent(ListDeletedEvent event) { - handleListEvent(listItems, l -> l.id.equals(event.id), false, null); + handleListEvent(listItems, l -> l.id.equals(event.listID), false, null); } @Subscribe public void onListUpdatedCreatedEvent(ListUpdatedCreatedEvent event) { handleListEvent(listItems, l -> l.id.equals(event.id), true, () -> { - ListTimeline list = new ListTimeline(); + FollowList list = new FollowList(); list.id = event.id; list.title = event.title; list.repliesPolicy = event.repliesPolicy; diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListMembersFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListMembersFragment.java index e82eb5f64..7f1bbcb9a 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListMembersFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListMembersFragment.java @@ -1,5 +1,6 @@ package org.joinmastodon.android.fragments; +import android.net.Uri; import android.os.Bundle; import android.view.ActionMode; import android.view.Menu; @@ -13,6 +14,7 @@ import com.squareup.otto.Subscribe; import org.joinmastodon.android.E; import org.joinmastodon.android.R; +import org.joinmastodon.android.api.MastodonAPIRequest; import org.joinmastodon.android.api.requests.HeaderPaginationRequest; import org.joinmastodon.android.api.requests.lists.AddAccountsToList; import org.joinmastodon.android.api.requests.lists.GetListAccounts; @@ -76,6 +78,21 @@ public class ListMembersFragment extends PaginatedAccountListFragment{ return new GetListAccounts(followList.id, maxID, count); } + @Override + protected MastodonAPIRequest loadRemoteInfo(){ + return null; + } + + @Override + public Object getCurrentInfo(){ + return null; + } + + @Override + public String getRemoteDomain(){ + return null; + } + @Override protected void onConfigureViewHolder(AccountViewHolder holder){ super.onConfigureViewHolder(holder); @@ -125,7 +142,7 @@ public class ListMembersFragment extends PaginatedAccountListFragment{ public void onViewCreated(View view, Bundle savedInstanceState){ super.onViewCreated(view, savedInstanceState); fab=view.findViewById(R.id.fab); - fab.setImageResource(R.drawable.ic_add_24px); + fab.setImageResource(R.drawable.ic_fluent_add_24_regular); fab.setContentDescription(getString(R.string.add_list_member)); fab.setOnClickListener(v->onFabClick()); } @@ -298,4 +315,9 @@ public class ListMembersFragment extends PaginatedAccountListFragment{ } } } + + @Override + public Uri getWebUri(Uri.Builder base){ + return null; + } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java index fb357d991..b8ec041d3 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListTimelineFragment.java @@ -20,7 +20,7 @@ import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.events.ListDeletedEvent; import org.joinmastodon.android.events.ListUpdatedCreatedEvent; import org.joinmastodon.android.model.FilterContext; -import org.joinmastodon.android.model.ListTimeline; +import org.joinmastodon.android.model.FollowList; import org.joinmastodon.android.model.Status; import org.joinmastodon.android.model.TimelineDefinition; import org.joinmastodon.android.ui.M3AlertDialogBuilder; @@ -39,7 +39,7 @@ public class ListTimelineFragment extends PinnableStatusListFragment { private String listID; private String listTitle; @Nullable - private ListTimeline.RepliesPolicy repliesPolicy; + private FollowList.RepliesPolicy repliesPolicy; private boolean exclusive; @Override @@ -54,19 +54,19 @@ public class ListTimelineFragment extends PinnableStatusListFragment { listID = args.getString("listID"); listTitle = args.getString("listTitle"); exclusive = args.getBoolean("listIsExclusive"); - repliesPolicy = ListTimeline.RepliesPolicy.values()[args.getInt("repliesPolicy", 0)]; + repliesPolicy = FollowList.RepliesPolicy.values()[args.getInt("repliesPolicy", 0)]; setTitle(listTitle); setHasOptionsMenu(true); new GetList(listID).setCallback(new Callback<>() { @Override - public void onSuccess(ListTimeline listTimeline) { + public void onSuccess(FollowList followList) { if(getActivity()==null) return; // TODO: save updated info - if (!listTimeline.title.equals(listTitle)) setTitle(listTimeline.title); - if (listTimeline.repliesPolicy != null && !listTimeline.repliesPolicy.equals(repliesPolicy)) { - repliesPolicy = listTimeline.repliesPolicy; + if (!followList.title.equals(listTitle)) setTitle(followList.title); + if (followList.repliesPolicy != null && !followList.repliesPolicy.equals(repliesPolicy)) { + repliesPolicy = followList.repliesPolicy; } } @@ -99,7 +99,7 @@ public class ListTimelineFragment extends PinnableStatusListFragment { setTitle(newTitle); new UpdateList(listID, newTitle, editor.isExclusive(), editor.getRepliesPolicy()).setCallback(new Callback<>() { @Override - public void onSuccess(ListTimeline list) { + public void onSuccess(FollowList list) { if(getActivity()==null) return; setTitle(list.title); listTitle = list.title; diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListsFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListsFragment.java index 8e92bb5ea..df33ffc34 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ListsFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ListsFragment.java @@ -24,7 +24,7 @@ import org.joinmastodon.android.api.requests.lists.GetLists; import org.joinmastodon.android.api.requests.lists.RemoveAccountsFromList; import org.joinmastodon.android.events.ListDeletedEvent; import org.joinmastodon.android.events.ListUpdatedCreatedEvent; -import org.joinmastodon.android.model.ListTimeline; +import org.joinmastodon.android.model.FollowList; import org.joinmastodon.android.ui.DividerItemDecoration; import org.joinmastodon.android.ui.M3AlertDialogBuilder; import org.joinmastodon.android.ui.views.ListEditor; @@ -42,7 +42,7 @@ import me.grishka.appkit.api.SimpleCallback; import me.grishka.appkit.utils.BindableViewHolder; import me.grishka.appkit.views.UsableRecyclerView; -public class ListsFragment extends MastodonRecyclerFragment implements ScrollableToTop, ProvidesAssistContent.ProvidesWebUri { +public class ListsFragment extends MastodonRecyclerFragment implements ScrollableToTop, ProvidesAssistContent.ProvidesWebUri { private String accountID; private String profileAccountId; private final HashMap userInListBefore = new HashMap<>(); @@ -99,7 +99,7 @@ public class ListsFragment extends MastodonRecyclerFragment implem .setPositiveButton(R.string.sk_create, (d, which) -> new CreateList(editor.getTitle(), editor.isExclusive(), editor.getRepliesPolicy()).setCallback(new Callback<>() { @Override - public void onSuccess(ListTimeline list) { + public void onSuccess(FollowList list) { data.add(0, list); adapter.notifyItemRangeInserted(0, 1); E.post(new ListUpdatedCreatedEvent(list.id, list.title, list.exclusive, list.repliesPolicy)); @@ -139,19 +139,19 @@ public class ListsFragment extends MastodonRecyclerFragment implem currentRequest=(profileAccountId != null ? new GetLists(profileAccountId) : new GetLists()) .setCallback(new SimpleCallback<>(this) { @Override - public void onSuccess(List lists) { + public void onSuccess(List lists) { if(getActivity()==null) return; - for (ListTimeline l : lists) userInListBefore.put(l.id, true); + for (FollowList l : lists) userInListBefore.put(l.id, true); userInList.putAll(userInListBefore); if (profileAccountId == null || !lists.isEmpty()) onDataLoaded(lists, false); if (profileAccountId == null) return; currentRequest=new GetLists().setCallback(new SimpleCallback<>(ListsFragment.this) { @Override - public void onSuccess(List allLists) { + public void onSuccess(List allLists) { if(getActivity()==null) return; - List newLists = new ArrayList<>(); - for (ListTimeline l : allLists) { + List newLists = new ArrayList<>(); + for (FollowList l : allLists) { if (lists.stream().noneMatch(e -> e.id.equals(l.id))) newLists.add(l); if (!userInListBefore.containsKey(l.id)) { userInListBefore.put(l.id, false); @@ -169,7 +169,7 @@ public class ListsFragment extends MastodonRecyclerFragment implem @Subscribe public void onListDeletedEvent(ListDeletedEvent event) { for (int i = 0; i < data.size(); i++) { - ListTimeline item = data.get(i); + FollowList item = data.get(i); if (item.id.equals(event.id)) { data.remove(i); adapter.notifyItemRemoved(i); @@ -181,7 +181,7 @@ public class ListsFragment extends MastodonRecyclerFragment implem @Subscribe public void onListUpdatedCreatedEvent(ListUpdatedCreatedEvent event) { for (int i = 0; i < data.size(); i++) { - ListTimeline item = data.get(i); + FollowList item = data.get(i); if (item.id.equals(event.id)) { item.title = event.title; item.repliesPolicy = event.repliesPolicy; @@ -230,7 +230,7 @@ public class ListsFragment extends MastodonRecyclerFragment implem } } - private class ListViewHolder extends BindableViewHolder implements UsableRecyclerView.Clickable{ + private class ListViewHolder extends BindableViewHolder implements UsableRecyclerView.Clickable{ private final TextView title; private final CheckBox listToggle; @@ -241,7 +241,7 @@ public class ListsFragment extends MastodonRecyclerFragment implem } @Override - public void onBind(ListTimeline item) { + public void onBind(FollowList item) { title.setText(item.title); title.setCompoundDrawablesRelativeWithIntrinsicBounds(itemView.getContext().getDrawable( item.exclusive ? R.drawable.ic_fluent_rss_24_regular : R.drawable.ic_fluent_people_24_regular diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ManageFollowedHashtagsFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ManageFollowedHashtagsFragment.java index f812b1ecd..e83aa5c5b 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ManageFollowedHashtagsFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ManageFollowedHashtagsFragment.java @@ -46,7 +46,7 @@ public class ManageFollowedHashtagsFragment extends BaseSettingsFragment{ int posts=t.getWeekPosts(); return new ListItemWithOptionsMenu<>(t.name, getResources().getQuantityString(R.plurals.x_posts_recently, posts, posts), ManageFollowedHashtagsFragment.this, - R.drawable.ic_tag_24px, ManageFollowedHashtagsFragment.this::onItemClick, t, false); + R.drawable.ic_fluent_tag_24_regular, ManageFollowedHashtagsFragment.this::onItemClick, t, false); }).collect(Collectors.toList()), maxID!=null); } }) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java index 00f50e51d..6c8b9f791 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java @@ -57,6 +57,8 @@ public class NotificationsListFragment extends BaseStatusListFragment0 ? maxID : null, count, onlyMentions, onlyPosts, refreshing && !reloadingFromCache, new SimpleCallback<>(this){ + .getNotifications(offset>0 ? maxID : null, count, onlyMentions, false, refreshing && !reloadingFromCache, new SimpleCallback<>(this){ @Override public void onSuccess(PaginatedResponse> result){ if(getActivity()==null) @@ -367,28 +369,6 @@ public class NotificationsListFragment extends BaseStatusListFragment{ nf.unreadMarker=nf.realUnreadMarker=m; nf.updateMarkAllReadButton(); 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 01da12239..63fcdeea1 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java @@ -54,6 +54,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.TextView; +import android.widget.Toast; import android.widget.Toolbar; import androidx.annotation.NonNull; diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/PaginatedAccountListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/PaginatedAccountListFragment.java index 6f293b821..bd98dbf69 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/PaginatedAccountListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/account_list/PaginatedAccountListFragment.java @@ -45,7 +45,8 @@ public abstract class PaginatedAccountListFragment extends BaseAccountListFra } remoteDisabled = !GlobalUserPreferences.allowRemoteLoading - || getSession().domain.equals(getRemoteDomain()); + || getSession().domain.equals(getRemoteDomain()) + || remoteInfoRequest == null; if (!remoteDisabled) { remoteInfoRequest = loadRemoteInfo().setCallback(new Callback<>() { @Override diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/FollowList.java b/mastodon/src/main/java/org/joinmastodon/android/model/FollowList.java index 82b5aa135..cb6b03c31 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/FollowList.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/FollowList.java @@ -1,43 +1,38 @@ package org.joinmastodon.android.model; +import androidx.annotation.NonNull; + import com.google.gson.annotations.SerializedName; -import org.joinmastodon.android.api.AllFieldsAreRequired; -import org.joinmastodon.android.api.ObjectValidationException; +import org.joinmastodon.android.api.RequiredField; import org.parceler.Parcel; -// Called like this to avoid conflict with java.util.List -@AllFieldsAreRequired @Parcel -public class FollowList extends BaseModel{ - public String id; - public String title; - public RepliesPolicy repliesPolicy=RepliesPolicy.LIST; - public boolean exclusive; +public class FollowList extends BaseModel { + @RequiredField + public String id; + @RequiredField + public String title; + public RepliesPolicy repliesPolicy; + public boolean exclusive; - @Override - public String toString(){ - return "FollowList{"+ - "id='"+id+'\''+ - ", title='"+title+'\''+ - ", repliesPolicy="+repliesPolicy+ - ", exclusive="+exclusive+ - '}'; - } + @NonNull + @Override + public String toString() { + return "List{" + + "id='" + id + '\'' + + ", title='" + title + '\'' + + ", repliesPolicy=" + repliesPolicy + + ", exclusive=" + exclusive + + '}'; + } - @Override - public void postprocess() throws ObjectValidationException{ - if(repliesPolicy==null) - repliesPolicy=RepliesPolicy.LIST; - super.postprocess(); - } - - public enum RepliesPolicy{ - @SerializedName("followed") - FOLLOWED, - @SerializedName("list") - LIST, - @SerializedName("none") - NONE - } + public enum RepliesPolicy{ + @SerializedName("followed") + FOLLOWED, + @SerializedName("list") + LIST, + @SerializedName("none") + NONE + } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/ListTimeline.java b/mastodon/src/main/java/org/joinmastodon/android/model/ListTimeline.java deleted file mode 100644 index 4bd06e935..000000000 --- a/mastodon/src/main/java/org/joinmastodon/android/model/ListTimeline.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.joinmastodon.android.model; - -import androidx.annotation.NonNull; - -import com.google.gson.annotations.SerializedName; - -import org.joinmastodon.android.api.RequiredField; -import org.parceler.Parcel; - -@Parcel -public class ListTimeline extends BaseModel { - @RequiredField - public String id; - @RequiredField - public String title; - public RepliesPolicy repliesPolicy; - public boolean exclusive; - - @NonNull - @Override - public String toString() { - return "List{" + - "id='" + id + '\'' + - ", title='" + title + '\'' + - ", repliesPolicy=" + repliesPolicy + - ", exclusive=" + exclusive + - '}'; - } - - public enum RepliesPolicy{ - @SerializedName("followed") - FOLLOWED, - @SerializedName("list") - LIST, - @SerializedName("none") - NONE - } -} diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/TimelineDefinition.java b/mastodon/src/main/java/org/joinmastodon/android/model/TimelineDefinition.java index ec21ded0b..789c1c5c9 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/TimelineDefinition.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/TimelineDefinition.java @@ -9,7 +9,6 @@ import androidx.annotation.DrawableRes; import androidx.annotation.Nullable; import androidx.annotation.StringRes; -import org.joinmastodon.android.BuildConfig; import org.joinmastodon.android.R; import org.joinmastodon.android.fragments.CustomLocalTimelineFragment; import org.joinmastodon.android.api.session.AccountSession; @@ -53,7 +52,7 @@ public class TimelineDefinition { return def; } - public static TimelineDefinition ofList(ListTimeline list) { + public static TimelineDefinition ofList(FollowList list) { return ofList(list.id, list.title, list.exclusive); } diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/OldPostPreReplySheet.java b/mastodon/src/main/java/org/joinmastodon/android/ui/OldPostPreReplySheet.java index 8e402950a..6897859cc 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/OldPostPreReplySheet.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/OldPostPreReplySheet.java @@ -18,6 +18,6 @@ public class OldPostPreReplySheet extends PreReplySheet{ String monthsStr=months>24 ? context.getString(R.string.more_than_two_years) : context.getResources().getQuantityString(R.plurals.x_months, months, months); title.setText(context.getString(R.string.old_post_sheet_title, monthsStr)); text.setText(R.string.old_post_sheet_text); - icon.setImageResource(R.drawable.ic_history_24px); + icon.setImageResource(R.drawable.ic_fluent_clock_24_regular); } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java b/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java index 94a7abe3e..12d2b501c 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/utils/UiUtils.java @@ -780,8 +780,9 @@ public class UiUtils { activity.getString(R.string.delete), R.drawable.ic_fluent_delete_28_regular, () -> new DeleteList(listID).setCallback(new Callback<>() { + @Override - public void onSuccess(Object o) { + public void onSuccess(Void result){ callback.run(); } diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/views/ListEditor.java b/mastodon/src/main/java/org/joinmastodon/android/ui/views/ListEditor.java index 1ebe466d2..de4454c36 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/views/ListEditor.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/views/ListEditor.java @@ -15,10 +15,10 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.joinmastodon.android.R; -import org.joinmastodon.android.model.ListTimeline; +import org.joinmastodon.android.model.FollowList; public class ListEditor extends LinearLayout { - private ListTimeline.RepliesPolicy policy = null; + private FollowList.RepliesPolicy policy = null; private final TextInputFrameLayout input; private final Button button; private final Switch exclusiveSwitch; @@ -42,10 +42,10 @@ public class ListEditor extends LinearLayout { findViewById(R.id.exclusive) .setOnClickListener(v -> exclusiveSwitch.setChecked(!exclusiveSwitch.isChecked())); - setRepliesPolicy(ListTimeline.RepliesPolicy.LIST); + setRepliesPolicy(FollowList.RepliesPolicy.LIST); } - public void applyList(String title, boolean exclusive, @Nullable ListTimeline.RepliesPolicy policy) { + public void applyList(String title, boolean exclusive, @Nullable FollowList.RepliesPolicy policy) { input.getEditText().setText(title); exclusiveSwitch.setChecked(exclusive); if (policy != null) setRepliesPolicy(policy); @@ -55,7 +55,7 @@ public class ListEditor extends LinearLayout { return input.getEditText().getText().toString(); } - public ListTimeline.RepliesPolicy getRepliesPolicy() { + public FollowList.RepliesPolicy getRepliesPolicy() { return policy; } @@ -63,7 +63,7 @@ public class ListEditor extends LinearLayout { return exclusiveSwitch.isChecked(); } - public void setRepliesPolicy(@NonNull ListTimeline.RepliesPolicy policy) { + public void setRepliesPolicy(@NonNull FollowList.RepliesPolicy policy) { this.policy = policy; switch (policy) { case FOLLOWED -> button.setText(R.string.sk_list_replies_policy_followed); @@ -74,11 +74,11 @@ public class ListEditor extends LinearLayout { private boolean onMenuItemClick(MenuItem i) { if (i.getItemId() == R.id.reply_policy_none) { - setRepliesPolicy(ListTimeline.RepliesPolicy.NONE); + setRepliesPolicy(FollowList.RepliesPolicy.NONE); } else if (i.getItemId() == R.id.reply_policy_followed) { - setRepliesPolicy(ListTimeline.RepliesPolicy.FOLLOWED); + setRepliesPolicy(FollowList.RepliesPolicy.FOLLOWED); } else if (i.getItemId() == R.id.reply_policy_list) { - setRepliesPolicy(ListTimeline.RepliesPolicy.LIST); + setRepliesPolicy(FollowList.RepliesPolicy.LIST); } return true; }