Skip to content

Commit d2dff63

Browse files
committed
Fix FeverFeedsAdapter parsing (fixes #228)
1 parent d306bff commit d2dff63

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

api/src/main/java/com/readrops/api/services/fever/adapters/FeverFeedsAdapter.kt

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,12 @@ class FeverFeedsAdapter : JsonAdapter<FeverFeeds>() {
3131

3232
beginObject()
3333

34-
// skip based fields (api_version, auth, last_refreshed...)
35-
repeat(3) {
36-
skipField()
34+
while (nextName() != "feeds") {
35+
skipValue()
3736
}
3837

39-
nextName() // beginning of feeds array
38+
// feeds array
4039
beginArray()
41-
4240
while (hasNext()) {
4341
beginObject()
4442

@@ -62,9 +60,12 @@ class FeverFeedsAdapter : JsonAdapter<FeverFeeds>() {
6260

6361
endArray()
6462

65-
nextName()
66-
beginArray()
63+
while (nextName() != "feeds_groups") {
64+
skipValue()
65+
}
6766

67+
// feeds_groups array
68+
beginArray()
6869
while (hasNext()) {
6970
beginObject()
7071

@@ -83,6 +84,11 @@ class FeverFeedsAdapter : JsonAdapter<FeverFeeds>() {
8384
}
8485

8586
endArray()
87+
88+
while (peek() != JsonReader.Token.END_OBJECT) {
89+
skipField()
90+
}
91+
8692
endObject()
8793

8894
FeverFeeds(

api/src/test/resources/services/fever/feeds.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{
22
"api_version": 3,
33
"auth": 1,
4-
"last_refreshed_on_time": 1640284745,
54
"feeds": [
65
{
76
"id": 32,
@@ -13,10 +12,12 @@
1312
"last_updated_on_time": 1640364024
1413
}
1514
],
15+
"last_refreshed_on_time": 1640284745,
1616
"feeds_groups": [
1717
{
1818
"group_id": 3,
1919
"feed_ids": "5,4"
2020
}
21-
]
21+
],
22+
"another_field": "another_value"
2223
}

0 commit comments

Comments
 (0)