Skip to content

Commit e083410

Browse files
authored
Fix: make Patroller Tasks available only on Indonesian and Test wiki (#4262)
* Fix: make Patroller Tasks available only on Indonesian and Test with rollback rights. * Fix lint
1 parent 1f5d1f3 commit e083410

File tree

5 files changed

+21
-17
lines changed

5 files changed

+21
-17
lines changed

app/src/main/java/org/wikipedia/dataclient/Service.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ interface Service {
369369
@Field("data-ge-task-image-recommendation") imageRecommendationJson: String? = null,
370370
): Edit
371371

372-
@GET(MW_API_PREFIX + "action=query&list=usercontribs&ucprop=ids|title|timestamp|comment|size|flags|sizediff|tags&meta=userinfo&uiprop=groups|blockinfo|editcount|latestcontrib")
372+
@GET(MW_API_PREFIX + "action=query&list=usercontribs&ucprop=ids|title|timestamp|comment|size|flags|sizediff|tags&meta=userinfo&uiprop=groups|blockinfo|editcount|latestcontrib|rights")
373373
suspend fun getUserContributions(
374374
@Query("ucuser") username: String,
375375
@Query("uclimit") maxCount: Int,

app/src/main/java/org/wikipedia/suggestededits/SuggestedEditsRecentEditsFilterActivity.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,12 @@ class SuggestedEditsRecentEditsFilterActivity : BaseActivity() {
8888

8989
private fun filterListWithHeaders(): List<Any> {
9090
val filterListWithHeaders = mutableListOf<Any>()
91-
filterListWithHeaders.add(getString(R.string.patroller_tasks_filters_wiki_filter_header))
92-
appLanguagesList.forEach {
93-
filterListWithHeaders.add(Filter(FILTER_TYPE_WIKI, it))
94-
}
95-
filterListWithHeaders.add(getString(R.string.notifications_filter_update_app_languages))
91+
// TODO: limit to the primary language now.
92+
// filterListWithHeaders.add(getString(R.string.patroller_tasks_filters_wiki_filter_header))
93+
// appLanguagesList.forEach {
94+
// filterListWithHeaders.add(Filter(FILTER_TYPE_WIKI, it))
95+
// }
96+
// filterListWithHeaders.add(getString(R.string.notifications_filter_update_app_languages))
9697
filterListWithHeaders.add(getString(R.string.patroller_tasks_filters_user_status_header))
9798
SuggestedEditsRecentEditsFilterTypes.USER_REGISTRATION_GROUP.forEach {
9899
filterListWithHeaders.add(Filter(FILTER_TYPE_CATEGORY, it.id, true))

app/src/main/java/org/wikipedia/suggestededits/SuggestedEditsRecentEditsViewModel.kt

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ import androidx.paging.filter
1111
import androidx.paging.insertSeparators
1212
import androidx.paging.map
1313
import kotlinx.coroutines.flow.map
14-
import org.wikipedia.Constants
15-
import org.wikipedia.dataclient.Service
14+
import org.wikipedia.WikipediaApp
1615
import org.wikipedia.dataclient.ServiceFactory
1716
import org.wikipedia.dataclient.WikiSite
1817
import org.wikipedia.dataclient.mwapi.MwQueryResult
@@ -29,15 +28,11 @@ import kotlin.math.max
2928

3029
class SuggestedEditsRecentEditsViewModel : ViewModel() {
3130

32-
var langCode = Prefs.recentEditsWikiCode
31+
// TODO: limit to the primary language now.
32+
// var langCode = Prefs.recentEditsWikiCode
33+
var langCode = WikipediaApp.instance.appOrSystemLanguageCode
3334

34-
val wikiSite get(): WikiSite {
35-
return when (langCode) {
36-
Constants.WIKI_CODE_COMMONS -> WikiSite(Service.COMMONS_URL)
37-
Constants.WIKI_CODE_WIKIDATA -> WikiSite(Service.WIKIDATA_URL)
38-
else -> WikiSite.forLanguageCode(langCode)
39-
}
40-
}
35+
val wikiSite get() = WikiSite.forLanguageCode(langCode)
4136
var currentQuery = ""
4237
var actionModeActive = false
4338
var recentEditsSource: RecentEditsPagingSource? = null

app/src/main/java/org/wikipedia/suggestededits/SuggestedEditsTasksFragment.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,12 @@ class SuggestedEditsTasksFragment : Fragment() {
343343
vandalismPatrolTask.primaryActionIcon = R.drawable.ic_check_black_24dp
344344
vandalismPatrolTask.new = !Prefs.recentEditsOnboardingShown
345345

346-
displayedTasks.add(vandalismPatrolTask)
346+
// TODO: limit to the Indonesian and Test wiki now.
347+
val availableWikiSitesForPatrollerTasks = listOf("id", "test")
348+
if (viewModel.allowToPatrolEdits && viewModel.blockMessageWikipedia.isNullOrEmpty() &&
349+
availableWikiSitesForPatrollerTasks.contains(WikipediaApp.instance.wikiSite.languageCode)) {
350+
displayedTasks.add(vandalismPatrolTask)
351+
}
347352

348353
if (DescriptionEditUtil.wikiUsesLocalDescriptions(WikipediaApp.instance.wikiSite.languageCode) && viewModel.blockMessageWikipedia.isNullOrEmpty() ||
349354
!DescriptionEditUtil.wikiUsesLocalDescriptions(WikipediaApp.instance.wikiSite.languageCode) && viewModel.blockMessageWikidata.isNullOrEmpty()) {

app/src/main/java/org/wikipedia/suggestededits/SuggestedEditsTasksFragmentViewModel.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ class SuggestedEditsTasksFragmentViewModel : ViewModel() {
3737
var revertSeverity = 0
3838

3939
var wikiSupportsImageRecommendations = false
40+
// TODO: remove this limitation later.
41+
var allowToPatrolEdits = false
4042

4143
fun fetchData() {
4244
_uiState.value = UiState.Loading()
@@ -78,6 +80,7 @@ class SuggestedEditsTasksFragmentViewModel : ViewModel() {
7880
wikiSupportsImageRecommendations = true
7981

8082
homeSiteResponse.query?.userInfo?.let {
83+
allowToPatrolEdits = it.rights.contains("rollback") || it.groups().contains("sysop")
8184
if (it.isBlocked) {
8285
blockMessageWikipedia = ThrowableUtil.getBlockMessageHtml(it, WikipediaApp.instance.wikiSite)
8386
}

0 commit comments

Comments
 (0)