This commit is contained in:
Junwei Bai 2024-10-20 17:02:00 +11:00
commit d8dada9483
3 changed files with 17 additions and 3 deletions

View file

@ -4,7 +4,6 @@ import androidx.room.Dao;
import androidx.room.Insert; import androidx.room.Insert;
import androidx.room.OnConflictStrategy; import androidx.room.OnConflictStrategy;
import androidx.room.Query; import androidx.room.Query;
import fr.free.nrw.commons.location.LatLng;
import io.reactivex.Completable; import io.reactivex.Completable;
/** /**

View file

@ -1,6 +1,5 @@
package fr.free.nrw.commons.nearby; package fr.free.nrw.commons.nearby;
import fr.free.nrw.commons.location.LatLng;
import io.reactivex.Completable; import io.reactivex.Completable;
import javax.inject.Inject; import javax.inject.Inject;

View file

@ -17,6 +17,7 @@ import androidx.work.Data
import androidx.work.ForegroundInfo import androidx.work.ForegroundInfo
import androidx.work.WorkerParameters import androidx.work.WorkerParameters
import dagger.android.ContributesAndroidInjector import dagger.android.ContributesAndroidInjector
import fr.free.nrw.commons.BuildConfig.HOME_URL
import fr.free.nrw.commons.CommonsApplication import fr.free.nrw.commons.CommonsApplication
import fr.free.nrw.commons.Media import fr.free.nrw.commons.Media
import fr.free.nrw.commons.R import fr.free.nrw.commons.R
@ -30,6 +31,7 @@ import fr.free.nrw.commons.customselector.database.UploadedStatus
import fr.free.nrw.commons.customselector.database.UploadedStatusDao import fr.free.nrw.commons.customselector.database.UploadedStatusDao
import fr.free.nrw.commons.di.ApplicationlessInjection import fr.free.nrw.commons.di.ApplicationlessInjection
import fr.free.nrw.commons.media.MediaClient import fr.free.nrw.commons.media.MediaClient
import fr.free.nrw.commons.nearby.PlacesRepository
import fr.free.nrw.commons.theme.BaseActivity import fr.free.nrw.commons.theme.BaseActivity
import fr.free.nrw.commons.upload.FileUtilsWrapper import fr.free.nrw.commons.upload.FileUtilsWrapper
import fr.free.nrw.commons.upload.StashUploadResult import fr.free.nrw.commons.upload.StashUploadResult
@ -38,6 +40,7 @@ import fr.free.nrw.commons.upload.UploadClient
import fr.free.nrw.commons.upload.UploadProgressActivity import fr.free.nrw.commons.upload.UploadProgressActivity
import fr.free.nrw.commons.upload.UploadResult import fr.free.nrw.commons.upload.UploadResult
import fr.free.nrw.commons.wikidata.WikidataEditService import fr.free.nrw.commons.wikidata.WikidataEditService
import io.reactivex.schedulers.Schedulers
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.MainScope import kotlinx.coroutines.MainScope
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -74,6 +77,9 @@ class UploadWorker(
@Inject @Inject
lateinit var fileUtilsWrapper: FileUtilsWrapper lateinit var fileUtilsWrapper: FileUtilsWrapper
@Inject
lateinit var placesRepository: PlacesRepository
private val processingUploadsNotificationTag = BuildConfig.APPLICATION_ID + " : upload_tag" private val processingUploadsNotificationTag = BuildConfig.APPLICATION_ID + " : upload_tag"
private val processingUploadsNotificationId = 101 private val processingUploadsNotificationId = 101
@ -379,7 +385,7 @@ class UploadWorker(
saveCompletedContribution(contribution, uploadResult) saveCompletedContribution(contribution, uploadResult)
} else { } else {
Timber.d( Timber.d(
"WikiDataEdit not required, making wikidata edit", "WikiDataEdit required, making wikidata edit",
) )
makeWikiDataEdit(uploadResult, contribution) makeWikiDataEdit(uploadResult, contribution)
} }
@ -471,6 +477,16 @@ class UploadWorker(
contribution.media.captions, contribution.media.captions,
) )
if (null != revisionID) { if (null != revisionID) {
withContext(Dispatchers.IO) {
val place = placesRepository.fetchPlace(wikiDataPlace.id);
place.name = wikiDataPlace.name;
place.pic = HOME_URL + uploadResult.createCanonicalFileName()
placesRepository
.save(place)
.subscribeOn(Schedulers.io())
.blockingAwait()
Timber.d("Updated WikiItem place ${place.name} with image ${place.pic}")
}
showSuccessNotification(contribution) showSuccessNotification(contribution)
} }
} catch (exception: Exception) { } catch (exception: Exception) {