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 b29f248bc..c947b0fa9 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/EditTimelinesFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/EditTimelinesFragment.java @@ -30,7 +30,6 @@ 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; @@ -62,8 +61,6 @@ 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() ; @@ -102,11 +99,6 @@ 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 5d33823c1..16259240e 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; + private SubMenu hashtagsMenu, listsMenu, customLocalTimelinesMenu; 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,12 +480,11 @@ 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 364f13612..9a88d51fc 100644 --- a/mastodon/src/main/res/menu/home_overflow.xml +++ b/mastodon/src/main/res/menu/home_overflow.xml @@ -29,5 +29,12 @@ android:visible="false"> + + + \ No newline at end of file