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.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<TimelineDefiniti
private final List<ListTimeline> listTimelines = new ArrayList<>();
private final List<Hashtag> hashtags = new ArrayList<>();
private final List<CustomLocalTimeline> customLocalTimelines = new ArrayList<>();
public EditTimelinesFragment() {
super(10);
ItemTouchHelper.SimpleCallback itemTouchCallback = new ItemTouchHelperCallback() ;
@@ -99,6 +102,11 @@ public class EditTimelinesFragment extends BaseRecyclerFragment<TimelineDefiniti
error.showToast(getContext());
}
}).exec(accountID);
CustomLocalTimeline fosstodon = new CustomLocalTimeline();
fosstodon.domain = "fosstodon.org";
customLocalTimelines.add(fosstodon);
}
@Override
@@ -160,14 +168,18 @@ public class EditTimelinesFragment extends BaseRecyclerFragment<TimelineDefiniti
listsMenu.getItem().setIcon(R.drawable.ic_fluent_people_24_regular);
SubMenu hashtagsMenu = menu.addSubMenu(R.string.sk_hashtag);
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(listsMenu);
makeBackItem(hashtagsMenu);
makeBackItem(customLocalTimelinesMenu);
TimelineDefinition.ALL_TIMELINES.forEach(tl -> 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);

View File

@@ -96,7 +96,7 @@ public class HomeTabFragment extends MastodonToolbarFragment implements Scrollab
private FrameLayout[] tabViews;
private TimelineDefinition[] timelines;
private final Map<Integer, TimelineDefinition> 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;
}

View File

@@ -29,12 +29,5 @@
android:visible="false">
<menu />
</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>
</menu>