Compare commits

...

7 Commits

Author SHA1 Message Date
af072fd99b Merge branch 'master' into bump
Some checks failed
Check PR code / Lint (pull_request) Successful in 2m52s
Check PR code / build (pull_request) Failing after 2s
2025-02-09 21:20:59 +00:00
3a829df70e Merge pull request 'fix: One more missing context.' (#181) from fix-one-more-context into master
All checks were successful
Check master code / build (push) Successful in 13m26s
Reviewed-on: #181
2025-02-09 20:44:29 +00:00
7a0202689f bump
All checks were successful
Check PR code / Lint (pull_request) Successful in 4m42s
Check PR code / build (pull_request) Successful in 16m9s
2025-02-09 21:44:02 +01:00
b20f6888f5 fix: One more missing context.
All checks were successful
Check PR code / Lint (pull_request) Successful in 1m1s
Check PR code / build (pull_request) Successful in 15m1s
2025-02-09 14:42:17 +01:00
6b96eb358d Merge pull request 'chore: more context issues.' (#180) from context-again into master
All checks were successful
Check master code / build (push) Successful in 7m35s
Create tag / build (push) Successful in 6m45s
Create tag / createTagAndChangelog (push) Successful in 42s
Create tag / release (push) Successful in 5m7s
Reviewed-on: #180
2025-01-29 14:50:22 +00:00
dfc1bf9fa3 chore: more context issues.
All checks were successful
Check PR code / Lint (pull_request) Successful in 2m33s
Check PR code / build (pull_request) Successful in 11m27s
2025-01-29 13:43:35 +01:00
b173664ff0 Changelog for v125010241
All checks were successful
Check master code / build (push) Successful in 9m50s
2025-01-24 22:06:19 +00:00
7 changed files with 99 additions and 70 deletions

View File

@ -16,6 +16,7 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
ref: master
- name: Config git - name: Config git
run: | run: |
git config --global user.email aminecmi+giteadrone@pm.me git config --global user.email aminecmi+giteadrone@pm.me
@ -50,7 +51,7 @@ jobs:
followtags: true followtags: true
ssh_key: ${{ secrets.PRIVATE_KEY }} ssh_key: ${{ secrets.PRIVATE_KEY }}
tags: true tags: true
branch: release branch: master
- name: copy file via ssh password - name: copy file via ssh password
uses: appleboy/scp-action@v0.1.7 uses: appleboy/scp-action@v0.1.7
with: with:
@ -124,4 +125,4 @@ jobs:
priority: high priority: high
convert_markdown: true convert_markdown: true
body: Nouveau fichier de mapping pour la version ${{ steps.version.outputs.VERSION }} body: Nouveau fichier de mapping pour la version ${{ steps.version.outputs.VERSION }}
attachments: androidApp/build/outputs/mapping/githubConfigRelease/mapping.txt attachments: androidApp/build/outputs/mapping/githubConfigRelease/mapping.txt

View File

@ -1,3 +1,14 @@
**v125010241
- Merge pull request 'fix: Link not opening.' (#178) from fix-open-link into master
- refactor: context fragments issues.
- logs: Context issues.
- fix: Handle empty url issue, again.
- fix: Link not opening.
- Changelog for v125010201
--------------------------------------------------------------------
**v125010201 **v125010201
- fix: Handle empty url issue. - fix: Handle empty url issue.

View File

@ -193,41 +193,39 @@ class ArticleFragment :
fab.mainFabClosedIconColor = colorOnSurface fab.mainFabClosedIconColor = colorOnSurface
fab.mainFabOpenedIconColor = colorOnSurface fab.mainFabOpenedIconColor = colorOnSurface
maybeIfContext { context -> handleFloatingToolbarActionItems(context) } maybeIfContext { handleFloatingToolbarActionItems(it) }
fab.setOnActionSelectedListener { actionItem -> fab.setOnActionSelectedListener { actionItem ->
when (actionItem.id) { when (actionItem.id) {
R.id.share_action -> requireActivity().shareLink(url, contentTitle) R.id.share_action -> requireActivity().shareLink(url, contentTitle)
R.id.open_action -> requireActivity().openItemUrlInBrowserAsNewTask(this@ArticleFragment.item) R.id.open_action -> requireActivity().openItemUrlInBrowserAsNewTask(this@ArticleFragment.item)
R.id.unread_action -> R.id.unread_action ->
try { if (this@ArticleFragment.item.unread) {
if (this@ArticleFragment.item.unread) { CoroutineScope(Dispatchers.IO).launch {
CoroutineScope(Dispatchers.IO).launch { repository.markAsRead(this@ArticleFragment.item)
repository.markAsRead(this@ArticleFragment.item) }
} this@ArticleFragment.item.unread = false
this@ArticleFragment.item.unread = false maybeIfContext {
maybeIfContext {
Toast
.makeText(
it,
R.string.marked_as_read,
Toast.LENGTH_LONG,
).show()
}
} else {
CoroutineScope(Dispatchers.IO).launch {
repository.unmarkAsRead(this@ArticleFragment.item)
}
this@ArticleFragment.item.unread = true
Toast Toast
.makeText( .makeText(
context, it,
R.string.marked_as_read,
Toast.LENGTH_LONG,
).show()
}
} else {
CoroutineScope(Dispatchers.IO).launch {
repository.unmarkAsRead(this@ArticleFragment.item)
}
this@ArticleFragment.item.unread = true
maybeIfContext {
Toast
.makeText(
it,
R.string.marked_as_unread, R.string.marked_as_unread,
Toast.LENGTH_LONG, Toast.LENGTH_LONG,
).show() ).show()
} }
} catch (e: IllegalStateException) {
e.sendSilentlyWithAcraWithName("Toolbar context required is null")
} }
else -> Unit else -> Unit
@ -313,8 +311,8 @@ class ArticleFragment :
private fun handleLeadImage(leadImageUrl: String?) { private fun handleLeadImage(leadImageUrl: String?) {
if (!leadImageUrl.isNullOrEmpty()) { if (!leadImageUrl.isNullOrEmpty()) {
binding.imageView.visibility = View.VISIBLE
maybeIfContext { maybeIfContext {
binding.imageView.visibility = View.VISIBLE
it.bitmapFitCenter(leadImageUrl, binding.imageView, appSettingsService) it.bitmapFitCenter(leadImageUrl, binding.imageView, appSettingsService)
} }
} else { } else {
@ -397,13 +395,12 @@ class ArticleFragment :
WHITE_COLOR_HEX and (if (colorOnSurface != DATA_NULL_UNDEFINED) colorOnSurface else 0), WHITE_COLOR_HEX and (if (colorOnSurface != DATA_NULL_UNDEFINED) colorOnSurface else 0),
) )
binding.webcontent.settings.useWideViewPort = true
binding.webcontent.settings.loadWithOverviewMode = true
binding.webcontent.settings.javaScriptEnabled = false
handleImageLoading()
try { try {
binding.webcontent.settings.useWideViewPort = true
binding.webcontent.settings.loadWithOverviewMode = true
binding.webcontent.settings.javaScriptEnabled = false
handleImageLoading()
val gestureDetector = val gestureDetector =
GestureDetector( GestureDetector(
activity, activity,
@ -417,49 +414,50 @@ class ArticleFragment :
event, event,
) )
} }
binding.webcontent.settings.layoutAlgorithm =
WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING
} catch (e: IllegalStateException) { } catch (e: IllegalStateException) {
e.sendSilentlyWithAcraWithName("Context is null but wasn't, and that's causing issues with webview config") e.sendSilentlyWithAcraWithName("Gesture detector issue ?")
return return
} }
try { binding.webcontent.settings.layoutAlgorithm =
var baseUrl: String? = null WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING
try {
val itemUrl = URL(url)
baseUrl = itemUrl.protocol + "://" + itemUrl.host
} catch (e: MalformedURLException) {
e.sendSilentlyWithAcraWithName("htmlToWebview > $url")
}
val fontName = var baseUrl: String? = null
try {
val itemUrl = URL(url)
baseUrl = itemUrl.protocol + "://" + itemUrl.host
} catch (e: MalformedURLException) {
e.sendSilentlyWithAcraWithName("htmlToWebview > $url")
}
val fontName: String =
maybeIfContext {
when (font) { when (font) {
getString(R.string.open_sans_font_id) -> "Open Sans" it.getString(R.string.open_sans_font_id) -> "Open Sans"
getString(R.string.roboto_font_id) -> "Roboto" it.getString(R.string.roboto_font_id) -> "Roboto"
getString(R.string.source_code_pro_font_id) -> "Source Code Pro" it.getString(R.string.source_code_pro_font_id) -> "Source Code Pro"
else -> "" else -> ""
} }
}?.toString().orEmpty()
val fontLinkAndStyle = val fontLinkAndStyle =
if (font.isNotEmpty()) { if (fontName.isNotEmpty()) {
"""<link href="https://fonts.googleapis.com/css?family=${ """<link href="https://fonts.googleapis.com/css?family=${
fontName.replace( fontName.replace(
" ", " ",
"+", "+",
) )
}" rel="stylesheet"> }" rel="stylesheet">
|<style> |<style>
| * { | * {
| font-family: '$fontName'; | font-family: '$fontName';
| } | }
|</style> |</style>
""".trimMargin() """.trimMargin()
} else { } else {
"" ""
} }
try {
binding.webcontent.loadDataWithBaseURL( binding.webcontent.loadDataWithBaseURL(
baseUrl, baseUrl,
"""<html> """<html>

View File

@ -83,7 +83,15 @@ class FilterSheetFragment :
val sourceGroup = binding.sourcesGroup val sourceGroup = binding.sourcesGroup
repository.getSourcesDetailsOrStats().forEachIndexed { _, source -> repository.getSourcesDetailsOrStats().forEachIndexed { _, source ->
val c = Chip(context) val c: Chip? =
maybeIfContext {
Chip(it)
} as Chip?
if (c == null) {
return
}
c.ellipsize = TextUtils.TruncateAt.END c.ellipsize = TextUtils.TruncateAt.END
maybeIfContext { maybeIfContext {
@ -145,7 +153,11 @@ class FilterSheetFragment :
val tags = repository.getTags() val tags = repository.getTags()
tags.forEachIndexed { _, tag -> tags.forEachIndexed { _, tag ->
val c = Chip(context) val c: Chip? = maybeIfContext { Chip(it) } as Chip?
if (c == null) {
return
}
c.ellipsize = TextUtils.TruncateAt.END c.ellipsize = TextUtils.TruncateAt.END
c.text = tag.tag c.text = tag.tag

View File

@ -1,7 +1,7 @@
plugins { plugins {
//trick: for the same plugin versions in all sub-modules // trick: for the same plugin versions in all sub-modules
id("com.android.application").version("8.7.3").apply(false) id("com.android.application").version("8.8.0").apply(false)
id("com.android.library").version("8.7.3").apply(false) id("com.android.library").version("8.8.0").apply(false)
id("org.jetbrains.kotlin.android").version("2.1.0").apply(false) id("org.jetbrains.kotlin.android").version("2.1.0").apply(false)
kotlin("multiplatform").version("2.1.0").apply(false) kotlin("multiplatform").version("2.1.0").apply(false)
id("com.mikepenz.aboutlibraries.plugin").version("10.5.1").apply(false) id("com.mikepenz.aboutlibraries.plugin").version("10.5.1").apply(false)
@ -16,7 +16,6 @@ allprojects {
} }
} }
tasks.register("clean", Delete::class) { tasks.register("clean", Delete::class) {
delete(layout.buildDirectory) delete(layout.buildDirectory)
} }
@ -24,4 +23,4 @@ tasks.register("clean", Delete::class) {
dependencies { dependencies {
kover(project(":shared")) kover(project(":shared"))
kover(project(":androidApp")) kover(project(":androidApp"))
} }

View File

@ -0,0 +1,8 @@
**v125010241**
- Merge pull request 'fix: Link not opening.' (#178) from fix-open-link into master
- refactor: context fragments issues.
- logs: Context issues.
- fix: Handle empty url issue, again.
- fix: Link not opening.
- Changelog for v125010201

View File

@ -1,6 +1,6 @@
#Mon Nov 25 22:48:24 CET 2024 #Sun Feb 09 14:44:52 CET 2025
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists