From 1e672b17f59ccacdfdf78e64e95e3b71d7bf5e1b Mon Sep 17 00:00:00 2001 From: James Manuel Date: Tue, 12 May 2026 21:05:41 +0200 Subject: [PATCH] fix: use office user agent for all office direct editing editors Signed-off-by: James Manuel --- app/src/main/java/com/nextcloud/utils/EditorUtils.kt | 6 ++++++ .../com/owncloud/android/ui/activity/TextEditorWebView.kt | 8 ++++---- app/src/main/res/values/setup.xml | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/nextcloud/utils/EditorUtils.kt b/app/src/main/java/com/nextcloud/utils/EditorUtils.kt index c45e14e84081..3c1630e64308 100644 --- a/app/src/main/java/com/nextcloud/utils/EditorUtils.kt +++ b/app/src/main/java/com/nextcloud/utils/EditorUtils.kt @@ -27,4 +27,10 @@ class EditorUtils @Inject constructor(private val arbitraryDataProvider: Arbitra } fun isEditorAvailable(user: User?, mimeType: String?): Boolean = getEditor(user, mimeType) != null + + fun usesOfficeUserAgent(editor: Editor?): Boolean = editor?.id in OFFICE_EDITOR_IDS + + companion object { + private val OFFICE_EDITOR_IDS = setOf("onlyoffice", "eurooffice") + } } diff --git a/app/src/main/java/com/owncloud/android/ui/activity/TextEditorWebView.kt b/app/src/main/java/com/owncloud/android/ui/activity/TextEditorWebView.kt index a0ae72f6ba47..e3fe221abd9b 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/TextEditorWebView.kt +++ b/app/src/main/java/com/owncloud/android/ui/activity/TextEditorWebView.kt @@ -45,8 +45,8 @@ class TextEditorWebView : EditorWebView() { val editor = editorUtils.getEditor(user.get(), file?.mimeType) - if (editor != null && editor.id == "onlyoffice") { - webView.settings.userAgentString = generateOnlyOfficeUserAgent() + if (editorUtils.usesOfficeUserAgent(editor)) { + webView.settings.userAgentString = generateOfficeUserAgent() } webView.addJavascriptInterface(MobileInterface(), "DirectEditingMobileInterface") @@ -72,8 +72,8 @@ class TextEditorWebView : EditorWebView() { } } - private fun generateOnlyOfficeUserAgent(): String { - val userAgent = applicationContext.resources.getString(R.string.only_office_user_agent) + private fun generateOfficeUserAgent(): String { + val userAgent = applicationContext.resources.getString(R.string.office_user_agent) return String.format(userAgent, deviceInfo.androidVersion, appInfo.getAppVersion(this)) } diff --git a/app/src/main/res/values/setup.xml b/app/src/main/res/values/setup.xml index b52a5c52d09f..7df442ab878b 100644 --- a/app/src/main/res/values/setup.xml +++ b/app/src/main/res/values/setup.xml @@ -24,7 +24,7 @@ nextcloud Nextcloud Mozilla/5.0 (Android) Nextcloud-android/%1$s%2$s - Mozilla/5.0 (Android %1$s) Mobile Nextcloud-android/%2$s + Mozilla/5.0 (Android %1$s) Mobile Nextcloud-android/%2$s