Skip to content

Commit d3e565f

Browse files
committed
chore(message-reader): remove html-cleaner feature project dependency
1 parent dfdbeed commit d3e565f

File tree

5 files changed

+22
-30
lines changed

5 files changed

+22
-30
lines changed

cli/html-cleaner-cli/build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ application {
99
}
1010

1111
dependencies {
12-
implementation(projects.core.featureflag)
13-
implementation(projects.feature.mail.message.reader.api)
1412
implementation(projects.library.htmlCleaner)
1513

1614
implementation(libs.clikt)

cli/html-cleaner-cli/src/main/kotlin/app/k9mail/cli/html/cleaner/Main.kt

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import com.github.ajalt.clikt.parameters.types.enum
1212
import com.github.ajalt.clikt.parameters.types.file
1313
import com.github.ajalt.clikt.parameters.types.inputStream
1414
import java.io.File
15-
import net.thunderbird.core.featureflag.FeatureFlagResult
16-
import net.thunderbird.feature.mail.message.reader.api.css.CssClassNameProvider
1715
import okio.buffer
1816
import okio.sink
1917
import okio.source
@@ -45,21 +43,16 @@ class HtmlCleaner : CliktCommand() {
4543
}
4644

4745
private fun cleanHtml(html: String): String {
46+
val defaultNamespaceClassName = if (app == App.THUNDERBIRD) {
47+
"net_thunderbird_android"
48+
} else {
49+
"com_fsck_k9"
50+
}
4851
val htmlProcessor = HtmlProcessor(
49-
featureFlagProvider = { FeatureFlagResult.Enabled },
50-
cssClassNameProvider = object : CssClassNameProvider {
51-
override val defaultNamespaceClassName: String
52-
get() = if (app == App.THUNDERBIRD) {
53-
"net_thunderbird_android"
54-
} else {
55-
"com_fsck_k9"
56-
}
57-
override val rootClassName: String = "${defaultNamespaceClassName}__message-viewer"
58-
override val mainContentClassName: String = "${defaultNamespaceClassName}__main-content"
59-
override val plainTextMessagePreClassName: String =
60-
"${defaultNamespaceClassName}__plain-text-message-pre"
61-
override val signatureClassName: String = "${defaultNamespaceClassName}__signature"
62-
},
52+
customClasses = setOf(
53+
"${defaultNamespaceClassName}__message-viewer",
54+
"${defaultNamespaceClassName}__main-content",
55+
),
6356
htmlHeadProvider = object : HtmlHeadProvider {
6457
override val headHtml = """<meta name="viewport" content="width=device-width"/>"""
6558
},

legacy/core/src/main/java/com/fsck/k9/message/html/HtmlProcessorFactory.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.fsck.k9.message.html
33
import app.k9mail.html.cleaner.HtmlProcessor
44
import net.thunderbird.core.common.mail.html.HtmlSettings
55
import net.thunderbird.core.featureflag.FeatureFlagProvider
6+
import net.thunderbird.feature.mail.message.reader.api.MessageReaderFeatureFlags
67
import net.thunderbird.feature.mail.message.reader.api.css.CssClassNameProvider
78

89
class HtmlProcessorFactory(
@@ -12,6 +13,12 @@ class HtmlProcessorFactory(
1213
) {
1314
fun create(settings: HtmlSettings): HtmlProcessor {
1415
val displayHtml = displayHtmlFactory.create(settings)
15-
return HtmlProcessor(featureFlagProvider, cssClassNameProvider, displayHtml)
16+
val customClasses =
17+
if (featureFlagProvider.provide(MessageReaderFeatureFlags.UseNewMessageReaderCssStyles).isEnabled()) {
18+
setOf(cssClassNameProvider.rootClassName, cssClassNameProvider.mainContentClassName)
19+
} else {
20+
emptySet()
21+
}
22+
return HtmlProcessor(customClasses, displayHtml)
1623
}
1724
}

library/html-cleaner/build.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,4 @@ plugins {
55

66
dependencies {
77
implementation(libs.jsoup)
8-
implementation(projects.core.featureflag)
9-
implementation(projects.feature.mail.message.reader.api)
108
}

library/html-cleaner/src/main/kotlin/app/k9mail/html/cleaner/HtmlProcessor.kt

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
package app.k9mail.html.cleaner
22

3-
import net.thunderbird.core.featureflag.FeatureFlagProvider
4-
import net.thunderbird.feature.mail.message.reader.api.MessageReaderFeatureFlags
5-
import net.thunderbird.feature.mail.message.reader.api.css.CssClassNameProvider
63
import org.jsoup.nodes.Document
74

85
class HtmlProcessor(
9-
private val featureFlagProvider: FeatureFlagProvider,
10-
private val cssClassNameProvider: CssClassNameProvider,
6+
private val customClasses: Set<String>,
117
private val htmlHeadProvider: HtmlHeadProvider,
128
) {
139
private val htmlSanitizer = HtmlSanitizer()
@@ -32,10 +28,10 @@ class HtmlProcessor(
3228
}
3329

3430
private fun Document.addCustomClasses() = apply {
35-
if (featureFlagProvider.provide(MessageReaderFeatureFlags.UseNewMessageViewerCssStyles).isEnabled()) {
36-
body()
37-
.addClass(cssClassNameProvider.rootClassName)
38-
.addClass(cssClassNameProvider.mainContentClassName)
31+
if (customClasses.isNotEmpty()) {
32+
body().apply {
33+
customClasses.forEach(::addClass)
34+
}
3935
}
4036
}
4137
}

0 commit comments

Comments
 (0)