Dbrant has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/382268 )
Change subject: One more thing with language variants in WikiSite.
......................................................................
One more thing with language variants in WikiSite.
This correctly extracts the subdomain from any arbitrary language variant
of the form {base-variant}, including variants that aren't currently known
to the app, such as "zh-sg", "en-redneck".
Change-Id: I683f0ad85ca05cbcbdb62e6aa17fb2ff2256f523
---
M app/src/main/java/org/wikipedia/dataclient/WikiSite.java
M app/src/test/java/org/wikipedia/dataclient/WikiSiteTest.java
2 files changed, 22 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/68/382268/1
diff --git a/app/src/main/java/org/wikipedia/dataclient/WikiSite.java
b/app/src/main/java/org/wikipedia/dataclient/WikiSite.java
index 0802c8e..75d2a36 100644
--- a/app/src/main/java/org/wikipedia/dataclient/WikiSite.java
+++ b/app/src/main/java/org/wikipedia/dataclient/WikiSite.java
@@ -261,8 +261,18 @@
case AppLanguageLookUpTable.NORWEGIAN_BOKMAL_LANGUAGE_CODE:
return AppLanguageLookUpTable.NORWEGIAN_LEGACY_LANGUAGE_CODE;
// T114042
default:
- return languageCode;
+ break;
}
+ if (languageCode.contains("-")) {
+ // Handle any arbitrary language variant of the form
{"base-variant"}
+ // whereby the "base" becomes the subdomain, regardless of the
variant remainder,
+ // such as "zh-tw" or "en-cockney".
+ String[] parts = languageCode.split("-");
+ if (parts.length > 0 && !TextUtils.isEmpty(parts[0])) {
+ return parts[0];
+ }
+ }
+ return languageCode;
}
@NonNull private static String authorityToLanguageCode(@NonNull String
authority) {
diff --git a/app/src/test/java/org/wikipedia/dataclient/WikiSiteTest.java
b/app/src/test/java/org/wikipedia/dataclient/WikiSiteTest.java
index b394001..2e7de0b 100644
--- a/app/src/test/java/org/wikipedia/dataclient/WikiSiteTest.java
+++ b/app/src/test/java/org/wikipedia/dataclient/WikiSiteTest.java
@@ -118,6 +118,17 @@
assertThat(subject.url(), is("http://zh.wikipedia.org"));
}
+ @Test public void testCtorUriArbitraryLangVariant() {
+ WikiSite subject = new WikiSite("en.wikipedia.org/en-cockney/Foo");
+ assertThat(subject.authority(), is("en.wikipedia.org"));
+ assertThat(subject.mobileAuthority(), is("en.m.wikipedia.org"));
+ assertThat(subject.subdomain(), is("en"));
+ assertThat(subject.languageCode(), is("en-cockney"));
+ assertThat(subject.scheme(), is("https"));
+ assertThat(subject.dbName(), is("enwiki"));
+ assertThat(subject.url(), is("https://en.wikipedia.org"));
+ }
+
@Test public void testCtorParcel() throws Throwable {
WikiSite subject = WikiSite.forLanguageCode("test");
TestParcelUtil.test(subject);
--
To view, visit https://gerrit.wikimedia.org/r/382268
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I683f0ad85ca05cbcbdb62e6aa17fb2ff2256f523
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits