From 0f5e3670d18dcff87e595c3ed265505f4623ae22 Mon Sep 17 00:00:00 2001
From: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Date: Tue, 4 Feb 2025 09:39:30 +0100
Subject: [PATCH 01/11] Extend list_header.xml to add open in notes button
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
app/src/main/res/layout/list_header.xml | 34 ++++++-----
.../main/res/layout/list_header_open_in.xml | 58 +++++++++++++++++++
app/src/main/res/values/strings.xml | 10 ++--
3 files changed, 85 insertions(+), 17 deletions(-)
create mode 100644 app/src/main/res/layout/list_header_open_in.xml
diff --git a/app/src/main/res/layout/list_header.xml b/app/src/main/res/layout/list_header.xml
index 63c0cbac1d3d..36d12e0538e8 100644
--- a/app/src/main/res/layout/list_header.xml
+++ b/app/src/main/res/layout/list_header.xml
@@ -7,14 +7,14 @@
~ SPDX-FileCopyrightText: 2019 Nextcloud GmbH
~ SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
-->
-
@@ -33,27 +33,35 @@
+ android:gravity="center|start"
+ android:text="@string/recommended_files_title"
+ android:textColor="@color/text_color"
+ android:textSize="@dimen/large_title_text_size" />
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="@dimen/standard_margin" />
+
+
+ android:gravity="center|start"
+ android:text="@string/drawer_item_all_files"
+ android:textColor="@color/text_color"
+ android:textSize="@dimen/large_title_text_size" />
diff --git a/app/src/main/res/layout/list_header_open_in.xml b/app/src/main/res/layout/list_header_open_in.xml
new file mode 100644
index 000000000000..ad7f3f2ac7f7
--- /dev/null
+++ b/app/src/main/res/layout/list_header_open_in.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 301ff722da9d..436b4ad3e326 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1275,11 +1275,11 @@
Flip vertically
Unable to edit image.
edited
- Nextcloud Notes
- Nextcloud Talk
+ Nextcloud Notes
+ Nextcloud Talk
More Nextcloud Apps
- Notes
- Talk
+ Notes
+ Talk
More
Details
%s mm
@@ -1344,4 +1344,6 @@
Internal shares
External shares
Create link
+ This folder is best viewed in %1$s.
+ Open in %1$s
From a6c3b2990499b9fa1e0162d6e33c56b1c66f30a7 Mon Sep 17 00:00:00 2001
From: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Date: Wed, 5 Feb 2025 10:10:30 +0100
Subject: [PATCH 02/11] Extend capability to include notes folder location
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
.../87.json | 1337 +++++++++++++++++
.../client/database/NextcloudDatabase.kt | 3 +-
.../database/entity/CapabilityEntity.kt | 4 +-
.../datamodel/FileDataStorageManager.java | 5 +
.../com/owncloud/android/db/ProviderMeta.java | 3 +-
5 files changed, 1349 insertions(+), 3 deletions(-)
create mode 100644 app/schemas/com.nextcloud.client.database.NextcloudDatabase/87.json
diff --git a/app/schemas/com.nextcloud.client.database.NextcloudDatabase/87.json b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/87.json
new file mode 100644
index 000000000000..2bce6bc1ee01
--- /dev/null
+++ b/app/schemas/com.nextcloud.client.database.NextcloudDatabase/87.json
@@ -0,0 +1,1337 @@
+{
+ "formatVersion": 1,
+ "database": {
+ "version": 87,
+ "identityHash": "c67369ca15672b4c84289aa188f49e50",
+ "entities": [
+ {
+ "tableName": "arbitrary_data",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `cloud_id` TEXT, `key` TEXT, `value` TEXT)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "cloudId",
+ "columnName": "cloud_id",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "key",
+ "columnName": "key",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "value",
+ "columnName": "value",
+ "affinity": "TEXT",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": true,
+ "columnNames": [
+ "_id"
+ ]
+ },
+ "indices": [],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "capabilities",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `assistant` INTEGER, `account` TEXT, `version_mayor` INTEGER, `version_minor` INTEGER, `version_micro` INTEGER, `version_string` TEXT, `version_edition` TEXT, `extended_support` INTEGER, `core_pollinterval` INTEGER, `sharing_api_enabled` INTEGER, `sharing_public_enabled` INTEGER, `sharing_public_password_enforced` INTEGER, `sharing_public_expire_date_enabled` INTEGER, `sharing_public_expire_date_days` INTEGER, `sharing_public_expire_date_enforced` INTEGER, `sharing_public_send_mail` INTEGER, `sharing_public_upload` INTEGER, `sharing_user_send_mail` INTEGER, `sharing_resharing` INTEGER, `sharing_federation_outgoing` INTEGER, `sharing_federation_incoming` INTEGER, `files_bigfilechunking` INTEGER, `files_undelete` INTEGER, `files_versioning` INTEGER, `external_links` INTEGER, `server_name` TEXT, `server_color` TEXT, `server_text_color` TEXT, `server_element_color` TEXT, `server_slogan` TEXT, `server_logo` TEXT, `background_url` TEXT, `end_to_end_encryption` INTEGER, `end_to_end_encryption_keys_exist` INTEGER, `end_to_end_encryption_api_version` TEXT, `activity` INTEGER, `background_default` INTEGER, `background_plain` INTEGER, `richdocument` INTEGER, `richdocument_mimetype_list` TEXT, `richdocument_direct_editing` INTEGER, `richdocument_direct_templates` INTEGER, `richdocument_optional_mimetype_list` TEXT, `sharing_public_ask_for_optional_password` INTEGER, `richdocument_product_name` TEXT, `direct_editing_etag` TEXT, `user_status` INTEGER, `user_status_supports_emoji` INTEGER, `etag` TEXT, `files_locking_version` TEXT, `groupfolders` INTEGER, `drop_account` INTEGER, `security_guard` INTEGER, `forbidden_filename_characters` INTEGER, `forbidden_filenames` INTEGER, `forbidden_filename_extensions` INTEGER, `forbidden_filename_basenames` INTEGER, `files_download_limit` INTEGER, `files_download_limit_default` INTEGER, `recommendation` INTEGER, `notes_folder_path` TEXT)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "assistant",
+ "columnName": "assistant",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "accountName",
+ "columnName": "account",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "versionMajor",
+ "columnName": "version_mayor",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "versionMinor",
+ "columnName": "version_minor",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "versionMicro",
+ "columnName": "version_micro",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "versionString",
+ "columnName": "version_string",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "versionEditor",
+ "columnName": "version_edition",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "extendedSupport",
+ "columnName": "extended_support",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "corePollinterval",
+ "columnName": "core_pollinterval",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingApiEnabled",
+ "columnName": "sharing_api_enabled",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingPublicEnabled",
+ "columnName": "sharing_public_enabled",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingPublicPasswordEnforced",
+ "columnName": "sharing_public_password_enforced",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingPublicExpireDateEnabled",
+ "columnName": "sharing_public_expire_date_enabled",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingPublicExpireDateDays",
+ "columnName": "sharing_public_expire_date_days",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingPublicExpireDateEnforced",
+ "columnName": "sharing_public_expire_date_enforced",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingPublicSendMail",
+ "columnName": "sharing_public_send_mail",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingPublicUpload",
+ "columnName": "sharing_public_upload",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingUserSendMail",
+ "columnName": "sharing_user_send_mail",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingResharing",
+ "columnName": "sharing_resharing",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingFederationOutgoing",
+ "columnName": "sharing_federation_outgoing",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingFederationIncoming",
+ "columnName": "sharing_federation_incoming",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "filesBigfilechunking",
+ "columnName": "files_bigfilechunking",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "filesUndelete",
+ "columnName": "files_undelete",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "filesVersioning",
+ "columnName": "files_versioning",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "externalLinks",
+ "columnName": "external_links",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "serverName",
+ "columnName": "server_name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "serverColor",
+ "columnName": "server_color",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "serverTextColor",
+ "columnName": "server_text_color",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "serverElementColor",
+ "columnName": "server_element_color",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "serverSlogan",
+ "columnName": "server_slogan",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "serverLogo",
+ "columnName": "server_logo",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "serverBackgroundUrl",
+ "columnName": "background_url",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "endToEndEncryption",
+ "columnName": "end_to_end_encryption",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "endToEndEncryptionKeysExist",
+ "columnName": "end_to_end_encryption_keys_exist",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "endToEndEncryptionApiVersion",
+ "columnName": "end_to_end_encryption_api_version",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "activity",
+ "columnName": "activity",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "serverBackgroundDefault",
+ "columnName": "background_default",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "serverBackgroundPlain",
+ "columnName": "background_plain",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "richdocument",
+ "columnName": "richdocument",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "richdocumentMimetypeList",
+ "columnName": "richdocument_mimetype_list",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "richdocumentDirectEditing",
+ "columnName": "richdocument_direct_editing",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "richdocumentTemplates",
+ "columnName": "richdocument_direct_templates",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "richdocumentOptionalMimetypeList",
+ "columnName": "richdocument_optional_mimetype_list",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharingPublicAskForOptionalPassword",
+ "columnName": "sharing_public_ask_for_optional_password",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "richdocumentProductName",
+ "columnName": "richdocument_product_name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "directEditingEtag",
+ "columnName": "direct_editing_etag",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "userStatus",
+ "columnName": "user_status",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "userStatusSupportsEmoji",
+ "columnName": "user_status_supports_emoji",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "etag",
+ "columnName": "etag",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "filesLockingVersion",
+ "columnName": "files_locking_version",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "groupfolders",
+ "columnName": "groupfolders",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "dropAccount",
+ "columnName": "drop_account",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "securityGuard",
+ "columnName": "security_guard",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "forbiddenFileNameCharacters",
+ "columnName": "forbidden_filename_characters",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "forbiddenFileNames",
+ "columnName": "forbidden_filenames",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "forbiddenFileNameExtensions",
+ "columnName": "forbidden_filename_extensions",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "forbiddenFilenameBaseNames",
+ "columnName": "forbidden_filename_basenames",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "filesDownloadLimit",
+ "columnName": "files_download_limit",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "filesDownloadLimitDefault",
+ "columnName": "files_download_limit_default",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "recommendation",
+ "columnName": "recommendation",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "notesFolderPath",
+ "columnName": "notes_folder_path",
+ "affinity": "TEXT",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": true,
+ "columnNames": [
+ "_id"
+ ]
+ },
+ "indices": [],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "external_links",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `icon_url` TEXT, `language` TEXT, `type` INTEGER, `name` TEXT, `url` TEXT, `redirect` INTEGER)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "iconUrl",
+ "columnName": "icon_url",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "language",
+ "columnName": "language",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "type",
+ "columnName": "type",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "name",
+ "columnName": "name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "url",
+ "columnName": "url",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "redirect",
+ "columnName": "redirect",
+ "affinity": "INTEGER",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": true,
+ "columnNames": [
+ "_id"
+ ]
+ },
+ "indices": [],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "filelist",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `filename` TEXT, `encrypted_filename` TEXT, `path` TEXT, `path_decrypted` TEXT, `parent` INTEGER, `created` INTEGER, `modified` INTEGER, `content_type` TEXT, `content_length` INTEGER, `media_path` TEXT, `file_owner` TEXT, `last_sync_date` INTEGER, `last_sync_date_for_data` INTEGER, `modified_at_last_sync_for_data` INTEGER, `etag` TEXT, `etag_on_server` TEXT, `share_by_link` INTEGER, `permissions` TEXT, `remote_id` TEXT, `local_id` INTEGER NOT NULL DEFAULT -1, `update_thumbnail` INTEGER, `is_downloading` INTEGER, `favorite` INTEGER, `hidden` INTEGER, `is_encrypted` INTEGER, `etag_in_conflict` TEXT, `shared_via_users` INTEGER, `mount_type` INTEGER, `has_preview` INTEGER, `unread_comments_count` INTEGER, `owner_id` TEXT, `owner_display_name` TEXT, `note` TEXT, `sharees` TEXT, `rich_workspace` TEXT, `metadata_size` TEXT, `metadata_live_photo` TEXT, `locked` INTEGER, `lock_type` INTEGER, `lock_owner` TEXT, `lock_owner_display_name` TEXT, `lock_owner_editor` TEXT, `lock_timestamp` INTEGER, `lock_timeout` INTEGER, `lock_token` TEXT, `tags` TEXT, `metadata_gps` TEXT, `e2e_counter` INTEGER, `internal_two_way_sync_timestamp` INTEGER, `internal_two_way_sync_result` TEXT)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "name",
+ "columnName": "filename",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "encryptedName",
+ "columnName": "encrypted_filename",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "path",
+ "columnName": "path",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "pathDecrypted",
+ "columnName": "path_decrypted",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "parent",
+ "columnName": "parent",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "creation",
+ "columnName": "created",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "modified",
+ "columnName": "modified",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "contentType",
+ "columnName": "content_type",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "contentLength",
+ "columnName": "content_length",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "storagePath",
+ "columnName": "media_path",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "accountOwner",
+ "columnName": "file_owner",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lastSyncDate",
+ "columnName": "last_sync_date",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lastSyncDateForData",
+ "columnName": "last_sync_date_for_data",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "modifiedAtLastSyncForData",
+ "columnName": "modified_at_last_sync_for_data",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "etag",
+ "columnName": "etag",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "etagOnServer",
+ "columnName": "etag_on_server",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharedViaLink",
+ "columnName": "share_by_link",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "permissions",
+ "columnName": "permissions",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "remoteId",
+ "columnName": "remote_id",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "localId",
+ "columnName": "local_id",
+ "affinity": "INTEGER",
+ "notNull": true,
+ "defaultValue": "-1"
+ },
+ {
+ "fieldPath": "updateThumbnail",
+ "columnName": "update_thumbnail",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "isDownloading",
+ "columnName": "is_downloading",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "favorite",
+ "columnName": "favorite",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "hidden",
+ "columnName": "hidden",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "isEncrypted",
+ "columnName": "is_encrypted",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "etagInConflict",
+ "columnName": "etag_in_conflict",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharedWithSharee",
+ "columnName": "shared_via_users",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "mountType",
+ "columnName": "mount_type",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "hasPreview",
+ "columnName": "has_preview",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "unreadCommentsCount",
+ "columnName": "unread_comments_count",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "ownerId",
+ "columnName": "owner_id",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "ownerDisplayName",
+ "columnName": "owner_display_name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "note",
+ "columnName": "note",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharees",
+ "columnName": "sharees",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "richWorkspace",
+ "columnName": "rich_workspace",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "metadataSize",
+ "columnName": "metadata_size",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "metadataLivePhoto",
+ "columnName": "metadata_live_photo",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "locked",
+ "columnName": "locked",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lockType",
+ "columnName": "lock_type",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lockOwner",
+ "columnName": "lock_owner",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lockOwnerDisplayName",
+ "columnName": "lock_owner_display_name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lockOwnerEditor",
+ "columnName": "lock_owner_editor",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lockTimestamp",
+ "columnName": "lock_timestamp",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lockTimeout",
+ "columnName": "lock_timeout",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lockToken",
+ "columnName": "lock_token",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "tags",
+ "columnName": "tags",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "metadataGPS",
+ "columnName": "metadata_gps",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "e2eCounter",
+ "columnName": "e2e_counter",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "internalTwoWaySync",
+ "columnName": "internal_two_way_sync_timestamp",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "internalTwoWaySyncResult",
+ "columnName": "internal_two_way_sync_result",
+ "affinity": "TEXT",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": true,
+ "columnNames": [
+ "_id"
+ ]
+ },
+ "indices": [],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "filesystem",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `is_folder` INTEGER, `found_at` INTEGER, `upload_triggered` INTEGER, `syncedfolder_id` TEXT, `crc32` TEXT, `modified_at` INTEGER)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "localPath",
+ "columnName": "local_path",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "fileIsFolder",
+ "columnName": "is_folder",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "fileFoundRecently",
+ "columnName": "found_at",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "fileSentForUpload",
+ "columnName": "upload_triggered",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "syncedFolderId",
+ "columnName": "syncedfolder_id",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "crc32",
+ "columnName": "crc32",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "fileModified",
+ "columnName": "modified_at",
+ "affinity": "INTEGER",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": true,
+ "columnNames": [
+ "_id"
+ ]
+ },
+ "indices": [],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "ocshares",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `file_source` INTEGER, `item_source` INTEGER, `share_type` INTEGER, `shate_with` TEXT, `path` TEXT, `permissions` INTEGER, `shared_date` INTEGER, `expiration_date` INTEGER, `token` TEXT, `shared_with_display_name` TEXT, `is_directory` INTEGER, `user_id` TEXT, `id_remote_shared` INTEGER, `owner_share` TEXT, `is_password_protected` INTEGER, `note` TEXT, `hide_download` INTEGER, `share_link` TEXT, `share_label` TEXT, `download_limit_limit` INTEGER, `download_limit_count` INTEGER)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "fileSource",
+ "columnName": "file_source",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "itemSource",
+ "columnName": "item_source",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "shareType",
+ "columnName": "share_type",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "shareWith",
+ "columnName": "shate_with",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "path",
+ "columnName": "path",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "permissions",
+ "columnName": "permissions",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "sharedDate",
+ "columnName": "shared_date",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "expirationDate",
+ "columnName": "expiration_date",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "token",
+ "columnName": "token",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "shareWithDisplayName",
+ "columnName": "shared_with_display_name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "isDirectory",
+ "columnName": "is_directory",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "userId",
+ "columnName": "user_id",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "idRemoteShared",
+ "columnName": "id_remote_shared",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "accountOwner",
+ "columnName": "owner_share",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "isPasswordProtected",
+ "columnName": "is_password_protected",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "note",
+ "columnName": "note",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "hideDownload",
+ "columnName": "hide_download",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "shareLink",
+ "columnName": "share_link",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "shareLabel",
+ "columnName": "share_label",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "downloadLimitLimit",
+ "columnName": "download_limit_limit",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "downloadLimitCount",
+ "columnName": "download_limit_count",
+ "affinity": "INTEGER",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": true,
+ "columnNames": [
+ "_id"
+ ]
+ },
+ "indices": [],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "synced_folders",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `wifi_only` INTEGER, `charging_only` INTEGER, `existing` INTEGER, `enabled` INTEGER, `enabled_timestamp_ms` INTEGER, `subfolder_by_date` INTEGER, `account` TEXT, `upload_option` INTEGER, `name_collision_policy` INTEGER, `type` INTEGER, `hidden` INTEGER, `sub_folder_rule` INTEGER, `exclude_hidden` INTEGER, `last_scan_timestamp_ms` INTEGER)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "localPath",
+ "columnName": "local_path",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "remotePath",
+ "columnName": "remote_path",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "wifiOnly",
+ "columnName": "wifi_only",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "chargingOnly",
+ "columnName": "charging_only",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "existing",
+ "columnName": "existing",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "enabled",
+ "columnName": "enabled",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "enabledTimestampMs",
+ "columnName": "enabled_timestamp_ms",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "subfolderByDate",
+ "columnName": "subfolder_by_date",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "account",
+ "columnName": "account",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "uploadAction",
+ "columnName": "upload_option",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "nameCollisionPolicy",
+ "columnName": "name_collision_policy",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "type",
+ "columnName": "type",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "hidden",
+ "columnName": "hidden",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "subFolderRule",
+ "columnName": "sub_folder_rule",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "excludeHidden",
+ "columnName": "exclude_hidden",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lastScanTimestampMs",
+ "columnName": "last_scan_timestamp_ms",
+ "affinity": "INTEGER",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": true,
+ "columnNames": [
+ "_id"
+ ]
+ },
+ "indices": [],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "list_of_uploads",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `local_path` TEXT, `remote_path` TEXT, `account_name` TEXT, `file_size` INTEGER, `status` INTEGER, `local_behaviour` INTEGER, `upload_time` INTEGER, `name_collision_policy` INTEGER, `is_create_remote_folder` INTEGER, `upload_end_timestamp` INTEGER, `last_result` INTEGER, `is_while_charging_only` INTEGER, `is_wifi_only` INTEGER, `created_by` INTEGER, `folder_unlock_token` TEXT)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "localPath",
+ "columnName": "local_path",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "remotePath",
+ "columnName": "remote_path",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "accountName",
+ "columnName": "account_name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "fileSize",
+ "columnName": "file_size",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "status",
+ "columnName": "status",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "localBehaviour",
+ "columnName": "local_behaviour",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "uploadTime",
+ "columnName": "upload_time",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "nameCollisionPolicy",
+ "columnName": "name_collision_policy",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "isCreateRemoteFolder",
+ "columnName": "is_create_remote_folder",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "uploadEndTimestamp",
+ "columnName": "upload_end_timestamp",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "lastResult",
+ "columnName": "last_result",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "isWhileChargingOnly",
+ "columnName": "is_while_charging_only",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "isWifiOnly",
+ "columnName": "is_wifi_only",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "createdBy",
+ "columnName": "created_by",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "folderUnlockToken",
+ "columnName": "folder_unlock_token",
+ "affinity": "TEXT",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": true,
+ "columnNames": [
+ "_id"
+ ]
+ },
+ "indices": [],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "virtual",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `type` TEXT, `ocfile_id` INTEGER)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "type",
+ "columnName": "type",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "ocFileId",
+ "columnName": "ocfile_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": true,
+ "columnNames": [
+ "_id"
+ ]
+ },
+ "indices": [],
+ "foreignKeys": []
+ },
+ {
+ "tableName": "offline_operations",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` INTEGER PRIMARY KEY AUTOINCREMENT, `offline_operations_parent_oc_file_id` INTEGER, `offline_operations_path` TEXT, `offline_operations_type` TEXT, `offline_operations_file_name` TEXT, `offline_operations_created_at` INTEGER, `offline_operations_modified_at` INTEGER)",
+ "fields": [
+ {
+ "fieldPath": "id",
+ "columnName": "_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "parentOCFileId",
+ "columnName": "offline_operations_parent_oc_file_id",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "path",
+ "columnName": "offline_operations_path",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "type",
+ "columnName": "offline_operations_type",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "filename",
+ "columnName": "offline_operations_file_name",
+ "affinity": "TEXT",
+ "notNull": false
+ },
+ {
+ "fieldPath": "createdAt",
+ "columnName": "offline_operations_created_at",
+ "affinity": "INTEGER",
+ "notNull": false
+ },
+ {
+ "fieldPath": "modifiedAt",
+ "columnName": "offline_operations_modified_at",
+ "affinity": "INTEGER",
+ "notNull": false
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": true,
+ "columnNames": [
+ "_id"
+ ]
+ },
+ "indices": [],
+ "foreignKeys": []
+ }
+ ],
+ "views": [],
+ "setupQueries": [
+ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
+ "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'c67369ca15672b4c84289aa188f49e50')"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/nextcloud/client/database/NextcloudDatabase.kt b/app/src/main/java/com/nextcloud/client/database/NextcloudDatabase.kt
index 0a99bc123c51..d1db899d6d91 100644
--- a/app/src/main/java/com/nextcloud/client/database/NextcloudDatabase.kt
+++ b/app/src/main/java/com/nextcloud/client/database/NextcloudDatabase.kt
@@ -69,7 +69,8 @@ import com.owncloud.android.db.ProviderMeta
AutoMigration(from = 82, to = 83),
AutoMigration(from = 83, to = 84),
AutoMigration(from = 84, to = 85, spec = DatabaseMigrationUtil.DeleteColumnSpec::class),
- AutoMigration(from = 85, to = 86, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class)
+ AutoMigration(from = 85, to = 86, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class),
+ AutoMigration(from = 86, to = 87, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class)
],
exportSchema = true
)
diff --git a/app/src/main/java/com/nextcloud/client/database/entity/CapabilityEntity.kt b/app/src/main/java/com/nextcloud/client/database/entity/CapabilityEntity.kt
index 4662877862ca..4a9d3fafb6bf 100644
--- a/app/src/main/java/com/nextcloud/client/database/entity/CapabilityEntity.kt
+++ b/app/src/main/java/com/nextcloud/client/database/entity/CapabilityEntity.kt
@@ -136,5 +136,7 @@ data class CapabilityEntity(
@ColumnInfo(name = ProviderTableMeta.CAPABILITIES_FILES_DOWNLOAD_LIMIT_DEFAULT)
val filesDownloadLimitDefault: Int?,
@ColumnInfo(name = ProviderTableMeta.CAPABILITIES_RECOMMENDATION)
- val recommendation: Int?
+ val recommendation: Int?,
+ @ColumnInfo(name = ProviderTableMeta.CAPABILITIES_NOTES_FOLDER_PATH)
+ val notesFolderPath: String?
)
diff --git a/app/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java b/app/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java
index e209aa21b51b..0db497d57397 100644
--- a/app/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java
+++ b/app/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java
@@ -2315,6 +2315,8 @@ private ContentValues createContentValues(String accountName, OCCapability capab
contentValues.put(ProviderTableMeta.CAPABILITIES_RECOMMENDATION, capability.getRecommendations().getValue());
+ contentValues.put(ProviderTableMeta.CAPABILITIES_NOTES_FOLDER_PATH, capability.getNotesFolderPath());
+
return contentValues;
}
@@ -2490,7 +2492,10 @@ private OCCapability createCapabilityInstance(Cursor cursor) {
capability.setForbiddenFilenameBaseNamesJson(getString(cursor, ProviderTableMeta.CAPABILITIES_FORBIDDEN_FORBIDDEN_FILENAME_BASE_NAMES));
capability.setFilesDownloadLimit(getBoolean(cursor, ProviderTableMeta.CAPABILITIES_FILES_DOWNLOAD_LIMIT));
capability.setFilesDownloadLimitDefault(getInt(cursor, ProviderTableMeta.CAPABILITIES_FILES_DOWNLOAD_LIMIT_DEFAULT));
+
capability.setRecommendations(getBoolean(cursor, ProviderTableMeta.CAPABILITIES_RECOMMENDATION));
+
+ capability.setNotesFolderPath(getString(cursor, ProviderTableMeta.CAPABILITIES_NOTES_FOLDER_PATH));
}
return capability;
diff --git a/app/src/main/java/com/owncloud/android/db/ProviderMeta.java b/app/src/main/java/com/owncloud/android/db/ProviderMeta.java
index db2302caa79b..08baf705ee8f 100644
--- a/app/src/main/java/com/owncloud/android/db/ProviderMeta.java
+++ b/app/src/main/java/com/owncloud/android/db/ProviderMeta.java
@@ -25,7 +25,7 @@
*/
public class ProviderMeta {
public static final String DB_NAME = "filelist";
- public static final int DB_VERSION = 86;
+ public static final int DB_VERSION = 87;
private ProviderMeta() {
// No instance
@@ -272,6 +272,7 @@ static public class ProviderTableMeta implements BaseColumns {
public static final String CAPABILITIES_FORBIDDEN_FORBIDDEN_FILENAME_BASE_NAMES = "forbidden_filename_basenames";
public static final String CAPABILITIES_FILES_DOWNLOAD_LIMIT = "files_download_limit";
public static final String CAPABILITIES_FILES_DOWNLOAD_LIMIT_DEFAULT = "files_download_limit_default";
+ public static final String CAPABILITIES_NOTES_FOLDER_PATH = "notes_folder_path";
//Columns of Uploads table
public static final String UPLOADS_LOCAL_PATH = "local_path";
From 156773e722df72df8ba19449219c7089879526a3 Mon Sep 17 00:00:00 2001
From: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Date: Wed, 5 Feb 2025 10:11:14 +0100
Subject: [PATCH 03/11] Extract openAppOrStore() and openAppStore() to
LinkHelper
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
.../java/com/nextcloud/utils/LinkHelper.kt | 73 +++++++++++++++++++
.../android/ui/activity/DrawerActivity.java | 48 ++----------
2 files changed, 78 insertions(+), 43 deletions(-)
create mode 100644 app/src/main/java/com/nextcloud/utils/LinkHelper.kt
diff --git a/app/src/main/java/com/nextcloud/utils/LinkHelper.kt b/app/src/main/java/com/nextcloud/utils/LinkHelper.kt
new file mode 100644
index 000000000000..bc54dd7cf212
--- /dev/null
+++ b/app/src/main/java/com/nextcloud/utils/LinkHelper.kt
@@ -0,0 +1,73 @@
+/*
+ * Nextcloud - Android Client
+ *
+ * SPDX-FileCopyrightText: 2025 ZetaTom <70907959+ZetaTom@users.noreply.github.com>
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+package com.nextcloud.utils
+
+import android.content.ActivityNotFoundException
+import android.content.Context
+import android.content.Intent
+import android.net.Uri
+import com.nextcloud.client.account.User
+import com.owncloud.android.ui.activity.FileDisplayActivity
+import java.util.Optional
+import kotlin.jvm.optionals.getOrNull
+
+object LinkHelper {
+ const val APP_NEXTCLOUD_NOTES = "it.niedermann.owncloud.notes"
+ const val APP_NEXTCLOUD_TALK = "com.nextcloud.talk2"
+
+ /**
+ * Open specified app and, if not installed redirect to corresponding download.
+ *
+ * @param packageName of app to be opened
+ * @param user to pass in intent
+ */
+ fun openAppOrStore(packageName: String, user: Optional, context: Context) {
+ openAppOrStore(packageName, user.getOrNull(), context)
+ }
+
+ /**
+ * Open specified app and, if not installed redirect to corresponding download.
+ *
+ * @param packageName of app to be opened
+ * @param user to pass in intent
+ */
+ fun openAppOrStore(packageName: String, user: User?, context: Context) {
+ val intent = context.packageManager.getLaunchIntentForPackage(packageName)
+ if (intent != null) {
+ // app installed - open directly
+ // TODO handle null user?
+ intent.putExtra(FileDisplayActivity.KEY_ACCOUNT, user.hashCode())
+ context.startActivity(intent)
+ } else {
+ // app not found - open market (Google Play Store, F-Droid, etc.)
+ openAppStore(packageName, false, context)
+ }
+ }
+
+ /**
+ * Open app store page of specified app or search for specified string. Will attempt to open browser when no app
+ * store is available.
+ *
+ * @param string packageName or url-encoded search string
+ * @param search false -> show app corresponding to packageName; true -> open search for string
+ */
+ fun openAppStore(string: String, search: Boolean = false, context: Context) {
+ var suffix = (if (search) "search?q=" else "details?id=") + string
+ val intent = Intent(Intent.ACTION_VIEW, Uri.parse("market://$suffix"))
+ try {
+ context.startActivity(intent)
+ } catch (activityNotFoundException1: ActivityNotFoundException) {
+ // all is lost: open google play store web page for app
+ if (!search) {
+ suffix = "apps/$suffix"
+ }
+ intent.setData(Uri.parse("https://play.google.com/store/$suffix"))
+ context.startActivity(intent)
+ }
+ }
+}
diff --git a/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
index ff95b9854d35..750773a77ea3 100644
--- a/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
+++ b/app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java
@@ -60,6 +60,7 @@
import com.nextcloud.ui.ChooseAccountDialogFragment;
import com.nextcloud.ui.composeActivity.ComposeActivity;
import com.nextcloud.ui.composeActivity.ComposeDestination;
+import com.nextcloud.utils.LinkHelper;
import com.nextcloud.utils.extensions.ViewExtensionsKt;
import com.nextcloud.utils.mdm.MDMConfig;
import com.owncloud.android.MainApp;
@@ -425,9 +426,9 @@ private void showTopBanner(LinearLayout banner, int primaryColor) {
LinearLayout moreView = banner.findViewById(R.id.drawer_ecosystem_more);
LinearLayout assistantView = banner.findViewById(R.id.drawer_ecosystem_assistant);
- notesView.setOnClickListener(v -> openAppOrStore("it.niedermann.owncloud.notes"));
- talkView.setOnClickListener(v -> openAppOrStore("com.nextcloud.talk2"));
- moreView.setOnClickListener(v -> openAppStore("Nextcloud", true));
+ notesView.setOnClickListener(v -> LinkHelper.INSTANCE.openAppOrStore(LinkHelper.APP_NEXTCLOUD_NOTES, getUser(), this));
+ talkView.setOnClickListener(v -> LinkHelper.INSTANCE.openAppOrStore(LinkHelper.APP_NEXTCLOUD_TALK, getUser(), this));
+ moreView.setOnClickListener(v -> LinkHelper.INSTANCE.openAppStore("Nextcloud", true, this));
assistantView.setOnClickListener(v -> {
DrawerActivity.menuItemId = Menu.NONE;
startComposeActivity(ComposeDestination.AssistantScreen, R.string.assistant_screen_top_bar_title);
@@ -459,45 +460,6 @@ private void showTopBanner(LinearLayout banner, int primaryColor) {
banner.setVisibility(View.VISIBLE);
}
- /**
- * Open specified app and, if not installed redirect to corresponding download.
- *
- * @param packageName of app to be opened
- */
- private void openAppOrStore(String packageName) {
- Intent intent = getPackageManager().getLaunchIntentForPackage(packageName);
- if (intent != null) {
- // app installed - open directly
- intent.putExtra(FileDisplayActivity.KEY_ACCOUNT, getUser().get().hashCode());
- startActivity(intent);
- } else {
- // app not found - open market (Google Play Store, F-Droid, etc.)
- openAppStore(packageName, false);
- }
- }
-
- /**
- * Open app store page of specified app or search for specified string. Will attempt to open browser when no app
- * store is available.
- *
- * @param string packageName or url-encoded search string
- * @param search false -> show app corresponding to packageName; true -> open search for string
- */
- private void openAppStore(String string, boolean search) {
- String suffix = (search ? "search?q=" : "details?id=") + string;
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://" + suffix));
- try {
- startActivity(intent);
- } catch (android.content.ActivityNotFoundException activityNotFoundException1) {
- // all is lost: open google play store web page for app
- if (!search) {
- suffix = "apps/" + suffix;
- }
- intent.setData(Uri.parse("https://play.google.com/store/" + suffix));
- startActivity(intent);
- }
- }
-
private void setDrawerHeaderLogo(Drawable drawable, String serverName) {
ImageView imageHeader = mNavigationViewHeader.findViewById(R.id.drawer_header_logo);
imageHeader.setImageDrawable(drawable);
@@ -1357,7 +1319,7 @@ protected void handleDeepLink(@NonNull Uri uri) {
findViewById(R.id.fab_main).callOnClick();
break;
case ACTION_APP_UPDATE:
- openAppStore(getPackageName(), false);
+ LinkHelper.INSTANCE.openAppStore(getPackageName(), false, this);
break;
case OPEN_NOTIFICATIONS:
startActivity(NotificationsActivity.class);
From 8313981bdf3a1d4950bb60ecb55409179f0c02d8 Mon Sep 17 00:00:00 2001
From: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Date: Wed, 5 Feb 2025 10:14:19 +0100
Subject: [PATCH 04/11] Extend OCFileListAdapter to handle open in notes button
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
.../android/ui/adapter/OCFileListAdapter.java | 46 ++++++++++++++++---
1 file changed, 40 insertions(+), 6 deletions(-)
diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
index bd4647d9f942..b0a1f8e9e701 100644
--- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
+++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
@@ -39,6 +39,7 @@
import com.nextcloud.client.preferences.AppPreferences;
import com.nextcloud.model.OCFileFilterType;
import com.nextcloud.model.OfflineOperationType;
+import com.nextcloud.utils.LinkHelper;
import com.nextcloud.utils.extensions.ViewExtensionsKt;
import com.nextcloud.utils.mdm.MDMConfig;
import com.owncloud.android.MainApp;
@@ -64,6 +65,7 @@
import com.owncloud.android.lib.resources.shares.OCShare;
import com.owncloud.android.lib.resources.shares.ShareType;
import com.owncloud.android.lib.resources.shares.ShareeUser;
+import com.owncloud.android.lib.resources.status.OCCapability;
import com.owncloud.android.lib.resources.tags.Tag;
import com.owncloud.android.operations.RefreshFolderOperation;
import com.owncloud.android.operations.RemoteOperationFailedException;
@@ -77,6 +79,7 @@
import com.owncloud.android.utils.FileSortOrder;
import com.owncloud.android.utils.FileStorageUtils;
import com.owncloud.android.utils.MimeTypeUtil;
+import com.owncloud.android.utils.theme.CapabilityUtils;
import com.owncloud.android.utils.theme.ViewThemeUtils;
import java.io.File;
@@ -111,6 +114,7 @@ public class OCFileListAdapter extends RecyclerView.Adapter mFiles = new ArrayList<>();
private final List mFilesAll = new ArrayList<>();
private final boolean hideItemOptions;
@@ -121,7 +125,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter ocFileListFragmentInterface.onHeaderClicked());
+
String text = currentDirectory.getRichWorkspace();
PreviewTextFragment.setText(headerViewHolder.getHeaderText(), text, null, activity, true, true, viewThemeUtils);
- headerViewHolder.getHeaderView().setOnClickListener(v -> ocFileListFragmentInterface.onHeaderClicked());
- ViewExtensionsKt.setVisibleIf(headerViewHolder.getBinding().recommendedFilesRecyclerView, shouldShowRecommendedFiles());
- ViewExtensionsKt.setVisibleIf(headerViewHolder.getBinding().recommendedFilesTitle, shouldShowRecommendedFiles());
- ViewExtensionsKt.setVisibleIf(headerViewHolder.getBinding().allFilesTitle, shouldShowRecommendedFiles());
+ // hide header text if empty (server returns NBSP)
+ ViewExtensionsKt.setVisibleIf(headerViewHolder.getHeaderText(), text != null && !text.isBlank() && !text.equals(" "));
+
+ ViewExtensionsKt.setVisibleIf(headerBinding.recommendedFilesRecyclerView, shouldShowRecommendedFiles());
+ ViewExtensionsKt.setVisibleIf(headerBinding.recommendedFilesTitle, shouldShowRecommendedFiles());
+ ViewExtensionsKt.setVisibleIf(headerBinding.allFilesTitle, shouldShowRecommendedFiles());
if (shouldShowRecommendedFiles()) {
- final var recommendedFilesRecyclerView = headerViewHolder.getBinding().recommendedFilesRecyclerView;
+ final var recommendedFilesRecyclerView = headerBinding.recommendedFilesRecyclerView;
final LinearLayoutManager layoutManager = new LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL, false);
recommendedFilesRecyclerView.setLayoutManager(layoutManager);
@@ -446,6 +455,21 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
final var adapter = new RecommendedFilesAdapter(recommendedFiles, ocFileListDelegate, this, mStorageManager);
recommendedFilesRecyclerView.setAdapter(adapter);
}
+
+ ViewExtensionsKt.setVisibleIf(headerBinding.openIn.getRoot(), shouldShowOpenInNotes());
+
+ if (shouldShowOpenInNotes()) {
+ final var listHeaderOpenInBinding = headerBinding.openIn;
+
+ listHeaderOpenInBinding.infoText.setText(String.format(activity.getString(R.string.folder_best_viewed_in),
+ activity.getString(R.string.ecosystem_apps_notes)));
+
+ listHeaderOpenInBinding.openInButton.setText(String.format(activity.getString(R.string.open_in_app),
+ activity.getString(R.string.ecosystem_apps_display_notes)));
+
+ listHeaderOpenInBinding.openInButton.setOnClickListener(v -> LinkHelper.INSTANCE.openAppOrStore(LinkHelper.APP_NEXTCLOUD_NOTES, user, activity));
+ }
+
} else {
ListViewHolder gridViewHolder = (ListViewHolder) holder;
OCFile file = getItem(position);
@@ -481,6 +505,12 @@ private boolean shouldShowRecommendedFiles() {
return !recommendedFiles.isEmpty() && currentDirectory.isRootDirectory();
}
+ private boolean shouldShowOpenInNotes() {
+ String notesFolderPath = capability.getNotesFolderPath();
+ String currentPath = currentDirectory.getDecryptedRemotePath();
+ return notesFolderPath != null && currentPath != null && currentPath.startsWith(notesFolderPath);
+ }
+
private void checkVisibilityOfFileFeaturesLayout(ListViewHolder holder) {
int fileFeaturesVisibility = View.GONE;
LinearLayout fileFeaturesLayout = holder.getFileFeaturesLayout();
@@ -758,6 +788,10 @@ public boolean shouldShowHeader() {
return true;
}
+ if (shouldShowOpenInNotes()) {
+ return true;
+ }
+
if (currentDirectory.getRichWorkspace() == null) {
return false;
}
From 55f8fcbf0262d94138890766942533b706735f33 Mon Sep 17 00:00:00 2001
From: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Date: Wed, 5 Feb 2025 15:30:52 +0100
Subject: [PATCH 05/11] Fix lint
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
.../com/owncloud/android/ui/adapter/OCFileListAdapter.java | 2 +-
app/src/main/res/values-ar/strings.xml | 4 ----
app/src/main/res/values-ast/strings.xml | 4 ----
app/src/main/res/values-b+en+001/strings.xml | 4 ----
app/src/main/res/values-bg-rBG/strings.xml | 3 ---
app/src/main/res/values-br/strings.xml | 4 ----
app/src/main/res/values-ca/strings.xml | 4 ----
app/src/main/res/values-cs-rCZ/strings.xml | 4 ----
app/src/main/res/values-da/strings.xml | 4 ----
app/src/main/res/values-de/strings.xml | 4 ----
app/src/main/res/values-el/strings.xml | 4 ----
app/src/main/res/values-eo/strings.xml | 2 --
app/src/main/res/values-es-rAR/strings.xml | 4 ----
app/src/main/res/values-es-rCL/strings.xml | 1 -
app/src/main/res/values-es-rCO/strings.xml | 2 --
app/src/main/res/values-es-rEC/strings.xml | 2 --
app/src/main/res/values-es-rMX/strings.xml | 4 ----
app/src/main/res/values-es/strings.xml | 4 ----
app/src/main/res/values-eu/strings.xml | 4 ----
app/src/main/res/values-fa/strings.xml | 4 ----
app/src/main/res/values-fi-rFI/strings.xml | 4 ----
app/src/main/res/values-fr/strings.xml | 4 ----
app/src/main/res/values-ga/strings.xml | 4 ----
app/src/main/res/values-gd/strings.xml | 2 --
app/src/main/res/values-gl/strings.xml | 4 ----
app/src/main/res/values-hr/strings.xml | 3 ---
app/src/main/res/values-hu-rHU/strings.xml | 4 ----
app/src/main/res/values-in/strings.xml | 3 ---
app/src/main/res/values-is/strings.xml | 4 ----
app/src/main/res/values-it/strings.xml | 4 ----
app/src/main/res/values-iw/strings.xml | 3 ---
app/src/main/res/values-ja-rJP/strings.xml | 4 ----
app/src/main/res/values-ka/strings.xml | 4 ----
app/src/main/res/values-ko/strings.xml | 4 ----
app/src/main/res/values-lt-rLT/strings.xml | 3 ---
app/src/main/res/values-lv/strings.xml | 3 ---
app/src/main/res/values-mk/strings.xml | 2 --
app/src/main/res/values-nb-rNO/strings.xml | 4 ----
app/src/main/res/values-nl/strings.xml | 4 ----
app/src/main/res/values-pl/strings.xml | 4 ----
app/src/main/res/values-pt-rBR/strings.xml | 4 ----
app/src/main/res/values-pt-rPT/strings.xml | 4 ----
app/src/main/res/values-ro/strings.xml | 4 ----
app/src/main/res/values-ru/strings.xml | 4 ----
app/src/main/res/values-sc/strings.xml | 3 ---
app/src/main/res/values-sk-rSK/strings.xml | 4 ----
app/src/main/res/values-sl/strings.xml | 4 ----
app/src/main/res/values-sr-rSP/strings.xml | 2 --
app/src/main/res/values-sr/strings.xml | 4 ----
app/src/main/res/values-sv/strings.xml | 4 ----
app/src/main/res/values-th-rTH/strings.xml | 2 --
app/src/main/res/values-tr/strings.xml | 4 ----
app/src/main/res/values-ug/strings.xml | 4 ----
app/src/main/res/values-uk/strings.xml | 4 ----
app/src/main/res/values-vi/strings.xml | 3 ---
app/src/main/res/values-zh-rCN/strings.xml | 4 ----
app/src/main/res/values-zh-rHK/strings.xml | 4 ----
app/src/main/res/values-zh-rTW/strings.xml | 4 ----
58 files changed, 1 insertion(+), 204 deletions(-)
diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
index b0a1f8e9e701..2a58db69ffcf 100644
--- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
+++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
@@ -440,7 +440,7 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
PreviewTextFragment.setText(headerViewHolder.getHeaderText(), text, null, activity, true, true, viewThemeUtils);
// hide header text if empty (server returns NBSP)
- ViewExtensionsKt.setVisibleIf(headerViewHolder.getHeaderText(), text != null && !text.isBlank() && !text.equals(" "));
+ ViewExtensionsKt.setVisibleIf(headerViewHolder.getHeaderText(), text != null && !text.isBlank() && !" ".equals(text));
ViewExtensionsKt.setVisibleIf(headerBinding.recommendedFilesRecyclerView, shouldShowRecommendedFiles());
ViewExtensionsKt.setVisibleIf(headerBinding.recommendedFilesTitle, shouldShowRecommendedFiles());
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 390ae8642598..823a6164473b 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -299,11 +299,7 @@
التوقيع غير مُطابق
المُساعِد
المزيد
- الملاحظات
- محادثة Talk
المزيد من تطبيقات نكست كلاود
- ملاحظات نيكست كلاود
- تطبيق \"المحادثة\" talk من نكست كلاود
تعذّر التقاط عنوان الإيميل.
عيّنه كَمشفر
يتعذّر استرجاع شهادة الخادوم
diff --git a/app/src/main/res/values-ast/strings.xml b/app/src/main/res/values-ast/strings.xml
index b1354d3e0eae..3f6110234f3c 100644
--- a/app/src/main/res/values-ast/strings.xml
+++ b/app/src/main/res/values-ast/strings.xml
@@ -159,11 +159,7 @@
Nun ye posible ensin la conexón a internet
Asistente
Más
- Notes
- Charra
Más aplicaciones de Nextcloud
- Nextcloud Notes
- Nextcloud Talk
Nun se pue escoyer la direición de corréu electrónicu.
Configurar el cifráu
Descifrando…
diff --git a/app/src/main/res/values-b+en+001/strings.xml b/app/src/main/res/values-b+en+001/strings.xml
index 96fde81ca4b1..12046f724d2a 100644
--- a/app/src/main/res/values-b+en+001/strings.xml
+++ b/app/src/main/res/values-b+en+001/strings.xml
@@ -297,11 +297,7 @@
Signature does not match
Assistant
More
- Notes
- Talk
More Nextcloud Apps
- Nextcloud Notes
- Nextcloud Talk
Failed to pick email address.
Set as encrypted
Unable to retrieve server certificate
diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml
index 6f9cf8d1b34c..37a9de5fee94 100644
--- a/app/src/main/res/values-bg-rBG/strings.xml
+++ b/app/src/main/res/values-bg-rBG/strings.xml
@@ -242,9 +242,6 @@
Автоматично качване
E2E все още няма настройки
Повече
- Бележки
- Разговор
- Nextcloud Бележки
Включване на криптиране
Настройки за криптиране
Декриптиране...
diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml
index 6d5350cd8bfe..8236e3d46757 100644
--- a/app/src/main/res/values-br/strings.xml
+++ b/app/src/main/res/values-br/strings.xml
@@ -273,11 +273,7 @@
Ne c\'hall ket bezañ graet hep kevreadenn genrouedad
Skoazeller
Muioc\'h
- Notennoù
- Komz
Arloadoù Nextcloud all
- Notennoù Nextcloud
- Flap Nextcloud
N\'eus ket bet gallet tapout ar chomlec\'h postel
Merkañ evel sifret
Arventenniñ ar sifradur
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index a46ab7c94727..d3cf81ffec7f 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -295,11 +295,7 @@
La signatura no coincideix
Assistent
Més
- Notes
- Converses
Més aplicacions de Nextcloud
- Notes del Nextcloud
- Nextcloud Talk
No s\'ha pogut triar l\'adreça electrònica.
Activa el xifrat
Arranjament de xifrat
diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml
index d95c986f7e61..958b564cb630 100644
--- a/app/src/main/res/values-cs-rCZ/strings.xml
+++ b/app/src/main/res/values-cs-rCZ/strings.xml
@@ -297,11 +297,7 @@
Signatura se neshoduje
Asistent
Další
- Poznámky
- Talk
Další Nextcloud aplikace
- Nextcloud poznámky
- Nextcloud Talk
Nepodařilo se vybrat e-mailovou adresu.
Nastavit jako šifrované
Nedaří se získat certifikát serveru
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 52870c730f8b..ea84b45d0b71 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -297,11 +297,7 @@
Signaturen matcher ikke
Assistent
Mere
- Noter
- Snak
Flere Nextcloud apps
- Nextcloud noter
- Nextcloud Snak
Kunne ikke plukke e-mailadresse.
Angiv som krypteret
Servercertifikatet kunne ikke hentes
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index df76ecba7328..3e30121cd2a9 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -297,11 +297,7 @@
Signatur stimmt nicht überein
Assistent
Mehr
- Notizen
- Talk
Weitere Nextcloud-Apps
- Nextcloud Notizen
- Nextcloud Talk
E-Mail-Adresse konnte nicht ausgewählt werden.
Als verschlüsselt festlegen
Serverzertifikat kann nicht abgerufen werden
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 60b9c0f1d285..392ca8f23e1d 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -245,11 +245,7 @@
Το Ε2Ε δεν έχει εγκατασταθεί ακόμη
Δεν είναι δυνατό χωρίς σύνδεση στο διαδίκτυο
Περισσότερα
- Σημειώσεις
- Ομιλία
Περισσότερες εφαρμογές Nextcloud
- Nextcloud Σημειώσεις
- Nextcloud Talk
Ορισμός ως κρυπτογραφημένου
Ρύθμιση κρυπτογράφησης
Γίνεται αποκρυπτογράφηση…
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index 46717a116ec8..954f4b5b34e5 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -191,8 +191,6 @@
%1$s el %2$s uzataj
%1$s uzataj
Aŭtomata alŝuto
- Paroli
- Nextcloud Notoj
Difini kiel ĉifrita
Agordi ĉifradon
Malĉifrado...
diff --git a/app/src/main/res/values-es-rAR/strings.xml b/app/src/main/res/values-es-rAR/strings.xml
index 4fea0ad826ad..7550e7a2f0bd 100644
--- a/app/src/main/res/values-es-rAR/strings.xml
+++ b/app/src/main/res/values-es-rAR/strings.xml
@@ -274,11 +274,7 @@
No es posible sin conexión a Internet
Asistente
Más
- Notas
- Hablar
Más apps de Nextcloud
- Notas de Nextcloud
- Nextcloud Talk
No se pudo seleccionar la dirección de correo electrónico.
Establecer como cifrado
Configurar cifrado
diff --git a/app/src/main/res/values-es-rCL/strings.xml b/app/src/main/res/values-es-rCL/strings.xml
index b82ebb7cad7f..7e9eee2d4447 100644
--- a/app/src/main/res/values-es-rCL/strings.xml
+++ b/app/src/main/res/values-es-rCL/strings.xml
@@ -214,7 +214,6 @@
%1$s de %2$s usados
Carga automática
Asistente
- Hablar
Establecer como encriptado
Configurar la encripción
Desencriptando…
diff --git a/app/src/main/res/values-es-rCO/strings.xml b/app/src/main/res/values-es-rCO/strings.xml
index 2953fed84fde..050b175f1cb2 100644
--- a/app/src/main/res/values-es-rCO/strings.xml
+++ b/app/src/main/res/values-es-rCO/strings.xml
@@ -181,8 +181,6 @@
Cerrar sesión
%1$s de %2$s usados
Carga automática
- Notas
- Hablar
Establecer como encriptado
Configurar la encripción
Desencriptando…
diff --git a/app/src/main/res/values-es-rEC/strings.xml b/app/src/main/res/values-es-rEC/strings.xml
index 2d8f0cfb62ab..55dbb41fee4b 100644
--- a/app/src/main/res/values-es-rEC/strings.xml
+++ b/app/src/main/res/values-es-rEC/strings.xml
@@ -243,8 +243,6 @@
Carga automática
E2E Encriptación de extremo a extremo aún no configurada
No es posible sin conexión a Internet
- Hablar
- Nextcloud Notes
Establecer como encriptado
Configurar la encripción
Desencriptando…
diff --git a/app/src/main/res/values-es-rMX/strings.xml b/app/src/main/res/values-es-rMX/strings.xml
index 60b3b00cc09b..04b1b1b2c3f6 100644
--- a/app/src/main/res/values-es-rMX/strings.xml
+++ b/app/src/main/res/values-es-rMX/strings.xml
@@ -274,11 +274,7 @@
No es posible sin conexión a internet
Asistente
Más
- Notas
- Hablar
Más aplicaciones de Nextcloud
- Notas de Nextcloud
- Nextcloud Talk
No se pudo seleccionar la dirección de correo electrónico.
Establecer como encriptado
Configurar la encripción
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 7ab93bc89859..5812b24465f6 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -296,11 +296,7 @@
La firma no coincide
Asistente
Más
- Notas
- Talk
Más apps de Nextcloud
- Nextcloud Notas
- Nextcloud Talk
Fallo al seleccionar dirección de correo.
Establecer como cifrado
Configurar cifrado
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index e5ecec2482c8..f800ac8d3ca9 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -294,11 +294,7 @@
Sinadura ez dator bat
Morroia
Gehiago
- Oharrak
- Hizketaldia
Nextcloud aplikazio gehiago
- Nextcloud Oharrak
- Nextcloud Talk
Ezin izan da helbide elektronikoa hautatu.
Ezarri zifratu gisa
Konfiguratu zifratzea
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index 7e7d22f0da34..6bd62ed8d29b 100644
--- a/app/src/main/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
@@ -254,11 +254,7 @@
E2E هنوز راه اندازی نشده است.
بدون اتصال به اینترنت امکان پذیر نیست.
بیشتر
- یادداشتها
- گفتگو
More Nextcloud Apps
- یادداشتهای نکست کلود
- Nextcloud Talk
خطا در گرفتن نشانی رایانامه
به صورت رمزگذاری شده تنظیم شده است
رمزگذاری را تنظیم کنید
diff --git a/app/src/main/res/values-fi-rFI/strings.xml b/app/src/main/res/values-fi-rFI/strings.xml
index 00fc8842778a..11d83d813ed7 100644
--- a/app/src/main/res/values-fi-rFI/strings.xml
+++ b/app/src/main/res/values-fi-rFI/strings.xml
@@ -267,11 +267,7 @@
Laskuri on liian vanha
Avustaja
Lisää
- Muistiinpanot
- Talk
Lisää Nextcloud-sovelluksia
- Nextcloud Notes
- Nextcloud Talk
Sähköpostiosoitteen valinta epäonnistui.
Salaa
Aseta salaus
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 074dbf041003..e1c633b962e1 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -297,11 +297,7 @@
La signature ne correspond pas
Assistant
Plus
- Notes
- Discussion
Plus d\'applications Nextcloud
- Nextcloud Notes
- Nextcloud Talk
Le choix de l\'adresse e-mail a échoué.
Définir comme chiffré
Configurer le chiffrement
diff --git a/app/src/main/res/values-ga/strings.xml b/app/src/main/res/values-ga/strings.xml
index 947902382300..bebd62c367b1 100644
--- a/app/src/main/res/values-ga/strings.xml
+++ b/app/src/main/res/values-ga/strings.xml
@@ -297,11 +297,7 @@
Ní hionann an síniú
Cúntóir
Tuilleadh
- Nótaí
- Caint
Tuilleadh aipeanna Nextcloud
- Nótaí Nextcloud
- Caint Nextcloud
Theip ar an seoladh ríomhphoist a phiocadh.
Socraigh mar criptithe
Ní féidir teastas an fhreastalaí a fháil
diff --git a/app/src/main/res/values-gd/strings.xml b/app/src/main/res/values-gd/strings.xml
index f4ecdff7d1a1..e8b5eac35c7a 100644
--- a/app/src/main/res/values-gd/strings.xml
+++ b/app/src/main/res/values-gd/strings.xml
@@ -205,8 +205,6 @@
Tha %1$s ’ga chleachdadh
Luchdaich suas gu fèin-obrachail
Barrachd
- Nòtaichean
- Nòtaichean Nextcloud
Suidhich crioptachadh air
Suidhich an crioptachadh
’Ga dhì-chrioptachadh…
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 5efd4bd17edf..41b097be6fc7 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -297,11 +297,7 @@
A sinatura non coincide
Asistente
Máis
- Notas
- Parladoiro
Máis aplicacións de Nextcloud
- Notas de Nextcloud
- Parladoiro de Nextcloud
Produciuse un fallo ao escoller o enderezo de correo.
Definir como cifrado
Non é posíbel recuperar o certificado de servidor
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 9446f2a65776..7161ea987bd2 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -227,9 +227,6 @@
Upotrijebljeno %1$s
Automatsko otpremanje
Više
- Bilješke
- Razgovor
- Nextcloud Notes
Postavi kao šifrirano
Postavi šifriranje
Dešifriranje u tijeku...
diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml
index f56ba4c307cb..d030cf8bc335 100644
--- a/app/src/main/res/values-hu-rHU/strings.xml
+++ b/app/src/main/res/values-hu-rHU/strings.xml
@@ -296,11 +296,7 @@
Az aláírás nem egyezik
Asszisztens
Továbbiak
- Jegyzetek
- Beszélgetés
További nextcloudos alkalmazások
- Nextcloud Jegyzetek
- Nextcloud Beszélgetés
Az e-mail-cím kiválasztása sikertelen.
Titkosítás bekapcsolása
A kiszolgáló tanúsítványa nem kérhető le
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index eae873cc9ce4..4d0b32e23584 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -264,10 +264,7 @@ Otomatis unggah hanya bekerja dengan baik apabila Anda mengeluarkan aplikasi ini
Tidak bisa dilakukan tanpa koneksi internet
Asisten
Lainnya
- Catatan
- Talk
Aplikasi Nextcloud Lainnya
- Catatan Nextcloud
Gagal memilih alamat surel.
Atur sebagai terenkripsi
Buat enkripsi
diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml
index 548c63a84516..478f66fbac14 100644
--- a/app/src/main/res/values-is/strings.xml
+++ b/app/src/main/res/values-is/strings.xml
@@ -297,11 +297,7 @@
Undirritanir samsvara ekki
Meðhjálpari
Meira
- Minnispunktar
- Spjalla
Fleiri Nextcloud-forrit
- Nextcloud-minnispunktar
- Nextcloud Talk
Mistókst að velja tölvupóstfang.
Setja sem dulritað
Tókst ekki að ná í skilríki þjónsins
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 2f4b81f2e7f7..1b912288c0ce 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -292,11 +292,7 @@
La firma non corrisponde
Assistente
Altro
- Note
- Talk
Altre applicazioni di Nextcloud
- Nextcloud Note
- Nextcloud Talk
Impossibile scegliere l\'indirizzo di posta.
Imposta come cifrato
Configura la cifratura
diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml
index 9b590308e087..e5d1545e0116 100644
--- a/app/src/main/res/values-iw/strings.xml
+++ b/app/src/main/res/values-iw/strings.xml
@@ -225,9 +225,6 @@
%1$s בשימוש
העלאה אוטומטית
יותר
- פתקים
- שיחה
- פתקים של Nextcloud
הגדרה כמוצפן
הגדרת הצפנה
מתבצע פענוח…
diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml
index dbd46777a491..8bf55b749179 100644
--- a/app/src/main/res/values-ja-rJP/strings.xml
+++ b/app/src/main/res/values-ja-rJP/strings.xml
@@ -291,11 +291,7 @@
署名が一致しません
アシスタント
さらに表示
- ノート
- トーク
もっと Nextcloud アプリを見る
- Nextcloud ノート
- Nextcloud Talk
メールアドレスの選択に失敗しました。
暗号化設定
暗号化を設定する
diff --git a/app/src/main/res/values-ka/strings.xml b/app/src/main/res/values-ka/strings.xml
index a7304b30fe4f..001126d53b26 100644
--- a/app/src/main/res/values-ka/strings.xml
+++ b/app/src/main/res/values-ka/strings.xml
@@ -243,11 +243,7 @@
E2E not yet setup
Not possible without internet connection
More
- Notes
- Talk
More Nextcloud Apps
- Nextcloud Notes
- Nextcloud Talk
Failed to pick email address.
Set as encrypted
Set up encryption
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index 1a6e82741232..d0899ef183c6 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -297,11 +297,7 @@
서명이 일치하지 않습니다
어시스턴트
더 보기
- 메모
- 토크
더 많은 Nextcloud 앱
- Nextcloud 메모
- Nextcloud Talk
이메일 주소 고르기에 실패함
암호화하도록 설정
암호화 설정
diff --git a/app/src/main/res/values-lt-rLT/strings.xml b/app/src/main/res/values-lt-rLT/strings.xml
index c15f39f298b8..d8326c9957ba 100644
--- a/app/src/main/res/values-lt-rLT/strings.xml
+++ b/app/src/main/res/values-lt-rLT/strings.xml
@@ -255,10 +255,7 @@
Neįmanoma, kai nėra interneto ryšio
Parašas nesutampa
Daugiau
- Užrašai
- Kalba
Daugiau Nextcloud programėlių
- Nextcloud užrašai
Nepavyko pasirinkti el. pašto adreso.
Nustatyti kaip šifruotą
Nustatyti šifravimą
diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml
index c77df75a6bc6..37510c55ef2a 100644
--- a/app/src/main/res/values-lv/strings.xml
+++ b/app/src/main/res/values-lv/strings.xml
@@ -199,9 +199,6 @@
%1$s izmantoti
Automātiska augšupielāde
Vairāk
- Piezīmes
- Runāt
- Nextcloud piezīmes
Uzstādīt kā šifrētu
Uzstādīt šifrēšanu
Atšifrē…
diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml
index fd9e6a68413d..9a1575ec6b8c 100644
--- a/app/src/main/res/values-mk/strings.xml
+++ b/app/src/main/res/values-mk/strings.xml
@@ -220,8 +220,6 @@
искористено %1$s од %2$s
искористено %1$s
Автоматско прикачување
- Разговор
- Talk
Постави како енкриптирано
Постави енкрипција
Дешифрирање…
diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml
index 9b0c72ac69f8..3e4ac28fafbe 100644
--- a/app/src/main/res/values-nb-rNO/strings.xml
+++ b/app/src/main/res/values-nb-rNO/strings.xml
@@ -287,11 +287,7 @@
Signatur samsvarer ikke
Assistent
Mer
- Notater
- Samtale
Flere Nextcloud apper
- Nextcloud Notater
- Nextcloud Talk
Kunne ikke velge e-postadresse.
Sett som kryptert
Sett opp kryptering
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 5a19b339cf7f..e3d369c67d08 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -292,11 +292,7 @@
Handtekening komt niet overeen
Assistent
Meer
- Notities
- Talk
Meer Nextcloud Apps
- Nextcloud Notities
- Nextcloud Talk
Email adres ophalen mislukt.
Instellen als versleuteld
Instellen versleuteling
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index b74ff24b0631..7488f97c48ea 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -297,11 +297,7 @@
Podpis nie pasuje
Asystent
Więcej
- Notatki
- Talk
Więcej aplikacji Nextcloud
- Nextcloud Notes
- Nextcloud Talk
Nie udało się wybrać adresu e-mail.
Ustaw jako zaszyfrowane
Nie można pobrać certyfikatu serwera
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index bbaaea1f1b77..6b1013a053e7 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -293,11 +293,7 @@
A assinatura não corresponde
Assistente
Mais
- Notas
- Talk
Mais aplicativos Nextcloud
- Notas Nextcloud
- Nextcloud Talk
Falha ao escolher o endereço de e-mail.
Definir como criptografado
Definir criptografia
diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml
index c380dd786bb3..c1aa47ff69e4 100644
--- a/app/src/main/res/values-pt-rPT/strings.xml
+++ b/app/src/main/res/values-pt-rPT/strings.xml
@@ -241,11 +241,7 @@
Carregamento automático
Não é possível sem uma ligação à Internet
Mais
- Notas
- Falar
Mais Aplicações Nextcloud
- Nextcloud Notes
- Nextcloud Talk
Definir como encriptado
Definir encriptação
Decryption…
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 829814eb22f9..3ef82de43d8d 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -296,11 +296,7 @@
Semnătura nu se potrivește
Asistent
Mai mult
- Notițe
- Discuție
Mai multe aplicații Nextcloud
- Notițe Nextcloud
- Nextcloud Talk
Nu s-a putut alege adresa de e-mail.
Setați drept criptat
Setează criptarea
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 5fd0b9a8f6b4..8c23f52ae11f 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -297,11 +297,7 @@
Подпись не совпадает
Помощник
Больше
- Заметки
- Конференции
Больше приложений для Nextcloud
- Заметки для Nextcloud
- Конференции для Nextcloud
Невозможно выбрать адрес электронной почты.
Зашифровать
Не удается получить сертификат сервера
diff --git a/app/src/main/res/values-sc/strings.xml b/app/src/main/res/values-sc/strings.xml
index ee07c7cab921..8fa8d7b070f3 100644
--- a/app/src/main/res/values-sc/strings.xml
+++ b/app/src/main/res/values-sc/strings.xml
@@ -223,9 +223,6 @@
%1$s impreadu
Carrigamentu automàticu
Prus
- Notas
- Faedda
- Notas de Nextcloud
Cunfigura comente tzifradu
Cunfigura critografia
Decritografende…
diff --git a/app/src/main/res/values-sk-rSK/strings.xml b/app/src/main/res/values-sk-rSK/strings.xml
index 3b08fd3e7c9e..dfda24457eeb 100644
--- a/app/src/main/res/values-sk-rSK/strings.xml
+++ b/app/src/main/res/values-sk-rSK/strings.xml
@@ -297,11 +297,7 @@
Podpis nesúhlasí
Asistent
Viac
- Poznámky
- Talk /Rozhovor/
Ďalšie Nextcloud aplikácie
- Nextcloud poznámky
- Nextcloud Talk /Rozhovor/
Nepodarilo sa vybrať e-mailovú adresu.
Nastaviť ako zašifrované
Nepodarilo sa získať certifikát servera
diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml
index 8b0e7b6be775..ff223fc74af3 100644
--- a/app/src/main/res/values-sl/strings.xml
+++ b/app/src/main/res/values-sl/strings.xml
@@ -247,11 +247,7 @@
Celovito šifriranje E2E ni še nastavljeno.
Opravila ni mogoče izvesti brez vzpostavljene internetne povezave
Več
- Beležke
- Pogovor Talk
Več programov Nexcloud
- Nextcloud Beležke
- Nextcloud Talk
Elektronskega naslova ni mogoče izbrati.
Nastavi kot šifrirano
Nastavitev šifriranja
diff --git a/app/src/main/res/values-sr-rSP/strings.xml b/app/src/main/res/values-sr-rSP/strings.xml
index ef56b8ee48ed..37fe67a03386 100644
--- a/app/src/main/res/values-sr-rSP/strings.xml
+++ b/app/src/main/res/values-sr-rSP/strings.xml
@@ -198,8 +198,6 @@
%1$s iskorišćeno
Automatska otpremanja
Ostalo
- Beleške
- Nekstklaud Beleške
Postavi kao šifrovano
Podesite šifrovanje
Dešifrujem…
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index 046cf406e24d..d7f09420ef30 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -297,11 +297,7 @@
Потпис се не подудара
Асистент
Више
- Белешке
- Разговор
Још Nextcloud апликација
- Некстклауд Белешке
- Nextcloud Talk
Није успело бирање и-мејл адресе.
Постави као шифровано
Серверски сертификат није могао да се преузме
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 8421c5389db1..b8622a77a620 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -297,11 +297,7 @@
Signaturen matchar inte
Assistent
Mer
- Anteckning
- Talk
Fler Nextcloud-appar
- Nextcloud anteckningar
- Nextcloud Talk
Det gick inte att välja e-postadress.
Sätt som krypterad
Kunde inte hämta servercertifikatet
diff --git a/app/src/main/res/values-th-rTH/strings.xml b/app/src/main/res/values-th-rTH/strings.xml
index 93752f078e2f..f6540ea080c0 100644
--- a/app/src/main/res/values-th-rTH/strings.xml
+++ b/app/src/main/res/values-th-rTH/strings.xml
@@ -235,9 +235,7 @@
อัปโหลดอัตโนมัติ
ใช้โดยไม่มีการเชื่อมต่ออินเทอร์เน็ตไม่ได้
เพิ่มเติม
- โน้ต
แอพ Nextcloud เพิ่มเติม
- Nextcloud โน้ต
กำลังถอดรหัส…
ปิด
โฟลเดอร์นี้ไม่ว่าง
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 0132de42438f..fb2ca1d7844e 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -297,11 +297,7 @@
İmza eşleşmiyor
Yardımcı
Diğer
- Notlar
- Konuş
Diğer Nextcloud uygulamaları
- Nextcloud Notlar
- Nextcloud Sohbet
E-posta adresi alınamadı.
Şifrelensin
Şifreleme kurulumu
diff --git a/app/src/main/res/values-ug/strings.xml b/app/src/main/res/values-ug/strings.xml
index d6494e23f98f..3d205ef2c33e 100644
--- a/app/src/main/res/values-ug/strings.xml
+++ b/app/src/main/res/values-ug/strings.xml
@@ -282,11 +282,7 @@
ئىمزا ماس كەلمەيدۇ
ياردەمچى
تېخىمۇ كۆپ
- ئىزاھات
- پاراڭ
تېخىمۇ كۆپ Nextcloud ئەپلىرى
- Nextcloud Notes
- Nextcloud Talk
ئېلېكترونلۇق خەت ئادرېسىنى تاللىيالمىدى.
شىفىرلانغان قىلىپ تەڭشەڭ
مەخپىيلەشتۈرۈشنى تەڭشەڭ
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 66a9b4d41d40..e35c3c3d0c3b 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -297,11 +297,7 @@
Підпис не збігається
Помічник
Більше
- Нотатки
- Розмови
Більше застосунків Nextcloud
- Нотатки для Nextcloud
- Розмови Nextcloud
Не вдалося вибрати ел. адресу.
Позначити як зашифроване
Неможливо отримати сертифікат сервера
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index 0c4de6bc8392..db82064cc2d6 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -232,9 +232,6 @@
Tự động tải lên
E2E chưa được thiết lập
Thêm
- Ghi chú
- Nói chuyện
- Nextcloud Ghi chú
Đặt mã hóa
Thiết lập mã hóa
Đang giải mã…
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 7e5e1323e04f..2be056e86a45 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -297,11 +297,7 @@
签名不匹配
助手
更多
- 笔记
- 通话
更多 Nextcloud 应用
- Nextcloud 笔记
- Nextcloud 通话
未能选择电子邮箱地址
设置为加密
无法检索服务器证书
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 055f042862e7..4d373614f15e 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -297,11 +297,7 @@
簽名不相符
助手
更多
- 備註
- 講座
更多 Nextcloud 應用程式
- Nextcloud 筆記
- Nextcloud Talk
無法挑選電郵地址。
設為已加密的
無法擷取伺服器證書
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 7818fb64b9ab..35f42b17bbf5 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -297,11 +297,7 @@
簽章不相符
助理
更多
- Notes
- Talk
更多 Nextcloud 應用程式
- Nextcloud Notes
- Nextcloud Talk
挑選電子郵件地址失敗。
設為已加密
無法擷取伺服器憑證
From 0c606f92096cea0e939b69e081e888da520a16b7 Mon Sep 17 00:00:00 2001
From: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Date: Tue, 11 Feb 2025 11:47:13 +0100
Subject: [PATCH 06/11] Update library version
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
build.gradle | 2 +-
gradle/verification-metadata.xml | 45 ++++++++++++++++++++++++++++++++
2 files changed, 46 insertions(+), 1 deletion(-)
diff --git a/build.gradle b/build.gradle
index c28735b601b8..222bc193d103 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@
*/
buildscript {
ext {
- androidLibraryVersion ="6c9ee03afbb9f6f7ff108ccf153e135f354bada4"
+ androidLibraryVersion ="d0d39ae9d5f4d66dedb4308f2e4821c37a60575b"
androidPluginVersion = '8.8.1'
androidxMediaVersion = '1.5.1'
androidxTestVersion = "1.6.1"
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index af2402611e96..df1b17d5f1e5 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -10077,6 +10077,14 @@
+
+
+
+
+
+
+
+
@@ -10205,6 +10213,14 @@
+
+
+
+
+
+
+
+
@@ -11115,6 +11131,14 @@
+
+
+
+
+
+
+
+
@@ -11162,6 +11186,11 @@
+
+
+
+
+
@@ -17599,6 +17628,14 @@
+
+
+
+
+
+
+
+
@@ -17711,6 +17748,14 @@
+
+
+
+
+
+
+
+
From a74d600cd3a7d6d28bd3c67c83e8070fadd14c96 Mon Sep 17 00:00:00 2001
From: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Date: Fri, 14 Feb 2025 09:11:21 +0100
Subject: [PATCH 07/11] Place open in notes button in card view
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
.../android/ui/adapter/OCFileListAdapter.java | 2 +
.../theme/FilesSpecificViewThemeUtils.kt | 17 ++++
.../main/res/layout/list_header_open_in.xml | 80 +++++++++++--------
3 files changed, 64 insertions(+), 35 deletions(-)
diff --git a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
index 2a58db69ffcf..df6c6bfef1f7 100644
--- a/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
+++ b/app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java
@@ -461,6 +461,8 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
if (shouldShowOpenInNotes()) {
final var listHeaderOpenInBinding = headerBinding.openIn;
+ viewThemeUtils.files.themeFilledCardView(listHeaderOpenInBinding.infoCard);
+
listHeaderOpenInBinding.infoText.setText(String.format(activity.getString(R.string.folder_best_viewed_in),
activity.getString(R.string.ecosystem_apps_notes)));
diff --git a/app/src/main/java/com/owncloud/android/utils/theme/FilesSpecificViewThemeUtils.kt b/app/src/main/java/com/owncloud/android/utils/theme/FilesSpecificViewThemeUtils.kt
index 41f13b37156f..6f0b5f728753 100644
--- a/app/src/main/java/com/owncloud/android/utils/theme/FilesSpecificViewThemeUtils.kt
+++ b/app/src/main/java/com/owncloud/android/utils/theme/FilesSpecificViewThemeUtils.kt
@@ -220,6 +220,23 @@ class FilesSpecificViewThemeUtils @Inject constructor(
}
}
+ fun themeFilledCardView(cardView: MaterialCardView) {
+ withScheme(cardView) { scheme ->
+ val background = cardView.context.getColor(R.color.grey_200)
+ cardView.backgroundTintList =
+ ColorStateList(
+ arrayOf(
+ intArrayOf(android.R.attr.state_checked),
+ intArrayOf(-android.R.attr.state_checked)
+ ),
+ intArrayOf(
+ scheme.secondaryContainer,
+ background
+ )
+ )
+ }
+ }
+
fun themeAvatarButton(shareImageView: ImageView) {
withScheme(shareImageView.context) { scheme ->
shareImageView.background.setColorFilter(scheme.primary, PorterDuff.Mode.SRC_IN)
diff --git a/app/src/main/res/layout/list_header_open_in.xml b/app/src/main/res/layout/list_header_open_in.xml
index ad7f3f2ac7f7..2ed44dbdab1b 100644
--- a/app/src/main/res/layout/list_header_open_in.xml
+++ b/app/src/main/res/layout/list_header_open_in.xml
@@ -6,53 +6,63 @@
~ SPDX-License-Identifier: AGPL-3.0-or-later
-->
-
+ android:layout_height="wrap_content"
+ android:backgroundTint="@color/bg_default"
+ android:id="@+id/infoCard">
-
+ android:layout_margin="@dimen/standard_half_margin">
-
+ android:orientation="horizontal">
+
+
+
+
+
+
-
+ tools:text="Open in Notes" />
-
+
-
+
-
-
-
\ No newline at end of file
+
From a6e9586896f64bab65fed7528452488f151770ca Mon Sep 17 00:00:00 2001
From: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Date: Tue, 18 Feb 2025 13:41:46 +0100
Subject: [PATCH 08/11] Use material text button
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
app/src/main/res/layout/list_header_open_in.xml | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/app/src/main/res/layout/list_header_open_in.xml b/app/src/main/res/layout/list_header_open_in.xml
index 2ed44dbdab1b..74b907b40888 100644
--- a/app/src/main/res/layout/list_header_open_in.xml
+++ b/app/src/main/res/layout/list_header_open_in.xml
@@ -9,11 +9,11 @@
+ android:backgroundTint="@color/bg_default">
-
Date: Wed, 19 Feb 2025 09:23:04 +0100
Subject: [PATCH 09/11] Update library version
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
build.gradle | 2 +-
gradle/verification-metadata.xml | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/build.gradle b/build.gradle
index 222bc193d103..43b1ba988ae8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@
*/
buildscript {
ext {
- androidLibraryVersion ="d0d39ae9d5f4d66dedb4308f2e4821c37a60575b"
+ androidLibraryVersion ="2c729147e16c6a79e28bf711c2366a8f438bb490"
androidPluginVersion = '8.8.1'
androidxMediaVersion = '1.5.1'
androidxTestVersion = "1.6.1"
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index df1b17d5f1e5..5a8d3fa8fdf1 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -9925,6 +9925,14 @@
+
+
+
+
+
+
+
+
From 832039854e074548093467cf43da973d3c603a3e Mon Sep 17 00:00:00 2001
From: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Date: Mon, 24 Feb 2025 09:06:40 +0100
Subject: [PATCH 10/11] Update library version
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
build.gradle | 2 +-
gradle/verification-metadata.xml | 70 +++++++-------------------------
2 files changed, 16 insertions(+), 56 deletions(-)
diff --git a/build.gradle b/build.gradle
index 43b1ba988ae8..2a14a36bab22 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@
*/
buildscript {
ext {
- androidLibraryVersion ="2c729147e16c6a79e28bf711c2366a8f438bb490"
+ androidLibraryVersion ="4a8c04815faa818380e019a227e2d80df86ef187"
androidPluginVersion = '8.8.1'
androidxMediaVersion = '1.5.1'
androidxTestVersion = "1.6.1"
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 5a8d3fa8fdf1..acbb999b7795 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -8,6 +8,11 @@
+
+
+
+
+
@@ -9925,14 +9930,6 @@
-
-
-
-
-
-
-
-
@@ -9989,6 +9986,14 @@
+
+
+
+
+
+
+
+
@@ -10085,14 +10090,6 @@
-
-
-
-
-
-
-
-
@@ -10221,14 +10218,6 @@
-
-
-
-
-
-
-
-
@@ -11139,14 +11128,6 @@
-
-
-
-
-
-
-
-
@@ -11194,11 +11175,6 @@
-
-
-
-
-
@@ -12765,10 +12741,10 @@
-
+
-
+
@@ -17636,14 +17612,6 @@
-
-
-
-
-
-
-
-
@@ -17756,14 +17724,6 @@
-
-
-
-
-
-
-
-
From a76859c8c6fe051ceaa8884ece619f882c1c7b40 Mon Sep 17 00:00:00 2001
From: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
Date: Wed, 26 Feb 2025 09:41:54 +0100
Subject: [PATCH 11/11] Set is_beta back to false
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
---
app/src/main/res/values/setup.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/src/main/res/values/setup.xml b/app/src/main/res/values/setup.xml
index caf88b3f297b..afed2dafe23a 100644
--- a/app/src/main/res/values/setup.xml
+++ b/app/src/main/res/values/setup.xml
@@ -7,7 +7,7 @@
-->
- true
+ false
false