Bug 1265433 - Move bookmarks star into top bar of menu r?sebastian draft
authorAndrzej Hunt <ahunt@mozilla.com>
Wed, 27 Apr 2016 19:29:54 +0200
changeset 357278 19a9037fe2360b64be87693fd77c72af908cb123
parent 357277 0c0213bf3ffe112853c07fbda387705dab2c837b
child 519612 9072e2487f32125568b6b6642cd782b2f23d8d95
push id16745
push userahunt@mozilla.com
push dateThu, 28 Apr 2016 11:26:07 +0000
reviewerssebastian
bugs1265433
milestone49.0a1
Bug 1265433 - Move bookmarks star into top bar of menu r?sebastian We do this by showing history items in the "share" menu item, and removing the existing "quickshare" item that showed history items. We also need to shuffle our icon sizes around: our xhdpi icon size matches the hdpi icon sizes of the other icons in the top bar (modulo padding, which we need to add as part of this commit), similarly our xxhdpi icon is shifted to xhdpi. We don't supply an xxhdpi icon at all for any of the icons in the top bar of the menu, hence that size is removed (and reused for the xhdpi icon, see above). MozReview-Commit-ID: 7fabPQ5Tyst
mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
mobile/android/base/java/org/mozilla/gecko/menu/GeckoMenuItem.java
mobile/android/base/java/org/mozilla/gecko/menu/MenuItemSwitcherLayout.java
mobile/android/base/java/org/mozilla/gecko/menu/QuickShareBarActionView.java
mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java
mobile/android/base/moz.build
mobile/android/base/resources/drawable-hdpi-v11/ic_menu_bookmark_add.png
mobile/android/base/resources/drawable-hdpi-v11/star_blue.png
mobile/android/base/resources/drawable-xhdpi-v11/ic_menu_bookmark_add.png
mobile/android/base/resources/drawable-xhdpi-v11/star_blue.png
mobile/android/base/resources/drawable-xxhdpi-v11/ic_menu_bookmark_add.png
mobile/android/base/resources/drawable-xxhdpi-v11/star_blue.png
mobile/android/base/resources/menu-large/browser_app_menu.xml
mobile/android/base/resources/menu-xlarge/browser_app_menu.xml
mobile/android/base/resources/menu/browser_app_menu.xml
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -3160,22 +3160,20 @@ public class BrowserApp extends GeckoApp
             for (MenuItemInfo item : mAddonMenuItemsCache) {
                 addAddonMenuItemToMenu(mMenu, item);
             }
         }
 
         // Action providers are available only ICS+.
         if (Versions.feature14Plus) {
             GeckoMenuItem share = (GeckoMenuItem) mMenu.findItem(R.id.share);
-            final GeckoMenuItem quickShare = (GeckoMenuItem) mMenu.findItem(R.id.quickshare);
 
             GeckoActionProvider provider = GeckoActionProvider.getForType(GeckoActionProvider.DEFAULT_MIME_TYPE, this);
 
             share.setActionProvider(provider);
-            quickShare.setActionProvider(provider);
         }
 
         return true;
     }
 
     @Override
     public void openOptionsMenu() {
         hideFirstrunPager(TelemetryContract.Method.MENU);
@@ -3262,17 +3260,16 @@ public class BrowserApp extends GeckoApp
         }
 
         Tab tab = Tabs.getInstance().getSelectedTab();
         // Unlike other menu items, the bookmark star is not tinted. See {@link ThemedImageButton#setTintedDrawable}.
         final MenuItem bookmark = aMenu.findItem(R.id.bookmark);
         final MenuItem back = aMenu.findItem(R.id.back);
         final MenuItem forward = aMenu.findItem(R.id.forward);
         final MenuItem share = aMenu.findItem(R.id.share);
-        final MenuItem quickShare = aMenu.findItem(R.id.quickshare);
         final MenuItem bookmarksList = aMenu.findItem(R.id.bookmarks_list);
         final MenuItem historyList = aMenu.findItem(R.id.history_list);
         final MenuItem saveAsPDF = aMenu.findItem(R.id.save_as_pdf);
         final MenuItem print = aMenu.findItem(R.id.print);
         final MenuItem charEncoding = aMenu.findItem(R.id.char_encoding);
         final MenuItem findInPage = aMenu.findItem(R.id.find_in_page);
         final MenuItem desktopMode = aMenu.findItem(R.id.desktop_mode);
         final MenuItem enterGuestMode = aMenu.findItem(R.id.new_guest_session);
@@ -3290,17 +3287,16 @@ public class BrowserApp extends GeckoApp
 
         // If tab data is unavailable we disable most of the context menu and related items and
         // return early.
         if (tab == null || tab.getURL() == null) {
             bookmark.setEnabled(false);
             back.setEnabled(false);
             forward.setEnabled(false);
             share.setEnabled(false);
-            quickShare.setEnabled(false);
             saveAsPDF.setEnabled(false);
             print.setEnabled(false);
             findInPage.setEnabled(false);
 
             // NOTE: Use MenuUtils.safeSetEnabled because some actions might
             // be on the BrowserToolbar context menu.
             if (Versions.feature11Plus) {
                 // There is no page menu prior to v11 resources.
@@ -3390,19 +3386,16 @@ public class BrowserApp extends GeckoApp
             MenuUtils.safeSetEnabled(aMenu, R.id.page, !isAboutHome(tab));
         }
         MenuUtils.safeSetEnabled(aMenu, R.id.subscribe, tab.hasFeeds());
         MenuUtils.safeSetEnabled(aMenu, R.id.add_search_engine, tab.hasOpenSearch());
         MenuUtils.safeSetEnabled(aMenu, R.id.add_to_launcher, !isAboutHome(tab));
 
         // Action providers are available only ICS+.
         if (Versions.feature14Plus) {
-            quickShare.setVisible(shareVisible);
-            quickShare.setEnabled(shareEnabled);
-
             // This provider also applies to the quick share menu item.
             final GeckoActionProvider provider = ((GeckoMenuItem) share).getGeckoActionProvider();
             if (provider != null) {
                 Intent shareIntent = provider.getIntent();
 
                 // For efficiency, the provider's intent is only set once
                 if (shareIntent == null) {
                     shareIntent = new Intent(Intent.ACTION_SEND);
--- a/mobile/android/base/java/org/mozilla/gecko/menu/GeckoMenuItem.java
+++ b/mobile/android/base/java/org/mozilla/gecko/menu/GeckoMenuItem.java
@@ -12,18 +12,17 @@ import android.graphics.drawable.Drawabl
 import android.text.TextUtils;
 import android.view.ActionProvider;
 import android.view.ContextMenu;
 import android.view.MenuItem;
 import android.view.SubMenu;
 import android.view.View;
 
 public class GeckoMenuItem implements MenuItem {
-    private static final int SECONDARY_ACTION_BAR_HISTORY_SIZE = 0;
-    private static final int QUICK_SHARE_ACTION_BAR_HISTORY_SIZE = 3;
+    private static final int SHARE_BAR_HISTORY_SIZE = 2;
 
     // These values mirror MenuItem values that are only available on API >= 11.
     public static final int SHOW_AS_ACTION_NEVER = 0;
     public static final int SHOW_AS_ACTION_IF_ROOM = 1;
     public static final int SHOW_AS_ACTION_ALWAYS = 2;
     public static final int SHOW_AS_ACTION_WITH_TEXT = 4;
     public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8;
 
@@ -130,23 +129,18 @@ public class GeckoMenuItem implements Me
     @Override
     public ActionProvider getActionProvider() {
         return null;
     }
 
     @Override
     public View getActionView() {
         if (mActionProvider != null) {
-            if (getActionEnum() == MenuItem.SHOW_AS_ACTION_IF_ROOM) {
-                return mActionProvider.onCreateActionView(SECONDARY_ACTION_BAR_HISTORY_SIZE,
-                        GeckoActionProvider.ActionViewType.DEFAULT);
-            } else {
-                return mActionProvider.onCreateActionView(QUICK_SHARE_ACTION_BAR_HISTORY_SIZE,
-                        GeckoActionProvider.ActionViewType.QUICK_SHARE_ICON);
-            }
+            return mActionProvider.onCreateActionView(SHARE_BAR_HISTORY_SIZE,
+                    GeckoActionProvider.ActionViewType.DEFAULT);
         }
 
         return mActionView;
     }
 
     @Override
     public char getAlphabeticShortcut() {
         return 0;
--- a/mobile/android/base/java/org/mozilla/gecko/menu/MenuItemSwitcherLayout.java
+++ b/mobile/android/base/java/org/mozilla/gecko/menu/MenuItemSwitcherLayout.java
@@ -3,17 +3,16 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.menu;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.mozilla.gecko.AppConstants.Versions;
 import org.mozilla.gecko.R;
 
 import android.annotation.TargetApi;
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -151,19 +150,19 @@ public class MenuItemSwitcherLayout exte
             button.setOnClickListener(this);
             button.setTag(count);
 
             final int height = (int) (getResources().getDimension(R.dimen.menu_item_row_height));
             LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0, height);
             params.weight = 1.0f;
             button.setLayoutParams(params);
 
-            // Fill in the action-buttons to the left of the actual menu button.
+            // Place action buttons to the right of the actual menu item
             mActionButtons.add(button);
-            addView(button, count);
+            addView(button, count + 1);
         }
     }
 
     protected int getActionButtonCount() {
         return mActionButtons.size();
     }
 
     @Override
deleted file mode 100644
--- a/mobile/android/base/java/org/mozilla/gecko/menu/QuickShareBarActionView.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-package org.mozilla.gecko.menu;
-
-import android.annotation.TargetApi;
-import android.content.Context;
-import android.util.AttributeSet;
-
-import org.mozilla.gecko.R;
-
-/**
- * A MenuItemActionView without the default child views.
- *
- * A better implementation would have the non-child view implementation as the parent of
- * MenuItemActionView, but this is simpler and faster to implement for something intended to be
- * uplifted, and this implementation will soon be replaced with the old implementation for adding
- * the share plane to the menu (see https://bug1122302.bugzilla.mozilla.org/attachment.cgi?id=8572126).
- */
-public class QuickShareBarActionView extends MenuItemSwitcherLayout {
-
-    public QuickShareBarActionView(Context context, AttributeSet attrs) {
-        this(context, attrs, R.attr.menuItemSwitcherLayoutStyle);
-    }
-
-    @TargetApi(14)
-    public QuickShareBarActionView(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-
-        // We remove the views so they are visible, but note that
-        // the child still does some computation on them.
-        removeAllViews();
-    }
-}
--- a/mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java
+++ b/mobile/android/base/java/org/mozilla/gecko/widget/GeckoActionProvider.java
@@ -11,17 +11,16 @@ import android.support.design.widget.Sna
 import android.util.Base64;
 import android.view.Menu;
 
 import org.mozilla.gecko.GeckoApp;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.SnackbarHelper;
 import org.mozilla.gecko.Telemetry;
 import org.mozilla.gecko.TelemetryContract;
-import org.mozilla.gecko.menu.QuickShareBarActionView;
 import org.mozilla.gecko.mozglue.ContextUtils;
 import org.mozilla.gecko.overlays.ui.ShareDialog;
 import org.mozilla.gecko.menu.MenuItemSwitcherLayout;
 import org.mozilla.gecko.util.IOUtils;
 import org.mozilla.gecko.util.ThreadUtils;
 
 import android.content.Context;
 import android.content.Intent;
@@ -114,20 +113,16 @@ public class GeckoActionProvider {
         // Create the view and set its data model.
         ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, mHistoryFileName);
         final MenuItemSwitcherLayout view;
         switch (viewType) {
             case DEFAULT:
                 view = new MenuItemSwitcherLayout(mContext, null);
                 break;
 
-            case QUICK_SHARE_ICON:
-                view = new QuickShareBarActionView(mContext, null);
-                break;
-
             case CONTEXT_MENU:
                 view = new MenuItemSwitcherLayout(mContext, null);
                 view.initContextMenuStyles();
                 break;
 
             default:
                 throw new IllegalArgumentException(
                         "Unknown " + ActionViewType.class.getSimpleName() + ": " + viewType);
@@ -278,17 +273,16 @@ public class GeckoActionProvider {
 
             // Context: Sharing via chrome mainmenu and content contextmenu quickshare (no explicit session is active)
             Telemetry.sendUIEvent(TelemetryContract.Event.SHARE, TelemetryContract.Method.BUTTON, "actionprovider");
         }
     }
 
     public enum ActionViewType {
         DEFAULT,
-        QUICK_SHARE_ICON,
         CONTEXT_MENU,
     }
 
 
     /**
      * Downloads the URI pointed to by a share intent, and alters the intent to point to the
      * locally stored file.
      *
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -451,17 +451,16 @@ gbjar.sources += ['java/org/mozilla/geck
     'menu/GeckoMenuInflater.java',
     'menu/GeckoMenuItem.java',
     'menu/GeckoSubMenu.java',
     'menu/MenuItemActionBar.java',
     'menu/MenuItemDefault.java',
     'menu/MenuItemSwitcherLayout.java',
     'menu/MenuPanel.java',
     'menu/MenuPopup.java',
-    'menu/QuickShareBarActionView.java',
     'MotionEventInterceptor.java',
     'NotificationClient.java',
     'NotificationHandler.java',
     'NotificationHelper.java',
     'notifications/WhatsNewReceiver.java',
     'NotificationService.java',
     'NSSBridge.java',
     'OrderedBroadcastHelper.java',
index 44d4d113031aea6983ac776c09189bd30cf7d70b..a58abd2f1480f1433577590f010a807232c0b59e
GIT binary patch
literal 1405
zc%17D@N?(olHy`uVBq!ia0vp^_8`o`3?vg8AG`%poCO|{#S9GG!XV7ZFl&wkP>{XE
z)7O>#0gDJHkK9Uzd8Zf{7_S8Qgt#)mKxk;FgM)*yaT<t`kN_lOV`G7&Us6(ZbaZHF
zT0lZVR8&-GXmVU!Tx4WgXkubyWJ+j4LQG6rL{d^jVq#oeT2xX}e0*9|LV8?WYD`j6
zWI|eOY)W)udVG9pY;tmRLRws0N>oB>Tyk<uVp@EBN?cq<Y+_n;LP|_RN^D|kOahRb
z5}lkLmy{Zxlm--uOH7YRPKyN^n3x`$oEDRm0c6A{0l8_hNg1(8=|D0*F)c0`$N;K`
zGUAfb;uC>}07Ww5z}z^XGN2StZ!(0P76(!QF$%^2qT~z+11t_=$ASbw;$XoH5F4rz
zt_!3r9>fK!fhz!W!6I-4F!Pha8j~}?45$c%4K@v83&_DR_hdlT!z=<D2;)K-Q1bu(
z|HtEwZ34#VtdbzVU<O7eW)@a94o+?!UOs*SK_OugQE>@LDOousWmPqG4NWa=9bG*G
zLnC7|a|>I02PbD2H+TPlppek$n7H_a<kZZp?7aNqipr|$+WLmZ=9bpZ?%w_hlcr3a
zHgndTx$_q;Ub<}gij}L^u3Nu(%l5td_8&Za^w^0rXU|`_c<IX3Yj^J6fBfwE%U7@8
zynXln<EPJGzJB}u<L9s6fBycn<WD&RbR}bwx4X;i_cy{@7#Ns3JzX3_BqZM+{270`
zkm2~p?`L$~H~U&j1-(=LUi*Ai%;d!ZQx<Dzp42_Q#mLS3)z|C4ewfXC8$ExUyls`8
z=}Y@<Pw(#5Jr!%fwsApGndoA-om^j%Rm3#i6J@4Poy{6wSo2+5J-x9)hC^Gt*pB(3
zfxvf7cJ;=84h!UWEO>Lahar54wnNUoO<{aIA|9;F4pTRo{<STLJyyCv-#^ldhevPP
z#tH$8wQnkRH&$7`YJ8#NJEQz%Uod~eLM6+twuWn6u?tsj`k;5a^4Yh~b#8Y8FUh*`
z?8#YkBlO8s?fS~c-7K1I;hLFO4K&%}%%=UGn)h8HbC&6<nI_G<r!Jc=vT-?YXmzuc
z=$+`RA57f3R$MCi9Q`Qt@=<5$zeP{)SG-8NyqaZysrFgMo_iD4IMqt9Pu1)BsHoC?
zfxXB3R7ms3!kx#q{!w;Y8&mPhP)XagZ>nHVbnug7)%=fxHy#W5!})k$_`7AcM_y=N
zl<=xDh+3AdV;p6;XlYTX)X|LDD>t64YPz^PO7Gg2q>^*jDxQ@kepwsZwzXE`{IkrO
zeb*&&PhDvHn6@ydDZeo)bp`7#@ssb^3SuPtm`i6hlr8X)Jk`MG>%j6syIKCl#Je#H
zTH=8Tjccwk_CI}OxWO^(cY~B_?z=a4)+~`q*uUl+qx(~h+=CgKQy*&-IEIxs`Wj6$
z;dv~P7on6aT;Lyeo^ig&j&IF@_Ul+x<Ucr>&C3@Ey!X@Mf5-gu!7Tf#Qvw-E=5!c6
z@=kp!?&jiO!qB=&<MDczuTCe!=RR1!c9X>+dFRsBB9Uu<pY$hhTA{YGvej*EhSJMT
zI(ZK=qSx22sc(6_Oh?OL*Ea3L+w^+4BA;wOcKdt9lS7-A+uobC-g9!$A0|$L2C2Eu
R601Q)qo=E%%Q~loCIFGQRE+=t
index 65b7bf3b86e6493963d580852ca18a38c90ed3f4..6c5a5b21f0133e5e9d30164247000588bd70eff4
GIT binary patch
literal 779
zc%17D@N?(olHy`uVBq!ia0vp^_8`o`3?vg8AG~E?U`!4032|kZ`IKSWU54p*LFBZ1
zAjYcy4FCUw1@AG;goxi|nE8NV_FW{ENbE(=L0V=%0%=D`-D8;hjA710nD)C2Gwwqb
zOn(5@cn@mAsz+c2K<)#m;KC;$#^N^&`@t@mc^_mN)Oq(oTBgG-x(7n@??a7(Fy=i$
zI1;WBWYJ5IQE)+sVhDEzL_JXCA<S5~36Bv@1(LJC<eb+i;V|<*f<5B_ioGCz-Su6q
z@C6v|j3q&S!3+-1Zlr-YN#5=*3>~bp9zYIffk$L90|U1(2s1Lwnj--eWH0gbb!C6R
zBEl&mq_oy+2T+f^r;B4q1>@T*&dJS=5-bl^=H7m`c3bZ4yx_C<^(WU{+%)}_<@z|?
ze}B_@dw+Bp81a1D^>Z29HLss)V%vm%EEJt4_H!XancvH44BD?tyxT>qL=QUI?md*y
zXm>90%_O^Ji9K}*T1|CAiD{D<7cIzKvuX-c>CcA~IM(+p?fEmsNlL?Ifs2&ql;_c!
zOpO^XKO$e;blV`6HQQYy_)1B`g-<J%$|^-)DPZ5Ip_S^G*3Tt8!F%x)y^t^sLyoP<
zsn<_!4bWhfGSVnn{QW(5tOK)Z-GP6~ULuYwrwdgEtXkxvI;Bh_Fk!|%qXj+tdcGZB
z_Q*GD&E0<=MRqKedG+3Z>22K_oy%)QxpbT2SGCK_ZMipJ?a#~wB2(uvHuikc`0?xe
Zd(rd`&TdoIbD(6;;OXk;vd$@?2>=%{R!jf@
index eea398275cc7629c6a931cde69fb8db4dd90df89..8084baf9847fdfaf2092edd840fec00d46f62918
GIT binary patch
literal 1910
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
KS#*5_l=&yi3qI2T
index 661441d24087346f7187679cb216cff12f3aef22..972d9ed7f92c56395b93fff3dc77e0dd195cb92a
GIT binary patch
literal 1044
zc%17D@N?(olHy`uVBq!ia0vp^At21b3?#L;KKRVQz<4*nC&ZOu`U8e(cNzZw2a!ND
z|2~-U5JYYR3r@cWB3A*~_n~U0-({Eq7N7Ya#0HAYcnFmOqJ>Wwraxwwai3w<W2k{Z
zH8WuvAqIj>xDPcMf)>Al$^u=o=sCkQh}0v7nfG99uy&vppi5>zMD8PuUG);I3}`ag
zSfKNO>{X9o=0l{w>{$<?BC~+5g8S$m)Kzec=D>V3{Sh>XK<xWqbHKLGgqZ_$!^{UT
zzkmg2K4qA5k6|{%!C={GU@pk^`v@;jdk#{G>^q1R)8U@I3zY>LKJN)aCCKCVp`L<k
zgrJ%Ckxg6PWvK;>Z^n`!zhDN3XE)M7oFs2|7lsa2Sq~tGv%n*=n1O*?7=#%aX3dcR
z3bL1Y`ns||U=iUIF_T-jE)%F{gQtsQNCo5DYt4sb90gb&SRLJ#dmD^q*S`u)*3DaA
zw)=4nzd;r+%m2UESBdVq`mB2E!_`vvSF?q`{dqB`;!%3Rl_~Q}+vMw5%~$^n4X#+}
z_J48QgL1b+?!0x&rDE2kAK<Cj;j~M>RLME+Kpu;8mx1-6j_eJ$&UM6XNb1SkAbC!r
zG~sZ>@kGNJ8^0Y~V6Cik_SMZTzxU2qaU<zT%8I->dm@`RC9Ny}bZPNA^9~(#eOoTW
zU6<BqJFU9tXv*^B#UjRi;S0K%_L+C+S^fWE&idkkhSRr8Z&a0zU0PwCG-ugKlOs_s
z&1oH*)UKsX37s!F*Rg5ynI+0XYg5=(2RJe>yT&9co8a|YA>(LBo8zVVnmp|plBv3i
z+5uZQH3M4W_hy)P9dk0Dy-4c?TksWmt5g4uxlRxI#<Hq=%Grih%Bi~-Xa$%tX)XKk
zUDv9;@YR*XIh_|wl0&xEIqc8s*~Q|!?v4LTGvzX;;AX|I!gg-184@OpjKUIAQZL$d
zyhx5I;Z5Q-*108=y7kPC7k_Sf1XS1Ua!voZSE@Mh;2o)&d@+}|+`9K14AjFj`WycL
at7dOoWzBWCNjwx7oeZ9?elF{r5}E*IbJm{#
deleted file mode 100644
index e2f719a1ff45c19ae4182049b1859279d536c5e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 24862d5233fde4f8a6dc0aa2c2e02efe041fbeb3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
--- a/mobile/android/base/resources/menu-large/browser_app_menu.xml
+++ b/mobile/android/base/resources/menu-large/browser_app_menu.xml
@@ -29,25 +29,16 @@
           android:title="@string/bookmark"
           android:showAsAction="ifRoom"/>
 
     <item android:id="@+id/share"
           android:icon="@drawable/ic_menu_share"
           android:title="@string/share"
           android:showAsAction="ifRoom"/>
 
-    <!-- We only show the quick share items so no need for an icon or title.
-
-         The visibility is changed dynamically for v14+ - hide for previous versions. -->
-    <item android:id="@+id/quickshare"
-          android:visible="false"
-          android:enabled="false"
-          android:visibility="gone"
-          android:showAsAction="collapseActionView"/>
-
     <item android:id="@+id/new_tab"
           android:title="@string/new_tab"/>
 
     <item android:id="@+id/new_private_tab"
           android:title="@string/new_private_tab"/>
 
     <item android:id="@+id/bookmarks_list"
           android:title="@string/bookmarks_title"/>
--- a/mobile/android/base/resources/menu-xlarge/browser_app_menu.xml
+++ b/mobile/android/base/resources/menu-xlarge/browser_app_menu.xml
@@ -29,25 +29,16 @@
           android:title="@string/bookmark"
           android:showAsAction="always"/>
 
     <item android:id="@+id/share"
           android:icon="@drawable/ic_menu_share"
           android:title="@string/share"
           android:showAsAction="ifRoom"/>
 
-    <!-- We only show the quick share items so no need for an icon or title.
-
-         The visibility is changed dynamically for v14+ - hide for previous versions. -->
-    <item android:id="@+id/quickshare"
-          android:visible="false"
-          android:enabled="false"
-          android:visibility="gone"
-          android:showAsAction="collapseActionView"/>
-
     <item android:id="@+id/new_tab"
           android:title="@string/new_tab"/>
 
     <item android:id="@+id/new_private_tab"
           android:title="@string/new_private_tab"/>
 
     <item android:id="@+id/bookmarks_list"
           android:title="@string/bookmarks_title"/>
--- a/mobile/android/base/resources/menu/browser_app_menu.xml
+++ b/mobile/android/base/resources/menu/browser_app_menu.xml
@@ -14,40 +14,31 @@
           android:title="@string/back"
           android:showAsAction="always"/>
 
     <item android:id="@+id/forward"
           android:icon="@drawable/ic_menu_forward"
           android:title="@string/forward"
           android:showAsAction="always"/>
 
+    <item android:id="@+id/bookmark"
+          android:icon="@drawable/ic_menu_bookmark_add"
+          android:title="@string/bookmark"
+          android:showAsAction="always"/>
+
     <item android:id="@+id/reload"
           android:icon="@drawable/ic_menu_reload"
           android:title="@string/reload"
           android:showAsAction="always"/>
 
-    <item android:id="@+id/bookmark"
-          android:icon="@drawable/ic_menu_bookmark_add"
-          android:title="@string/bookmark"
-          android:showAsAction="ifRoom"/>
-
     <item android:id="@+id/share"
           android:icon="@drawable/ic_menu_share"
           android:title="@string/share"
           android:showAsAction="ifRoom"/>
 
-    <!-- We only show the quick share items so no need for an icon or title.
-
-         The visibility is changed dynamically for v14+ - hide for previous versions. -->
-    <item android:id="@+id/quickshare"
-          android:visible="false"
-          android:enabled="false"
-          android:visibility="gone"
-          android:showAsAction="collapseActionView"/>
-
     <item android:id="@+id/new_tab"
           android:title="@string/new_tab"/>
 
     <item android:id="@+id/new_private_tab"
           android:title="@string/new_private_tab"/>
 
     <item android:id="@+id/bookmarks_list"
           android:title="@string/bookmarks_title"/>