From a445baf3f040aadbbe4af79b199e45f9e0e71717 Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Sat, 18 Feb 2023 19:40:49 -0300 Subject: [PATCH] Its half working --- .../fragments/EditTimelinesFragment.java | 12 ++++++ .../android/fragments/HomeTabFragment.java | 41 ++++++++++--------- mastodon/src/main/res/menu/home_overflow.xml | 7 ---- 3 files changed, 33 insertions(+), 27 deletions(-) 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 c947b0fa9..b29f248bc 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/EditTimelinesFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/EditTimelinesFragment.java @@ -30,6 +30,7 @@ import org.joinmastodon.android.GlobalUserPreferences; import org.joinmastodon.android.R; import org.joinmastodon.android.api.requests.lists.GetLists; import org.joinmastodon.android.api.requests.tags.GetFollowedHashtags; +import org.joinmastodon.android.model.CustomLocalTimeline; import org.joinmastodon.android.model.Hashtag; import org.joinmastodon.android.model.HeaderPaginationList; import org.joinmastodon.android.model.ListTimeline; @@ -61,6 +62,8 @@ public class EditTimelinesFragment extends BaseRecyclerFragment listTimelines = new ArrayList<>(); private final List hashtags = new ArrayList<>(); + private final List customLocalTimelines = new ArrayList<>(); + public EditTimelinesFragment() { super(10); ItemTouchHelper.SimpleCallback itemTouchCallback = new ItemTouchHelperCallback() ; @@ -99,6 +102,11 @@ public class EditTimelinesFragment extends BaseRecyclerFragment addTimelineToOptions(tl, timelinesMenu)); listTimelines.stream().map(TimelineDefinition::ofList).forEach(tl -> addTimelineToOptions(tl, listsMenu)); hashtags.stream().map(TimelineDefinition::ofHashtag).forEach(tl -> addTimelineToOptions(tl, hashtagsMenu)); + customLocalTimelines.stream().map(TimelineDefinition::ofCustomLocalTimeline).forEach(tl -> addTimelineToOptions(tl, customLocalTimelinesMenu)); timelinesMenu.getItem().setVisible(timelinesMenu.size() > 0); listsMenu.getItem().setVisible(listsMenu.size() > 0); 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 16259240e..5d33823c1 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTabFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeTabFragment.java @@ -96,7 +96,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab private FrameLayout[] tabViews; private TimelineDefinition[] timelines; private final Map timelinesByMenuItem = new HashMap<>(); - private SubMenu hashtagsMenu, listsMenu, customLocalTimelinesMenu; + private SubMenu hashtagsMenu, listsMenu; private PopupMenu overflowPopup; private View overflowActionView = null; private boolean announcementsBadged, settingsBadged; @@ -311,17 +311,17 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab }); } - private void addCustomLocalTimelinesToOverflowMenu() { - Context ctx = getContext(); - customLocalTimelinesMenu.clear(); - customLocalTimelinesMenu.getItem().setVisible(customLocalTimelineItems.size() > 0); - UiUtils.insetPopupMenuIcon(ctx, UiUtils.makeBackItem(customLocalTimelinesMenu)); - customLocalTimelineItems.forEach((id, customLocalTimeline) -> { - MenuItem item = customLocalTimelinesMenu.add(Menu.NONE, id, Menu.NONE, customLocalTimeline.domain); - item.setIcon(R.drawable.ic_fluent_people_community_24_regular); - UiUtils.insetPopupMenuIcon(ctx, item); - }); - } +// private void addCustomLocalTimelinesToOverflowMenu() { +// Context ctx = getContext(); +// customLocalTimelinesMenu.clear(); +// customLocalTimelinesMenu.getItem().setVisible(customLocalTimelineItems.size() > 0); +// UiUtils.insetPopupMenuIcon(ctx, UiUtils.makeBackItem(customLocalTimelinesMenu)); +// customLocalTimelineItems.forEach((id, customLocalTimeline) -> { +// MenuItem item = customLocalTimelinesMenu.add(Menu.NONE, id, Menu.NONE, customLocalTimeline.domain); +// item.setIcon(R.drawable.ic_fluent_people_community_24_regular); +// UiUtils.insetPopupMenuIcon(ctx, item); +// }); +// } public void updateToolbarLogo(){ Toolbar toolbar = getToolbar(); @@ -366,7 +366,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab settings = m.findItem(R.id.settings); hashtagsMenu = m.findItem(R.id.hashtags).getSubMenu(); listsMenu = m.findItem(R.id.lists).getSubMenu(); - customLocalTimelinesMenu = m.findItem(R.id.custom_local_timelines).getSubMenu(); +// customLocalTimelinesMenu = m.findItem(R.id.custom_local_timelines).getSubMenu(); announcements.setVisible(!announcementsBadged); announcementsAction.setVisible(announcementsBadged); @@ -377,7 +377,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab addListsToOverflowMenu(); addHashtagsToOverflowMenu(); - addCustomLocalTimelinesToOverflowMenu(); +// addCustomLocalTimelinesToOverflowMenu(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { m.setGroupDividerEnabled(true); @@ -413,7 +413,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab item.setIcon(tl.getIcon().iconRes); } - UiUtils.enablePopupMenuIcons(getContext(), switcherPopup); +// UiUtils.enablePopupMenuIcons(getContext(), switcherPopup); } private boolean onSwitcherItemSelected(MenuItem item) { @@ -460,7 +460,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab int id = item.getItemId(); ListTimeline list; Hashtag hashtag; - CustomLocalTimeline customLocalTimeline; +// CustomLocalTimeline customLocalTimeline; if (item.getItemId() == R.id.menu_back) { getToolbar().post(() -> overflowPopup.show()); @@ -480,11 +480,12 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab args.putString("hashtag", hashtag.name); args.putBoolean("following", hashtag.following); Nav.go(getActivity(), HashtagTimelineFragment.class, args); - } else if ((customLocalTimeline = customLocalTimelineItems.get(id)) != null) { - args.putString("domain", customLocalTimeline.domain); -// args.putBoolean("following", hashtag.following); - Nav.go(getActivity(), CustomLocalTimelineFragment.class, args); } +// else if ((customLocalTimeline = customLocalTimelineItems.get(id)) != null) { +// args.putString("domain", customLocalTimeline.domain); +//// args.putBoolean("following", hashtag.following); +// Nav.go(getActivity(), CustomLocalTimelineFragment.class, args); +// } return true; } diff --git a/mastodon/src/main/res/menu/home_overflow.xml b/mastodon/src/main/res/menu/home_overflow.xml index 9a88d51fc..364f13612 100644 --- a/mastodon/src/main/res/menu/home_overflow.xml +++ b/mastodon/src/main/res/menu/home_overflow.xml @@ -29,12 +29,5 @@ android:visible="false"> - - - \ No newline at end of file