mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
* (fixes #5855) fetch item label in nearby based on user configured language. * implement a method to delete Place entity from database * clear the cache for a item when a wikiItem is updated. * fix style issue * Update placesRepository on successful WikiItemEdit * Revert the delete operations added to the PlaceDAO * Set name of the place to avoid race condition with NearbyParentFragment. Update Success Notification to show only after the pin has been updated. * Clean-up --------- Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
This commit is contained in:
parent
c77e5abba7
commit
63f1ed8a2d
3 changed files with 17 additions and 3 deletions
|
|
@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue