[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: create EventLogging dev setting

2018-01-10 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/403457 )

Change subject: create EventLogging dev setting
..

create EventLogging dev setting

Bug: T167314
Change-Id: I8159005584f2233783eea6d9fb7a303991d113c7
---
M app/src/main/java/org/wikipedia/analytics/EventLoggingService.java
M 
app/src/main/java/org/wikipedia/settings/DeveloperSettingsPreferenceLoader.java
M app/src/main/java/org/wikipedia/settings/Prefs.java
M app/src/main/res/values/preference_keys.xml
M app/src/main/res/xml/developer_preferences.xml
5 files changed, 44 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/57/403457/1

diff --git a/app/src/main/java/org/wikipedia/analytics/EventLoggingService.java 
b/app/src/main/java/org/wikipedia/analytics/EventLoggingService.java
index 735d974..230eee6 100644
--- a/app/src/main/java/org/wikipedia/analytics/EventLoggingService.java
+++ b/app/src/main/java/org/wikipedia/analytics/EventLoggingService.java
@@ -2,10 +2,12 @@
 
 import android.net.Uri;
 
+import org.apache.commons.lang3.StringUtils;
 import org.json.JSONObject;
 import org.wikipedia.concurrency.SaneAsyncTask;
 import org.wikipedia.crash.RemoteLogException;
 import org.wikipedia.dataclient.okhttp.OkHttpConnectionFactory;
+import org.wikipedia.settings.Prefs;
 import org.wikipedia.util.ReleaseUtil;
 import org.wikipedia.util.log.L;
 
@@ -19,8 +21,7 @@
 private static final RequestBody EMPTY_REQ = RequestBody.create(null, new 
byte[0]);
 private static final String EVENTLOG_URL_PROD = 
"https://meta.wikimedia.org/beacon/event;;
 private static final String EVENTLOG_URL_DEV = 
"https://deployment.wikimedia.beta.wmflabs.org/beacon/event;;
-private static final String EVENTLOG_URL = ReleaseUtil.isPreBetaRelease()
-? EVENTLOG_URL_DEV : EVENTLOG_URL_PROD;
+private static String EVENTLOG_URL;
 // 
https://github.com/wikimedia/mediawiki-extensions-EventLogging/blob/8b3cb1b/modules/ext.eventLogging.core.js#L57
 private static final int MAX_URL_LEN = 2000;
 
@@ -78,5 +79,18 @@
 }
 }
 
-private EventLoggingService() { }
+private EventLoggingService() {
+setEventLogginURL();
+}
+
+private void setEventLogginURL() {
+String eventLoggingURLFromPrefs = Prefs.getEventLoggingURL();
+if (!StringUtils.isBlank(eventLoggingURLFromPrefs)) {
+EVENTLOG_URL = eventLoggingURLFromPrefs;
+} else if (ReleaseUtil.isPreBetaRelease()) {
+EVENTLOG_URL = EVENTLOG_URL_DEV;
+} else {
+EVENTLOG_URL = EVENTLOG_URL_PROD;
+}
+}
 }
diff --git 
a/app/src/main/java/org/wikipedia/settings/DeveloperSettingsPreferenceLoader.java
 
b/app/src/main/java/org/wikipedia/settings/DeveloperSettingsPreferenceLoader.java
index fefa66f..dc80d94 100644
--- 
a/app/src/main/java/org/wikipedia/settings/DeveloperSettingsPreferenceLoader.java
+++ 
b/app/src/main/java/org/wikipedia/settings/DeveloperSettingsPreferenceLoader.java
@@ -6,7 +6,9 @@
 import android.support.v7.preference.PreferenceCategory;
 import android.support.v7.preference.PreferenceFragmentCompat;
 import android.support.v7.preference.TwoStatePreference;
+import android.text.TextUtils;
 
+import org.apache.commons.lang3.StringUtils;
 import org.wikipedia.R;
 import org.wikipedia.WikipediaApp;
 import org.wikipedia.crash.RemoteLogException;
@@ -14,6 +16,7 @@
 import org.wikipedia.readinglist.database.ReadingList;
 import org.wikipedia.readinglist.database.ReadingListDbHelper;
 import org.wikipedia.readinglist.database.ReadingListPage;
+import org.wikipedia.util.StringUtil;
 import org.wikipedia.util.log.L;
 
 import java.util.ArrayList;
@@ -100,6 +103,14 @@
 return true;
 });
 
+findPreference(R.string.preference_key_event_logging_url)
+.setOnPreferenceChangeListener((preference, newValue) -> {
+if (!StringUtils.isBlank(newValue.toString())) {
+Prefs.setEventLoggingURL(newValue.toString());
+}
+return true;
+});
+
 findPreference(R.string.preference_key_add_articles)
 .setOnPreferenceChangeListener((preference, newValue) -> {
 if (!newValue.toString().trim().equals("") && 
!newValue.toString().trim().equals("0")) {
diff --git a/app/src/main/java/org/wikipedia/settings/Prefs.java 
b/app/src/main/java/org/wikipedia/settings/Prefs.java
index 9fc5396..98861b5 100644
--- a/app/src/main/java/org/wikipedia/settings/Prefs.java
+++ b/app/src/main/java/org/wikipedia/settings/Prefs.java
@@ -623,5 +623,14 @@
 
setBoolean(R.string.preference_key_feed_customize_onboarding_card_enabled, 
enabled);
 }
 
+@Nullable
+public static String getEventLoggingURL() {
+return 

[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Clean up : remove unused strings from offline compilation fe...

2018-01-10 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/403420 )

Change subject: Clean up : remove unused strings from offline compilation 
feature
..

Clean up : remove unused strings from offline compilation feature

Bug: T177879

Change-Id: I51df9dc7039f8a18e96dd75009e51c5352daca0d
---
M app/src/main/res/values-qq/strings.xml
M app/src/main/res/values/strings.xml
2 files changed, 0 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/20/403420/1

diff --git a/app/src/main/res/values-qq/strings.xml 
b/app/src/main/res/values-qq/strings.xml
index 5b5c33a..7327ee3 100644
--- a/app/src/main/res/values-qq/strings.xml
+++ b/app/src/main/res/values-qq/strings.xml
@@ -490,17 +490,13 @@
   {{Doc-mobileapp-internet}}\nShort 
description of the Offline Library.
   Label for showing size in GB. The %.2f is replaced by 
the number in gigabytes(GB)
   Label for showing size in MB. The %.2f is replaced by 
the number in megabytesbytes(MB)
-  Information about the 
date and size of an article pack. The %1$s and %2$.2f symbols will be replaced 
with the date and size. Only the \"GB\" unit needs to be translated (see 
storage_size_gb).
   Information about the 
date and size of an article pack. The %1$s and %2$s symbols will be replaced 
with the date and size.
-  Label for a button 
for downloading an offline article pack. The %.2f symbol is replaced with the 
article pack size, in gigabytes (GB).
   Label for a 
button for downloading an offline article pack. The %s symbol is replaced with 
the article pack size, in either megabytes (MB) or gigabytes (GB).
   Label for a button 
for removing an offline article pack from storage on the user\'s 
device.
   Menu label for downloading a 
selected article pack.
-  Label that says how much free space is 
available on the device. The %.2f symbol is replaced with the number in 
gigabytes.
   Label that says how much free space is 
available on the device. The %s symbol is replaced with the size in either 
megabytes(MB) or gigabytes(GB).
   Label that appears next to the 
number of gigabytes used by all the downloaded packs in the user\'s Offline 
Library.
   Legend label for the amount of space used 
by other applications on the device.
-  Information about 
an offline article pack download in progress. The %1$.2f symbol represents the 
number of GB downloaded and the %2$.2f symbol represents the total size of the 
file.
   Information 
about an offline article pack download in progress. The %1$s symbol represents 
the size downloaded till now (in either MB or GB) and the %2$s symbol 
represents the total size of the file (in either GB or MB).
   
 Message shown when an offline article pack has an 
estimated one minute remaining before the download is finished.
diff --git a/app/src/main/res/values/strings.xml 
b/app/src/main/res/values/strings.xml
index 327529f..8547790 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -541,19 +541,15 @@
 Add to my Offline Library
 Offline Library
 With the Offline Library, 
you can now download packs of articles for reading when you have no internet 
connection available.
-%1$s • %2$.2f 
GB
 %1$s • %2$s
 %.2f GB
 %.2f MB
-Download • %.2f 
GB
 Download • 
%s
 Remove
 Download
-%.2f GB free
 %s free
 used by Offline 
Library
 Other applications
-%1$.2f GB / 
%2$.2f GB
 %1$s / 
%2$s
 
 1 min left

-- 
To view, visit https://gerrit.wikimedia.org/r/403420
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I51df9dc7039f8a18e96dd75009e51c5352daca0d
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yashasvi 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Offline compilations : show size in MB when its less than 1 gb

2017-12-09 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/396573 )

Change subject: Offline compilations : show size in MB when its less than 1 gb
..

Offline compilations : show size in MB when its less than 1 gb

Bug: T177879
Change-Id: Idb5c86373eea57224e2b44f30ab2c0832c522899
---
M app/src/main/java/org/wikipedia/offline/CompilationDetailFragment.java
M app/src/main/java/org/wikipedia/offline/CompilationDownloadControlView.java
M app/src/main/java/org/wikipedia/offline/DiskUsageView.java
M app/src/main/java/org/wikipedia/offline/LocalCompilationsFragment.java
M app/src/main/java/org/wikipedia/offline/RemoteCompilationsFragment.java
M app/src/main/java/org/wikipedia/util/FileUtil.java
M app/src/main/res/values-qq/strings.xml
M app/src/main/res/values/strings.xml
8 files changed, 45 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/73/396573/1

diff --git 
a/app/src/main/java/org/wikipedia/offline/CompilationDetailFragment.java 
b/app/src/main/java/org/wikipedia/offline/CompilationDetailFragment.java
index 2b4f95b..f766117 100644
--- a/app/src/main/java/org/wikipedia/offline/CompilationDetailFragment.java
+++ b/app/src/main/java/org/wikipedia/offline/CompilationDetailFragment.java
@@ -36,7 +36,7 @@
 
 import static 
org.wikipedia.offline.CompilationDetailActivity.EXTRA_COMPILATION;
 import static org.wikipedia.util.DateUtil.getShortDateString;
-import static org.wikipedia.util.FileUtil.bytesToGB;
+import static org.wikipedia.util.FileUtil.bytesToUserVisibleUnit;
 
 public class CompilationDetailFragment extends DownloadObserverFragment {
 @BindView(R.id.compilation_detail_toolbar) Toolbar toolbar;
@@ -81,12 +81,12 @@
 
gradientView.setBackground(GradientUtil.getPowerGradient(R.color.black54, 
Gravity.TOP));
 imageView.loadImage(compilation.featureImageUri());
 nameView.setText(compilation.name());
-
dateSizeView.setText(String.format(getString(R.string.offline_compilation_detail_date_size),
-getShortDateString(compilation.date()), 
bytesToGB(compilation.size(;
+
dateSizeView.setText(getString(R.string.offline_compilation_detail_date_size,
+getShortDateString(compilation.date()), 
bytesToUserVisibleUnit(getContext(), compilation.size(;
 summaryView.setText(compilation.summary());
 descriptionView.setText(compilation.description());
-
downloadButton.setText(String.format(getString(R.string.offline_compilation_detail_button_download),
-bytesToGB(compilation.size(;
+
downloadButton.setText(getString(R.string.offline_compilation_detail_button_download,
+bytesToUserVisibleUnit(getContext(), compilation.size(;
 
 controls.setCallback(new CompilationDownloadControlView.Callback() {
 @Override
diff --git 
a/app/src/main/java/org/wikipedia/offline/CompilationDownloadControlView.java 
b/app/src/main/java/org/wikipedia/offline/CompilationDownloadControlView.java
index 50f0ba6..37cf82f 100644
--- 
a/app/src/main/java/org/wikipedia/offline/CompilationDownloadControlView.java
+++ 
b/app/src/main/java/org/wikipedia/offline/CompilationDownloadControlView.java
@@ -23,7 +23,7 @@
 import butterknife.ButterKnife;
 import butterknife.OnClick;
 
-import static org.wikipedia.util.FileUtil.bytesToGB;
+import static org.wikipedia.util.FileUtil.bytesToUserVisibleUnit;
 
 public class CompilationDownloadControlView extends LinearLayout {
 @BindView(R.id.compilation_download_widget_progress_text) TextView 
progressText;
@@ -82,7 +82,7 @@
 timeRemainingText.setVisibility(GONE);
 }
 
progressText.setText(getString(R.string.offline_compilation_download_progress_text,
-bytesToGB(item.bytesDownloaded()), 
bytesToGB(item.bytesTotal(;
+bytesToUserVisibleUnit(getContext(), item.bytesDownloaded()), 
bytesToUserVisibleUnit(getContext(), item.bytesTotal(;
 long bytesPerMin = item.bytesPerSec() * TimeUnit.MINUTES.toSeconds(1);
 if (bytesPerMin >= 0) {
 long minsRemaining = (item.bytesTotal() - item.bytesDownloaded()) 
/ bytesPerMin;
diff --git a/app/src/main/java/org/wikipedia/offline/DiskUsageView.java 
b/app/src/main/java/org/wikipedia/offline/DiskUsageView.java
index d8afb7c..f673bfb 100644
--- a/app/src/main/java/org/wikipedia/offline/DiskUsageView.java
+++ b/app/src/main/java/org/wikipedia/offline/DiskUsageView.java
@@ -18,6 +18,7 @@
 import butterknife.ButterKnife;
 
 import static org.wikipedia.util.FileUtil.bytesToGB;
+import static org.wikipedia.util.FileUtil.bytesToUserVisibleUnit;
 
 public class DiskUsageView extends LinearLayout {
 @BindView(R.id.view_disk_usage_size_text) TextView sizeText;
@@ -51,13 +52,14 @@
 
 public void update(long usedBytes) {
 File path = 

[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: PageFragment : Bottom actions height should adjust when snac...

2017-12-02 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/394754 )

Change subject: PageFragment : Bottom actions height should adjust when 
snackbar is shown
..

PageFragment : Bottom actions height should adjust when snackbar is shown

Bug: T146091
Change-Id: Id979d951edab8336ab37a6d7acd14ded52e8d5d6
---
M app/src/main/res/layout/fragment_page.xml
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/54/394754/1

diff --git a/app/src/main/res/layout/fragment_page.xml 
b/app/src/main/res/layout/fragment_page.xml
index 0254f4c..f4242d3 100644
--- a/app/src/main/res/layout/fragment_page.xml
+++ b/app/src/main/res/layout/fragment_page.xml
@@ -57,6 +57,7 @@
 android:layout_height="wrap_content"
 android:layout_gravity="bottom"
 app:tabGravity="fill"
+
app:layout_behavior="org.wikipedia.random.BottomViewBehavior"
 android:background="@color/base18"
 app:tabSelectedTextColor="@color/base18"
 app:tabIndicatorColor="@color/base18" />

-- 
To view, visit https://gerrit.wikimedia.org/r/394754
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id979d951edab8336ab37a6d7acd14ded52e8d5d6
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yashasvi 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Compilation Detail screen : should be scrollable only when r...

2017-10-21 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/385776 )

Change subject: Compilation Detail screen : should be scrollable only when 
required
..

Compilation Detail screen : should be scrollable only when required

Bug: T174446
Change-Id: I61e03095858c8bbab9b6b3ad8a931416d909c38c
---
M app/src/main/res/layout/fragment_compilation_detail.xml
1 file changed, 2 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/76/385776/1

diff --git a/app/src/main/res/layout/fragment_compilation_detail.xml 
b/app/src/main/res/layout/fragment_compilation_detail.xml
index 35ad49e..dbde3b1 100644
--- a/app/src/main/res/layout/fragment_compilation_detail.xml
+++ b/app/src/main/res/layout/fragment_compilation_detail.xml
@@ -60,13 +60,13 @@
 
 
 
 
 

-- 
To view, visit https://gerrit.wikimedia.org/r/385776
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I61e03095858c8bbab9b6b3ad8a931416d909c38c
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yashasvi 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Article overflow menu : Adding option to remove from the rea...

2017-10-02 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/381832 )

Change subject: Article overflow menu : Adding option to remove from the 
reading lists
..

Article overflow menu : Adding option to remove from the reading lists

Change-Id: I201397c25ce2af9bfce651d47c1503de4e7b1b4f
---
M app/src/main/java/org/wikipedia/page/PageActivity.java
M app/src/main/java/org/wikipedia/page/PageFragment.java
M app/src/main/java/org/wikipedia/page/PageFragmentLoadState.java
M app/src/main/res/menu/menu_page_actions.xml
4 files changed, 43 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/32/381832/1

diff --git a/app/src/main/java/org/wikipedia/page/PageActivity.java 
b/app/src/main/java/org/wikipedia/page/PageActivity.java
index 24f2d46..c641591 100644
--- a/app/src/main/java/org/wikipedia/page/PageActivity.java
+++ b/app/src/main/java/org/wikipedia/page/PageActivity.java
@@ -117,7 +117,7 @@
 private DialogInterface.OnDismissListener listDialogDismissListener = new 
DialogInterface.OnDismissListener() {
 @Override
 public void onDismiss(DialogInterface dialogInterface) {
-pageFragment.updateBookmarkFromDao();
+pageFragment.updateBookmarkAndMenuOptionsFromDao();
 }
 };
 
@@ -206,6 +206,7 @@
 MenuItem otherLangItem = menu.findItem(R.id.menu_page_other_languages);
 MenuItem shareItem = menu.findItem(R.id.menu_page_share);
 MenuItem addToListItem = menu.findItem(R.id.menu_page_add_to_list);
+MenuItem removeFromListsItem = 
menu.findItem(R.id.menu_page_remove_from_list);
 MenuItem findInPageItem = menu.findItem(R.id.menu_page_find_in_page);
 MenuItem contentIssues = menu.findItem(R.id.menu_page_content_issues);
 MenuItem similarTitles = menu.findItem(R.id.menu_page_similar_titles);
@@ -222,12 +223,15 @@
 contentIssues.setEnabled(false);
 similarTitles.setEnabled(false);
 themeChooserItem.setEnabled(false);
+removeFromListsItem.setEnabled(false);
 } else {
 // Only display "Read in other languages" if the article is in 
other languages
 otherLangItem.setVisible(pageFragment.getPage() != null && 
pageFragment.getPage().getPageProperties().getLanguageCount() != 0);
 otherLangItem.setEnabled(true);
 shareItem.setEnabled(pageFragment.getPage() != null && 
pageFragment.getPage().isArticle());
 addToListItem.setEnabled(pageFragment.getPage() != null && 
pageFragment.getPage().isArticle());
+
removeFromListsItem.setVisible(pageFragment.isPresentInOfflineLists());
+
removeFromListsItem.setEnabled(pageFragment.isPresentInOfflineLists());
 findInPageItem.setEnabled(true);
 themeChooserItem.setEnabled(true);
 updateMenuPageInfo(menu);
@@ -606,7 +610,7 @@
 }
 FeedbackUtil.showMessage(this,
 getString(R.string.reading_list_item_deleted, 
title.getDisplayText()));
-pageFragment.updateBookmarkFromDao();
+pageFragment.updateBookmarkAndMenuOptionsFromDao();
 }
 
 @Override
diff --git a/app/src/main/java/org/wikipedia/page/PageFragment.java 
b/app/src/main/java/org/wikipedia/page/PageFragment.java
index 9f49922..14790b1 100755
--- a/app/src/main/java/org/wikipedia/page/PageFragment.java
+++ b/app/src/main/java/org/wikipedia/page/PageFragment.java
@@ -64,6 +64,7 @@
 import org.wikipedia.readinglist.AddToReadingListDialog;
 import org.wikipedia.readinglist.ReadingList;
 import org.wikipedia.readinglist.ReadingListBookmarkMenu;
+import org.wikipedia.readinglist.RemoveFromReadingListsDialog;
 import org.wikipedia.readinglist.page.ReadingListPage;
 import org.wikipedia.readinglist.page.database.ReadingListDaoProxy;
 import org.wikipedia.settings.Prefs;
@@ -253,6 +254,10 @@
 
 public PageTitle getTitle() {
 return model.getTitle();
+}
+
+public boolean isPresentInOfflineLists() {
+return model.isInReadingList();
 }
 
 public PageTitle getTitleOriginal() {
@@ -688,7 +693,7 @@
 
 closePageScrollFunnel();
 pageFragmentLoadState.load(pushBackStack, stagedScrollY);
-updateBookmark();
+updateBookmarkAndMenuOptions();
 }
 
 public Bitmap getLeadImageBitmap() {
@@ -703,14 +708,17 @@
 webView.getSettings().setDefaultFontSize((int) 
app.getFontSize(getActivity().getWindow()));
 }
 
-public void updateBookmark() {
+public void updateBookmarkAndMenuOptions() {
 if (!isAdded()) {
 return;
 }
 pageActionTabsCallback.updateBookmark(model.isInReadingList());
+if (callback() != null) {
+callback().onPageInvalidateOptionsMenu();
+}
 }
 
-public void updateBookmarkFromDao() {
+public void 

[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Fix : ShareAFact schema : populating text field in case of h...

2017-07-09 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/364097 )

Change subject: Fix : ShareAFact schema : populating text field in case of 
highlight type events
..

Fix : ShareAFact schema : populating text field in case of highlight type events

Change-Id: I1c98a355bdce51db9f72b15c137ee380d921f10a
---
M app/src/main/java/org/wikipedia/analytics/ShareAFactFunnel.java
M app/src/main/java/org/wikipedia/page/snippet/ShareHandler.java
2 files changed, 25 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/97/364097/1

diff --git a/app/src/main/java/org/wikipedia/analytics/ShareAFactFunnel.java 
b/app/src/main/java/org/wikipedia/analytics/ShareAFactFunnel.java
index 867df74..982d6ca 100644
--- a/app/src/main/java/org/wikipedia/analytics/ShareAFactFunnel.java
+++ b/app/src/main/java/org/wikipedia/analytics/ShareAFactFunnel.java
@@ -61,8 +61,8 @@
 }
 
 /** Text in the web view was highlighted. */
-public void logHighlight() {
-logAction("highlight", null);
+public void logHighlight(String text) {
+logAction("highlight", text);
 }
 
 /** The share button in the UI was tapped. */
diff --git a/app/src/main/java/org/wikipedia/page/snippet/ShareHandler.java 
b/app/src/main/java/org/wikipedia/page/snippet/ShareHandler.java
index 8ad7dae..bed0926 100755
--- a/app/src/main/java/org/wikipedia/page/snippet/ShareHandler.java
+++ b/app/src/main/java/org/wikipedia/page/snippet/ShareHandler.java
@@ -57,6 +57,7 @@
 private static final String PAYLOAD_PURPOSE_SHARE = "share";
 private static final String PAYLOAD_PURPOSE_DEFINE = "define";
 private static final String PAYLOAD_PURPOSE_EDIT_HERE = "edit_here";
+private static final String PAYLOAD_PURPOSE_HIGHLIGHT = "highlight";
 private static final String PAYLOAD_TEXT_KEY = "text";
 
 @ColorRes private static final int SHARE_TOOL_TIP_COLOR = 
R.color.foundation_blue;
@@ -93,11 +94,21 @@
 case PAYLOAD_PURPOSE_EDIT_HERE:
 onEditHerePayload(messagePayload.optInt("sectionID", 
0), text);
 break;
+case PAYLOAD_PURPOSE_HIGHLIGHT:
+onHighlightText(text);
+break;
 default:
 L.d("Unknown purpose=" + purpose);
 }
 }
 });
+}
+
+private void onHighlightText(String text) {
+if (funnel == null) {
+createFunnel();
+}
+funnel.logHighlight(text);
 }
 
 public void showWiktionaryDefinition(String text) {
@@ -192,8 +203,7 @@
 editItem.setVisible(false);
 }
 
-createFunnel();
-funnel.logHighlight();
+requestTextSelection(PAYLOAD_PURPOSE_HIGHLIGHT);
 }
 
 private boolean shouldEnableWiktionaryDialog() {
@@ -260,6 +270,7 @@
 
 private class RequestTextSelectOnMenuItemClickListener implements 
MenuItem.OnMenuItemClickListener {
 @NonNull private final String purpose;
+
 RequestTextSelectOnMenuItemClickListener(@NonNull String purpose) {
 this.purpose = purpose;
 }
@@ -270,17 +281,17 @@
 leaveActionMode();
 return true;
 }
+}
 
-private void requestTextSelection(String purpose) {
-// send an event to the WebView that will make it return the
-// selected text (or first paragraph) back to us...
-try {
-JSONObject payload = new JSONObject();
-payload.put(PAYLOAD_PURPOSE_KEY, purpose);
-bridge.sendMessage("getTextSelection", payload);
-} catch (JSONException e) {
-throw new RuntimeException(e);
-}
+private void requestTextSelection(String purpose) {
+// send an event to the WebView that will make it return the
+// selected text (or first paragraph) back to us...
+try {
+JSONObject payload = new JSONObject();
+payload.put(PAYLOAD_PURPOSE_KEY, purpose);
+bridge.sendMessage("getTextSelection", payload);
+} catch (JSONException e) {
+throw new RuntimeException(e);
 }
 }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/364097
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1c98a355bdce51db9f72b15c137ee380d921f10a
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yashasvi 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Remove dependency on apps-android-java-mwapi library

2017-06-25 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/361294 )

Change subject: Remove dependency on apps-android-java-mwapi library
..

Remove dependency on apps-android-java-mwapi library

Bug: T141127
Change-Id: Id8dde4eb22aa408e643a9b622dba654ffc5319f1
---
M app/build.gradle
M app/src/main/java/org/wikipedia/WikipediaApp.java
M app/src/main/java/org/wikipedia/captcha/CaptchaHandler.java
M 
app/src/main/java/org/wikipedia/dataclient/okhttp/CommonHeaderRequestInterceptor.java
M app/src/main/java/org/wikipedia/dataclient/okhttp/OkHttpConnectionFactory.java
M app/src/main/java/org/wikipedia/page/PageFragmentLoadState.java
M app/src/main/java/org/wikipedia/util/ThrowableUtil.java
M app/src/main/java/org/wikipedia/views/WikiErrorView.java
D app/src/test/java/org/wikipedia/test/TestApi.java
M settings.gradle
10 files changed, 8 insertions(+), 163 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/94/361294/1

diff --git a/app/build.gradle b/app/build.gradle
index 988d08a..7f92afc 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -156,7 +156,6 @@
 }
 
 dependencies {
-compileSubprojectOrModule ':java-mwapi:json', 
'org.mediawiki.api:json:1.3.5', 'org.json', 'json'
 
 // To keep the Maven Central dependencies up-to-date
 // use http://gradleplease.appspot.com/ or http://search.maven.org/.
diff --git a/app/src/main/java/org/wikipedia/WikipediaApp.java 
b/app/src/main/java/org/wikipedia/WikipediaApp.java
index 886d362..a108781 100644
--- a/app/src/main/java/org/wikipedia/WikipediaApp.java
+++ b/app/src/main/java/org/wikipedia/WikipediaApp.java
@@ -19,7 +19,6 @@
 import com.squareup.leakcanary.RefWatcher;
 import com.squareup.otto.Bus;
 
-import org.mediawiki.api.json.Api;
 import org.wikipedia.analytics.FunnelManager;
 import org.wikipedia.analytics.SessionFunnel;
 import org.wikipedia.auth.AccountUtil;
@@ -87,7 +86,6 @@
 
 private final RemoteConfig remoteConfig = new RemoteConfig();
 private final Map databaseClients = 
Collections.synchronizedMap(new HashMap());
-private final Map apis = new HashMap<>();
 private AppLanguageState appLanguageState;
 private FunnelManager funnelManager;
 private SessionFunnel sessionFunnel;
@@ -161,8 +159,6 @@
 
 enableWebViewDebugging();
 
-Api.setConnectionFactory(new OkHttpConnectionFactory());
-
 ImagePipelineConfig config = ImagePipelineConfig.newBuilder(this)
 .setNetworkFetcher(new 
CacheableOkHttpNetworkFetcher(OkHttpConnectionFactory.getClient()))
 .build();
@@ -212,23 +208,6 @@
 appLanguageState.getSystemLanguageCode());
 }
 
-public Api getAPIForSite(WikiSite wiki) {
-String host = wiki.host();
-String acceptLanguage = getAcceptLanguage(wiki);
-Map customHeaders = 
buildCustomHeadersMap(acceptLanguage);
-Api api;
-
-String cachedApiKey = host + "-" + acceptLanguage;
-if (apis.containsKey(cachedApiKey)) {
-api = apis.get(cachedApiKey);
-} else {
-api = new Api(host, wiki.port(), wiki.secureScheme(),
-wiki.path("api.php"), customHeaders);
-apis.put(cachedApiKey, api);
-}
-return api;
-}
-
 /**
  * Default wiki for the app
  * You should use PageTitle.getWikiSite() to get the article wiki
@@ -240,15 +219,6 @@
 wiki = WikiSite.forLanguageCode(lang);
 }
 return wiki;
-}
-
-/**
- * Convenience method to get an API object for the app wiki.
- *
- * @return An API object that is equivalent to calling 
getAPIForSite(WikiSite)
- */
-public Api getSiteApi() {
-return getAPIForSite(getWikiSite());
 }
 
 @Nullable
@@ -514,25 +484,6 @@
 
 public void listenForNotifications() {
 notificationReceiver.startPollTask(this);
-}
-
-// For java-mwapi API requests.
-// If adding a new header here (before this method is removed), make sure 
to duplicate it
-// in the Retrofit header list 
(OkHttpConnectionFactory#CommonHeaderInterceptor).
-@Deprecated
-private Map buildCustomHeadersMap(String acceptLanguage) {
-Map headers = new HashMap<>();
-headers.put("User-Agent", getUserAgent());
-
-if (isEventLoggingEnabled()) {
-headers.put("X-WMF-UUID", getAppInstallID());
-} else {
-// Send do-not-track header if the user has opted out of event 
logging
-headers.put("DNT", "1");
-}
-
-headers.put("Accept-Language", acceptLanguage);
-return headers;
 }
 
 private void initAppLang() {
diff --git a/app/src/main/java/org/wikipedia/captcha/CaptchaHandler.java 

[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Tests for Retorfit GalleryItemClient

2017-06-24 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/361222 )

Change subject: Tests for Retorfit GalleryItemClient
..

Tests for Retorfit GalleryItemClient

Change-Id: I8a177aa34aeaa0b83f42a6818c8029923ad8cd34
---
A app/src/test/java/org/wikipedia/gallery/GalleryItemClientTest.java
A app/src/test/res/raw/gallery_item_image.json
2 files changed, 225 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/22/361222/1

diff --git a/app/src/test/java/org/wikipedia/gallery/GalleryItemClientTest.java 
b/app/src/test/java/org/wikipedia/gallery/GalleryItemClientTest.java
new file mode 100644
index 000..ca0ac71
--- /dev/null
+++ b/app/src/test/java/org/wikipedia/gallery/GalleryItemClientTest.java
@@ -0,0 +1,119 @@
+package org.wikipedia.gallery;
+
+import android.support.annotation.NonNull;
+
+import com.google.gson.stream.MalformedJsonException;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.wikipedia.dataclient.WikiSite;
+import org.wikipedia.dataclient.mwapi.MwException;
+import org.wikipedia.dataclient.mwapi.MwQueryResponse;
+import org.wikipedia.dataclient.okhttp.HttpStatusException;
+import org.wikipedia.gallery.GalleryItemClient.Callback;
+import org.wikipedia.page.PageTitle;
+import org.wikipedia.test.MockWebServerTest;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import retrofit2.Call;
+
+import static org.hamcrest.Matchers.is;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Matchers.isA;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+public class GalleryItemClientTest extends MockWebServerTest {
+
+private static final WikiSite WIKISITE_EN = WikiSite.forLanguageCode("en");
+private static final PageTitle PAGE_TITLE = new PageTitle("File", 
"Kozanji_Kyoto_Kyoto11s5s4592", WIKISITE_EN);
+
+@NonNull private final GalleryItemClient subject = new GalleryItemClient();
+
+@Test
+public void testRequestSuccessForImage() throws Throwable {
+
+enqueueFromFile("gallery_item_image.json");
+
+Callback cb = mock(Callback.class);
+
+Call call = request(cb, false);
+
+server().takeRequest();
+
+ArgumentCaptor captor = 
ArgumentCaptor.forClass(HashMap.class);
+
+//noinspection unchecked
+verify(cb).success(eq(call), captor.capture());
+
+//noinspection unchecked
+Map result = captor.getValue();
+
+Assert.assertTrue(result.size() > 0);
+
+GalleryItem galleryItem = (GalleryItem) result.values().toArray()[0];
+
+Assert.assertTrue(galleryItem != null);
+
+Assert.assertThat(galleryItem.getHeight(), is(1489));
+
+Assert.assertThat(galleryItem.getWidth(), is(2125));
+
+Assert.assertThat(galleryItem.getThumbUrl(), 
is("https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Kinkaku3402CBcropped.jpg/1280px-Kinkaku3402CBcropped.jpg;));
+
+Assert.assertThat(galleryItem.getMimeType(), is("image/jpeg"));
+
+Assert.assertThat(galleryItem.getUrl(), 
is("https://upload.wikimedia.org/wikipedia/commons/c/c9/Kinkaku3402CBcropped.jpg;));
+
+}
+
+@Test
+public void testRequestResponseMalformed() throws Throwable {
+server().enqueue("'");
+
+GalleryItemClient.Callback cb = mock(GalleryItemClient.Callback.class);
+Call call = request(cb, false);
+
+server().takeRequest();
+assertCallbackFailure(call, cb, MalformedJsonException.class);
+}
+
+@Test
+public void testRequestResponseFailure() throws Throwable {
+enqueue404();
+
+GalleryItemClient.Callback cb = mock(GalleryItemClient.Callback.class);
+Call call = request(cb, false);
+
+server().takeRequest();
+assertCallbackFailure(call, cb, HttpStatusException.class);
+}
+
+@Test
+public void testRequestResponseApiError() throws Throwable {
+enqueueFromFile("api_error.json");
+
+GalleryItemClient.Callback cb = mock(GalleryItemClient.Callback.class);
+Call call = request(cb, false);
+
+server().takeRequest();
+assertCallbackFailure(call, cb, MwException.class);
+}
+
+private void assertCallbackFailure(@NonNull Call call,
+   @NonNull GalleryItemClient.Callback cb,
+   @NonNull Class 
throwable) {
+//noinspection unchecked
+verify(cb, never()).success(any(Call.class), any(HashMap.class));
+verify(cb).failure(eq(call), isA(throwable));
+}
+
+private Call request(@NonNull Callback cb, boolean 
isVideo) {
+return subject.request(WIKISITE_EN, 
service(GalleryItemClient.Service.class), PAGE_TITLE, 

[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Retrofit GalleryItemFetchTask

2017-06-20 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/360565 )

Change subject: Retrofit GalleryItemFetchTask
..

Retrofit GalleryItemFetchTask

Bug : T152404
Change-Id: I0d2477fba2406a439eac773f2865f14ec36226d9
---
D app/src/main/java/org/wikipedia/dataclient/ApiTask.java
M app/src/main/java/org/wikipedia/dataclient/mwapi/MwQueryPage.java
M app/src/main/java/org/wikipedia/dataclient/mwapi/MwQueryResult.java
A app/src/main/java/org/wikipedia/gallery/Derivative.java
M app/src/main/java/org/wikipedia/gallery/GalleryItem.java
A app/src/main/java/org/wikipedia/gallery/GalleryItemClient.java
D app/src/main/java/org/wikipedia/gallery/GalleryItemFetchTask.java
M app/src/main/java/org/wikipedia/gallery/GalleryItemFragment.java
A app/src/main/java/org/wikipedia/gallery/VideoInfo.java
D app/src/main/java/org/wikipedia/page/PageQueryTask.java
10 files changed, 308 insertions(+), 193 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/65/360565/1

diff --git a/app/src/main/java/org/wikipedia/dataclient/ApiTask.java 
b/app/src/main/java/org/wikipedia/dataclient/ApiTask.java
deleted file mode 100644
index 82380de..000
--- a/app/src/main/java/org/wikipedia/dataclient/ApiTask.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.wikipedia.dataclient;
-
-import android.net.Uri;
-
-import org.mediawiki.api.json.Api;
-import org.mediawiki.api.json.ApiException;
-import org.mediawiki.api.json.ApiResult;
-import org.mediawiki.api.json.RequestBuilder;
-import org.wikipedia.concurrency.SaneAsyncTask;
-import org.wikipedia.util.ReleaseUtil;
-import org.wikipedia.util.log.L;
-
-import java.util.Map;
-
-public abstract class ApiTask extends SaneAsyncTask {
-private static final boolean VERBOSE = ReleaseUtil.isDevRelease();
-private final Api api;
-
-public ApiTask(Api api) {
-this.api = api;
-}
-
-@Override
-public T performTask() throws Throwable {
-RequestBuilder request = buildRequest(api);
-if (VERBOSE) {
-L.v(buildUrl(api.getApiUrl().toString(), request.getParams()));
-}
-ApiResult result = makeRequest(request);
-return processResult(result);
-}
-
-/**
- * Called when an exception is thrown in the background process.
- * 
- * Called on the UI Thread.
- *
- * Default implementation just throws it as a RuntimeException, so 
exceptions are never swallowed.
- * Unless specific exceptions are handled.
- *
- * @param caught The exception that was thrown.
- */
-@Override
-public void onCatch(Throwable caught) {
-throw new RuntimeException(caught);
-}
-
-protected ApiResult makeRequest(RequestBuilder builder) throws 
ApiException {
-return builder.get();
-}
-
-public abstract RequestBuilder buildRequest(Api api);
-public abstract T processResult(ApiResult result) throws Throwable;
-
-
-private String buildUrl(String url, Map params) {
-Uri.Builder builder = new Uri.Builder().encodedPath(url);
-for (Map.Entry param : params.entrySet()) {
-builder.appendQueryParameter(param.getKey(), param.getValue());
-}
-return builder.build().toString();
-}
-}
diff --git a/app/src/main/java/org/wikipedia/dataclient/mwapi/MwQueryPage.java 
b/app/src/main/java/org/wikipedia/dataclient/mwapi/MwQueryPage.java
index 2689a16..bbdba31 100644
--- a/app/src/main/java/org/wikipedia/dataclient/mwapi/MwQueryPage.java
+++ b/app/src/main/java/org/wikipedia/dataclient/mwapi/MwQueryPage.java
@@ -6,6 +6,7 @@
 import com.google.gson.annotations.SerializedName;
 
 import org.wikipedia.gallery.ImageInfo;
+import org.wikipedia.gallery.VideoInfo;
 import org.wikipedia.json.annotations.Required;
 import org.wikipedia.model.BaseModel;
 
@@ -26,6 +27,7 @@
 @SuppressWarnings("unused") @Nullable private Thumbnail thumbnail;
 @SuppressWarnings("unused") @Nullable private Terms terms;
 @SuppressWarnings("unused") @SerializedName("imageinfo") @Nullable private 
List imageInfo;
+@SuppressWarnings("unused") @SerializedName("videoinfo") @Nullable private 
List videoInfo;
 @Nullable private String redirectFrom;
 
 @NonNull public String title() {
@@ -65,6 +67,10 @@
 return imageInfo != null ? imageInfo.get(0) : null;
 }
 
+@Nullable public VideoInfo videoInfo() {
+return videoInfo != null ? videoInfo.get(0) : null;
+}
+
 @Nullable public String redirectFrom() {
 return redirectFrom;
 }
diff --git 
a/app/src/main/java/org/wikipedia/dataclient/mwapi/MwQueryResult.java 
b/app/src/main/java/org/wikipedia/dataclient/mwapi/MwQueryResult.java
index 44702ee..70e977a 100644
--- a/app/src/main/java/org/wikipedia/dataclient/mwapi/MwQueryResult.java
+++ b/app/src/main/java/org/wikipedia/dataclient/mwapi/MwQueryResult.java
@@ -8,6 +8,7 @@
 
 

[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: fixing Alpha update notification icon for api >= 21

2017-06-06 Thread Yashasvi (Code Review)
Yashasvi has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/357411 )

Change subject: fixing Alpha update notification icon for api >= 21
..

fixing Alpha update notification icon for api >= 21

Bug: T159722

Change-Id: I3a9adec63a0f2c5b47f14107b252ee244308d51c
---
M app/src/main/java/org/wikipedia/alphaupdater/AlphaUpdateChecker.java
A app/src/main/res/drawable/ic_launcher_transparent.xml
2 files changed, 19 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/11/357411/1

diff --git 
a/app/src/main/java/org/wikipedia/alphaupdater/AlphaUpdateChecker.java 
b/app/src/main/java/org/wikipedia/alphaupdater/AlphaUpdateChecker.java
index 9b98d43..9237eed 100644
--- a/app/src/main/java/org/wikipedia/alphaupdater/AlphaUpdateChecker.java
+++ b/app/src/main/java/org/wikipedia/alphaupdater/AlphaUpdateChecker.java
@@ -1,12 +1,12 @@
 package org.wikipedia.alphaupdater;
 
-import android.app.Notification;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.net.Uri;
+import android.os.Build;
 import android.preference.PreferenceManager;
 import android.support.annotation.NonNull;
 import android.support.v4.app.NotificationCompat;
@@ -72,16 +72,20 @@
 Intent intent = new Intent(Intent.ACTION_VIEW, 
Uri.parse(ALPHA_BUILD_APK_URL));
 PendingIntent pintent = PendingIntent.getActivity(context, 0, intent, 
0);
 
-Notification notification = new NotificationCompat.Builder(context)
-.setSmallIcon(R.mipmap.launcher)
+NotificationCompat.Builder notificationBuilder = new 
NotificationCompat.Builder(context)
 
.setContentTitle(context.getString(R.string.alpha_update_notification_title))
 
.setContentText(context.getString(R.string.alpha_update_notification_text))
 .setContentIntent(pintent)
-.setAutoCancel(true)
-.build();
+.setAutoCancel(true);
+
+if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+
notificationBuilder.setSmallIcon(R.drawable.ic_launcher_transparent);
+} else {
+notificationBuilder.setSmallIcon(R.mipmap.launcher);
+}
 
 NotificationManager manager = (NotificationManager) 
context.getSystemService(Context.NOTIFICATION_SERVICE);
-manager.notify(1, notification);
+manager.notify(1, notificationBuilder.build());
 }
 
 @Override
diff --git a/app/src/main/res/drawable/ic_launcher_transparent.xml 
b/app/src/main/res/drawable/ic_launcher_transparent.xml
new file mode 100644
index 000..49e03cf
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_transparent.xml
@@ -0,0 +1,9 @@
+http://schemas.android.com/apk/res/android;
+android:width="24dp"
+android:height="24dp"
+android:viewportWidth="24.0"
+android:viewportHeight="24.0">
+
+

-- 
To view, visit https://gerrit.wikimedia.org/r/357411
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3a9adec63a0f2c5b47f14107b252ee244308d51c
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yashasvi 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits