jenkins-bot has submitted this change and it was merged.
Change subject: Add back-button behavior to Share context.
......................................................................
Add back-button behavior to Share context.
Also made the clipListener static, so that it doesn't get re-created and
re-added to the Clipboard service multiple times, and thus pop up multiple
share choosers for a single share event.
Change-Id: I3dc7df414a1646699f3f9e72dcab8c0e7c734433
---
M wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
M wikipedia/src/main/java/org/wikipedia/page/snippet/SnippetShareAdapter.java
2 files changed, 16 insertions(+), 6 deletions(-)
Approvals:
BearND: Looks good to me, approved
jenkins-bot: Verified
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
b/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
index a91e183..2a941ed 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
@@ -526,6 +526,10 @@
@Override
public void onBackPressed() {
+ if (snippetShareAdapter != null) {
+ snippetShareAdapter.finish();
+ return;
+ }
if (drawerLayout.isDrawerOpen(Gravity.START)) {
drawerLayout.closeDrawer(Gravity.START);
return;
diff --git
a/wikipedia/src/main/java/org/wikipedia/page/snippet/SnippetShareAdapter.java
b/wikipedia/src/main/java/org/wikipedia/page/snippet/SnippetShareAdapter.java
index 712407e..76e1d2b 100644
---
a/wikipedia/src/main/java/org/wikipedia/page/snippet/SnippetShareAdapter.java
+++
b/wikipedia/src/main/java/org/wikipedia/page/snippet/SnippetShareAdapter.java
@@ -26,7 +26,7 @@
private final PageActivity activity;
private final WikipediaApp app;
private ActionMode webViewActionMode;
- private ClipboardManager.OnPrimaryClipChangedListener clipListener;
+ private static ClipboardManager.OnPrimaryClipChangedListener CLIP_LISTENER;
private MenuItem copyMenuItem;
private ShareAFactFunnel funnel;
@@ -38,6 +38,12 @@
public SnippetShareAdapter(PageActivity activity) {
this.activity = activity;
app = (WikipediaApp) activity.getApplicationContext();
+ }
+
+ public void finish() {
+ if (webViewActionMode != null) {
+ webViewActionMode.finish();
+ }
}
/**
@@ -68,8 +74,8 @@
// is copied onto it...
ClipboardManager clipboard = (ClipboardManager)
activity.getSystemService(
Context.CLIPBOARD_SERVICE);
- if (clipListener == null) {
- clipListener = new ClipboardManager.OnPrimaryClipChangedListener()
{
+ if (CLIP_LISTENER == null) {
+ CLIP_LISTENER = new
ClipboardManager.OnPrimaryClipChangedListener() {
@Override
public void onPrimaryClipChanged() {
// get the text from the clipboard!
@@ -87,15 +93,15 @@
// Pass the clipboard text to the Share handler!
shareSnippet(textSnippet);
}
- clipboard.removePrimaryClipChangedListener(clipListener);
+ clipboard.removePrimaryClipChangedListener(CLIP_LISTENER);
}
};
}
// remove it first, just in case it was added from the last context,
and
// ended up not being used.
- clipboard.removePrimaryClipChangedListener(clipListener);
+ clipboard.removePrimaryClipChangedListener(CLIP_LISTENER);
// and add it again.
- clipboard.addPrimaryClipChangedListener(clipListener);
+ clipboard.addPrimaryClipChangedListener(CLIP_LISTENER);
// inject our Share item into the menu...
MenuItem shareItem = menu.add(R.string.share_via);
--
To view, visit https://gerrit.wikimedia.org/r/183753
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I3dc7df414a1646699f3f9e72dcab8c0e7c734433
Gerrit-PatchSet: 3
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>
Gerrit-Reviewer: BearND <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits