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.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);
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
Reference in New Issue
Block a user