[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: create EventLogging dev setting
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...
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
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...
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...
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...
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...
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
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 MapdatabaseClients = 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
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 +Mapresult = 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
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, Mapparams) { -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
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