Compare commits
7 Commits
v125010241
...
af072fd99b
Author | SHA1 | Date | |
---|---|---|---|
af072fd99b | |||
3a829df70e | |||
7a0202689f | |||
b20f6888f5 | |||
6b96eb358d | |||
dfc1bf9fa3 | |||
b173664ff0 |
@ -16,6 +16,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: master
|
||||
- name: Config git
|
||||
run: |
|
||||
git config --global user.email aminecmi+giteadrone@pm.me
|
||||
@ -50,7 +51,7 @@ jobs:
|
||||
followtags: true
|
||||
ssh_key: ${{ secrets.PRIVATE_KEY }}
|
||||
tags: true
|
||||
branch: release
|
||||
branch: master
|
||||
- name: copy file via ssh password
|
||||
uses: appleboy/scp-action@v0.1.7
|
||||
with:
|
||||
@ -124,4 +125,4 @@ jobs:
|
||||
priority: high
|
||||
convert_markdown: true
|
||||
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
|
||||
|
11
CHANGELOG.md
11
CHANGELOG.md
@ -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
|
||||
|
||||
- fix: Handle empty url issue.
|
||||
|
@ -193,41 +193,39 @@ class ArticleFragment :
|
||||
fab.mainFabClosedIconColor = colorOnSurface
|
||||
fab.mainFabOpenedIconColor = colorOnSurface
|
||||
|
||||
maybeIfContext { context -> handleFloatingToolbarActionItems(context) }
|
||||
maybeIfContext { handleFloatingToolbarActionItems(it) }
|
||||
|
||||
fab.setOnActionSelectedListener { actionItem ->
|
||||
when (actionItem.id) {
|
||||
R.id.share_action -> requireActivity().shareLink(url, contentTitle)
|
||||
R.id.open_action -> requireActivity().openItemUrlInBrowserAsNewTask(this@ArticleFragment.item)
|
||||
R.id.unread_action ->
|
||||
try {
|
||||
if (this@ArticleFragment.item.unread) {
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
repository.markAsRead(this@ArticleFragment.item)
|
||||
}
|
||||
this@ArticleFragment.item.unread = false
|
||||
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
|
||||
if (this@ArticleFragment.item.unread) {
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
repository.markAsRead(this@ArticleFragment.item)
|
||||
}
|
||||
this@ArticleFragment.item.unread = false
|
||||
maybeIfContext {
|
||||
Toast
|
||||
.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,
|
||||
Toast.LENGTH_LONG,
|
||||
).show()
|
||||
}
|
||||
} catch (e: IllegalStateException) {
|
||||
e.sendSilentlyWithAcraWithName("Toolbar context required is null")
|
||||
}
|
||||
|
||||
else -> Unit
|
||||
@ -313,8 +311,8 @@ class ArticleFragment :
|
||||
|
||||
private fun handleLeadImage(leadImageUrl: String?) {
|
||||
if (!leadImageUrl.isNullOrEmpty()) {
|
||||
binding.imageView.visibility = View.VISIBLE
|
||||
maybeIfContext {
|
||||
binding.imageView.visibility = View.VISIBLE
|
||||
it.bitmapFitCenter(leadImageUrl, binding.imageView, appSettingsService)
|
||||
}
|
||||
} else {
|
||||
@ -397,13 +395,12 @@ class ArticleFragment :
|
||||
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 {
|
||||
binding.webcontent.settings.useWideViewPort = true
|
||||
binding.webcontent.settings.loadWithOverviewMode = true
|
||||
binding.webcontent.settings.javaScriptEnabled = false
|
||||
|
||||
handleImageLoading()
|
||||
|
||||
val gestureDetector =
|
||||
GestureDetector(
|
||||
activity,
|
||||
@ -417,49 +414,50 @@ class ArticleFragment :
|
||||
event,
|
||||
)
|
||||
}
|
||||
|
||||
binding.webcontent.settings.layoutAlgorithm =
|
||||
WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING
|
||||
} 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
|
||||
}
|
||||
|
||||
try {
|
||||
var baseUrl: String? = null
|
||||
try {
|
||||
val itemUrl = URL(url)
|
||||
baseUrl = itemUrl.protocol + "://" + itemUrl.host
|
||||
} catch (e: MalformedURLException) {
|
||||
e.sendSilentlyWithAcraWithName("htmlToWebview > $url")
|
||||
}
|
||||
binding.webcontent.settings.layoutAlgorithm =
|
||||
WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING
|
||||
|
||||
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) {
|
||||
getString(R.string.open_sans_font_id) -> "Open Sans"
|
||||
getString(R.string.roboto_font_id) -> "Roboto"
|
||||
getString(R.string.source_code_pro_font_id) -> "Source Code Pro"
|
||||
it.getString(R.string.open_sans_font_id) -> "Open Sans"
|
||||
it.getString(R.string.roboto_font_id) -> "Roboto"
|
||||
it.getString(R.string.source_code_pro_font_id) -> "Source Code Pro"
|
||||
else -> ""
|
||||
}
|
||||
}?.toString().orEmpty()
|
||||
|
||||
val fontLinkAndStyle =
|
||||
if (font.isNotEmpty()) {
|
||||
"""<link href="https://fonts.googleapis.com/css?family=${
|
||||
fontName.replace(
|
||||
" ",
|
||||
"+",
|
||||
)
|
||||
}" rel="stylesheet">
|
||||
val fontLinkAndStyle =
|
||||
if (fontName.isNotEmpty()) {
|
||||
"""<link href="https://fonts.googleapis.com/css?family=${
|
||||
fontName.replace(
|
||||
" ",
|
||||
"+",
|
||||
)
|
||||
}" rel="stylesheet">
|
||||
|<style>
|
||||
| * {
|
||||
| font-family: '$fontName';
|
||||
| }
|
||||
|</style>
|
||||
""".trimMargin()
|
||||
} else {
|
||||
""
|
||||
}
|
||||
|
||||
""".trimMargin()
|
||||
} else {
|
||||
""
|
||||
}
|
||||
try {
|
||||
binding.webcontent.loadDataWithBaseURL(
|
||||
baseUrl,
|
||||
"""<html>
|
||||
|
@ -83,7 +83,15 @@ class FilterSheetFragment :
|
||||
val sourceGroup = binding.sourcesGroup
|
||||
|
||||
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
|
||||
|
||||
maybeIfContext {
|
||||
@ -145,7 +153,11 @@ class FilterSheetFragment :
|
||||
val tags = repository.getTags()
|
||||
|
||||
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.text = tag.tag
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
plugins {
|
||||
//trick: for the same plugin versions in all sub-modules
|
||||
id("com.android.application").version("8.7.3").apply(false)
|
||||
id("com.android.library").version("8.7.3").apply(false)
|
||||
// trick: for the same plugin versions in all sub-modules
|
||||
id("com.android.application").version("8.8.0").apply(false)
|
||||
id("com.android.library").version("8.8.0").apply(false)
|
||||
id("org.jetbrains.kotlin.android").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)
|
||||
@ -16,7 +16,6 @@ allprojects {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tasks.register("clean", Delete::class) {
|
||||
delete(layout.buildDirectory)
|
||||
}
|
||||
@ -24,4 +23,4 @@ tasks.register("clean", Delete::class) {
|
||||
dependencies {
|
||||
kover(project(":shared"))
|
||||
kover(project(":androidApp"))
|
||||
}
|
||||
}
|
||||
|
@ -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
|
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
||||
#Mon Nov 25 22:48:24 CET 2024
|
||||
#Sun Feb 09 14:44:52 CET 2025
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
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
|
||||
zipStorePath=wrapper/dists
|
||||
|
Reference in New Issue
Block a user