From 411184fde82a6b0a38d34c1e640122ac43a0a696 Mon Sep 17 00:00:00 2001 From: Tanmay Gupta <119003089+savsch@users.noreply.github.com> Date: Thu, 2 Jan 2025 11:39:18 +0530 Subject: [PATCH 1/9] Nearby: Fixed recenter and legend FABs inconsistencies (#6092) Using app:useCompatPadding=true on both the FABs caused padding issues, replaced that with android:layout_margin. As the minimumSdk version is >=lollipop, I believe useCompatPadding is not required. --- .../main/res/drawable/ic_my_location_black_24dp.xml | 2 +- app/src/main/res/layout/fragment_nearby_parent.xml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/res/drawable/ic_my_location_black_24dp.xml b/app/src/main/res/drawable/ic_my_location_black_24dp.xml index 708ec0444..9afb0a239 100644 --- a/app/src/main/res/drawable/ic_my_location_black_24dp.xml +++ b/app/src/main/res/drawable/ic_my_location_black_24dp.xml @@ -4,6 +4,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> diff --git a/app/src/main/res/layout/fragment_nearby_parent.xml b/app/src/main/res/layout/fragment_nearby_parent.xml index e1d82e6e7..8dcfe0fef 100644 --- a/app/src/main/res/layout/fragment_nearby_parent.xml +++ b/app/src/main/res/layout/fragment_nearby_parent.xml @@ -117,12 +117,12 @@ android:layout_alignParentRight="true" android:clickable="true" android:visibility="visible" - app:backgroundTint="@color/main_background_light" + android:layout_margin="16dp" + app:backgroundTint="?attr/mainBackground" app:elevation="@dimen/dimen_6" app:fabSize="normal" app:layout_anchorGravity="top|right|end" - app:srcCompat="@drawable/ic_my_location_black_24dp" - app:useCompatPadding="true" /> + app:srcCompat="@drawable/ic_my_location_black_24dp" /> + app:srcCompat="@drawable/ic_info_outline_24dp" /> Date: Thu, 2 Jan 2025 13:01:43 +0100 Subject: [PATCH 2/9] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-de/strings.xml | 2 ++ app/src/main/res/values-el/strings.xml | 2 ++ app/src/main/res/values-se/strings.xml | 2 ++ app/src/main/res/values-tcy/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 24 +++++++++++++++++++++- 5 files changed, 30 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 38d827669..d75dfbe17 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -26,6 +26,7 @@ * Reedy * RucolaSpacecat * Sebastian Wallroth +* SergeCroise * SpaceEnergy * Sujan * Sushi @@ -313,6 +314,7 @@ Den Wikitext in die Zwischenablage kopieren Der Wikitext wurde in die Zwischenablage kopiert „In der Nähe“ arbeiten möglicherwiese nicht richtig. Der Standort ist nicht verfügbar. + Internet ist nicht verfügbar. Es werden nur zwischengespeicherte Orte angezeigt. Standortzugriff verweigert. Bitte lege deinen Standort manuell fest, um diese Funktion nutzen zu können. Berechtigung zur Anzeige einer Liste mit Orten in der Nähe erforderlich Berechtigung zur Anzeige einer Liste mit Orten in der Nähe erforderlich diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 90669d8c3..6901b37ae 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -4,6 +4,7 @@ * Astralnet * Domdomegg * Evropi +* Fotis A. * Geraki * Giannaras99 * Giorgos456 @@ -296,6 +297,7 @@ Αντιγράψτε το wikitext στο πρόχειρο Το wikitext αντιγράφηκε στο πρόχειρο Η λειτουργία «Κοντά σας» ενδέχεται να μη δουλεύει σωστά, η Τοποθεσία δεν είναι διαθέσιμη. + Το Διαδίκτυο δεν είναι διαθέσιμο. Εμφάνιση μόνο αποθηκευμένων τοποθεσιών. Δεν επιτρέπεται η πρόσβαση στην τοποθεσία. Ρυθμίστε την τοποθεσία σας με χειροκίνητο τρόπο για να χρησιμοποιήσετε αυτήν τη δυνατότητα. Απαιτείται άδεια για την εμφάνιση καταλόγου κοντινών σημείων Απαιτείται άδεια για την εμφάνιση καταλόγου κοντινών εικόνων diff --git a/app/src/main/res/values-se/strings.xml b/app/src/main/res/values-se/strings.xml index 27d87c235..7b7e9ef20 100644 --- a/app/src/main/res/values-se/strings.xml +++ b/app/src/main/res/values-se/strings.xml @@ -217,6 +217,8 @@ Čuovvovaš Govat Sajit + Ii oktage kategoriija leat válljejuvvon + Ii oktage govvádus leat válljejuvvon Gaskkalduhte fiilla vurkema Čuovvovaš govva Vuoigŋadahkki diff --git a/app/src/main/res/values-tcy/strings.xml b/app/src/main/res/values-tcy/strings.xml index add46f7b7..fbbe499d2 100644 --- a/app/src/main/res/values-tcy/strings.xml +++ b/app/src/main/res/values-tcy/strings.xml @@ -158,7 +158,7 @@ ಶೇಖರಣ ಅನುಮತಿ ಕೇಣುನು ಅಗತ್ಯ ಇಪ್ಪುನ ಅನುಮತಿ: ಬಾಹ್ಯ ಸಂಗ್ರಹಣೆನ್ ಓದಿ. ಇದೆಂಡ್ತ್ ಇರ್ ಗ್ಯಾಲರಿಗ್ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರವೇಶಗ್ ಸಾಧ್ಯ ಇಜ್ಜಿ. ಅಗತ್ಯ ಇಪ್ಪುನ ಅನುಮತಿ: ಬಾಹ್ಯ ಸಂಗ್ರಹಣೆನ್ ಬರೆಲೆ. ಇದೆಂಡ್ತ್ ಅಪ್ಲಿಕೇಶನ್ ಇರೆನ ಕ್ಯಾಮರೊನ್ ಪ್ರವೇಶ ಮಾಲ್ಪಯರ ಸಾಧ್ಯಿಜ್ಜಿ. - ಅವು + ಆವು ಎಚ್ಚರಿಕೆ ಅಂದ್ ಅತ್ತ್ diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 616775059..25d401bcd 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -16,6 +16,7 @@ * Simon Shek * StephDC * Tranve +* Wehwei * Winston Sung * Wwycheuk * ZhaoGang @@ -122,6 +123,8 @@ 拍照 附近 我的上傳 + 複製連結 + 連結已複製到剪貼簿。 分享 檢視檔案頁面 說明(必填) @@ -140,6 +143,7 @@ 搜尋分類 搜尋您的媒體描繪項目(山、泰姬瑪哈陵等) 儲存 + 溢出選單 重新整理 清單 (尚未上傳) @@ -296,6 +300,7 @@ 複製 wikitext 到剪貼簿 Wikitext 已複製到剪貼簿 位置無效,應用程式在此地附近可能無法正常運作。 + 網路無法使用。僅顯示快取位置。 位置存取遭拒。請手動設定您的位置才能使用此功能。 需權限來顯示附近地點清單 需要權限來顯示附近圖片清單 @@ -379,11 +384,13 @@ 刪除 成果 個人檔案 + 徽章: 統計內容 已收到的感謝 特色圖片 圖片來自“附近的地方” - 等級 + 等級 %d + %s(%s級) 已上傳的圖片 沒有被還原回復的圖片 有被使用到的圖片 @@ -415,6 +422,7 @@ 在您的裝置上找不到相容的地圖應用程式,請安裝地圖應用程式來使用此功能。 圖片 位置 + 分類 添加/移除至書籤 書籤 您尚未添加任何書籤 @@ -806,7 +814,21 @@ 待處理 失敗 無法載入地點資料 + 刪除資料夾 + 確認刪除 + 您確定要刪除包含%2$d項目的資料夾%1$s嗎? + 刪除 + 取消 + %1$s資料夾刪除成功 + 無法刪除資料夾%1$s + 刪除資料夾內容時發生錯誤: %1$s + 無法取得儲存桶 ID 的資料夾路徑: %1$d 這個地點還沒有照片,來拍一張吧! 這個地點已有照片。 現在檢查這個地點是否有照片。 + 載入時出錯 + 找不到頁面。 + 維基共享資源 + 其它 wiki + 檔案用途 From 038ae9acd4a6a6dda8126c1abd3ca0833392bda7 Mon Sep 17 00:00:00 2001 From: Parneet Singh <111801812+parneet-guraya@users.noreply.github.com> Date: Fri, 3 Jan 2025 18:02:06 +0530 Subject: [PATCH 3/9] fix null pointer exception (#6093) Signed-off-by: parneet-guraya --- .../main/java/fr/free/nrw/commons/wikidata/mwapi/MwQueryPage.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/MwQueryPage.kt b/app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/MwQueryPage.kt index 74dfa511e..7ab1db9bc 100644 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/MwQueryPage.kt +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/mwapi/MwQueryPage.kt @@ -34,7 +34,7 @@ class MwQueryPage : BaseModel() { fun title(): String = title!! - fun categoryInfo(): CategoryInfo = categoryinfo!! + fun categoryInfo(): CategoryInfo? = categoryinfo fun index(): Int = index From 25e467b3a5bb4bd7d898181467f778766d7babf3 Mon Sep 17 00:00:00 2001 From: Akshay Komar <146421342+Akshaykomar890@users.noreply.github.com> Date: Sun, 5 Jan 2025 13:51:17 +0530 Subject: [PATCH 4/9] Refactor Nearby Location Tests to Improve Assertion Logic (#6103) -Refactored testSearchCloseToCurrentLocationWhenFar: Simplified assertion by using assertFalse(!isClose) for better readability and logical clarity. -Added testSearchCloseToCurrentLocationWhenClose: Created a new test case to validate behavior when the search is close to the current location, ensuring assertTrue(isClose) for correctness. -Improved Coverage: These changes enhance the test coverage and reliability of the searchCloseToCurrentLocation function. --- .../nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt index cfd2a818d..80e9a53f9 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/nearby/NearbyParentFragmentPresenterTest.kt @@ -306,7 +306,7 @@ class NearbyParentFragmentPresenterTest { // 111.19 km real distance, return false if 148306.444306 > currentLocationSearchRadius NearbyController.currentLocationSearchRadius = 148306.0 val isClose = nearbyPresenter.searchCloseToCurrentLocation() - assertFalse(isClose!!.equals(false)) + assertFalse(!isClose) } /** @@ -318,7 +318,7 @@ class NearbyParentFragmentPresenterTest { // 111.19 km real distance, return false if 148253.333 > currentLocationSearchRadius NearbyController.currentLocationSearchRadius = 148307.0 val isClose = nearbyPresenter.searchCloseToCurrentLocation() - assertTrue(isClose!!) + assertTrue(isClose) } fun expectMapAndListUpdate() { From 1d8d1d6b032aa165e581f2ce4c3e683ec820270a Mon Sep 17 00:00:00 2001 From: Paul Hawke Date: Sun, 5 Jan 2025 05:44:30 -0600 Subject: [PATCH 5/9] Remove the extra byte buffer copying while creating file chunks (#6091) Co-authored-by: Nicolas Raoul --- .../java/fr/free/nrw/commons/upload/FileUtilsWrapper.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/FileUtilsWrapper.kt b/app/src/main/java/fr/free/nrw/commons/upload/FileUtilsWrapper.kt index aa1f8aed6..68a3cb362 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/FileUtilsWrapper.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/FileUtilsWrapper.kt @@ -49,9 +49,10 @@ class FileUtilsWrapper @Inject constructor(private val context: Context) { while ((bis.read(buffer).also { size = it }) > 0) { buffers.add( writeToFile( - buffer.copyOf(size), + buffer, file.name ?: "", - getFileExt(file.name) + getFileExt(file.name), + size ) ) } @@ -67,7 +68,7 @@ class FileUtilsWrapper @Inject constructor(private val context: Context) { * Create a temp file containing the passed byte data. */ @Throws(IOException::class) - private fun writeToFile(data: ByteArray, fileName: String, fileExtension: String): File { + private fun writeToFile(data: ByteArray, fileName: String, fileExtension: String, size: Int): File { val file = File.createTempFile(fileName, fileExtension, context.cacheDir) try { if (!file.exists()) { @@ -75,7 +76,7 @@ class FileUtilsWrapper @Inject constructor(private val context: Context) { } FileOutputStream(file).use { fos -> - fos.write(data) + fos.write(data, 0, size) } } catch (throwable: Exception) { Timber.e(throwable, "Failed to create file") From cebe1c2a1fce55f008e4def7adf8937d2273521f Mon Sep 17 00:00:00 2001 From: Neel Doshi <60827173+neeldoshii@users.noreply.github.com> Date: Sun, 5 Jan 2025 22:18:05 +0530 Subject: [PATCH 6/9] chore : lint fix (#6099) - Removed unused constants which were there in `Pref` - Removed unused parameter requireActivity from `Setting Fragment` Revert "chore : lint fix" This reverts commit 599203343f4c3c050b45e4ccf53fd23097818cc4. --- app/src/main/java/fr/free/nrw/commons/settings/Prefs.kt | 4 ---- .../java/fr/free/nrw/commons/settings/SettingsActivity.kt | 1 - .../java/fr/free/nrw/commons/settings/SettingsFragment.kt | 7 ++----- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.kt b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.kt index 13e8efb57..05c850a03 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.kt +++ b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.kt @@ -1,11 +1,7 @@ package fr.free.nrw.commons.settings object Prefs { - const val GLOBAL_PREFS = "fr.free.nrw.commons.preferences" - - const val TRACKING_ENABLED = "eventLogging" const val DEFAULT_LICENSE = "defaultLicense" - const val UPLOADS_SHOWING = "uploadsShowing" const val MANAGED_EXIF_TAGS = "managed_exif_tags" const val DESCRIPTION_LANGUAGE = "languageDescription" const val APP_UI_LANGUAGE = "appUiLanguage" diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.kt b/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.kt index da79244bc..91c88d7b0 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.kt +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsActivity.kt @@ -12,7 +12,6 @@ import fr.free.nrw.commons.theme.BaseActivity class SettingsActivity : BaseActivity() { private lateinit var binding: ActivitySettingsBinding -// private var settingsDelegate: AppCompatDelegate? = null /** * to be called when the activity starts diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt index 36528a919..166cb1e97 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt @@ -1,7 +1,6 @@ package fr.free.nrw.commons.settings import android.Manifest.permission -import android.annotation.SuppressLint import android.app.Activity import android.app.Dialog import android.content.Context.MODE_PRIVATE @@ -11,7 +10,6 @@ import android.net.Uri import android.os.Bundle import android.text.Editable import android.text.TextWatcher -import android.view.KeyEvent import android.view.View import android.widget.AdapterView import android.widget.Button @@ -131,7 +129,7 @@ class SettingsFragment : PreferenceFragmentCompat() { inAppCameraLocationPref?.setOnPreferenceChangeListener { _, newValue -> val isInAppCameraLocationTurnedOn = newValue as Boolean if (isInAppCameraLocationTurnedOn) { - createDialogsAndHandleLocationPermissions(requireActivity()) + createDialogsAndHandleLocationPermissions() } true } @@ -256,7 +254,7 @@ class SettingsFragment : PreferenceFragmentCompat() { * * @param activity */ - private fun createDialogsAndHandleLocationPermissions(activity: Activity) { + private fun createDialogsAndHandleLocationPermissions() { inAppCameraLocationPermissionLauncher.launch(arrayOf(permission.ACCESS_FINE_LOCATION)) } @@ -284,7 +282,6 @@ class SettingsFragment : PreferenceFragmentCompat() { return object : PreferenceGroupAdapter(preferenceScreen) { override fun onBindViewHolder(holder: PreferenceViewHolder, position: Int) { super.onBindViewHolder(holder, position) - val preference = getItem(position) val iconFrame: View? = holder.itemView.findViewById(R.id.icon_frame) iconFrame?.visibility = View.GONE } From 940c0740b0cd81fe701d3a4117217bb1f4bbd267 Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Mon, 6 Jan 2025 13:01:38 +0100 Subject: [PATCH 7/9] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-az/strings.xml | 4 ++-- app/src/main/res/values-ia/strings.xml | 27 +++++++++++++++++++++++++- app/src/main/res/values-nl/strings.xml | 2 ++ app/src/main/res/values-pa/strings.xml | 2 +- app/src/main/res/values-se/strings.xml | 6 +++++- app/src/main/res/values-zh/strings.xml | 12 +++++++++++- 6 files changed, 47 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 6f55437dc..cbe23481c 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -56,8 +56,8 @@ Uğurlu giriş! Giriş baş tutmadı! Fayl tapılmadı. Xahiş edirik başqa bir fayl üzərində cəhd edin. - Maksimum təkrar cəhd limitinə çatdınız! Yükləməni ləğv edin və yenidən cəhd edin - Batareya optimallaşdırılmasını söndürmək? + Maksimum təkrar cəhd limitinə çatdınız! Zəhmət olmasa, yükləməni ləğv edin və yenidən cəhd edin + Batareya optimallaşdırılması söndürülsün? Doğrulama alınmadı, xahiş edirəm yenidən daxil olun Yükləmə başladı! %1$s yükləndi! diff --git a/app/src/main/res/values-ia/strings.xml b/app/src/main/res/values-ia/strings.xml index 7ec1b9834..f12022169 100644 --- a/app/src/main/res/values-ia/strings.xml +++ b/app/src/main/res/values-ia/strings.xml @@ -100,6 +100,8 @@ Prender photo A proximitate Mi incargamentos + Copiar ligamine + Le ligamine ha essite copiate al area de transferentia Condivider Visitar le pagina del file Legenda (obligatori) @@ -118,6 +120,7 @@ Cercar categorias Cerca elementos que tu file representa (montania, Taj Mahal, etc.) Salveguardar + Menu de disbordamento Refrescar Listar (Nihil incargate ancora) @@ -269,6 +272,7 @@ Copiar le wikitexto al area de transferentia Le wikitexto ha essite copiate al area de transferentia “A proximitate” poterea non functionar perque le localisation non es disponibile. + Internet indisponibile. Appare solmente le locos in cache. Le accesso al localisation ha essite refusate. Per favor indica tu localisation manualmente pro usar iste function. Permission necessari pro monstrar un lista de locos a proximitate Permission necessari pro monstrar un lista de imagines a proximitate @@ -352,11 +356,13 @@ Deler Realisationes Profilo + Insignias Statisticas Regratiamentos recipite Imagines eminente Imagines via “Locos a proximitate” - Nivello + Nivello %d + %s (Nivello %s) Imagines incargate Imagines non revertite Imagines usate @@ -388,6 +394,7 @@ Necun application cartographic compatibile pote esser trovate sur tu apparato. Per favor installa un application cartographic pro usar iste function. Imagines Locos + Categorias Adder al/Remover del marcapaginas Marcapaginas Tu non ha addite alcun marcapagina @@ -469,6 +476,7 @@ Tu non ha notificationes non legite Tu non ha notificationes legite Condivider registros usante + Consulta tu cassa de entrata Vider legites Vider non legites Un error ha occurrite durante le selection de imagines @@ -776,4 +784,21 @@ Pendente Fallite Non poteva cargar le datos del loco + Deler dossier + Confirmar deletion + Es tu secur de voler deler le dossier %1$s que contine %2$d objectos? + Deler + Cancellar + Le dossier %1$s ha essite delite + Le dossier %1$s non ha potite esser delite + Error durante le elimination del contento del dossier: %1$s + Non poteva recuperar le percurso al dossier pro le “bucket ID” %1$d + Iste loco non ha ancora un photo. Proque non prender un? + Iste loco ja ha un photo. + Ora se verifica si iste loco ha un photo. + Error durante le cargamento + Necun uso trovate + Commons + Altere wikis + Usos del file diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 17e4b2556..354c44b5c 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -1,6 +1,7 @@