Revert "Initial try to integrate the custom local timelines into the custom tabs system"

This reverts commit 68f88c29d3.
This commit is contained in:
LucasGGamerM 2023-02-20 11:20:01 -03:00
parent 6404d9cf9a
commit 6f37eb9625
3 changed files with 2 additions and 132 deletions

View File

@ -1,88 +0,0 @@
package org.joinmastodon.android.fragments;
import android.app.Activity;
import android.os.Bundle;
import android.view.HapticFeedbackConstants;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.Toast;
import org.joinmastodon.android.E;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.tags.GetHashtag;
import org.joinmastodon.android.api.requests.tags.SetHashtagFollowed;
import org.joinmastodon.android.api.requests.timelines.GetHashtagTimeline;
import org.joinmastodon.android.api.requests.timelines.GetPublicTimeline;
import org.joinmastodon.android.events.HashtagUpdatedEvent;
import org.joinmastodon.android.model.Filter;
import org.joinmastodon.android.model.Hashtag;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.model.TimelineDefinition;
import org.joinmastodon.android.ui.utils.UiUtils;
import org.joinmastodon.android.utils.StatusFilterPredicate;
import java.util.List;
import java.util.stream.Collectors;
import me.grishka.appkit.Nav;
import me.grishka.appkit.api.Callback;
import me.grishka.appkit.api.ErrorResponse;
import me.grishka.appkit.api.SimpleCallback;
import me.grishka.appkit.utils.V;
public class CustomLocalTimelineFragment extends PinnableStatusListFragment {
// private String name;
private String domain;
private String maxID;
@Override
protected boolean withComposeButton() {
return false;
}
@Override
public void onAttach(Activity activity){
super.onAttach(activity);
domain=getArguments().getString("domain");
updateTitle(getArguments().getString("domain"));
setHasOptionsMenu(true);
}
private void updateTitle(String domain) {
this.domain = domain;
setTitle(domain);
}
@Override
protected TimelineDefinition makeTimelineDefinition() {
return TimelineDefinition.ofCustomLocalTimeline(domain);
}
@Override
protected void doLoadData(int offset, int count){
currentRequest=new GetPublicTimeline(true, false, refreshing ? null : maxID, count)
.setCallback(new SimpleCallback<>(this){
@Override
public void onSuccess(List<Status> result){
if(!result.isEmpty())
maxID=result.get(result.size()-1).id;
if (getActivity() == null) return;
result=result.stream().filter(new StatusFilterPredicate(accountID, Filter.FilterContext.PUBLIC)).collect(Collectors.toList());
onDataLoaded(result, !result.isEmpty());
}
})
.execNoAuth("fosstodon.org");
}
@Override
protected void onShown(){
super.onShown();
if(!getArguments().getBoolean("noAutoLoad") && !loaded && !dataLoading)
loadData();
}
}

View File

@ -1,26 +0,0 @@
package org.joinmastodon.android.model;
import androidx.annotation.NonNull;
import com.google.gson.annotations.SerializedName;
import org.joinmastodon.android.api.RequiredField;
import org.parceler.Parcel;
@Parcel
public class CustomLocalTimeline extends BaseModel {
@RequiredField
public String domain;
@RequiredField
public String title;
@NonNull
@Override
public String toString() {
return "CustomLocalTimeline{" +
"domain='" + domain + '\'' +
", title='" + title +
'}';
}
}

View File

@ -10,7 +10,6 @@ import androidx.annotation.StringRes;
import org.joinmastodon.android.BuildConfig; import org.joinmastodon.android.BuildConfig;
import org.joinmastodon.android.R; import org.joinmastodon.android.R;
import org.joinmastodon.android.fragments.CustomLocalTimelineFragment;
import org.joinmastodon.android.fragments.HashtagTimelineFragment; import org.joinmastodon.android.fragments.HashtagTimelineFragment;
import org.joinmastodon.android.fragments.HomeTimelineFragment; import org.joinmastodon.android.fragments.HomeTimelineFragment;
import org.joinmastodon.android.fragments.ListTimelineFragment; import org.joinmastodon.android.fragments.ListTimelineFragment;
@ -30,7 +29,6 @@ public class TimelineDefinition {
private @Nullable String listTitle; private @Nullable String listTitle;
private @Nullable String hashtagName; private @Nullable String hashtagName;
private @Nullable String customLocalTimelineDomain;
public static TimelineDefinition ofList(String listId, String listTitle) { public static TimelineDefinition ofList(String listId, String listTitle) {
TimelineDefinition def = new TimelineDefinition(TimelineType.LIST); TimelineDefinition def = new TimelineDefinition(TimelineType.LIST);
@ -53,18 +51,6 @@ public class TimelineDefinition {
return ofHashtag(hashtag.name); return ofHashtag(hashtag.name);
} }
public static TimelineDefinition ofCustomLocalTimeline(String domain) {
TimelineDefinition def = new TimelineDefinition(TimelineType.CUSTOM_LOCAL_TIMELINE);
def.customLocalTimelineDomain = domain;
return def;
}
public static TimelineDefinition ofCustomLocalTimeline(CustomLocalTimeline customLocalTimeline) {
return ofCustomLocalTimeline(customLocalTimeline.domain);
}
@SuppressWarnings("unused") @SuppressWarnings("unused")
public TimelineDefinition() {} public TimelineDefinition() {}
@ -92,14 +78,13 @@ public class TimelineDefinition {
case POST_NOTIFICATIONS -> ctx.getString(R.string.sk_timeline_posts); case POST_NOTIFICATIONS -> ctx.getString(R.string.sk_timeline_posts);
case LIST -> listTitle; case LIST -> listTitle;
case HASHTAG -> hashtagName; case HASHTAG -> hashtagName;
case CUSTOM_LOCAL_TIMELINE -> customLocalTimelineDomain;
}; };
} }
public Icon getDefaultIcon() { public Icon getDefaultIcon() {
return switch (type) { return switch (type) {
case HOME -> Icon.HOME; case HOME -> Icon.HOME;
case LOCAL, CUSTOM_LOCAL_TIMELINE -> Icon.LOCAL; case LOCAL -> Icon.LOCAL;
case FEDERATED -> Icon.FEDERATED; case FEDERATED -> Icon.FEDERATED;
case POST_NOTIFICATIONS -> Icon.POST_NOTIFICATIONS; case POST_NOTIFICATIONS -> Icon.POST_NOTIFICATIONS;
case LIST -> Icon.LIST; case LIST -> Icon.LIST;
@ -115,7 +100,6 @@ public class TimelineDefinition {
case LIST -> new ListTimelineFragment(); case LIST -> new ListTimelineFragment();
case HASHTAG -> new HashtagTimelineFragment(); case HASHTAG -> new HashtagTimelineFragment();
case POST_NOTIFICATIONS -> new NotificationsListFragment(); case POST_NOTIFICATIONS -> new NotificationsListFragment();
case CUSTOM_LOCAL_TIMELINE -> new CustomLocalTimelineFragment();
}; };
} }
@ -172,7 +156,7 @@ public class TimelineDefinition {
return args; return args;
} }
public enum TimelineType { HOME, LOCAL, FEDERATED, POST_NOTIFICATIONS, LIST, HASHTAG, CUSTOM_LOCAL_TIMELINE} public enum TimelineType { HOME, LOCAL, FEDERATED, POST_NOTIFICATIONS, LIST, HASHTAG }
public enum Icon { public enum Icon {
HEART(R.drawable.ic_fluent_heart_24_regular, R.string.sk_icon_heart), HEART(R.drawable.ic_fluent_heart_24_regular, R.string.sk_icon_heart),