From 62136b5b09695e50c9dd5f86dfbb7e49d7282243 Mon Sep 17 00:00:00 2001 From: Tanmay Gupta <119003089+savsch@users.noreply.github.com> Date: Wed, 15 Jan 2025 19:22:35 +0530 Subject: [PATCH] Fix NPE with UploadMediaDetails.captionText (#6128) Co-authored-by: Nicolas Raoul --- .../java/fr/free/nrw/commons/contributions/Contribution.kt | 2 +- .../free/nrw/commons/description/DescriptionEditActivity.kt | 4 ++-- .../java/fr/free/nrw/commons/media/MediaDetailFragment.kt | 2 +- .../main/java/fr/free/nrw/commons/upload/UploadMediaDetail.kt | 4 ++-- .../free/nrw/commons/upload/categories/CategoriesPresenter.kt | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.kt b/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.kt index 92fab56af..d623730ab 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.kt +++ b/app/src/main/java/fr/free/nrw/commons/contributions/Contribution.kt @@ -101,7 +101,7 @@ data class Contribution constructor( */ fun formatCaptions(uploadMediaDetails: List) = uploadMediaDetails - .associate { it.languageCode!! to it.captionText!! } + .associate { it.languageCode!! to it.captionText } .filter { it.value.isNotBlank() } /** diff --git a/app/src/main/java/fr/free/nrw/commons/description/DescriptionEditActivity.kt b/app/src/main/java/fr/free/nrw/commons/description/DescriptionEditActivity.kt index 942946a6b..44cefe4d5 100644 --- a/app/src/main/java/fr/free/nrw/commons/description/DescriptionEditActivity.kt +++ b/app/src/main/java/fr/free/nrw/commons/description/DescriptionEditActivity.kt @@ -267,11 +267,11 @@ class DescriptionEditActivity : applicationContext, media, mediaDetail.languageCode!!, - mediaDetail.captionText!!, + mediaDetail.captionText, ).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe { s: Boolean? -> - updatedCaptions[mediaDetail.languageCode!!] = mediaDetail.captionText!! + updatedCaptions[mediaDetail.languageCode!!] = mediaDetail.captionText media.captions = updatedCaptions Timber.d("Caption is added.") }, diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt index 084af4da9..8c29f9939 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.kt @@ -1586,7 +1586,7 @@ class MediaDetailFragment : CommonsDaggerSupportFragment(), CategoryEditHelper.C mediaDetail: UploadMediaDetail, updatedCaptions: MutableMap ) { - updatedCaptions[mediaDetail.languageCode!!] = mediaDetail.captionText!! + updatedCaptions[mediaDetail.languageCode!!] = mediaDetail.captionText media!!.captions = updatedCaptions } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetail.kt b/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetail.kt index a2b3168ec..351e53124 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetail.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetail.kt @@ -23,14 +23,14 @@ data class UploadMediaDetail( * The caption text for the item being uploaded. * @param captionText The caption text. */ - var captionText: String? = "", + var captionText: String = "", ) : Parcelable { fun javaCopy() = copy() constructor(place: Place?) : this( place?.language, place?.longDescription, - place?.name, + place?.name ?: "", ) /** diff --git a/app/src/main/java/fr/free/nrw/commons/upload/categories/CategoriesPresenter.kt b/app/src/main/java/fr/free/nrw/commons/upload/categories/CategoriesPresenter.kt index 7536cad75..dbeeae6ff 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/categories/CategoriesPresenter.kt +++ b/app/src/main/java/fr/free/nrw/commons/upload/categories/CategoriesPresenter.kt @@ -140,7 +140,7 @@ class CategoriesPresenter */ private fun getImageTitleList(): List = repository.getUploads() - .map { it.uploadMediaDetails[0].captionText!! } + .map { it.uploadMediaDetails[0].captionText } .filterNot { TextUtils.isEmpty(it) } /**