From 61dfc930659b62608a813450595018c7392a55c3 Mon Sep 17 00:00:00 2001 From: Michael Totschnig Date: Thu, 24 Aug 2023 10:03:10 +0200 Subject: [PATCH] Added VersionInfo --- ChangeLog/build.gradle | 4 +-- .../main/java/org/totschnig/changelog/Main.kt | 30 +++++++++++++++++++ doc/helpers.xsl | 8 +++++ .../myexpenses/viewmodel/data/VersionInfo.kt | 3 ++ .../src/main/res/xml/preference_headers.xml | 2 +- 5 files changed, 44 insertions(+), 3 deletions(-) diff --git a/ChangeLog/build.gradle b/ChangeLog/build.gradle index 989ec8fa93..6ba7d7f322 100644 --- a/ChangeLog/build.gradle +++ b/ChangeLog/build.gradle @@ -4,8 +4,8 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } application { diff --git a/ChangeLog/src/main/java/org/totschnig/changelog/Main.kt b/ChangeLog/src/main/java/org/totschnig/changelog/Main.kt index e4072701c2..58a936aeb5 100644 --- a/ChangeLog/src/main/java/org/totschnig/changelog/Main.kt +++ b/ChangeLog/src/main/java/org/totschnig/changelog/Main.kt @@ -14,6 +14,7 @@ import net.sf.saxon.s9api.XsltCompiler import net.sf.saxon.s9api.XsltExecutable import net.sf.saxon.s9api.XsltTransformer import java.io.File +import java.lang.UnsupportedOperationException import java.util.* import javax.xml.transform.stream.StreamSource import kotlin.system.exitProcess @@ -46,6 +47,34 @@ class Main { } } + private var displayNameForCountry: ExtensionFunction = object : ExtensionFunction { + override fun getName() = + QName("http://myexpenses.mobi/", "displayNameForCountry") + + override fun getResultType() = SequenceType.makeSequenceType( + ItemType.STRING, OccurrenceIndicator.ONE + ) + + override fun getArgumentTypes() = arrayOf( + SequenceType.makeSequenceType( + ItemType.STRING, OccurrenceIndicator.ONE + ), + SequenceType.makeSequenceType( + ItemType.STRING, OccurrenceIndicator.ONE + ) + ) + + @Throws(SaxonApiException::class) + override fun call(arguments: Array): XdmValue { + val targetCountry = (arguments[0].itemAt(0) as XdmAtomicValue).stringValue + val displayLanguage = (arguments[1].itemAt(0) as XdmAtomicValue).stringValue + return XdmAtomicValue(when(targetCountry) { + "de" -> Locale.GERMANY + else -> throw UnsupportedOperationException() + }.getDisplayCountry(Locale(displayLanguage))) + } + } + private var fileExists: ExtensionFunction = object : ExtensionFunction { override fun getName() = QName("http://myexpenses.mobi/", "fileExists") @@ -132,6 +161,7 @@ class Main { processor.registerExtensionFunction(displayNameForLanguage) processor.registerExtensionFunction(fileExists) processor.registerExtensionFunction(displayNameForScript) + processor.registerExtensionFunction(displayNameForCountry) val out: Serializer = outFile?.let { processor.newSerializer(File(it)) } ?: processor.newSerializer(System.out) val compiler: XsltCompiler = processor.newXsltCompiler() val stylesheet: XsltExecutable = diff --git a/doc/helpers.xsl b/doc/helpers.xsl index cba5d3ed95..2b2c574e87 100644 --- a/doc/helpers.xsl +++ b/doc/helpers.xsl @@ -415,6 +415,14 @@ + + + + + Multibanking ( + + ) + diff --git a/myExpenses/src/main/java/org/totschnig/myexpenses/viewmodel/data/VersionInfo.kt b/myExpenses/src/main/java/org/totschnig/myexpenses/viewmodel/data/VersionInfo.kt index 595c400582..8a44d968cc 100644 --- a/myExpenses/src/main/java/org/totschnig/myexpenses/viewmodel/data/VersionInfo.kt +++ b/myExpenses/src/main/java/org/totschnig/myexpenses/viewmodel/data/VersionInfo.kt @@ -117,6 +117,9 @@ class VersionInfo(val code: Int, val name: String) : Parcelable { "362" -> arrayOf( "${t(R.string.menu_settings)}: ${t(R.string.ui_refinement)}" ) + "363" -> arrayOf( + "Multibanking (${Locale.GERMANY.displayCountry})" + ) else -> { val resId = res.getIdentifier( "whats_new_$nameCondensed", diff --git a/myExpenses/src/main/res/xml/preference_headers.xml b/myExpenses/src/main/res/xml/preference_headers.xml index a06aadf7c9..29391e4913 100644 --- a/myExpenses/src/main/res/xml/preference_headers.xml +++ b/myExpenses/src/main/res/xml/preference_headers.xml @@ -60,7 +60,7 @@ + android:title="Multibanking" />