Dbrant has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/169507

Change subject: Don't expose fragment-specific action items when searching.
......................................................................

Don't expose fragment-specific action items when searching.

Bug: 72605
Change-Id: Ib204a186fa2a19be79a0b690e04954a77929c3ae
---
M wikipedia/src/main/java/org/wikipedia/history/HistoryFragment.java
M wikipedia/src/main/java/org/wikipedia/nearby/NearbyFragment.java
M wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
M wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
M wikipedia/src/main/java/org/wikipedia/savedpages/SavedPagesFragment.java
5 files changed, 43 insertions(+), 4 deletions(-)


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

diff --git a/wikipedia/src/main/java/org/wikipedia/history/HistoryFragment.java 
b/wikipedia/src/main/java/org/wikipedia/history/HistoryFragment.java
index 152b116..b20bbe7 100644
--- a/wikipedia/src/main/java/org/wikipedia/history/HistoryFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/history/HistoryFragment.java
@@ -23,6 +23,7 @@
 import org.wikipedia.R;
 import org.wikipedia.WikipediaApp;
 import org.wikipedia.events.NewWikiPageNavigationEvent;
+import org.wikipedia.page.PageActivity;
 import org.wikipedia.pageimages.PageImage;
 
 import java.text.DateFormat;
@@ -227,18 +228,24 @@
 
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        if (((PageActivity)getActivity()).isSearching()) {
+            return;
+        }
         inflater.inflate(R.menu.menu_history, menu);
         
app.adjustDrawableToTheme(menu.findItem(R.id.menu_clear_all_history).getIcon());
     }
 
     @Override
     public void onPrepareOptionsMenu(Menu menu) {
+        super.onPrepareOptionsMenu(menu);
         if (historyEntryList == null) {
             // in API10 this may be called before onCreateView...
             return;
         }
+        if (((PageActivity)getActivity()).isSearching()) {
+            return;
+        }
         
menu.findItem(R.id.menu_clear_all_history).setEnabled(historyEntryList.getCount()
 > 0);
-        super.onPrepareOptionsMenu(menu);
     }
 
     @Override
diff --git a/wikipedia/src/main/java/org/wikipedia/nearby/NearbyFragment.java 
b/wikipedia/src/main/java/org/wikipedia/nearby/NearbyFragment.java
index 936fbd0..8a969b9 100644
--- a/wikipedia/src/main/java/org/wikipedia/nearby/NearbyFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/nearby/NearbyFragment.java
@@ -8,6 +8,8 @@
 import org.wikipedia.events.NewWikiPageNavigationEvent;
 import org.wikipedia.history.HistoryEntry;
 import org.mediawiki.api.json.ApiException;
+import org.wikipedia.page.PageActivity;
+
 import com.squareup.picasso.Picasso;
 import de.keyboardsurfer.android.widget.crouton.Crouton;
 import de.keyboardsurfer.android.widget.crouton.Style;
@@ -491,6 +493,9 @@
 
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        if (((PageActivity)getActivity()).isSearching()) {
+            return;
+        }
         inflater.inflate(R.menu.menu_nearby, menu);
         
app.adjustDrawableToTheme(menu.findItem(R.id.menu_refresh_nearby).getIcon());
         menu.findItem(R.id.menu_metric_imperial).setTitle(showImperial
@@ -500,11 +505,14 @@
 
     @Override
     public void onPrepareOptionsMenu(Menu menu) {
+        super.onPrepareOptionsMenu(menu);
+        if (((PageActivity)getActivity()).isSearching()) {
+            return;
+        }
         menu.findItem(R.id.menu_refresh_nearby).setEnabled(!refreshing);
         menu.findItem(R.id.menu_metric_imperial).setTitle(showImperial
                 ? getString(R.string.nearby_set_metric)
                 : getString(R.string.nearby_set_imperial));
-        super.onPrepareOptionsMenu(menu);
     }
 
     @Override
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java 
b/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
index 80cdbc8..d01a1de 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
@@ -262,7 +262,7 @@
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
-        if (searchFragment != null && !searchFragment.isSearchActive()) {
+        if (searchFragment != null && !isSearching()) {
             getMenuInflater().inflate(R.menu.menu_main, menu);
         }
         return super.onCreateOptionsMenu(menu);
@@ -324,6 +324,17 @@
     }
 
     /**
+     * Returns whether we're currently in a "searching" state (i.e. the search 
fragment is shown).
+     * @return True if currently searching, false otherwise.
+     */
+    public boolean isSearching() {
+        if (searchFragment == null) {
+            return false;
+        }
+        return searchFragment.isSearchActive();
+    }
+
+    /**
      * Add a new fragment to the top of the activity's backstack.
      * @param f New fragment to place on top.
      */
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java 
b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
index b96e4d3..ac7a4cd 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
@@ -142,12 +142,18 @@
 
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        if (((PageActivity)getActivity()).isSearching()) {
+            return;
+        }
         inflater.inflate(R.menu.menu_page_actions, menu);
     }
 
     @Override
     public void onPrepareOptionsMenu(Menu menu) {
         super.onPrepareOptionsMenu(menu);
+        if (((PageActivity)getActivity()).isSearching()) {
+            return;
+        }
         fragment.onPrepareOptionsMenu(menu);
     }
 
diff --git 
a/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPagesFragment.java 
b/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPagesFragment.java
index 6ed0cc0..ac1f383 100644
--- a/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPagesFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPagesFragment.java
@@ -23,6 +23,7 @@
 import org.wikipedia.WikipediaApp;
 import org.wikipedia.events.NewWikiPageNavigationEvent;
 import org.wikipedia.history.HistoryEntry;
+import org.wikipedia.page.PageActivity;
 import org.wikipedia.pageimages.PageImage;
 
 import java.util.ArrayList;
@@ -271,6 +272,9 @@
 
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        if (((PageActivity)getActivity()).isSearching()) {
+            return;
+        }
         inflater.inflate(R.menu.menu_saved_pages, menu);
         
app.adjustDrawableToTheme(menu.findItem(R.id.menu_refresh_all_saved_pages).getIcon());
         
app.adjustDrawableToTheme(menu.findItem(R.id.menu_clear_all_saved_pages).getIcon());
@@ -278,13 +282,16 @@
 
     @Override
     public void onPrepareOptionsMenu(Menu menu) {
+        super.onPrepareOptionsMenu(menu);
         if (savedPagesList == null) {
             // in API10 this may be called before onCreateView...
             return;
         }
+        if (((PageActivity)getActivity()).isSearching()) {
+            return;
+        }
         
menu.findItem(R.id.menu_clear_all_saved_pages).setEnabled(savedPagesList.getCount()
 > 0);
         
menu.findItem(R.id.menu_refresh_all_saved_pages).setEnabled(savedPagesList.getCount()
 > 0);
-        super.onPrepareOptionsMenu(menu);
     }
 
     @Override

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib204a186fa2a19be79a0b690e04954a77929c3ae
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to