diff --git a/api/src/main/java/com/readrops/api/services/fever/adapters/FeverItemsAdapter.kt b/api/src/main/java/com/readrops/api/services/fever/adapters/FeverItemsAdapter.kt index 25be60f4..8290c1ab 100644 --- a/api/src/main/java/com/readrops/api/services/fever/adapters/FeverItemsAdapter.kt +++ b/api/src/main/java/com/readrops/api/services/fever/adapters/FeverItemsAdapter.kt @@ -40,13 +40,14 @@ class FeverItemsAdapter { with(item) { when (selectName(NAMES)) { 0 -> remoteId = nextNonEmptyString() - 1 -> feedRemoteId = nextInt().toString() + 1 -> feedRemoteId = nextNonEmptyString() 2 -> title = nextNonEmptyString() 3 -> author = nextNullableString() 4 -> content = nextNullableString() 5 -> link = nextNullableString() 6 -> isRead = nextInt().toBoolean() - 7 -> pubDate = LocalDateTime(nextLong() * 1000L) + 7 -> isStarred = nextInt().toBoolean() + 8 -> pubDate = LocalDateTime(nextLong() * 1000L) else -> skipValue() } } @@ -68,7 +69,7 @@ class FeverItemsAdapter { companion object { val NAMES: JsonReader.Options = JsonReader.Options.of( "id", "feed_id", "title", "author", "html", "url", - "is_read", "created_on_time" + "is_read", "is_saved", "created_on_time" ) } } \ No newline at end of file diff --git a/api/src/test/java/com/readrops/api/services/fever/adapters/FeverItemsAdapterTest.kt b/api/src/test/java/com/readrops/api/services/fever/adapters/FeverItemsAdapterTest.kt index 42e1cff4..05d82da0 100644 --- a/api/src/test/java/com/readrops/api/services/fever/adapters/FeverItemsAdapterTest.kt +++ b/api/src/test/java/com/readrops/api/services/fever/adapters/FeverItemsAdapterTest.kt @@ -8,6 +8,7 @@ import okio.Buffer import org.junit.Test import kotlin.test.assertEquals import kotlin.test.assertNotNull +import kotlin.test.assertTrue class FeverItemsAdapterTest { @@ -27,7 +28,8 @@ class FeverItemsAdapterTest { assertEquals(author, "Alkarex") assertEquals(link, "https://github.com/FreshRSS/FreshRSS/releases/tag/1.9.0") assertNotNull(content) - assertEquals(isRead, true) + assertTrue(isStarred) + assertTrue(isRead) assertNotNull(pubDate) assertEquals(remoteId, "1546007484154894") assertEquals(feedRemoteId, "2") diff --git a/api/src/test/resources/services/fever/items.json b/api/src/test/resources/services/fever/items.json index 1dc2e138..9c41bdc2 100644 --- a/api/src/test/resources/services/fever/items.json +++ b/api/src/test/resources/services/fever/items.json @@ -11,7 +11,7 @@ "author": "Alkarex", "html": "\n
Changelog<\/a>:<\/p>\n\n
\n
\n
\n
\n
CURLOPT_FOLLOWLOCATION<\/code>
open_basedir<\/code> bug in favicons and PubSubHubbub #1655<\/a>\n<\/li>\n
\n
.\/cli\/db-optimize.php<\/code> for database optimisation #1583<\/a>\n<\/li>\n
actualize_script.php<\/code> (cron for refreshing feeds) #1711<\/a>\n<\/li>\n<\/ul>\n<\/li>\n
\n
VACUUM<\/code> on SQLite and PostgreSQL databases when optimisation is requested #918<\/a>\n<\/li>\n<\/ul>\n<\/li>\n
\n
link<\/code> to articles without HTML-encoding #1683<\/a>\n<\/li>\n<\/ul>\n<\/li>\n
\n
.\/Controllers\/<\/code> directory #1729<\/a>\n<\/li>\n
$entry->_hash($hex)<\/code> for extensions that change the content of entries #1707<\/a>\n<\/li>\n<\/ul>\n<\/li>\n
\n
\n
constants.local.php<\/code> #1725<\/a>\n<\/li>\n
.editorconfig<\/code> file #1732<\/a>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n",
"url": "https:\/\/github.com\/FreshRSS\/FreshRSS\/releases\/tag\/1.9.0",
- "is_saved": 0,
+ "is_saved": 1,
"is_read": 1,
"created_on_time": 1515697500
}
diff --git a/app/src/main/java/com/readrops/app/repositories/FeverRepository.kt b/app/src/main/java/com/readrops/app/repositories/FeverRepository.kt
index 193296a0..ed8dfa0d 100644
--- a/app/src/main/java/com/readrops/app/repositories/FeverRepository.kt
+++ b/app/src/main/java/com/readrops/app/repositories/FeverRepository.kt
@@ -1,6 +1,7 @@
package com.readrops.app.repositories
import android.content.Context
+import android.util.Log
import com.readrops.api.services.SyncType
import com.readrops.api.services.fever.FeverDataSource
import com.readrops.api.services.fever.adapters.FeverFeeds
@@ -39,6 +40,7 @@ class FeverRepository(
.doOnSuccess { account.id = it.toInt() }
.await()
} catch (e: Exception) {
+ Log.e(TAG, "login: ${e.message}")
error(e.message!!)
}
}
@@ -65,9 +67,10 @@ class FeverRepository(
insertFolders(syncResult.folders)
insertFeeds(syncResult.feverFeeds)
- //insertItems(syncResult.items)
- //insertItemsIds(syncResult.unreadIds!!, syncResult.starredIds!!.toMutableList())
+ insertItems(syncResult.items)
+ insertItemsIds(syncResult.unreadIds, syncResult.starredIds.toMutableList())
} catch (e: Exception) {
+ Log.e(TAG, "sync: ${e.message}")
error(e.message!!)
}
}
@@ -94,10 +97,60 @@ class FeverRepository(
}
private fun insertItems(items: List