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