jenkins-bot has submitted this change and it was merged. Change subject: Tabs in feed. ......................................................................
Tabs in feed. Placed a "tabs" icon in the toolbar of the feed, for convenient access to the user's list of active tabs, by strong user demand. Also update the icon of the Tabs button to be a "dynamic" icon based on the number of tabs. Bug: T142712 Change-Id: If55ed75d3a389d4d80128ea7ee347ace0009b36f --- M app/src/main/java/org/wikipedia/MainActivity.java M app/src/main/java/org/wikipedia/feed/FeedFragment.java M app/src/main/java/org/wikipedia/overhaul/OverhaulFragment.java M app/src/main/java/org/wikipedia/page/PageFragment.java M app/src/main/java/org/wikipedia/page/tabs/TabsProvider.java M app/src/main/java/org/wikipedia/util/ResourceUtil.java A app/src/main/res/drawable/ic_tab_list_1.xml A app/src/main/res/drawable/ic_tab_list_2.xml A app/src/main/res/drawable/ic_tab_list_3.xml A app/src/main/res/drawable/ic_tab_list_4.xml A app/src/main/res/drawable/ic_tab_list_5.xml A app/src/main/res/drawable/ic_tab_list_6.xml A app/src/main/res/drawable/ic_tab_list_7.xml A app/src/main/res/drawable/ic_tab_list_8.xml A app/src/main/res/drawable/ic_tab_list_9.xml A app/src/main/res/drawable/ic_tab_list_9_plus.xml M app/src/main/res/menu/menu_feed.xml M app/src/main/res/menu/menu_page_actions.xml 18 files changed, 207 insertions(+), 19 deletions(-) Approvals: BearND: Looks good to me, approved jenkins-bot: Verified diff --git a/app/src/main/java/org/wikipedia/MainActivity.java b/app/src/main/java/org/wikipedia/MainActivity.java index 889160e..b6c691d 100644 --- a/app/src/main/java/org/wikipedia/MainActivity.java +++ b/app/src/main/java/org/wikipedia/MainActivity.java @@ -768,6 +768,23 @@ loadPage(title, historyEntry, position, allowStateLoss, mustBeEmpty); } + @TargetApi(17) + private void showTabList() { + if (isDestroyed()) { + return; + } + pushFragment(new PageFragment()); + fragmentContainerView.post(new Runnable() { + @Override + public void run() { + PageFragment frag = getCurPageFragment(); + if (frag != null) { + frag.showTabList(); + } + } + }); + } + public void showLinkPreview(PageTitle title, int entrySource) { showLinkPreview(title, entrySource, null); } @@ -850,15 +867,17 @@ && ((BackPressedHandler) getTopFragment()).onBackPressed()) { return; } - if (getSupportFragmentManager().getBackStackEntryCount() > 0) { - beforeFragmentChanged(); - getSupportFragmentManager().popBackStackImmediate(); - afterFragmentChanged(); - if (getSupportFragmentManager().getBackStackEntryCount() > 0) { - return; - } - } - finish(); + popFragment(); + } + + @Override + public void onPagePopFragment() { + popFragment(); + } + + @Override + public void onFeedTabListRequested() { + showTabList(); } @Override @@ -1104,6 +1123,18 @@ return this; } + private void popFragment() { + if (getSupportFragmentManager().getBackStackEntryCount() > 0) { + beforeFragmentChanged(); + getSupportFragmentManager().popBackStackImmediate(); + afterFragmentChanged(); + if (getSupportFragmentManager().getBackStackEntryCount() > 0) { + return; + } + } + finish(); + } + private void download(@NonNull FeaturedImage image) { setPendingDownload(null); new MediaDownloadReceiver(MainActivity.this).download(image); diff --git a/app/src/main/java/org/wikipedia/feed/FeedFragment.java b/app/src/main/java/org/wikipedia/feed/FeedFragment.java index 12c3257..228bd21 100644 --- a/app/src/main/java/org/wikipedia/feed/FeedFragment.java +++ b/app/src/main/java/org/wikipedia/feed/FeedFragment.java @@ -34,6 +34,7 @@ import org.wikipedia.settings.Prefs; import org.wikipedia.util.DimenUtil; import org.wikipedia.util.FeedbackUtil; +import org.wikipedia.util.ResourceUtil; import java.util.List; @@ -57,6 +58,7 @@ private boolean searchIconVisible; public interface Callback { + void onFeedTabListRequested(); void onFeedSearchRequested(); void onFeedVoiceSearchRequested(); void onFeedSelectPage(HistoryEntry entry); @@ -141,8 +143,20 @@ @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { menu.clear(); - if (searchIconVisible) { - inflater.inflate(R.menu.menu_feed, menu); + inflater.inflate(R.menu.menu_feed, menu); + } + + @Override + public void onPrepareOptionsMenu(Menu menu) { + MenuItem searchItem = menu.findItem(R.id.menu_feed_search); + MenuItem tabsItem = menu.findItem(R.id.menu_feed_tabs); + if (searchItem != null) { + searchItem.setVisible(searchIconVisible); + } + if (tabsItem != null) { + int tabCount = Prefs.getTabs().size(); + tabsItem.setIcon(ResourceUtil.getTabListIcon(getContext(), tabCount)); + tabsItem.setVisible(tabCount > 0); } } @@ -154,6 +168,11 @@ getCallback().onFeedSearchRequested(); } return true; + case R.id.menu_feed_tabs: + if (getCallback() != null) { + getCallback().onFeedTabListRequested(); + } + return true; default: return super.onOptionsItemSelected(item); } diff --git a/app/src/main/java/org/wikipedia/overhaul/OverhaulFragment.java b/app/src/main/java/org/wikipedia/overhaul/OverhaulFragment.java index e4656f6..779e82b 100644 --- a/app/src/main/java/org/wikipedia/overhaul/OverhaulFragment.java +++ b/app/src/main/java/org/wikipedia/overhaul/OverhaulFragment.java @@ -73,6 +73,11 @@ super.onDestroyView(); } + @Override + public void onFeedTabListRequested() { + // todo: [overhaul] tab list. + } + @Override public void onFeedSearchRequested() { searchFragment.setInvokeSource(OverhaulSearchFragment.InvokeSource.FEED_BAR); searchFragment.openSearch(); diff --git a/app/src/main/java/org/wikipedia/page/PageFragment.java b/app/src/main/java/org/wikipedia/page/PageFragment.java index a747921..f95461e 100755 --- a/app/src/main/java/org/wikipedia/page/PageFragment.java +++ b/app/src/main/java/org/wikipedia/page/PageFragment.java @@ -70,6 +70,7 @@ import org.wikipedia.tooltip.ToolTipUtil; import org.wikipedia.util.DimenUtil; import org.wikipedia.util.FeedbackUtil; +import org.wikipedia.util.ResourceUtil; import org.wikipedia.util.ShareUtil; import org.wikipedia.util.ThrowableUtil; import org.wikipedia.util.UriUtil; @@ -113,6 +114,7 @@ @NonNull AddToReadingListDialog.InvokeSource source); @Nullable View onPageGetContentView(); @Nullable View onPageGetTabsContainerView(); + void onPagePopFragment(); @Nullable AppCompatActivity getActivity(); void onPageUpdateNavDrawerSelection(@NonNull Fragment fragment); } @@ -435,6 +437,12 @@ tabsProvider.exitTabMode(); tabFunnel.logCancel(tabList.size()); leadImagesHandler.setAnimationPaused(false); + if (tabsProvider.shouldPopFragment()) { + Callback callback = callback(); + if (callback != null) { + callback.onPagePopFragment(); + } + } } @Override @@ -472,10 +480,14 @@ tabList.remove(position); tabFunnel.logClose(tabList.size(), position); tabsProvider.invalidate(); + getActivity().supportInvalidateOptionsMenu(); if (tabList.size() == 0) { tabFunnel.logCancel(tabList.size()); + tabsProvider.exitTabMode(); // and if the last tab was closed, then finish the activity! - getActivity().finish(); + if (!tabsProvider.shouldPopFragment()) { + getActivity().finish(); + } } else if (position == tabList.size()) { // if it's the topmost tab, then load the topmost page in the next tab. pageLoadStrategy.setBackStack(getCurrentTab().getBackStack()); @@ -520,6 +532,10 @@ public void invalidateTabs() { tabsProvider.invalidate(); + } + + public void showTabList() { + tabsProvider.enterTabMode(true); } public void openInNewBackgroundTabFromMenu(PageTitle title, HistoryEntry entry) { @@ -669,6 +685,9 @@ MenuItem contentIssues = menu.findItem(R.id.menu_page_content_issues); MenuItem similarTitles = menu.findItem(R.id.menu_page_similar_titles); MenuItem themeChooserItem = menu.findItem(R.id.menu_page_font_and_theme); + MenuItem tabsItem = menu.findItem(R.id.menu_page_show_tabs); + + tabsItem.setIcon(ResourceUtil.getTabListIcon(getContext(), tabList.size())); if (pageLoadStrategy.isLoading() || errorState) { otherLangItem.setEnabled(false); @@ -723,7 +742,7 @@ showThemeChooser(); return true; case R.id.menu_page_show_tabs: - tabsProvider.enterTabMode(); + tabsProvider.enterTabMode(false); return true; default: return super.onOptionsItemSelected(item); @@ -952,6 +971,7 @@ tabsProvider.invalidate(); // add the requested page to its backstack tab.getBackStack().add(new PageBackStackItem(title, entry)); + getActivity().supportInvalidateOptionsMenu(); } else { getTopMostTab().getBackStack().add(new PageBackStackItem(title, entry)); } diff --git a/app/src/main/java/org/wikipedia/page/tabs/TabsProvider.java b/app/src/main/java/org/wikipedia/page/tabs/TabsProvider.java index 0362ab6..a7aad41 100644 --- a/app/src/main/java/org/wikipedia/page/tabs/TabsProvider.java +++ b/app/src/main/java/org/wikipedia/page/tabs/TabsProvider.java @@ -58,6 +58,7 @@ private boolean isActionModeDismissedIndirectly; private List<Tab> tabList; + private boolean launchedExternally; @NonNull private TabsProviderListener providerListener = new DefaultTabsProviderListener(); @@ -78,6 +79,7 @@ tabContainerView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + isActionModeDismissedIndirectly = true; providerListener.onCancelTabView(); } }); @@ -101,16 +103,21 @@ return false; } - public void enterTabMode() { - enterTabMode(null); + public void enterTabMode(boolean launchedExternally) { + enterTabMode(launchedExternally, null); providerListener.onEnterTabView(); + } + + public boolean shouldPopFragment() { + return launchedExternally && !isActionModeDismissedIndirectly; } private boolean isTabMode() { return tabActionMode != null; } - private void enterTabMode(@Nullable Runnable onTabModeEntered) { + private void enterTabMode(boolean launchedExternally, @Nullable Runnable onTabModeEntered) { + this.launchedExternally = launchedExternally; if (isTabMode()) { // already inside action mode... // but make sure to update the list of tabs. @@ -177,7 +184,6 @@ if (!isActionModeDismissedIndirectly) { providerListener.onCancelTabView(); } - isActionModeDismissedIndirectly = false; } @NonNull @@ -193,7 +199,7 @@ } public void showAndHideTabs() { - enterTabMode(new Runnable() { + enterTabMode(false, new Runnable() { private final int animDelay = 500; @Override diff --git a/app/src/main/java/org/wikipedia/util/ResourceUtil.java b/app/src/main/java/org/wikipedia/util/ResourceUtil.java index 0caa4ac..d912c01 100644 --- a/app/src/main/java/org/wikipedia/util/ResourceUtil.java +++ b/app/src/main/java/org/wikipedia/util/ResourceUtil.java @@ -7,9 +7,12 @@ import android.net.Uri; import android.support.annotation.AnyRes; import android.support.annotation.ArrayRes; +import android.support.annotation.DrawableRes; import android.support.annotation.IdRes; import android.support.annotation.NonNull; import android.util.TypedValue; + +import org.wikipedia.R; public final class ResourceUtil { private static final int NO_ID = 0; @@ -30,6 +33,18 @@ return ids; } + @DrawableRes + public static int getTabListIcon(@NonNull Context context, int numTabs) { + final int maxTabIcon = 9; + if (numTabs <= 0) { + return R.drawable.ic_tab_list_white_24dp; + } else if (numTabs > maxTabIcon) { + return R.drawable.ic_tab_list_9_plus; + } else { + return context.getResources().getIdentifier("ic_tab_list_" + numTabs, "drawable", context.getPackageName()); + } + } + /** * Resolves the resource ID of a theme-dependent attribute (for example, a color value * that changes based on the selected theme) diff --git a/app/src/main/res/drawable/ic_tab_list_1.xml b/app/src/main/res/drawable/ic_tab_list_1.xml new file mode 100644 index 0000000..6e84bdf --- /dev/null +++ b/app/src/main/res/drawable/ic_tab_list_1.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M3,5L1,5v16c0,1.1 0.9,2 2,2h16v-2L3,21L3,5zM14,15h2L16,5h-4v2h2v8zM21,1L7,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM21,17L7,17L7,3h14v14z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_tab_list_2.xml b/app/src/main/res/drawable/ic_tab_list_2.xml new file mode 100644 index 0000000..2be6e50 --- /dev/null +++ b/app/src/main/res/drawable/ic_tab_list_2.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M3,5L1,5v16c0,1.1 0.9,2 2,2h16v-2L3,21L3,5zM21,1L7,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM21,17L7,17L7,3h14v14zM17,13h-4v-2h2c1.1,0 2,-0.89 2,-2L17,7c0,-1.11 -0.9,-2 -2,-2h-4v2h4v2h-2c-1.1,0 -2,0.89 -2,2v4h6v-2z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_tab_list_3.xml b/app/src/main/res/drawable/ic_tab_list_3.xml new file mode 100644 index 0000000..80524e6 --- /dev/null +++ b/app/src/main/res/drawable/ic_tab_list_3.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M21,1L7,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM21,17L7,17L7,3h14v14zM3,5L1,5v16c0,1.1 0.9,2 2,2h16v-2L3,21L3,5zM17,13v-1.5c0,-0.83 -0.67,-1.5 -1.5,-1.5 0.83,0 1.5,-0.67 1.5,-1.5L17,7c0,-1.11 -0.9,-2 -2,-2h-4v2h4v2h-2v2h2v2h-4v2h4c1.1,0 2,-0.89 2,-2z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_tab_list_4.xml b/app/src/main/res/drawable/ic_tab_list_4.xml new file mode 100644 index 0000000..8b5ae6c --- /dev/null +++ b/app/src/main/res/drawable/ic_tab_list_4.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M3,5L1,5v16c0,1.1 0.9,2 2,2h16v-2L3,21L3,5zM15,15h2L17,5h-2v4h-2L13,5h-2v6h4v4zM21,1L7,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM21,17L7,17L7,3h14v14z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_tab_list_5.xml b/app/src/main/res/drawable/ic_tab_list_5.xml new file mode 100644 index 0000000..11eb718 --- /dev/null +++ b/app/src/main/res/drawable/ic_tab_list_5.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M21,1L7,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM21,17L7,17L7,3h14v14zM3,5L1,5v16c0,1.1 0.9,2 2,2h16v-2L3,21L3,5zM17,13v-2c0,-1.11 -0.9,-2 -2,-2h-2L13,7h4L17,5h-6v6h4v2h-4v2h4c1.1,0 2,-0.89 2,-2z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_tab_list_6.xml b/app/src/main/res/drawable/ic_tab_list_6.xml new file mode 100644 index 0000000..e954b30 --- /dev/null +++ b/app/src/main/res/drawable/ic_tab_list_6.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M3,5L1,5v16c0,1.1 0.9,2 2,2h16v-2L3,21L3,5zM21,1L7,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM21,17L7,17L7,3h14v14zM13,15h2c1.1,0 2,-0.89 2,-2v-2c0,-1.11 -0.9,-2 -2,-2h-2L13,7h4L17,5h-4c-1.1,0 -2,0.89 -2,2v6c0,1.11 0.9,2 2,2zM13,11h2v2h-2v-2z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_tab_list_7.xml b/app/src/main/res/drawable/ic_tab_list_7.xml new file mode 100644 index 0000000..14e4718 --- /dev/null +++ b/app/src/main/res/drawable/ic_tab_list_7.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M3,5L1,5v16c0,1.1 0.9,2 2,2h16v-2L3,21L3,5zM21,1L7,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM21,17L7,17L7,3h14v14zM13,15l4,-8L17,5h-6v2h4l-4,8h2z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_tab_list_8.xml b/app/src/main/res/drawable/ic_tab_list_8.xml new file mode 100644 index 0000000..8559f90 --- /dev/null +++ b/app/src/main/res/drawable/ic_tab_list_8.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M3,5L1,5v16c0,1.1 0.9,2 2,2h16v-2L3,21L3,5zM21,1L7,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM21,17L7,17L7,3h14v14zM13,15h2c1.1,0 2,-0.89 2,-2v-1.5c0,-0.83 -0.67,-1.5 -1.5,-1.5 0.83,0 1.5,-0.67 1.5,-1.5L17,7c0,-1.11 -0.9,-2 -2,-2h-2c-1.1,0 -2,0.89 -2,2v1.5c0,0.83 0.67,1.5 1.5,1.5 -0.83,0 -1.5,0.67 -1.5,1.5L11,13c0,1.11 0.9,2 2,2zM13,7h2v2h-2L13,7zM13,11h2v2h-2v-2z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_tab_list_9.xml b/app/src/main/res/drawable/ic_tab_list_9.xml new file mode 100644 index 0000000..a052a54 --- /dev/null +++ b/app/src/main/res/drawable/ic_tab_list_9.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M3,5L1,5v16c0,1.1 0.9,2 2,2h16v-2L3,21L3,5zM21,1L7,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM21,17L7,17L7,3h14v14zM15,5h-2c-1.1,0 -2,0.89 -2,2v2c0,1.11 0.9,2 2,2h2v2h-4v2h4c1.1,0 2,-0.89 2,-2L17,7c0,-1.11 -0.9,-2 -2,-2zM15,9h-2L13,7h2v2z"/> +</vector> diff --git a/app/src/main/res/drawable/ic_tab_list_9_plus.xml b/app/src/main/res/drawable/ic_tab_list_9_plus.xml new file mode 100644 index 0000000..29c95dd --- /dev/null +++ b/app/src/main/res/drawable/ic_tab_list_9_plus.xml @@ -0,0 +1,9 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + <path + android:fillColor="#FFFFFFFF" + android:pathData="M3,5L1,5v16c0,1.1 0.9,2 2,2h16v-2L3,21L3,5zM14,12L14,8c0,-1.11 -0.9,-2 -2,-2h-1c-1.1,0 -2,0.89 -2,2v1c0,1.11 0.9,2 2,2h1v1L9,12v2h3c1.1,0 2,-0.89 2,-2zM11,9L11,8h1v1h-1zM21,1L7,1c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L23,3c0,-1.1 -0.9,-2 -2,-2zM21,9h-2L19,7h-2v2h-2v2h2v2h2v-2h2v6L7,17L7,3h14v6z"/> +</vector> diff --git a/app/src/main/res/menu/menu_feed.xml b/app/src/main/res/menu/menu_feed.xml index 050383e..88f3b7d 100644 --- a/app/src/main/res/menu/menu_feed.xml +++ b/app/src/main/res/menu/menu_feed.xml @@ -2,6 +2,9 @@ <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> + <item android:id="@+id/menu_feed_tabs" + android:title="@string/menu_page_show_tabs" + app:showAsAction="ifRoom"/> <item android:id="@+id/menu_feed_search" android:title="@string/search_hint" android:icon="@drawable/ic_search_white_24dp" diff --git a/app/src/main/res/menu/menu_page_actions.xml b/app/src/main/res/menu/menu_page_actions.xml index 0e0565c..69d434b 100644 --- a/app/src/main/res/menu/menu_page_actions.xml +++ b/app/src/main/res/menu/menu_page_actions.xml @@ -5,7 +5,6 @@ <item android:id="@+id/menu_page_show_tabs" android:title="@string/menu_page_show_tabs" - android:icon="@drawable/ic_tab_list_white_24dp" app:showAsAction="ifRoom" /> <item android:id="@+id/menu_page_other_languages" android:title="@string/menu_page_other_languages" -- To view, visit https://gerrit.wikimedia.org/r/303013 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: If55ed75d3a389d4d80128ea7ee347ace0009b36f Gerrit-PatchSet: 9 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dbrant <dbr...@wikimedia.org> Gerrit-Reviewer: BearND <bsitzm...@wikimedia.org> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> Gerrit-Reviewer: Dbrant <dbr...@wikimedia.org> Gerrit-Reviewer: Mholloway <mhollo...@wikimedia.org> Gerrit-Reviewer: Niedzielski <sniedziel...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits