Skip to content

Commit 700de13

Browse files
Merge branch 'master' into fix/e2ee-verify-metadata
Signed-off-by: Alper Öztürk <67455295+alperozturk96@users.noreply.github.com>
2 parents 9fdd880 + a23d55c commit 700de13

70 files changed

Lines changed: 467 additions & 51 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:noble@sha256:c4a8d5503dfb2a3eb8ab5f807da5bc69a85730fb49b5cfca2330194ebcc41c7b
1+
FROM ubuntu:resolute@sha256:5e275723f82c67e387ba9e3c24baa0abdcb268917f276a0561c97bef9450d0b4
22

33
ARG DEBIAN_FRONTEND=noninteractive
44
ENV ANDROID_HOME=/usr/lib/android-sdk

Gemfile.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ GEM
88
artifactory (3.0.17)
99
atomos (0.1.3)
1010
aws-eventstream (1.4.0)
11-
aws-partitions (1.1240.0)
12-
aws-sdk-core (3.245.0)
11+
aws-partitions (1.1241.0)
12+
aws-sdk-core (3.246.0)
1313
aws-eventstream (~> 1, >= 1.3.0)
1414
aws-partitions (~> 1, >= 1.992.0)
1515
aws-sigv4 (~> 1.9)
@@ -20,7 +20,7 @@ GEM
2020
aws-sdk-kms (1.123.0)
2121
aws-sdk-core (~> 3, >= 3.244.0)
2222
aws-sigv4 (~> 1.5)
23-
aws-sdk-s3 (1.219.0)
23+
aws-sdk-s3 (1.220.0)
2424
aws-sdk-core (~> 3, >= 3.244.0)
2525
aws-sdk-kms (~> 1)
2626
aws-sigv4 (~> 1.5)

app/build.gradle.kts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,13 @@ val ncTestServerPassword = configProps["NC_TEST_SERVER_PASSWORD"]
8181
val ncTestServerBaseUrl = configProps["NC_TEST_SERVER_BASEURL"]
8282

8383
android {
84+
// install this NDK version and CMake to produce smaller APKs. Build will still work if not installed
8485
ndkVersion = "${ndkEnv["NDK_VERSION"]}"
86+
externalNativeBuild {
87+
cmake {
88+
version = "${ndkEnv["CMAKE_VERSION"]}"
89+
}
90+
}
8591

8692
namespace = "com.owncloud.android"
8793
testNamespace = "${namespace}.test"
@@ -100,6 +106,10 @@ android {
100106
targetSdk = 36
101107
compileSdk = 36
102108

109+
ndk {
110+
abiFilters += listOf("arm64-v8a", "x86_64", "x86")
111+
}
112+
103113
buildConfigField("boolean", "CI", ciBuild.toString())
104114
buildConfigField("boolean", "RUNTIME_PERF_ANALYSIS", perfAnalysis.toString())
105115

app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -865,7 +865,12 @@ private void setupFileNameInputField() {
865865
if (mStreamsToUpload == null || mStreamsToUpload.size() != 1) {
866866
return;
867867
}
868-
final String fileName = getDisplayNameForUri((Uri) mStreamsToUpload.get(0), getActivity());
868+
869+
if (!(mStreamsToUpload.get(0) instanceof Uri source)) {
870+
return;
871+
}
872+
873+
final String fileName = getDisplayNameForUri(source, getActivity());
869874
if (fileName == null) {
870875
return;
871876
}

app/src/main/java/com/owncloud/android/ui/adapter/helper/OCFileListAdapterHelper.kt

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -118,28 +118,27 @@ class OCFileListAdapterHelper {
118118

119119
@Suppress("NestedBlockDepth")
120120
private fun mergeOCFilesForLivePhoto(files: List<OCFile>): List<OCFile> {
121+
val localIdMap: Map<String, OCFile> = files
122+
.filter { it.localId != 0L && it.localId != -1L }
123+
.associateBy { it.localId.toString() }
124+
121125
val filesToRemove = mutableSetOf<OCFile>()
122126

123-
for (i in files.indices) {
124-
val file = files[i]
125-
126-
for (j in i + 1 until files.size) {
127-
val nextFile = files[j]
128-
val fileLocalId = file.localId.toString()
129-
val nextFileLinkedLocalId = nextFile.linkedFileIdForLivePhoto
130-
131-
if (fileLocalId == nextFileLinkedLocalId) {
132-
when {
133-
MimeTypeUtil.isVideo(file.mimeType) -> {
134-
nextFile.livePhotoVideo = file
135-
filesToRemove.add(file)
136-
}
137-
138-
MimeTypeUtil.isVideo(nextFile.mimeType) -> {
139-
file.livePhotoVideo = nextFile
140-
filesToRemove.add(nextFile)
141-
}
142-
}
127+
for (file in files) {
128+
val linkedId = file.linkedFileIdForLivePhoto ?: continue
129+
130+
// no match, skip
131+
val linkedFile = localIdMap[linkedId] ?: continue
132+
133+
when {
134+
MimeTypeUtil.isVideo(linkedFile.mimeType) -> {
135+
file.livePhotoVideo = linkedFile
136+
filesToRemove.add(linkedFile)
137+
}
138+
139+
MimeTypeUtil.isVideo(file.mimeType) -> {
140+
linkedFile.livePhotoVideo = file
141+
filesToRemove.add(file)
143142
}
144143
}
145144
}

app/src/main/java/com/owncloud/android/ui/helpers/UriUploader.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,12 @@ class UriUploader @JvmOverloads constructor(
7676
code = UriUploaderResultCode.ERROR_SENSITIVE_PATH
7777
} else {
7878
val uris = mUrisToUpload
79-
.filterNotNull()
80-
.map { it as Uri }
81-
.map { Pair(it, getRemotePathForUri(it)) }
79+
.mapNotNull { (it as? Uri)?.let { sourceUri -> Pair(sourceUri, getRemotePathForUri(sourceUri)) } }
8280

8381
val fileUris = uris.filter { it.first.scheme == ContentResolver.SCHEME_FILE }
8482
if (fileUris.isNotEmpty()) {
85-
val localPaths = Array<String>(fileUris.size) { "" }
86-
val remotePaths = Array<String>(fileUris.size) { "" }
83+
val localPaths = Array(fileUris.size) { "" }
84+
val remotePaths = Array(fileUris.size) { "" }
8785

8886
for (i in 0..<fileUris.size) {
8987
val uri = fileUris[i]

app/src/main/res/values-ar/strings.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,7 @@
227227
<string name="create_new_presentation">عرض تقديمي جديد</string>
228228
<string name="create_new_spreadsheet">جدول بيانات جديد</string>
229229
<string name="create_rich_workspace">إضافة وصف للمجلد</string>
230+
<string name="creates_rich_workspace">إضافة وصف للمجلد</string>
230231
<string name="credentials_disabled">التصريح غير مفعل</string>
231232
<string name="daily_backup">النسخ الاحتياطي اليومي</string>
232233
<string name="data_to_back_up">البيانات التي سيتم نسخها احتياطيا</string>
@@ -285,6 +286,7 @@
285286
<string name="drawer_item_notifications">الإخطارات</string>
286287
<string name="drawer_item_on_device">على الجهاز</string>
287288
<string name="drawer_item_personal_files">ملفات شخصية</string>
289+
<string name="drawer_item_recently_modified">تغيرت مؤخراً</string>
288290
<string name="drawer_item_shared">المشاركات</string>
289291
<string name="drawer_item_trashbin">الملفات المحذوفة</string>
290292
<string name="drawer_item_uploads_list">التحميلات</string>
@@ -395,6 +397,7 @@
395397
<string name="file_list_empty_on_device">الملفات والمجلدات التي تم تنزيلها سوف تظهر هنا.</string>
396398
<string name="file_list_empty_recent_files_description">الملفات و المجلدات التي تمّ تعديلها مؤخراً ستظهر هنا.</string>
397399
<string name="file_list_empty_recent_files_headline">لا توجد أي ملفات تمّ تعديلها مؤخراً</string>
400+
<string name="file_list_empty_recently_modified">لا يوجد ملفات معدلة خلال 7 أيام ماضية</string>
398401
<string name="file_list_empty_search">ربما كنت تنوي البحث داخل مجلد آخر ؟</string>
399402
<string name="file_list_empty_shared">الملفات والمجلدات التي تم مشاركتها سوف تظهر هنا.</string>
400403
<string name="file_list_empty_shared_headline">لم تقم بمشاركة أية بيانات بعد</string>
@@ -779,6 +782,7 @@
779782
<string name="select_template">حدد قالب</string>
780783
<string name="send">إرسال</string>
781784
<string name="send_share">أرسِل المشاركة</string>
785+
<string name="sendbutton_description">أيقونة زر الإرسال</string>
782786
<string name="set_as">حفظ كـ</string>
783787
<string name="set_note">عيِّن الملاحظة</string>
784788
<string name="set_online_status">حالة الاتصال</string>
@@ -813,6 +817,7 @@
813817
<string name="share_not_allowed_when_file_drop">إعادة المشاركة غير مسموح بها خلال الإفلات الآمن للملف</string>
814818
<string name="share_permission_can_edit">يمكن تعديله</string>
815819
<string name="share_permission_file_request">طلب الملف</string>
820+
<string name="share_permission_secure_file_drop">إسقاط آمن للملف</string>
816821
<string name="share_permission_view_only">للعرض فقط</string>
817822
<string name="share_permissions">أذونات المشاركة</string>
818823
<string name="share_re_share_permission">مُشارَكة</string>
@@ -1007,6 +1012,7 @@
10071012
<string name="upload_query_move_foreign_files">يمنع وجود مساحة غير كافية نسخ الملفات المحددة إلى المجلد %1$s. هل ترغب في نقلهم إلى هناك بدلاً من ذلك؟</string>
10081013
<string name="upload_quota_exceeded">الحصة التخزينية تمّ استنفاذها</string>
10091014
<string name="upload_scan_doc_upload">مسح مستند عبر الكاميرا</string>
1015+
<string name="upload_sync_conflict">تعارض المزامنة ، يرجى حلها يدويًا</string>
10101016
<string name="upload_unknown_error">خطأ غير معروف</string>
10111017
<string name="uploader_btn_alternative_text">إختر</string>
10121018
<string name="uploader_btn_upload_text">رفع</string>
@@ -1054,6 +1060,7 @@
10541060
<string name="uploads_view_upload_status_failed_localfile_error">لم يتم العثور على الملف المحلّي</string>
10551061
<string name="uploads_view_upload_status_failed_permission_error">خطأ في الإذن</string>
10561062
<string name="uploads_view_upload_status_failed_ssl_certificate_not_trusted">شهادة خادم غير موثوق بها</string>
1063+
<string name="uploads_view_upload_status_fetching_server_version">جارٍ جلب إصدار الخادم…</string>
10571064
<string name="uploads_view_upload_status_service_interrupted">توقف التطبيق</string>
10581065
<string name="uploads_view_upload_status_succeeded">مكتمل</string>
10591066
<string name="uploads_view_upload_status_succeeded_same_file">نفس الملف موجود على موقع قَصِي. سيتم تخطِّي الرفع</string>

app/src/main/res/values-ast/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@
155155
<string name="drawer_item_notifications">Avisos</string>
156156
<string name="drawer_item_on_device">Nel preséu</string>
157157
<string name="drawer_item_personal_files">Ficheros personales</string>
158+
<string name="drawer_item_recently_modified">Modificao apocayá</string>
158159
<string name="drawer_item_shared">Compartío</string>
159160
<string name="drawer_item_trashbin">Ficheros desaniciaos</string>
160161
<string name="drawer_item_uploads_list">Xubes </string>
@@ -625,6 +626,7 @@
625626
<string name="uploads_view_upload_status_failed_folder_error">Fallu de carpeta</string>
626627
<string name="uploads_view_upload_status_failed_localfile_error">Ficheru llocal nun s\'atopó</string>
627628
<string name="uploads_view_upload_status_failed_permission_error">Fallu de permisu</string>
629+
<string name="uploads_view_upload_status_fetching_server_version">Diendo en cata de la versión del sirvidor…</string>
628630
<string name="uploads_view_upload_status_service_interrupted">Aplicación finada</string>
629631
<string name="uploads_view_upload_status_succeeded">Completáu</string>
630632
<string name="uploads_view_upload_status_unknown_fail">Fallu desconocíu</string>

app/src/main/res/values-b+en+001/strings.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
<string name="assistant_screen_empty_content_description">Try sending a message to spark a conversation.</string>
5656
<string name="assistant_screen_empty_content_title">Hello there! What can I help you with today?</string>
5757
<string name="assistant_screen_retry_response_generation">Retry response generation</string>
58+
<string name="assistant_screen_select_task">Please select task</string>
5859
<string name="assistant_screen_send_message">Send message</string>
5960
<string name="assistant_screen_task_bar_open_conversation_list">Open conversation list</string>
6061
<string name="assistant_screen_task_create_fail_message">An error occurred while creating the task</string>
@@ -322,6 +323,7 @@
322323
<string name="drawer_item_on_device">On device</string>
323324
<string name="drawer_item_personal_files">Personal files</string>
324325
<string name="drawer_item_recent_files">Recent files</string>
326+
<string name="drawer_item_recently_modified">Recently modified</string>
325327
<string name="drawer_item_shared">Shared</string>
326328
<string name="drawer_item_trashbin">Deleted files</string>
327329
<string name="drawer_item_uploads_list">Uploads</string>
@@ -857,6 +859,7 @@
857859
<string name="send">Send</string>
858860
<string name="send_copy_to">Send copy to</string>
859861
<string name="send_share">Send share</string>
862+
<string name="sendbutton_description">Send button icon</string>
860863
<string name="server_not_reachable">Could not load content</string>
861864
<string name="server_not_reachable_content">The device is likely not connected to the internet</string>
862865
<string name="set_as">Set As</string>
@@ -898,6 +901,7 @@
898901
<string name="share_option_required">Please select at least one sharing option before continuing.</string>
899902
<string name="share_permission_can_edit">Can edit</string>
900903
<string name="share_permission_file_request">File request</string>
904+
<string name="share_permission_secure_file_drop">Secure file drop</string>
901905
<string name="share_permission_view_only">View only</string>
902906
<string name="share_permissions">Share permissions</string>
903907
<string name="share_re_share_permission">Share</string>
@@ -1110,6 +1114,7 @@
11101114
<string name="upload_query_move_foreign_files">Insufficient space prevents copying the selected files into the %1$s folder. Would you like to move them there instead?</string>
11111115
<string name="upload_quota_exceeded">Storage quota exceeded</string>
11121116
<string name="upload_scan_doc_upload">Scan document from camera</string>
1117+
<string name="upload_sync_conflict">Sync conflict, please resolve manually</string>
11131118
<string name="upload_sync_conflict_check">There might be a conflict from your last upload. Tap to check.</string>
11141119
<string name="upload_sync_conflict_check_error">Could not check for upload conflicts. Please try again.</string>
11151120
<string name="upload_sync_conflict_checking">Checking for upload conflicts…</string>
@@ -1161,6 +1166,7 @@
11611166
<string name="uploads_view_upload_status_failed_localfile_error">Local file not found</string>
11621167
<string name="uploads_view_upload_status_failed_permission_error">Permission error</string>
11631168
<string name="uploads_view_upload_status_failed_ssl_certificate_not_trusted">Untrusted server certificate</string>
1169+
<string name="uploads_view_upload_status_fetching_server_version">Fetching server version…</string>
11641170
<string name="uploads_view_upload_status_service_interrupted">App terminated</string>
11651171
<string name="uploads_view_upload_status_skip">Skipped</string>
11661172
<string name="uploads_view_upload_status_skip_reason">A file with the same name already exists.</string>

app/src/main/res/values-bg-rBG/strings.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,7 @@
249249
<string name="drawer_item_notifications">Известия</string>
250250
<string name="drawer_item_on_device">На устройството</string>
251251
<string name="drawer_item_personal_files">Лични файлове</string>
252+
<string name="drawer_item_recently_modified">Последно преработени</string>
252253
<string name="drawer_item_shared">Споделени</string>
253254
<string name="drawer_item_trashbin">Изтрити файлове</string>
254255
<string name="drawer_item_uploads_list">Качени</string>
@@ -339,6 +340,7 @@
339340
<string name="file_list_empty_on_device">Свалените файлове и папки ще се показват тук.</string>
340341
<string name="file_list_empty_recent_files_description">Файловете и папките, които наскоро сте променили, ще се покажат тук.</string>
341342
<string name="file_list_empty_recent_files_headline">Няма наскоро модифицирани файлове</string>
343+
<string name="file_list_empty_recently_modified">Няма модифицирани файлове през последните 7 дни</string>
342344
<string name="file_list_empty_search">Вероятно е в друга директория?</string>
343345
<string name="file_list_empty_shared">Споделените файлове и папки ще се показват тук.</string>
344346
<string name="file_list_empty_shared_headline">Все още нищо не е споделено</string>
@@ -638,6 +640,7 @@
638640
<string name="select_one_template">Моля, изберете един шаблон </string>
639641
<string name="select_template">Изберете шаблон</string>
640642
<string name="send">Изпрати</string>
643+
<string name="sendbutton_description">Икона на бутон за изпращане</string>
641644
<string name="set_as">Задай като</string>
642645
<string name="set_online_status">Състояние</string>
643646
<string name="set_picture_as">Задай като</string>
@@ -667,6 +670,7 @@
667670
<string name="share_no_expiration_date_label">Срок на валидност</string>
668671
<string name="share_no_password_title">Задайте парола</string>
669672
<string name="share_permission_can_edit">Може да редактира</string>
673+
<string name="share_permission_secure_file_drop">Защитено пускане на файлове</string>
670674
<string name="share_permission_view_only">Само изглед</string>
671675
<string name="share_re_share_permission">Споделяне</string>
672676
<string name="share_read_permission">Прочитане</string>
@@ -827,6 +831,7 @@
827831
<string name="upload_old_android">Шифроването е възможно само с > = Android 5.0</string>
828832
<string name="upload_query_move_foreign_files">В папка %1$s няма достатъчно място за копиране на избраните файлове. Желаете ли да бъдат преместени?</string>
829833
<string name="upload_scan_doc_upload">Сканиране на документ от камера</string>
834+
<string name="upload_sync_conflict">Конфликт при синхронизирането, необходимо е да го отстраните ръчно</string>
830835
<string name="upload_unknown_error">Неизвестна грешка</string>
831836
<string name="uploader_btn_alternative_text">Избиране</string>
832837
<string name="uploader_btn_upload_text">Качване</string>
@@ -871,6 +876,7 @@
871876
<string name="uploads_view_upload_status_failed_localfile_error">Локалният фаил не е намерен</string>
872877
<string name="uploads_view_upload_status_failed_permission_error">Грешка в правата</string>
873878
<string name="uploads_view_upload_status_failed_ssl_certificate_not_trusted">Недоверен сървърен сертификат</string>
879+
<string name="uploads_view_upload_status_fetching_server_version">Извлича се версията на сървъра ...</string>
874880
<string name="uploads_view_upload_status_service_interrupted">Приложението бе терминирано</string>
875881
<string name="uploads_view_upload_status_succeeded">Завършено</string>
876882
<string name="uploads_view_upload_status_unknown_fail">Неизвестна грешка</string>

0 commit comments

Comments
 (0)