diff --git a/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/UpsertSourceActivity.kt b/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/UpsertSourceActivity.kt
index f952bdb..bcc6d35 100644
--- a/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/UpsertSourceActivity.kt
+++ b/androidApp/src/main/java/bou/amine/apps/readerforselfossv2/android/UpsertSourceActivity.kt
@@ -65,6 +65,7 @@ class UpsertSourceActivity :
private fun initFields(items: Map) {
binding.nameInput.setText(existingSource!!.title)
binding.tags.setText(existingSource!!.tags?.joinToString(", "))
+ binding.filter.setText(existingSource!!.filter)
binding.sourceUri.setText(existingSource!!.params?.url)
binding.spoutsSpinner.setSelection(items.keys.indexOf(existingSource!!.spout))
binding.progress.visibility = View.GONE
@@ -169,6 +170,7 @@ class UpsertSourceActivity :
url,
mSpoutsValue!!,
binding.tags.text.toString(),
+ binding.filter.text.toString(),
)
} else {
repository.createSource(
@@ -176,6 +178,7 @@ class UpsertSourceActivity :
url,
mSpoutsValue!!,
binding.tags.text.toString(),
+ binding.filter.text.toString(),
)
}
if (successfullyAddedSource) {
diff --git a/androidApp/src/main/res/layout/activity_upsert_source.xml b/androidApp/src/main/res/layout/activity_upsert_source.xml
index b2ed65b..35df0f8 100644
--- a/androidApp/src/main/res/layout/activity_upsert_source.xml
+++ b/androidApp/src/main/res/layout/activity_upsert_source.xml
@@ -64,15 +64,28 @@
android:id="@+id/tags"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:minHeight="48dp"
android:layout_marginTop="16dp"
android:autofillHints="false"
android:hint="@string/add_source_hint_tags"
android:inputType="text"
+ android:minHeight="48dp"
android:textColorHint="?android:textColorPrimary"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/sourceUri" />
+
+
+ app:layout_constraintTop_toBottomOf="@+id/filter" />
"Link"
"Name"
+ /Filter/
"Add a source"
"Save"
"Check your details again."
diff --git a/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/model/SelfossModel.kt b/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/model/SelfossModel.kt
index 085d52d..9662ef0 100644
--- a/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/model/SelfossModel.kt
+++ b/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/model/SelfossModel.kt
@@ -102,6 +102,7 @@ class SelfossModel {
override var error: String? = null,
override var icon: String? = null,
var params: SourceParams? = null,
+ var filter: String? = null,
) : Source
@Serializable
diff --git a/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/repository/Repository.kt b/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/repository/Repository.kt
index 45a2272..9a33bf1 100644
--- a/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/repository/Repository.kt
+++ b/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/repository/Repository.kt
@@ -368,6 +368,7 @@ class Repository(
url: String,
spout: String,
tags: String,
+ filter: String,
): Boolean {
var response = false
if (connectivityService.isNetworkAvailable()) {
@@ -377,6 +378,7 @@ class Repository(
url,
spout,
tags,
+ filter,
).isSuccess == true
}
@@ -389,10 +391,11 @@ class Repository(
url: String,
spout: String,
tags: String,
+ filter: String,
): Boolean {
var response = false
if (connectivityService.isNetworkAvailable()) {
- response = api.updateSourceForVersion(id, title, url, spout, tags).isSuccess == true
+ response = api.updateSourceForVersion(id, title, url, spout, tags, filter).isSuccess == true
}
return response
diff --git a/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/rest/SelfossApi.kt b/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/rest/SelfossApi.kt
index 9bab495..6eafbba 100644
--- a/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/rest/SelfossApi.kt
+++ b/shared/src/commonMain/kotlin/bou/amine/apps/readerforselfossv2/rest/SelfossApi.kt
@@ -638,12 +638,13 @@ class SelfossApi(
url: String,
spout: String,
tags: String,
+ filter: String,
): SuccessResponse =
maybeResponse(
if (appSettingsService.getApiVersion() > 1) {
- createSource("tags[]", title, url, spout, tags)
+ createSource("tags[]", title, url, spout, tags, filter)
} else {
- createSource("tags", title, url, spout, tags)
+ createSource("tags", title, url, spout, tags, filter)
},
)
@@ -653,6 +654,7 @@ class SelfossApi(
url: String,
spout: String,
tags: String,
+ filter: String,
): HttpResponse? =
client.tryToSubmitForm(
url = url("/source"),
@@ -665,6 +667,7 @@ class SelfossApi(
append("title", title)
append("url", url)
append("spout", spout)
+ append("filter", filter)
append(tagsParamName, tags)
},
block = {
@@ -694,12 +697,13 @@ class SelfossApi(
url: String,
spout: String,
tags: String,
+ filter: String,
): SuccessResponse =
maybeResponse(
if (appSettingsService.getApiVersion() > 1) {
- updateSource(id, "tags[]", title, url, spout, tags)
+ updateSource(id, "tags[]", title, url, spout, tags, filter)
} else {
- updateSource(id, "tags", title, url, spout, tags)
+ updateSource(id, "tags", title, url, spout, tags, filter)
},
)
@@ -710,6 +714,7 @@ class SelfossApi(
url: String,
spout: String,
tags: String,
+ filter: String,
): HttpResponse? =
client.tryToSubmitForm(
url = url("/source/$id"),
@@ -723,6 +728,7 @@ class SelfossApi(
append("url", url)
append("spout", spout)
append(tagsParamName, tags)
+ append("filter", filter)
},
block = {
if (appSettingsService