Its half working
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user