diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 99a4fd6a7be6..03e4179e7a6b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -62,7 +62,7 @@ configurations.configureEach { val versionMajor = 35 val versionMinor = 0 val versionPatch = 0 -val versionBuild = 50 // 0-50=Alpha / 51-98=RC / 90-99=stable +val versionBuild = 51 // 0-50=Alpha / 51-98=RC / 90-99=stable val ndkEnv = buildMap { file("${project.rootDir}/ndk.env").readLines().forEach { diff --git a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.kt b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.kt index bc899c0607bc..07d9233deaf8 100644 --- a/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.kt +++ b/app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.kt @@ -145,6 +145,28 @@ class OCFileListBottomSheetDialog( } } + /** + * Builds the label for a Direct Editing creator entry. + * + * Some connectors (e.g. ONLYOFFICE-based ones) already provide full phrases as creator names + * ("Neues Dokument" / "New document"). Blindly prefixing the localized "New" then produces + * duplicated wording like "Neu Neues Dokument" / "New New document". Only apply the prefix + * when the creator name does not already start with it; otherwise use the name as-is. + */ + private fun buildCreatorButtonText(creatorName: String): String { + val createNew = fileActivity.getString(R.string.create_new) + + return if (creatorName.trim().startsWith(createNew, ignoreCase = true)) { + creatorName + } else { + String.format( + fileActivity.getString(R.string.editor_placeholder), + createNew, + creatorName + ) + } + } + @Suppress("DEPRECATION", "LongMethod", "MagicNumber") private fun initCreatorContainer() { val json = ArbitraryDataProviderImpl(context) @@ -184,11 +206,7 @@ class OCFileListBottomSheetDialog( gravity = Gravity.START or Gravity.CENTER_VERTICAL setPaddingRelative(standardPadding, 0, standardPadding, 0) - val buttonText = String.format( - fileActivity.getString(R.string.editor_placeholder), - fileActivity.getString(R.string.create_new), - creator.name - ) + val buttonText = buildCreatorButtonText(creator.name) text = buttonText setTextColor(ContextCompat.getColor(context, R.color.text_color)) textSize = 16f diff --git a/fastlane/metadata/android/en-US/changelogs/340100051.txt b/fastlane/metadata/android/en-US/changelogs/340100051.txt new file mode 100644 index 000000000000..02aa119a675d --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/340100051.txt @@ -0,0 +1,9 @@ +## 34.1.0 RC1 (July 16, 2026) + +- Faster and better connectivity check +- Better end-to-end encryption support +- Bug fixes and performance improvements + +Minimum: NC 20 Server, Android 9 Nougat + +For a full list, please see https://github.com/nextcloud/android/milestone/127 diff --git a/fastlane/metadata/android/en-US/changelogs/340100051.txt.license b/fastlane/metadata/android/en-US/changelogs/340100051.txt.license new file mode 100644 index 000000000000..12a06277efc2 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/340100051.txt.license @@ -0,0 +1,2 @@ +# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors +# SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index f1e276e4696d..89f7c07e148a 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -22343,6 +22343,14 @@ + + + + + + + +