Fetch achievements data from beta cluster for beta variant of the app (#2986)

This commit is contained in:
Vivek Maskara 2019-06-04 20:04:05 +05:30 committed by Josephine Lim
parent c4f159ea04
commit 4a671dcb3d
2 changed files with 16 additions and 3 deletions

View file

@ -70,7 +70,7 @@ public class NetworkingModule {
@Provides @Provides
@Singleton @Singleton
public OkHttpJsonApiClient provideOkHttpJsonApiClient(OkHttpClient okHttpClient, public OkHttpJsonApiClient provideOkHttpJsonApiClient(OkHttpClient okHttpClient,
@Named("tools_force") HttpUrl toolsForgeUrl, @Named("tools_forge") HttpUrl toolsForgeUrl,
@Named("default_preferences") JsonKvStore defaultKvStore, @Named("default_preferences") JsonKvStore defaultKvStore,
Gson gson) { Gson gson) {
return new OkHttpJsonApiClient(okHttpClient, return new OkHttpJsonApiClient(okHttpClient,
@ -91,7 +91,7 @@ public class NetworkingModule {
} }
@Provides @Provides
@Named("tools_force") @Named("tools_forge")
@NonNull @NonNull
@SuppressWarnings("ConstantConditions") @SuppressWarnings("ConstantConditions")
public HttpUrl provideToolsForgeUrl() { public HttpUrl provideToolsForgeUrl() {

View file

@ -3,6 +3,7 @@ package fr.free.nrw.commons.mwapi;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
@ -11,6 +12,7 @@ import org.wikipedia.dataclient.mwapi.MwQueryPage;
import org.wikipedia.dataclient.mwapi.MwQueryResponse; import org.wikipedia.dataclient.mwapi.MwQueryResponse;
import org.wikipedia.dataclient.mwapi.RecentChange; import org.wikipedia.dataclient.mwapi.RecentChange;
import org.wikipedia.util.DateUtil; import org.wikipedia.util.DateUtil;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.util.ArrayList; import java.util.ArrayList;
@ -34,6 +36,7 @@ import fr.free.nrw.commons.nearby.model.NearbyResponse;
import fr.free.nrw.commons.nearby.model.NearbyResultItem; import fr.free.nrw.commons.nearby.model.NearbyResultItem;
import fr.free.nrw.commons.upload.FileUtils; import fr.free.nrw.commons.upload.FileUtils;
import fr.free.nrw.commons.utils.CommonsDateUtil; import fr.free.nrw.commons.utils.CommonsDateUtil;
import fr.free.nrw.commons.utils.ConfigUtils;
import fr.free.nrw.commons.wikidata.model.GetWikidataEditCountResponse; import fr.free.nrw.commons.wikidata.model.GetWikidataEditCountResponse;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.Single; import io.reactivex.Single;
@ -85,6 +88,11 @@ public class OkHttpJsonApiClient {
urlBuilder urlBuilder
.addPathSegments("/uploadsbyuser.py") .addPathSegments("/uploadsbyuser.py")
.addQueryParameter("user", userName); .addQueryParameter("user", userName);
if (ConfigUtils.isBetaFlavour()) {
urlBuilder.addQueryParameter("labs", "commonswiki");
}
Request request = new Request.Builder() Request request = new Request.Builder()
.url(urlBuilder.build()) .url(urlBuilder.build())
.build(); .build();
@ -106,6 +114,11 @@ public class OkHttpJsonApiClient {
urlBuilder urlBuilder
.addPathSegments("/wikidataedits.py") .addPathSegments("/wikidataedits.py")
.addQueryParameter("user", userName); .addQueryParameter("user", userName);
if (ConfigUtils.isBetaFlavour()) {
urlBuilder.addQueryParameter("labs", "commonswiki");
}
Request request = new Request.Builder() Request request = new Request.Builder()
.url(urlBuilder.build()) .url(urlBuilder.build())
.build(); .build();
@ -134,7 +147,7 @@ public class OkHttpJsonApiClient {
*/ */
public Single<FeedbackResponse> getAchievements(String userName) { public Single<FeedbackResponse> getAchievements(String userName) {
final String fetchAchievementUrlTemplate = final String fetchAchievementUrlTemplate =
wikiMediaToolforgeUrl + "/feedback.py"; wikiMediaToolforgeUrl + (ConfigUtils.isBetaFlavour() ? "/feedback.py?labs=commonswiki" : "/feedback.py");
return Single.fromCallable(() -> { return Single.fromCallable(() -> {
String url = String.format( String url = String.format(
Locale.ENGLISH, Locale.ENGLISH,