From 230604f5efb55c171cc356de9b2d6f5db8a4c050 Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Mon, 2 Jun 2025 14:02:04 +0200 Subject: [PATCH 01/10] Localisation updates from https://translatewiki.net. --- app/src/main/res/values-io/strings.xml | 22 ++++++++++++++++++++++ app/src/main/res/values-ka/strings.xml | 1 + app/src/main/res/values-ko/strings.xml | 12 +++++++++--- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-io/strings.xml b/app/src/main/res/values-io/strings.xml index 42184a763..f4802280d 100644 --- a/app/src/main/res/values-io/strings.xml +++ b/app/src/main/res/values-io/strings.xml @@ -441,6 +441,8 @@ Uzez selektilo di fotografuri segun dokumenti La nova funciono \'\'Android photo picker\'\' povas perdar informo pri lokizo. Kapabligez ol, se vu semblas uzar ol. Deskapabliganta ol povos deskuplar la nova funciono \'\'Android photo picker\'\'. Posible perdos informo pri lokizo. + Ca funciono bezonas ligilo ad interreto. Verifikez vua ajusti pri konekti. + Eventis eroro dum procesado dil imajo. Voluntez probar ol itere! Kaptanta \'\'token\'\' por redaktar. Adjuntanta shablono por verifikar kategorio Demandanta verifiko di kategorio por %1$s @@ -461,6 +463,7 @@ Ka to apartenas al skopo dil projeto? Ka vu deziras dankar la kontributero? Kliktez NO por indikar ca imajo por efaco, se ol ne havas irga utileso. + Logotipi*, skreno-kopiuri, afishi pri cinematografuri ofte esas kopiuro-violaci.\nKliktez NO por indikar ca pagino por efaco Vua opiniono stimulos %1$s Ho, to ne mem havas kategorio! Ca imajo havas %1$s kategorii. @@ -500,11 +503,14 @@ Serio-nombro Software Aceso ad enmagazinigo-moyeno ne permisita + Posible ni ne povos obtenar automatale datumi pri lokizi dil imaji quin vu sendis. Voluntez furnisar sata lokizo di irga fotografuro, ante sendar ol. + Sendez fotografuri direte de vua smartfono a Wikimedia Commons. Descharjez l\'\'\'app\'\' nun: %1$s Partigar utensilo \'\'app\'\' per... Informo pri imajo Nula kategorio trovesis Nula reprezenturi trovita Kargajo di arkivo cesis + Ne existas datumo pri la titulo o deskripto dil antea imajo Pro quo %1$s devas efacesar? %1$s sendesis da: %2$s implicita deskripto-linguo @@ -580,9 +586,16 @@ Sequar sistemo Koloro obskura Koloro klara + Faliis apartar ajusti pri lokizo. Voluntez informar la lokizo manuale Por plu bona rezulti, selektez modo \"granda exakteso\" (\'\'High Accuracy\'\'). Kad montrar lokizo? + Voluntez ajustar l\'utensilo pri lokizo, por ke l\'\'\'app\'\' montrez vua nuna lokizo + La funciono \'apud\' (\'\'Nearby\'\') bezonas kapabliko di lokizo, por ke ol funcionez bone + La mapo pri lokizo bezonas uzo-permiso, por montrar vicina imaji + Vu mustos permisar lokizo-agnosko, por ajustar automatale la lokizo. + Ka vu fotografis ca du imaji an la sama loko? Ka vu deziras uzar latitudo/longitudo di fotografuro addextre? Charjez pluse + Ne trovis loki, voluntez chajar vua kriterii pri sercho. Plubonigi propozata: - Adjuntez kategorii a ca imajo, por faciligar lua uzado. - Adjuntez ca imajo ad artiklo asociita de Wikipedio, qua havas nula imajo. @@ -593,6 +606,9 @@ 1. Uzez la sequanta wikitexto: Kliktanta \"konfirmar\" (\'\'Confirm\'\') apertos l\'artiklo che Wikipedio 3. Trovez adequata fako dil artiklo por inkluzar vua imajo + 4. Kliktez l\'ikono Editar (qua semblas krayono) por ta sesiono. + 5. Kopiez la texto wiki che adequata loko. + 6. Se bezonata, redaktez la texto wiki por adequata pozado. Por plusa informo, videz <a href=\"https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Images#How_to_place_an_image\">hike</a>. Publikigar l\'artiklo Kopiar wikikodexo a transfero-areo di la komputatoro pauzar @@ -626,17 +642,23 @@ Pauzanta sendajo... Nuliganta sendajo... Cesar kargajo + Kapabligesis por uzar limitizita konekti. + Voluntez skribar kurta titulo deskriptanta quon vua imajo montras. En la deskripto, explikez pro quo la fotografuro esas interesanta, tipala o rara, ed explikez la kuntexto, videbla o ne. Skriptez tan exakta kam posibla. Montras Licencizo di \'\'media\'\' Detali pri \'\'media\'\' Vidar kategorio-pagino Vidar pagino dil arkivo + Removar titulo e deskripto Lektez pluse En omna idiomi Selektez lokizo + Facez panoramo e proximigez por ajustar Selektar lokizo Montrar en l\'utensilo \'\'app\'\' di mapo Aktualigar lokizo + Vidado dil imajo de la selektilo di lokizo + L\'ombro di la vidado dil imajo de la selektilo di lokizo Lokizo dil imajo Verifikez se la lokizo esas korekta Etiketo diff --git a/app/src/main/res/values-ka/strings.xml b/app/src/main/res/values-ka/strings.xml index e3d2eb685..e560298dd 100644 --- a/app/src/main/res/values-ka/strings.xml +++ b/app/src/main/res/values-ka/strings.xml @@ -393,6 +393,7 @@ ანგარიში შეიქმნა! მუქი ღია + ელემენტი გაკეთდა უკან შესანიშნავია diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 0d368b91d..469b66f10 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -41,7 +41,9 @@ 설명 이미지 모두 + 위로 전환 검색 뷰 + 장소 상태 오늘의 이미지 %1$d개의 파일을 올리는 중 @@ -435,7 +437,7 @@ 진행되고 있는 캠페인 보기 허용 숨기기 - 이 기능에는 네트워크 연결이 필요합니다. 연결 설정을 확인해 주십시오. + 이 기능을 사용하려면 네트워크 연결이 필요합니다. 연결 설정을 확인해 주십시오. 이미지를 처리하는 동안 오류가 발생했습니다. 다시 시도해 주십시오! 편집을 위한 토큰을 가져옵니다 분류 검사를 위한 틀을 추가합니다 @@ -460,7 +462,7 @@ 다음 이미지 이 버튼을 클릭하면 위키미디어 공용으로부터 최근 업로드된 다른 이미지를 제공합니다 - 이미지를 검토하고 위키미디어 공용의 품질을 개선할 수 있습니다.\n 4가지 검토 변수가 있습니다:\n - 이 이미지가 범위 내에 있는가? \n - 이 이미지가 저작권 규정을 준수하고 있는가? \n - 이 이미지가 올바르게 분류되어 있는가? \n - 모든 것이 문제 없다면 기여자에게 감사를 표할 수도 있습니다. + 이미지를 검토하고 위키미디어 공용의 품질을 개선할 수 있습니다.\n검토의 3가지 매개변수는 다음과 같습니다:\n\n- 이 이미지가 범위 내에 있는가?\n아니요(범위 밖)를 선택하면 이 이미지에 삭제 요청 틀이 추가됩니다.\n\n- 이 이미지가 저작권 규정을 준수하고 있는가?\n아니요(저작권 규칙을 따르지 않음)를 선택하면 이 이미지에 삭제 요청 틀이 추가됩니다.\n\n- 이 이미지가 올바르게 분류되어 있는가?\n아니요(올바르게 분류되지 않음)를 선택하면 이 이미지에 삭제 요청 틀이 추가됩니다.\n\n모든 것이 문제 없다면 이미지에 틀이 추가되지 않고, 기여자에게 감사를 표할 수도 있습니다. 이미지가 사용되지 않음 이미지가 올려지지 않음 읽지 않은 알림이 없습니다 @@ -496,7 +498,7 @@ %1$s을(를) 삭제 신청함 실패 삭제를 요청하지 못했습니다. - 셀카 + 어떤 문서에도 사용되지 않는 셀카 완전히 흐림 보도 사진 인터넷상의 무작위 이미지 @@ -507,6 +509,7 @@ 성공 분류를 추가하지 못했습니다. 분류 업데이트 + 묘사된 항목 편집하기 좌표 업데이트 설명 업데이트 캡션 업데이트 @@ -566,10 +569,13 @@ 일시 중단됨 더 보기 책갈피 + 성과 리더보드 순위: + 개수: 순위 사용자 + 개수 리더보드 아바타로 설정 아바타로 설정 중이니 기다려 주십시오 새 아바타를 설정하는 중 오류가 발생했습니다. 다시 시도해 주십시오 From 6edc6a22e4116747fd8ce6ea743aa4dfac19dc76 Mon Sep 17 00:00:00 2001 From: Dev Jadiya <121892398+devjadiya@users.noreply.github.com> Date: Tue, 3 Jun 2025 06:00:52 +0530 Subject: [PATCH 02/10] Refactor long log line in SingleWebViewActivity to comply with code style (#6333) --- .idea/inspectionProfiles/Project_Default.xml | 45 +++++++++++++++++++ .../commons/activity/SingleWebViewActivity.kt | 4 +- 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index f39734eb4..265d8a96d 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -2,11 +2,35 @@ శోధించండి - రూపురేఖలు - సాధారణం - ప్రతిస్పందన - అంతరంగికత - కామన్స్ + స్వరూపం + సాధారణ + ప్రతిపుష్టి + గోప్యత + సామూహిక అమరికలు - కామన్స్ లోకి ఎక్కించండి + సామూహిక కు ఎగుమోత వాడుకరిపేరు సంకేతపదం - మీ కామన్స్ బీటా ఖాతా లోనికి ప్రవేశించండి - లాగినవండి + మీ సామూహికా బీటా ఖాతా లోనికి ప్రవేశించండి + ప్రవేశం సంకేతపదం మర్చిపోయారా? - నమోదవ్వండి - లాగినవుతున్నారు - వేచివుండండి… - ఉల్లేఖనలను, వివరణలనూ తాజాకరిస్తున్నాం - వేచి ఉండండి… + నమోదు + ప్రవేశిస్తున్నారు... + దయచేసి వేచివుండండి … + ఉల్లేఖనలను, వివరణలను నవీకరిస్తోంది + దయచేసి వేచివుండండి … లాగిన్ విజయవంతమైంది! లాగిన్ విఫలమైంది! - ఫైలు కనబడలేదు. మరో ఫైలు కోసం ప్రయత్నించండి. + దస్త్రం కనబడలేదు. దయచేసి మరో దస్త్రం కోసం ప్రయత్నించండి. అథీకరణ విఫలమైంది, మళ్ళీ ప్రయత్నించండి - ఎక్కింపు మొదలైంది! - ఎక్కింపు వరుసలో ఉంది (పరిమిత కనెక్షన్ల మోడ్ చేతనంగా ఉంది) + ఎగుమోత మొదలైంది! + ఎగుమోత వరుసలో ఉంది (పరిమిత సంబంధ పద్దతి చేతనం) %1$s ను ఎక్కించాం! మీ ఎక్కింపును చూసేందుకు నొక్కండి దస్త్రాన్ని ఎక్కిస్తున్నాం: $s diff --git a/app/src/main/res/values-ks/error.xml b/app/src/main/res/values-x-invalidLanguageCode/error.xml similarity index 98% rename from app/src/main/res/values-ks/error.xml rename to app/src/main/res/values-x-invalidLanguageCode/error.xml index 3ef53fda5..f4e2fe125 100644 --- a/app/src/main/res/values-ks/error.xml +++ b/app/src/main/res/values-x-invalidLanguageCode/error.xml @@ -1,6 +1,6 @@ کامَنٕز گوو رُکِتھ From f45f26e602497f155037d1849bf4561f5b5e6543 Mon Sep 17 00:00:00 2001 From: Sonal Yadav Date: Sat, 7 Jun 2025 19:39:47 +0530 Subject: [PATCH 07/10] Implement single selection logic in custom image picker (#6341) * build failure cause * Fix image selector logic in custom picker --- .../contributions/ContributionController.kt | 5 +++-- .../customselector/ui/adapter/ImageAdapter.kt | 20 ++++++++++++++++--- .../ui/selector/CustomSelectorActivity.kt | 6 +++++- .../ui/selector/ImageFragment.kt | 3 +++ .../free/nrw/commons/filepicker/FilePicker.kt | 17 ++++++++++++---- .../nearby/fragments/NearbyParentFragment.kt | 6 ++++-- .../values-x-invalidLanguageCode/error.xml | 10 ---------- 7 files changed, 45 insertions(+), 22 deletions(-) delete mode 100644 app/src/main/res/values-x-invalidLanguageCode/error.xml diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.kt b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.kt index 296391c6d..29267452b 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.kt +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionController.kt @@ -253,13 +253,14 @@ class ContributionController @Inject constructor(@param:Named("default_preferenc */ fun initiateCustomGalleryPickWithPermission( activity: Activity, - resultLauncher: ActivityResultLauncher + resultLauncher: ActivityResultLauncher, + singleSelection: Boolean = false ) { setPickerConfiguration(activity, true) checkPermissionsAndPerformAction( activity, - { openCustomSelector(activity, resultLauncher, 0) }, + { FilePicker.openCustomSelector(activity, resultLauncher, 0, singleSelection) }, R.string.storage_permission_title, R.string.write_storage_permission_rationale, *PERMISSIONS_STORAGE diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt b/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt index 20a2fe70a..62a440ff4 100644 --- a/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt +++ b/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt @@ -327,12 +327,17 @@ class ImageAdapter( // Getting clicked index from all images index when show_already_actioned_images // switch is on + if (singleSelection) { + // If single selection mode, clear previous selection and select only the new one + if (selectedImages.isNotEmpty() && (selectedImages[0] != images[position])) { + val prevIndex = images.indexOf(selectedImages[0]) + selectedImages.clear() + notifyItemChanged(prevIndex, ImageUnselected()) + } + } val clickedIndex: Int = if (showAlreadyActionedImages) { ImageHelper.getIndex(selectedImages, images[position]) - - // Getting clicked index from actionable images when show_already_actioned_images - // switch is off } else { ImageHelper.getIndex(selectedImages, ArrayList(actionableImagesMap.values)[position]) } @@ -618,4 +623,13 @@ class ImageAdapter( * Returns the text for showing inside the bubble during bubble scroll. */ override fun getSectionName(position: Int): String = images[position].date + + private var singleSelection: Boolean = false + + /** + * Set single selection mode + */ + fun setSingleSelection(single: Boolean) { + singleSelection = single + } } diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt b/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt index f872d3044..7e7d7e4cd 100644 --- a/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt +++ b/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt @@ -104,7 +104,7 @@ class CustomSelectorActivity : /** * Maximum number of images that can be selected. */ - private val uploadLimit: Int = 20 + private var uploadLimit: Int = 20 /** * Flag that is marked true when the amount @@ -207,6 +207,9 @@ class CustomSelectorActivity : CustomSelectorViewModel::class.java, ) + // Check for single selection extra + uploadLimit = if (intent.getBooleanExtra(EXTRA_SINGLE_SELECTION, false)) 1 else 20 + setupViews() if (prefs.getBoolean("customSelectorFirstLaunch", true)) { @@ -728,6 +731,7 @@ class CustomSelectorActivity : const val FOLDER_ID: String = "FolderId" const val FOLDER_NAME: String = "FolderName" const val ITEM_ID: String = "ItemId" + const val EXTRA_SINGLE_SELECTION: String = "EXTRA_SINGLE_SELECTION" } } diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/ImageFragment.kt b/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/ImageFragment.kt index 39d0d545a..6e08e30f1 100644 --- a/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/ImageFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/ImageFragment.kt @@ -212,6 +212,9 @@ class ImageFragment : _binding = FragmentCustomSelectorBinding.inflate(inflater, container, false) imageAdapter = ImageAdapter(requireActivity(), activity as ImageSelectListener, imageLoader!!) + // Set single selection mode if needed + val singleSelection = (activity as? CustomSelectorActivity)?.intent?.getBooleanExtra(CustomSelectorActivity.EXTRA_SINGLE_SELECTION, false) == true + imageAdapter.setSingleSelection(singleSelection) gridLayoutManager = GridLayoutManager(context, getSpanCount()) with(binding?.selectorRv) { this?.layoutManager = gridLayoutManager diff --git a/app/src/main/java/fr/free/nrw/commons/filepicker/FilePicker.kt b/app/src/main/java/fr/free/nrw/commons/filepicker/FilePicker.kt index acf072f02..ccccfbd34 100644 --- a/app/src/main/java/fr/free/nrw/commons/filepicker/FilePicker.kt +++ b/app/src/main/java/fr/free/nrw/commons/filepicker/FilePicker.kt @@ -25,6 +25,9 @@ object FilePicker : Constants { private const val KEY_LAST_CAMERA_VIDEO = "last_video" private const val KEY_TYPE = "type" + // Add extra for single selection + private const val EXTRA_SINGLE_SELECTION = "EXTRA_SINGLE_SELECTION" + /** * Returns the uri of the clicked image so that it can be put in MediaStore */ @@ -73,12 +76,17 @@ object FilePicker : Constants { * CreateCustomSectorIntent, creates intent for custom selector activity. * @param context * @param type + * @param singleSelection If true, restricts to single image selection * @return Custom selector intent */ @JvmStatic - private fun createCustomSelectorIntent(context: Context, type: Int): Intent { + private fun createCustomSelectorIntent(context: Context, type: Int, singleSelection: Boolean = false): Intent { storeType(context, type) - return Intent(context, CustomSelectorActivity::class.java) + val intent = Intent(context, CustomSelectorActivity::class.java) + if (singleSelection) { + intent.putExtra(EXTRA_SINGLE_SELECTION, true) + } + return intent } @JvmStatic @@ -153,9 +161,10 @@ object FilePicker : Constants { fun openCustomSelector( activity: Activity, resultLauncher: ActivityResultLauncher, - type: Int + type: Int, + singleSelection: Boolean = false ) { - val intent = createCustomSelectorIntent(activity, type) + val intent = createCustomSelectorIntent(activity, type, singleSelection) resultLauncher.launch(intent) } diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.kt b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.kt index 56af614d7..5b52c0ce5 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.kt @@ -974,7 +974,7 @@ class NearbyParentFragment : CommonsDaggerSupportFragment(), } else if (bottomSheetDetailsBehavior!!.state == BottomSheetBehavior.STATE_EXPANDED ) { - bottomSheetDetailsBehavior!!.state = BottomSheetBehavior.STATE_COLLAPSED + bottomSheetDetailsBehavior!!.setState(BottomSheetBehavior.STATE_COLLAPSED) } } @@ -2457,9 +2457,11 @@ class NearbyParentFragment : CommonsDaggerSupportFragment(), Timber.d("Gallery button tapped. Place: %s", selectedPlace.toString()) storeSharedPrefs(selectedPlace!!) activity?.let { + // Pass singleSelection = true for Nearby flow controller!!.initiateCustomGalleryPickWithPermission( it, - customSelectorLauncherForResult + customSelectorLauncherForResult, + singleSelection = true ) } } diff --git a/app/src/main/res/values-x-invalidLanguageCode/error.xml b/app/src/main/res/values-x-invalidLanguageCode/error.xml deleted file mode 100644 index f4e2fe125..000000000 --- a/app/src/main/res/values-x-invalidLanguageCode/error.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - کامَنٕز گوو رُکِتھ - Oops. کیہہ تام گوو غلط! - ؤنِیوٚ اَسہِ توٚہہِ کیاہ ٲسِیوٚ کران، تہٕ کٕریٚو تہِ اَسہِ سٕتی شیر بذریعہِ برقی خط. یُس مَدَتھ کَرِ اَسہِ اَتھ شہَرنَس منٛز! - شُکریہ! - From 767b62528993618de8eea876a3782a282f9e5d95 Mon Sep 17 00:00:00 2001 From: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com> Date: Sun, 8 Jun 2025 12:35:24 +0530 Subject: [PATCH 08/10] Bump up version code to 1052 --- app/build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c74f95fb4..2d9e213b2 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -24,8 +24,8 @@ android { applicationId = "fr.free.nrw.commons" minSdk = 21 targetSdk = 34 - versionCode = 1043 - versionName = "5.1.2" + versionCode = 1052 + versionName = "5.4.1" setProperty("archivesBaseName", "app-commons-v$versionName-" + getBranchName()) testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" @@ -442,4 +442,4 @@ fun getBranchName(): String? { } catch (e: Exception) { null } -} \ No newline at end of file +} From c41b5cc9dae2f107a15918161d149ba401cb8787 Mon Sep 17 00:00:00 2001 From: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com> Date: Sun, 8 Jun 2025 12:38:14 +0530 Subject: [PATCH 09/10] Add v5.4.1 to CHANGELOG.md --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index df55b1124..cd4e70b6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Wikimedia Commons for Android +## v5.4.1 + +### What's changed +* Custom picker now detects images that are already available on Commons +* Improve credit line in image list +* Show place cards with loaded names only in the Nearby list +* Fix the error that occurs while loading images in Explore + ## v5.3.0 ### What's changed From 8ff52e681560fb79e9deccd8b321afee3791c60f Mon Sep 17 00:00:00 2001 From: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com> Date: Sun, 8 Jun 2025 19:16:01 +0530 Subject: [PATCH 10/10] Fix crash on app startup by bumping up room database version --- app/src/main/java/fr/free/nrw/commons/db/AppDatabase.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/db/AppDatabase.kt b/app/src/main/java/fr/free/nrw/commons/db/AppDatabase.kt index 74ec9bc89..79a655223 100644 --- a/app/src/main/java/fr/free/nrw/commons/db/AppDatabase.kt +++ b/app/src/main/java/fr/free/nrw/commons/db/AppDatabase.kt @@ -30,7 +30,7 @@ import fr.free.nrw.commons.upload.depicts.DepictsDao */ @Database( entities = [Contribution::class, Depicts::class, UploadedStatus::class, NotForUploadStatus::class, ReviewEntity::class, Place::class, BookmarksCategoryModal::class, BookmarksLocations::class], - version = 20, + version = 21, exportSchema = false, ) @TypeConverters(Converters::class)