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

Reply via email to