Add greader update feed request

This commit is contained in:
Shinokuni 2019-08-18 23:04:38 +02:00
parent d21a76c4e3
commit 87c1528451
3 changed files with 17 additions and 1 deletions

View File

@ -101,7 +101,15 @@ public class FreshRSSRepository extends ARepository {
@Override
public Completable updateFeed(Feed feed) {
return null;
FreshRSSAPI api = new FreshRSSAPI(account.toCredentials());
return Single.<Folder>create(emitter -> {
Folder folder = feed.getFolderId() == null ? null : database.folderDao().select(feed.getFolderId());
emitter.onSuccess(folder);
}).flatMapCompletable(folder -> api.updateFeed(account.getWriteToken(),
feed.getUrl(), feed.getName(), folder == null ? null : folder.getRemoteId()))
.andThen(super.updateFeed(feed));
}
@Override

View File

@ -112,6 +112,10 @@ public class FreshRSSAPI extends API<FreshRSSService> {
return api.createOrDeleteFeed(token, "feed/" + feedUrl, "unsubscribe");
}
public Completable updateFeed(String token, String feedUrl, String title, String folderId) {
return api.updateFeed(token, "feed/" + feedUrl, title, folderId, "edit");
}
public enum EXCLUDE_ITEMS {
EXCLUDE_READ_ITEMS("user/-/state/com.google/read");

View File

@ -45,4 +45,8 @@ public interface FreshRSSService {
@FormUrlEncoded
@POST("reader/api/0/subscription/edit")
Completable createOrDeleteFeed(@Field("T") String token, @Field("s") String feedUrl, @Field("ac") String action);
@FormUrlEncoded
@POST("reader/api/0/subscription/edit")
Completable updateFeed(@Field("T") String token, @Field("s") String feedUrl, @Field("t") String title, @Field("a") String folderId, @Field("ac") String action);
}