feat: add pin button to custom local timelines
This is now a thing due to the new instance about fragment, where you can see a server's local timeline from there, and from there you should be able to pin it. This commit addresses that
This commit is contained in:
@@ -2,21 +2,30 @@ package org.joinmastodon.android.fragments;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuInflater;
|
||||||
|
|
||||||
import org.joinmastodon.android.DomainManager;
|
import org.joinmastodon.android.DomainManager;
|
||||||
import org.joinmastodon.android.MainActivity;
|
import org.joinmastodon.android.MainActivity;
|
||||||
|
import org.joinmastodon.android.R;
|
||||||
|
import org.joinmastodon.android.api.requests.tags.GetHashtag;
|
||||||
import org.joinmastodon.android.api.requests.timelines.GetPublicTimeline;
|
import org.joinmastodon.android.api.requests.timelines.GetPublicTimeline;
|
||||||
import org.joinmastodon.android.model.Filter;
|
import org.joinmastodon.android.model.Filter;
|
||||||
|
import org.joinmastodon.android.model.Hashtag;
|
||||||
import org.joinmastodon.android.model.Status;
|
import org.joinmastodon.android.model.Status;
|
||||||
|
import org.joinmastodon.android.model.TimelineDefinition;
|
||||||
|
import org.joinmastodon.android.ui.utils.UiUtils;
|
||||||
import org.joinmastodon.android.utils.ProvidesAssistContent;
|
import org.joinmastodon.android.utils.ProvidesAssistContent;
|
||||||
import org.joinmastodon.android.utils.StatusFilterPredicate;
|
import org.joinmastodon.android.utils.StatusFilterPredicate;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import me.grishka.appkit.api.Callback;
|
||||||
|
import me.grishka.appkit.api.ErrorResponse;
|
||||||
import me.grishka.appkit.api.SimpleCallback;
|
import me.grishka.appkit.api.SimpleCallback;
|
||||||
|
|
||||||
public class CustomLocalTimelineFragment extends StatusListFragment implements ProvidesAssistContent.ProvidesWebUri {
|
public class CustomLocalTimelineFragment extends PinnableStatusListFragment implements ProvidesAssistContent.ProvidesWebUri{
|
||||||
// private String name;
|
// private String name;
|
||||||
private String domain;
|
private String domain;
|
||||||
|
|
||||||
@@ -74,6 +83,13 @@ public class CustomLocalTimelineFragment extends StatusListFragment implements P
|
|||||||
loadData();
|
loadData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||||
|
inflater.inflate(R.menu.custom_local_timelines, menu);
|
||||||
|
super.onCreateOptionsMenu(menu, inflater);
|
||||||
|
UiUtils.enableOptionsMenuIcons(getContext(), menu, R.id.pin);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Filter.FilterContext getFilterContext() {
|
protected Filter.FilterContext getFilterContext() {
|
||||||
return null;
|
return null;
|
||||||
@@ -83,4 +99,9 @@ public class CustomLocalTimelineFragment extends StatusListFragment implements P
|
|||||||
public Uri getWebUri(Uri.Builder base) {
|
public Uri getWebUri(Uri.Builder base) {
|
||||||
return Uri.parse(domain);
|
return Uri.parse(domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected TimelineDefinition makeTimelineDefinition() {
|
||||||
|
return TimelineDefinition.ofCustomLocalTimeline(domain);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
8
mastodon/src/main/res/menu/custom_local_timelines.xml
Normal file
8
mastodon/src/main/res/menu/custom_local_timelines.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item
|
||||||
|
android:id="@+id/pin"
|
||||||
|
android:title="@string/sk_pin_timeline"
|
||||||
|
android:icon="@drawable/ic_fluent_pin_24_regular"
|
||||||
|
android:showAsAction="always" />
|
||||||
|
</menu>
|
||||||
Reference in New Issue
Block a user