Compare commits

..

4 Commits

Author SHA1 Message Date
ecd23213f9 fix: illegal input.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-05-13 22:14:25 +02:00
e6baed8cb4 Changelog for v123051321 [CI SKIP] 2023-05-12 19:19:35 +00:00
c87abec0b9 debug: Debug null context.
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-05-12 20:31:40 +02:00
0aba41d8bf Changelog for v123051301 [CI SKIP] 2023-05-10 19:36:31 +00:00
5 changed files with 45 additions and 24 deletions

View File

@ -1,3 +1,18 @@
**v123051321**
- debug: Debug null context.
- Changelog for v123051301 [CI SKIP]
--------------------------------------------------------------------
**v123051301**
- feat: Basic auth from url. Fixes #142 (#143)
- debug: Debug index out of bound exception.
- Changelog for v123051211 [CI SKIP]
--------------------------------------------------------------------
**v123051211** **v123051211**
- fix: Sometimes url isn't even defined. - fix: Sometimes url isn't even defined.

View File

@ -530,7 +530,12 @@ class ArticleFragment : Fragment(), DIAware {
private fun openInBrowserAfterFailing() { private fun openInBrowserAfterFailing() {
binding.progressBar.visibility = View.GONE binding.progressBar.visibility = View.GONE
requireActivity().openInBrowserAsNewTask(this@ArticleFragment.item) if (context != null) {
requireContext().openInBrowserAsNewTask(this@ArticleFragment.item)
} else {
Exception("openInBrowserAfterFailing context is null").sendSilentlyWithAcraWithName("openInBrowserAfterFailing > $context")
}
} }
companion object { companion object {

View File

@ -6,12 +6,12 @@ class MercuryModel {
@Serializable @Serializable
class ParsedContent( class ParsedContent(
val title: String?, val title: String? = null,
val content: String?, val content: String? = null,
val lead_image_url: String?, // NOSONAR val lead_image_url: String? = null, // NOSONAR
val url: String?, val url: String? = null,
val error: Boolean?, val error: Boolean? = null,
val message: String?, val message: String? = null,
val failed: Boolean? val failed: Boolean? = null
) )
} }

View File

@ -24,8 +24,8 @@ class SelfossModel {
@Serializable @Serializable
class Stats( class Stats(
val total: Int, val total: Int,
val unread: Int?, val unread: Int? = null,
val starred: Int? val starred: Int? = null
) )
@Serializable @Serializable
@ -36,9 +36,9 @@ class SelfossModel {
@Serializable @Serializable
data class ApiInformation( data class ApiInformation(
val version: String?, val version: String? = null,
val apiversion: String?, val apiversion: String? = null,
val configuration: ApiConfiguration? val configuration: ApiConfiguration? = null
) { ) {
fun getApiMajorVersion(): Int { fun getApiMajorVersion(): Int {
var versionNumber = 0 var versionNumber = 0
@ -54,9 +54,9 @@ class SelfossModel {
@Serializable @Serializable
data class ApiConfiguration( data class ApiConfiguration(
@Serializable(with = BooleanSerializer::class) @Serializable(with = BooleanSerializer::class)
val publicMode: Boolean?, val publicMode: Boolean? = null,
@Serializable(with = BooleanSerializer::class) @Serializable(with = BooleanSerializer::class)
val authEnabled: Boolean? val authEnabled: Boolean? = null
) { ) {
fun isAuthEnabled() = authEnabled ?: true fun isAuthEnabled() = authEnabled ?: true
@ -75,7 +75,7 @@ class SelfossModel {
data class SourceStats( data class SourceStats(
override val id: Int, override val id: Int,
override var title: String, override var title: String,
override var unread: Int?, override var unread: Int? = null,
override var error: String? = null, override var error: String? = null,
override var icon: String? = null override var icon: String? = null
) : Source ) : Source
@ -86,11 +86,11 @@ class SelfossModel {
override var title: String, override var title: String,
override var unread: Int? = null, override var unread: Int? = null,
@Serializable(with = TagsListSerializer::class) @Serializable(with = TagsListSerializer::class)
var tags: List<String>?, var tags: List<String>? = null,
var spout: String?, var spout: String? = null,
override var error: String?, override var error: String? = null,
override var icon: String?, override var icon: String? = null,
var params: SourceParams? var params: SourceParams? = null
) : Source ) : Source
@Serializable @Serializable
@ -107,13 +107,13 @@ class SelfossModel {
var unread: Boolean, var unread: Boolean,
@Serializable(with = BooleanSerializer::class) @Serializable(with = BooleanSerializer::class)
var starred: Boolean, var starred: Boolean,
val thumbnail: String?, val thumbnail: String? = null,
val icon: String?, val icon: String? = null,
val link: String, val link: String,
val sourcetitle: String, val sourcetitle: String,
@Serializable(with = TagsListSerializer::class) @Serializable(with = TagsListSerializer::class)
val tags: List<String>, val tags: List<String>,
val author: String? val author: String? = null
) { ) {
fun getLinkDecoded(): String { fun getLinkDecoded(): String {
var stringUrl: String var stringUrl: String

View File

@ -36,6 +36,7 @@ class SelfossApi(private val appSettingsService: AppSettingsService) {
prettyPrint = true prettyPrint = true
isLenient = true isLenient = true
ignoreUnknownKeys = true ignoreUnknownKeys = true
explicitNulls = false
}) })
} }
install(Logging) { install(Logging) {