Its half working

This commit is contained in:
LucasGGamerM
2023-02-18 19:40:49 -03:00
parent 08a3ec99ce
commit a445baf3f0
3 changed files with 33 additions and 27 deletions

View File

@@ -30,6 +30,7 @@ import org.joinmastodon.android.GlobalUserPreferences;
import org.joinmastodon.android.R; import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.lists.GetLists; import org.joinmastodon.android.api.requests.lists.GetLists;
import org.joinmastodon.android.api.requests.tags.GetFollowedHashtags; 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.Hashtag;
import org.joinmastodon.android.model.HeaderPaginationList; import org.joinmastodon.android.model.HeaderPaginationList;
import org.joinmastodon.android.model.ListTimeline; import org.joinmastodon.android.model.ListTimeline;
@@ -61,6 +62,8 @@ public class EditTimelinesFragment extends BaseRecyclerFragment<TimelineDefiniti
private final List<ListTimeline> listTimelines = new ArrayList<>(); private final List<ListTimeline> listTimelines = new ArrayList<>();
private final List<Hashtag> hashtags = new ArrayList<>(); private final List<Hashtag> hashtags = new ArrayList<>();
private final List<CustomLocalTimeline> customLocalTimelines = new ArrayList<>();
public EditTimelinesFragment() { public EditTimelinesFragment() {
super(10); super(10);
ItemTouchHelper.SimpleCallback itemTouchCallback = new ItemTouchHelperCallback() ; ItemTouchHelper.SimpleCallback itemTouchCallback = new ItemTouchHelperCallback() ;
@@ -99,6 +102,11 @@ public class EditTimelinesFragment extends BaseRecyclerFragment<TimelineDefiniti
error.showToast(getContext()); error.showToast(getContext());
} }
}).exec(accountID); }).exec(accountID);
CustomLocalTimeline fosstodon = new CustomLocalTimeline();
fosstodon.domain = "fosstodon.org";
customLocalTimelines.add(fosstodon);
} }
@Override @Override
@@ -160,14 +168,18 @@ public class EditTimelinesFragment extends BaseRecyclerFragment<TimelineDefiniti
listsMenu.getItem().setIcon(R.drawable.ic_fluent_people_24_regular); listsMenu.getItem().setIcon(R.drawable.ic_fluent_people_24_regular);
SubMenu hashtagsMenu = menu.addSubMenu(R.string.sk_hashtag); SubMenu hashtagsMenu = menu.addSubMenu(R.string.sk_hashtag);
hashtagsMenu.getItem().setIcon(R.drawable.ic_fluent_number_symbol_24_regular); hashtagsMenu.getItem().setIcon(R.drawable.ic_fluent_number_symbol_24_regular);
SubMenu customLocalTimelinesMenu = menu.addSubMenu(R.string.local_timeline);
hashtagsMenu.getItem().setIcon(R.drawable.ic_fluent_people_community_24_regular);
makeBackItem(timelinesMenu); makeBackItem(timelinesMenu);
makeBackItem(listsMenu); makeBackItem(listsMenu);
makeBackItem(hashtagsMenu); makeBackItem(hashtagsMenu);
makeBackItem(customLocalTimelinesMenu);
TimelineDefinition.ALL_TIMELINES.forEach(tl -> addTimelineToOptions(tl, timelinesMenu)); TimelineDefinition.ALL_TIMELINES.forEach(tl -> addTimelineToOptions(tl, timelinesMenu));
listTimelines.stream().map(TimelineDefinition::ofList).forEach(tl -> addTimelineToOptions(tl, listsMenu)); listTimelines.stream().map(TimelineDefinition::ofList).forEach(tl -> addTimelineToOptions(tl, listsMenu));
hashtags.stream().map(TimelineDefinition::ofHashtag).forEach(tl -> addTimelineToOptions(tl, hashtagsMenu)); 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); timelinesMenu.getItem().setVisible(timelinesMenu.size() > 0);
listsMenu.getItem().setVisible(listsMenu.size() > 0); listsMenu.getItem().setVisible(listsMenu.size() > 0);

View File

@@ -96,7 +96,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab
private FrameLayout[] tabViews; private FrameLayout[] tabViews;
private TimelineDefinition[] timelines; private TimelineDefinition[] timelines;
private final Map<Integer, TimelineDefinition> timelinesByMenuItem = new HashMap<>(); private final Map<Integer, TimelineDefinition> timelinesByMenuItem = new HashMap<>();
private SubMenu hashtagsMenu, listsMenu, customLocalTimelinesMenu; private SubMenu hashtagsMenu, listsMenu;
private PopupMenu overflowPopup; private PopupMenu overflowPopup;
private View overflowActionView = null; private View overflowActionView = null;
private boolean announcementsBadged, settingsBadged; private boolean announcementsBadged, settingsBadged;
@@ -311,17 +311,17 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab
}); });
} }
private void addCustomLocalTimelinesToOverflowMenu() { // private void addCustomLocalTimelinesToOverflowMenu() {
Context ctx = getContext(); // Context ctx = getContext();
customLocalTimelinesMenu.clear(); // customLocalTimelinesMenu.clear();
customLocalTimelinesMenu.getItem().setVisible(customLocalTimelineItems.size() > 0); // customLocalTimelinesMenu.getItem().setVisible(customLocalTimelineItems.size() > 0);
UiUtils.insetPopupMenuIcon(ctx, UiUtils.makeBackItem(customLocalTimelinesMenu)); // UiUtils.insetPopupMenuIcon(ctx, UiUtils.makeBackItem(customLocalTimelinesMenu));
customLocalTimelineItems.forEach((id, customLocalTimeline) -> { // customLocalTimelineItems.forEach((id, customLocalTimeline) -> {
MenuItem item = customLocalTimelinesMenu.add(Menu.NONE, id, Menu.NONE, customLocalTimeline.domain); // MenuItem item = customLocalTimelinesMenu.add(Menu.NONE, id, Menu.NONE, customLocalTimeline.domain);
item.setIcon(R.drawable.ic_fluent_people_community_24_regular); // item.setIcon(R.drawable.ic_fluent_people_community_24_regular);
UiUtils.insetPopupMenuIcon(ctx, item); // UiUtils.insetPopupMenuIcon(ctx, item);
}); // });
} // }
public void updateToolbarLogo(){ public void updateToolbarLogo(){
Toolbar toolbar = getToolbar(); Toolbar toolbar = getToolbar();
@@ -366,7 +366,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab
settings = m.findItem(R.id.settings); settings = m.findItem(R.id.settings);
hashtagsMenu = m.findItem(R.id.hashtags).getSubMenu(); hashtagsMenu = m.findItem(R.id.hashtags).getSubMenu();
listsMenu = m.findItem(R.id.lists).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); announcements.setVisible(!announcementsBadged);
announcementsAction.setVisible(announcementsBadged); announcementsAction.setVisible(announcementsBadged);
@@ -377,7 +377,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab
addListsToOverflowMenu(); addListsToOverflowMenu();
addHashtagsToOverflowMenu(); addHashtagsToOverflowMenu();
addCustomLocalTimelinesToOverflowMenu(); // addCustomLocalTimelinesToOverflowMenu();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
m.setGroupDividerEnabled(true); m.setGroupDividerEnabled(true);
@@ -413,7 +413,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab
item.setIcon(tl.getIcon().iconRes); item.setIcon(tl.getIcon().iconRes);
} }
UiUtils.enablePopupMenuIcons(getContext(), switcherPopup); // UiUtils.enablePopupMenuIcons(getContext(), switcherPopup);
} }
private boolean onSwitcherItemSelected(MenuItem item) { private boolean onSwitcherItemSelected(MenuItem item) {
@@ -460,7 +460,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab
int id = item.getItemId(); int id = item.getItemId();
ListTimeline list; ListTimeline list;
Hashtag hashtag; Hashtag hashtag;
CustomLocalTimeline customLocalTimeline; // CustomLocalTimeline customLocalTimeline;
if (item.getItemId() == R.id.menu_back) { if (item.getItemId() == R.id.menu_back) {
getToolbar().post(() -> overflowPopup.show()); getToolbar().post(() -> overflowPopup.show());
@@ -480,11 +480,12 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab
args.putString("hashtag", hashtag.name); args.putString("hashtag", hashtag.name);
args.putBoolean("following", hashtag.following); args.putBoolean("following", hashtag.following);
Nav.go(getActivity(), HashtagTimelineFragment.class, args); 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; return true;
} }

View File

@@ -29,12 +29,5 @@
android:visible="false"> android:visible="false">
<menu /> <menu />
</item> </item>
<item
android:id="@+id/custom_local_timelines"
android:icon="@drawable/ic_fluent_people_community_24_filled"
android:title="@string/sk_hashtags_you_follow"
android:visible="false">
<menu />
</item>
</group> </group>
</menu> </menu>