feat: Markdown support for disclamer

This commit is contained in:
nomadics9 2024-07-21 06:18:21 +03:00
parent 059b17af9a
commit b511b26aa1
5 changed files with 35 additions and 16 deletions

View file

@ -20,19 +20,6 @@
"versionName": "0.10.5-0.14.2",
"outputFile": "ananas-v0.10.5-0.14.2-Ananas-armeabi-v7a.apk"
},
{
"type": "ONE_OF_MANY",
"filters": [
{
"filterType": "ABI",
"value": "x86_64"
}
],
"attributes": [],
"versionCode": 15,
"versionName": "0.10.5-0.14.2",
"outputFile": "ananas-v0.10.5-0.14.2-Ananas-x86_64.apk"
},
{
"type": "ONE_OF_MANY",
"filters": [
@ -46,6 +33,19 @@
"versionName": "0.10.5-0.14.2",
"outputFile": "ananas-v0.10.5-0.14.2-Ananas-arm64-v8a.apk"
},
{
"type": "ONE_OF_MANY",
"filters": [
{
"filterType": "ABI",
"value": "x86_64"
}
],
"attributes": [],
"versionCode": 15,
"versionName": "0.10.5-0.14.2",
"outputFile": "ananas-v0.10.5-0.14.2-Ananas-x86_64.apk"
},
{
"type": "ONE_OF_MANY",
"filters": [
@ -67,8 +67,8 @@
"maxApi": 30,
"baselineProfiles": [
"baselineProfiles/1/ananas-v0.10.5-0.14.2-Ananas-armeabi-v7a.dm",
"baselineProfiles/1/ananas-v0.10.5-0.14.2-Ananas-x86_64.dm",
"baselineProfiles/1/ananas-v0.10.5-0.14.2-Ananas-arm64-v8a.dm",
"baselineProfiles/1/ananas-v0.10.5-0.14.2-Ananas-x86_64.dm",
"baselineProfiles/1/ananas-v0.10.5-0.14.2-Ananas-x86.dm"
]
},
@ -77,8 +77,8 @@
"maxApi": 2147483647,
"baselineProfiles": [
"baselineProfiles/0/ananas-v0.10.5-0.14.2-Ananas-armeabi-v7a.dm",
"baselineProfiles/0/ananas-v0.10.5-0.14.2-Ananas-x86_64.dm",
"baselineProfiles/0/ananas-v0.10.5-0.14.2-Ananas-arm64-v8a.dm",
"baselineProfiles/0/ananas-v0.10.5-0.14.2-Ananas-x86_64.dm",
"baselineProfiles/0/ananas-v0.10.5-0.14.2-Ananas-x86.dm"
]
}

View file

@ -132,6 +132,7 @@ dependencies {
implementation(libs.material)
implementation(libs.media3.ffmpeg.decoder)
implementation(libs.timber)
implementation(libs.markwon)
coreLibraryDesugaring(libs.android.desugar.jdk)

View file

@ -25,6 +25,7 @@ import com.nomadics9.ananas.database.ServerDatabaseDao
import com.nomadics9.ananas.databinding.FragmentLoginBinding
import com.nomadics9.ananas.viewmodels.LoginEvent
import com.nomadics9.ananas.viewmodels.LoginViewModel
import io.noties.markwon.Markwon
import kotlinx.coroutines.launch
import timber.log.Timber
import javax.inject.Inject
@ -157,7 +158,21 @@ class LoginFragment : Fragment() {
binding.editTextPasswordLayout.isEnabled = true
uiState.disclaimer?.let { disclaimer ->
binding.loginDisclaimer.text = fromHtml(disclaimer, 0)
if (BuildConfig.FLAVOR == "Ananas") {
val lines = disclaimer.lines()
val lineToRemoveIndex = 3
val filteredLines = lines.toMutableList().apply {
if (size > lineToRemoveIndex) {
removeAt(lineToRemoveIndex)
}
}
val filteredDisclaimer = filteredLines.joinToString("\n")
val markwon = Markwon.create(requireContext())
markwon.setMarkdown(binding.loginDisclaimer, filteredDisclaimer)
} else {
val markwon = Markwon.create(requireContext())
markwon.setMarkdown(binding.loginDisclaimer, disclaimer)
}
}
}

View file

@ -158,6 +158,7 @@
android:id="@+id/login_disclaimer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginHorizontal="24dp"
android:layout_margin="24dp"
android:textSize="16sp"

View file

@ -38,6 +38,7 @@ libmpv = "0.3.0"
material = "1.12.0"
media3-ffmpeg-decoder = "1.3.1+2"
timber = "5.0.1"
markwon = "4.6.2"
[libraries]
aboutlibraries-core = { group = "com.mikepenz", name = "aboutlibraries-core", version.ref = "aboutlibraries" }
@ -99,6 +100,7 @@ material = { group = "com.google.android.material", name = "material", version.r
media3-ffmpeg-decoder = { group = "org.jellyfin.media3", name = "media3-ffmpeg-decoder", version.ref = "media3-ffmpeg-decoder" }
timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" }
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
markwon = { group = "io.noties.markwon", name = "core", version.ref = "markwon" }
[plugins]
aboutlibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutlibraries" }