jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/333286 )
Change subject: Fix: use app language when new nearby results are requested
......................................................................
Fix: use app language when new nearby results are requested
Previously, the nearby screen would use a copy of app language from
NearbyFragment birth. This caused app language changes to have no effect
on the map until the Fragment was recreated
Change-Id: I445f54e0984be8adaccfa654946fc9c37d971316
---
M app/src/main/java/org/wikipedia/nearby/NearbyClient.java
M app/src/main/java/org/wikipedia/nearby/NearbyFragment.java
M app/src/main/java/org/wikipedia/nearby/NearbyResult.java
M app/src/test/java/org/wikipedia/nearby/NearbyClientTest.java
4 files changed, 22 insertions(+), 12 deletions(-)
Approvals:
Dbrant: Looks good to me, approved
jenkins-bot: Verified
Mholloway: Looks good to me, but someone else must approve
diff --git a/app/src/main/java/org/wikipedia/nearby/NearbyClient.java
b/app/src/main/java/org/wikipedia/nearby/NearbyClient.java
index 57cb69d..5d3f08e 100644
--- a/app/src/main/java/org/wikipedia/nearby/NearbyClient.java
+++ b/app/src/main/java/org/wikipedia/nearby/NearbyClient.java
@@ -30,10 +30,11 @@
public Call<MwQueryResponse<Nearby>> request(@NonNull WikiSite wiki,
double latitude,
double longitude, double
radius,
@NonNull Callback cb) {
- return request(cachedService.service(wiki), latitude, longitude,
radius, cb);
+ return request(wiki, cachedService.service(wiki), latitude, longitude,
radius, cb);
}
- @VisibleForTesting Call<MwQueryResponse<Nearby>> request(@NonNull Service
service,
+ @VisibleForTesting Call<MwQueryResponse<Nearby>> request(@NonNull final
WikiSite wiki,
+ @NonNull Service
service,
double latitude,
double longitude,
double radius,
@NonNull final
Callback cb) {
@@ -51,11 +52,11 @@
// Accordingly, let's assume that we just got an empty
result set unless the
// API explicitly tells us we have an error.
if (response.body().success()) {
- cb.success(call, new
NearbyResult(response.body().query().list()));
+ cb.success(call, new NearbyResult(wiki,
response.body().query().list()));
} else if (response.body().hasError()) {
cb.failure(call, new
MwApiException(response.body().getError()));
} else {
- cb.success(call, new NearbyResult(new
ArrayList<NearbyPage>()));
+ cb.success(call, new NearbyResult(wiki, new
ArrayList<NearbyPage>()));
}
} else {
cb.failure(call, RetrofitException.httpError(response,
cachedService.retrofit()));
diff --git a/app/src/main/java/org/wikipedia/nearby/NearbyFragment.java
b/app/src/main/java/org/wikipedia/nearby/NearbyFragment.java
index 9fe16ff..5a572aa 100644
--- a/app/src/main/java/org/wikipedia/nearby/NearbyFragment.java
+++ b/app/src/main/java/org/wikipedia/nearby/NearbyFragment.java
@@ -78,7 +78,6 @@
@Nullable private MapboxMap mapboxMap;
private Icon markerIconPassive;
- private WikiSite wiki;
private NearbyClient client;
private NearbyResult lastResult;
@@ -92,7 +91,6 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- wiki = WikipediaApp.getInstance().getWikiSite();
client = new NearbyClient();
disableTelemetry();
}
@@ -213,7 +211,7 @@
public boolean onMarkerClick(@NonNull Marker marker) {
NearbyPage page = findNearbyPageFromMarker(marker);
if (page != null) {
- PageTitle title = new PageTitle(page.getTitle(),
wiki, page.getThumbUrl());
+ PageTitle title = new PageTitle(page.getTitle(),
lastResult.getWiki(), page.getThumbUrl());
onLoadPage(title, HistoryEntry.SOURCE_NEARBY,
page.getLocation());
return true;
} else {
@@ -338,6 +336,7 @@
currentLocation = fromLatLng(mapboxMap.getCameraPosition().target);
onLoading();
+ WikiSite wiki = WikipediaApp.getInstance().getWikiSite();
client.request(wiki, currentLocation.getLatitude(),
currentLocation.getLongitude(), getMapRadius(), new
NearbyClient.Callback() {
@Override public void success(@NonNull
Call<MwQueryResponse<Nearby>> call,
@@ -462,4 +461,4 @@
private Callback callback() {
return FragmentUtil.getCallback(this, Callback.class);
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/wikipedia/nearby/NearbyResult.java
b/app/src/main/java/org/wikipedia/nearby/NearbyResult.java
index 2abe01e..24ceff4 100644
--- a/app/src/main/java/org/wikipedia/nearby/NearbyResult.java
+++ b/app/src/main/java/org/wikipedia/nearby/NearbyResult.java
@@ -2,16 +2,24 @@
import android.support.annotation.NonNull;
+import org.wikipedia.dataclient.WikiSite;
+
import java.util.List;
class NearbyResult {
- @NonNull private List<NearbyPage> list;
+ @NonNull private final WikiSite wiki;
+ @NonNull private final List<NearbyPage> list;
- NearbyResult(@NonNull List<NearbyPage> list) {
+ NearbyResult(@NonNull WikiSite wiki, @NonNull List<NearbyPage> list) {
+ this.wiki = wiki;
this.list = list;
+ }
+
+ @NonNull public WikiSite getWiki() {
+ return wiki;
}
@NonNull public List<NearbyPage> getList() {
return list;
}
-}
+}
\ No newline at end of file
diff --git a/app/src/test/java/org/wikipedia/nearby/NearbyClientTest.java
b/app/src/test/java/org/wikipedia/nearby/NearbyClientTest.java
index 3f40fec..61dbd02 100644
--- a/app/src/test/java/org/wikipedia/nearby/NearbyClientTest.java
+++ b/app/src/test/java/org/wikipedia/nearby/NearbyClientTest.java
@@ -6,6 +6,7 @@
import org.junit.Test;
import org.mockito.ArgumentCaptor;
+import org.wikipedia.dataclient.WikiSite;
import org.wikipedia.dataclient.mwapi.MwApiException;
import org.wikipedia.dataclient.mwapi.MwQueryResponse;
import org.wikipedia.dataclient.retrofit.RetrofitException;
@@ -143,6 +144,7 @@
}
private Call<MwQueryResponse<Nearby>> request(@NonNull
NearbyClient.Callback cb) {
- return subject.request(service(NearbyClient.Service.class), 0, 0, 0,
cb);
+ return subject.request(WikiSite.forLanguageCode("test"),
+ service(NearbyClient.Service.class), 0, 0, 0, cb);
}
}
--
To view, visit https://gerrit.wikimedia.org/r/333286
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I445f54e0984be8adaccfa654946fc9c37d971316
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: Niedzielski <[email protected]>
Gerrit-Reviewer: Sniedzielski <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits