Bug 785994: Replace arrows in custom menu. [r=mfinkle]
authorSriram Ramasubramanian <sriram@mozilla.com>
Wed, 19 Sep 2012 14:41:14 -0700
changeset 107660 5820bc7dfa3a19da7cdb1b645ed5d7508e1bf21d
parent 107659 767157026993550ec663cb167dbcab455b40e066
child 107661 8c813f40ea4edb31135712f80c5a574f6a456889
push id82
push usershu@rfrn.org
push dateFri, 05 Oct 2012 13:20:22 +0000
reviewersmfinkle
bugs785994
milestone18.0a1
Bug 785994: Replace arrows in custom menu. [r=mfinkle]
mobile/android/base/BrowserToolbar.java
mobile/android/base/resources/drawable-hdpi-v11/menu_popup_arrow.png
mobile/android/base/resources/drawable-hdpi-v11/menu_popup_bg.9.png
mobile/android/base/resources/drawable-mdpi-v11/menu_popup_arrow.png
mobile/android/base/resources/drawable-mdpi-v11/menu_popup_bg.9.png
mobile/android/base/resources/drawable-xhdpi-v11/menu_popup_arrow.png
mobile/android/base/resources/drawable-xhdpi-v11/menu_popup_bg.9.png
mobile/android/base/resources/layout/menu_popup.xml
mobile/android/base/resources/values-large-v11/dimens.xml
mobile/android/base/resources/values-v11/dimens.xml
mobile/android/base/resources/values/dimens.xml
--- a/mobile/android/base/BrowserToolbar.java
+++ b/mobile/android/base/BrowserToolbar.java
@@ -699,37 +699,46 @@ public class BrowserToolbar implements V
             mMenuPopup.dismiss();
 
         return true;
     }
 
     // MenuPopup holds the MenuPanel in Honeycomb/ICS devices with no hardware key
     public static class MenuPopup extends PopupWindow {
         private RelativeLayout mPanel;
+        private int mYOffset;
 
         public MenuPopup(Context context) {
             super(context);
             setFocusable(true);
 
+            // The arrow height is constant for both orientations.
+            mYOffset = (int) (context.getResources().getDimension(R.dimen.menu_popup_offset));
+
             // Setting a null background makes the popup to not close on touching outside.
             setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
             setWindowLayoutMode(ViewGroup.LayoutParams.WRAP_CONTENT,
                                 ViewGroup.LayoutParams.WRAP_CONTENT);
 
             LayoutInflater inflater = LayoutInflater.from(context);
             RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.menu_popup, null);
             setContentView(layout);
 
             mPanel = (RelativeLayout) layout.findViewById(R.id.menu_panel);
         }
 
         public void setPanelView(View view) {
             mPanel.removeAllViews();
             mPanel.addView(view);
         }
+
+        @Override
+        public void showAsDropDown(View anchor) {
+            showAsDropDown(anchor, 0, -mYOffset);
+        }
     }
 
     private class TailTouchDelegate extends TouchDelegate {
         public TailTouchDelegate(Rect bounds, View delegateView) {
             super(bounds, delegateView);
         }
 
         @Override 
index b92008466d4d427dcc9eb3700aa893e2e5a984fe..433143656674d36182d7f4b14c43fd35ddb817e9
GIT binary patch
literal 1715
zc%17D@N?(olHy`uVBq!ia0vp^Hb5-I!3HGRqxPBrDajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_)*%o&*>5hW46K32*3xq68pHF_1f1q>iyV_#8_n4FzjqL7rD
zo|$K>^nUk#C56lsTcvPQUjyF)=hTc$kE){7;3~h6<f`ms%M>MhI|Z8xE1&_nsU?XD
z6}dTi#a0!zN?>!XfNYSkzLEl1NlCV?62wsvz5xo(`9-M;rh3M@$p(go3T9?{h9;(F
zW`;TnMh1pP`UXH`rfX<oWol++WUc@ON<iC+Qqrt~T-=~`0eQAc86_nJR{Hwo<>h+i
z#(Mch>H3D2mX;thjEr=FDs+o0^GXscbn}XpVJ5hw7AF^F7L;V>=P7{riAnjTCALaR
zFfZg5`1-;P&MSrn6fns2D-sLz4fPE4b941!s*6j4Qq%COE)J<INYxKYEzU13N(RP9
znlh4A__cx*0$pR}Uz7=ql*AmD{N&Qy)VvZ;7h5Huj9yA+ij{$*1uzuNO$^M949qMH
z4J`~TjGdj_oLyXujoh3}4Pa(q)9dVL;$m!SYUXC?WNv8aYG`3<X6R;N=xpNbX69yO
zXb98mnO9trn3tRi)0>IVYl>H|m2**QVo82cNPd0}ECmE)<d@_ZXXF<sI0u_4X!s^3
zXXb$fG(iyrb!%!-W?5>ATTy<l0yu=NGO@V8$l2A*)XCVy$PD3gH)j(^LuVHgR|_{Y
zC8*vMazafX=oo#p<N^}{ra=%Bp7?<rc=k!n1Lm0`VCI;2;q^=g2BwFeE{-7;w~|s8
z@Fl1O%E<rlUt|#~<F!t*N95MW`3*PzH-0g&>o*dTWcXq8W4@SN`jSoQl7%M>CkgES
z|FJ^mT;2DNuj>`-@+Qfib5T8S<a9R4<&ckuiOg?ymW^}w7DSrwU(g{O%hzt%bAyTR
zMWh>>6@#13yacu+F^x3VBr}CH_9Q+Hw#pvvmi2dcJpTUe@bu~hHyAJZ=iS>U&o{Yw
zRrAZl_F0F!Qp}8_4j4?D>?C<Ipu6{2cWY~_<oVb=QRhydj&7aTzQ5+@B}H}Jdu>xv
zIuE8i&vfImIo&Z$cY~^{nr?3Hv)Jly--`+h)gKxCd3{|!IA!UP)f+3`$cLP?mzj4g
z{KUkm?UI~FG_KWf`PQBJ_Kj~&^*6aWz2`S895{P+^5+*XPwUy)*+pDRbu(%g^tV&r
znxL}kV8dFGv?D<W7Fe7(d9yY7<)*2hZ(3U1>GaK;Z&y2OrGj>3tH|#E8#ZWqJ?cpb
zG52Xnve2-YlKpCnWOw7dt?F9?etvj(*hIDRWtEEmqUt~PV&{dU>yvdqN_+$=w(!cd
zICtu#Fk4lbsO3CXMn=ZQHP+wd&6zecZWEd%>HRJ7P;kPc<z8<}W#o7(KIew}&-bZu
zx)c-^7RKxK+CITYf7@20^%cLqoXl7FuHPr&u6LsY=#C6lab>})yxRoQ;<hDi-L`u6
z@1V4_G|sHhUk9|Zn`d`B|Lc8yz23q0+jNI}YA*`YY~~%BR&sH&fyGY7XupkWYRfjy
zoH2uC<;_!x$;p>HI(xT^KM=RrQh)!RzRMD~Cf^vhC5z_Y2$GOv5S$qJXYSqFy9d}>
z<#lJ5|Nr;5y873ZlR5t7)0-nEeY3Y|m2^8}?3CO&Bcg5N%&AkR+zeY6C%taLiV!xR
zLrFYe82>l?thzeIQ~1{Js@?IE9%k-nk1Tu=DB?doJgoc1jT>64SFN(-?(S$|w$(ap
z!0_Pz|Nr*(_5b$#`}o-X_V%26C95{?{mRRE^?H2+12e<kRf@IVQ@rkisu53DKbLh*
G2~7adk&OTV
index b42cebfaad4775829e217f26b7ccdb8c47df0bd9..69d269940a8a769592a54bfad66ca989ba43abf5
GIT binary patch
literal 1107
zc$@)K1g!gsP)<h;3K|Lk000e1NJLTq002h-002-31^@s6OJis}000CUNkl<Zc-rlp
z-A>y;5QPIRr4&*ULLeayByJ!na)LlmS_HJB2<ZF2N2Ol$ny#fY=yYYrKe3^k&PwOj
zbNqQ`)=G9<sT8{&9h5Fzx^(H%rAwDCUAmriEu_@q3n;C(Qh`h}`05`}7J!97iG%Pu
zLQ5~GC_iz~as!HjVgnIFZ%E6ex6de!%YJNVQJ@L|!%!H87+itgSz0Yob}aG0&=?d$
z$_&Q_!`ZTA0a>vCtU*<y_b;F-d04f8F{mXgi!#BPmMsiLfQY$uqnc42+8{Mb5MN(n
z*5E@tF(`p#XHo8~i2}n=Y6K!QylK=l+Jd%8tpdf@l~_&0ZxFDW1t|*9(@&dOvxdP)
zwp4%q`u*sdP<E0<4CpZnoH#H~+2SZ1&LRes2xlPzj$KMpMh!>dGzbuvSSmPDQj#^x
z1g0ur!uoa;&K3cx5}?#@?5vS;T1S%$1GF85(}w>I+>ex3COFb-xSZ<P4Z@wma}<sT
z|4rPFlvipvTvC!XQcmHv*)i%l3a1DE+f-g_S>bR=N!Dy4ExSg(qi}rqZ{vO>dvd{%
zl9FDtW3*>9a1_n}{&%SN<btz8jaW)5tl7TN&`~%;`1h!^*3-g~ooboj)R2N<Bil9l
zU^H?R&ItZ@aX*{5ztnKJ8CPkSdMYWSLr38pTBRksRwA6m2sqM=rQd|z{=g`36ixvD
zJ?cA|;qXo+&A3Bw#*V@n6Pyk;<(c68)r^fMj>4HlH04}yRwLl}Xlh4}!a0I}zbH73
zIfv7j6;4aujOPeW7x$%b6pq4CI0{GMC>({Oa1@ThQ8)@m;V2x1Gmmie$1eSuRDWPE
z<Og>BYexUnOZTUq{vE6b3GyE#&?6{%cq#huQY9mt*kf;a3SomgHaau<Y;<Y#)#%3P
z*67aY-sr*TM+ths_3sex2JtW9=M4S=_>DXER>=Y<@xUaW!bfb6p@CDQbE6BGyEgg;
z!{4FX0wveHL7Z#Ey?~EX_!`6KV9J5X)NoQAwMFgjBXEGX&l5bY(A*aS73vB%P?WCd
z+82m-j`%0=6Tsg-^_r-owwd509@0j7_VGl9*e1s?bqs^2F#8EQFHmyLGsHPT+#~on
zgs%a7cBdTD&NOG0c)TBhJfx~mkVY^Tz~lsm%hCjK0>m8=6d(RP0uyz-KhvyL;$R2@
zwNS%d>;iqfM-1>LdO*O+(vV^e5Wf#UUHEHRVC=z=N}ke+9VtR;HqqSL*d9H+VC~_F
z^<dO5QGJTFhxi`+wBfG_zi}f)xknfyhtW{8b(+rGqG`Mxr~{*-Zh_+Kb|_|xruSrO
zuMWR)!)Q9jm^8+y1F$m;!0PC<4&CP;y4TM&=!ZUL`_PAeBBlUP|NX~>bm=N?&DAG=
Z{{WcTj9PsuNKF6$002ovPDHLkV1map3W@*#
index 4dedcb60f5fe82870a21314fcd81cc59476af31b..af046728c52f94868a2aeb300b99c364b046ae25
GIT binary patch
literal 1407
zc$}S7Z%i9y7(XE!f5KmZ5QVt&U<Cv1-L=>2^`K&V?Lm=Z1C16Jh3nn5y+QBF^;iot
z#Gwh9fx)IB8zwW%4}MsbxsOvJE18O#sF@MLuw{@CFfkaWf|6LTNSQGUAAECn@B2LO
z@Ao{<`@GL{XWgxhx!I3r0|1cgY_hkhbG7>BWFA$&1#=0PIz6U1yh^*|SE7u}16EG*
z@t`xr1o$?d;re^$`Fa3I4+<Wy;&ru<tQ68QNsKNQ3IoYe-w+EkY&WlfK0Y9b7HIRM
zSqKz33-p4~g}A~L9~7DfWWIf%)x!>Svt|xzcp9vak*a|ZuP|UN)FVd7m<8IiORDRn
z8iv3<h|+C={t3$Ka)Xp4^Po{@(6R`Mf;g^2F(ZznwV)nB^)RA7xE94oBTni~;QoMA
zZ!+g6+wAndFIBQYK}89ZFdU6Wby0&(k^?YmHk*?+^m?s|&_?=2g^6j!NJYwmosY1x
z5LN_91d}r3lll}31f`A;3cFkfhQ-K!qSTbZF(wS7Is^`d;1oKdwDJDK(GgF7n1|c=
zh}0*u>V5bt{^ja$Y7(eMLp~=9>ZLF}c8To^@uK3iTOf5u#|a#XSP3<YCJZs@5u89#
z0wD~Pji&5&gPyh-k(7;xaVe`2a~N<VZMK<E)PWL49Hj}A!YCT2^(dO+I>m^>h%BGt
z3J<v0p<I%Zc}9_Bk0kY^D!?6-6e$vv!XVX-gVipE6~v_CspJLi$I8pXDW0QcDFp6i
zm=qoofu3^UMw<cC;}1?wQ<xQ{?3ja~acG~*{hzGCYB2DB$|a>zYcRPyD1KEqXdhlw
zdq!59V{+}f2LK*<-)XmcVoN>_%tuzb*z`p2wX<op9GSCxX2edMJ5xS<eSDpup&vfa
z+Zp>*vv|IRBhF=garE1-kXQa#at)g{8#)Jf?|sRGKNfc6x$>vnRW+a7EKkqweIE2@
z_*%iWG~eaA?PGzN-JRb`3lhUCcc1yNe7xL~Tjj~G`7VcRY%d-f30}<7a$fQ7>9;hM
zl~~D1bNvQzOSAm(eK39Ax;{1E)Y7Cc+(0g_x@}uaqji_!@wkPkWr|Bme!kJaJD4{y
z&c>OHJ1c1?bbS0Cv37Mq3N$r4jYUPS>6d4EzIV4zW^#WWS!r<pd8|0mI9Gis^F&@{
zv0Q5smupIkN@30MCujTb`zNO^pITj*?i{Qz7r#@HFmz>|)b!*H(S=t>N449pefD+L
zg`bFmg2KZ28w0DqD~(lwCn^mc*X$O(pL@OeO5LLsRP9SM%?pdS`k=D1w{^!I@#)T4
zvD_jPF!9Z1Jyv=C-7+(lxOwHxBhS8=UZ*296DG59+3R$g-xwQ%$44eJN_Vz5ZofAg
s-MrI5o?iR)cFhF5J2E$w0Mc@R^{t7SSAW@BO#Tv`j#m2zwyvSS0l5+71poj5
index eb82a4ddb8f3be3d8e82d633761f773fd54f4381..01e53512d02364c36c82ba0515522684302ce5a0
GIT binary patch
literal 658
zc$@)}0&V??P)<h;3K|Lk000e1NJLTq001xm001@!1^@s6fm<4y00076Nkl<Zc-rln
zT~FIE6ov~7%0~+&q!rLcs3;W_B8Cv4NoYd*|NmvuE_U6WNYB|UD@oH(FwSi0xy*as
z*Rh?%PN&nXEgTVAXrYDnuWfuVYc;!RvGq>abyf~lWLm|)z&7lx8P(M~cBqZI=1t=&
zrbW8KuCNFDYeMyQsiF1EFq?G(*yc^sd7%TLC-j9wIC>+h(?|P&T4opxQLFb&^J=_D
zk%4e5M8b&>3qu&Kh+Y??6`?(#R?i5cA(r-jk@-HN5ykT2r^2}~7A9|GjMgdIF|`KN
zHbeY<F)IsDX#VG~-wPKMgjiGs(BAJ_JwJ39U}%LX4WPqEd%wqp`RzP&7~l*K13VQ5
zu!qk+lPF?bCJqB6c!=<{G(eYSOnX0{TvLYurg+f1P#Iv`7(U0W2zd{r4g;ik7~!cj
zz!m}am@qngE`%$G0j}_%!>BUA4gn5%u$*%X=MDqRjbU_BCxA}im<P<IaO*I@Egr^r
zsukdf^>@M;%p3;D@G!wsqX2gf1Kc$YFyf-wCkQaZ%P0g00YZQfAOr{j{+j^aze;%h
zGUxT{wAUXrUVl=0|55MNwn}H!jV*fOM))c`3g3hm;k)oE{AkE48ZT%*Qsc(xeRE^0
zv{h~`G7fXWYnHZq;X!y3o+;jhXEYwr%&3u4)81OF++Hu;+(jtimZnUuIm=we1E&cY
z8gn#LY9!ROH+Pqw50sq^#KxIGLhnpjqf?lzh+cPz)&<&nRuC6#uealXqm@TY-XHR{
s;+WO@gYH)RYS5aWJzCd3%};-S00FW{ka}PhC;$Ke07*qoM6N<$f}$TMS^xk5
index ba52e510d3cd845e48a455b2e9ff0a0aaece7c17..f9df60ca23a63409bb20f5267cb2d352e2e30c5e
GIT binary patch
literal 1995
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
index adb38e211aef5dc271dde81fb9ff70c4be4b454c..33d6fc5abf41b5bf13e1d362ab6d3e3cef685939
GIT binary patch
literal 1521
zc$|%tYdF&j0LHf&o68z%CrRd-<60`Y&TWiYZO1K*$faCXDI#kO{W%A@rqod_D;4Ih
zoXXgRN}X<~ojgOP-0FmX7^8J|_UU{+&+}eBywCgfSM&?n52c~60f9hJM1P+kWk)GZ
zL#ip$!FgH)fv7$t`gn!V#dEBP)B1kezXlp0tkrvmqaXVsHP31J!>lWtpQT(HF8d@`
zC@yf^CaYiGB}cHHf2}&Y`4~BjmC(hX|Gb5BhGA6|dwi-oagTl}p?2`U67Lni#)&qo
ztTtxe8oF4C0rPf*P&al2N{EmgmM5BYKo@(_%q&BeBIq;vTf!sO)4T${P(py-$_h={
z9zkS9dRw{o{fLfUxd!PHtFR3|xdFF<E`mxU3V0*C9%bFX7`*>N?&!^txyPy_zkTls
zLWxIq6&)6bxmvcExuxA_cM1!<GD2l7K(jF^I(@c1D2{ZSsq2yMoo12-`-)*t%mmG$
zO*o@!QNe5niN!#0?Ol8`Fts?*uy`-V9B*N41J(aWEV=>jQnPz4uE>k7@j6la!!|f#
z?R}~l{^O8(A)sh&PK7K0cA>o0nZr4)S-QGLq6L5-pyJLE<8LCWB*wCSd+;=LhiE?E
z(8d=n^eD>Z|3nWf9>g&z(#5+4l4~1eLraZR0hbdQUb2zVW`7pR+Xht(x=8xM_o4c&
z&lz5abr}K+CTGqaMr=)Tt`=|^+?Ex!GO7@rQL?UFOji=32irK=wqVx-QYWc6X+l1-
zTc3{1&K+JAdWV;VFk?YiV@YIBBnNje89~6Kg=n43u+W})X|<3m-ZvIFS3odD3(K{+
zky5FRWUf>sicdS~;W=H7gXc7HcyXajTM9T7f7K}<eQ>6%WV<0yW3&Q2`0QJdcs~tX
zc}lB^zj`p7Y13)6w8IUqfVE?RC+@?079rTb#$9FY(G8`g@yd_!%1xK>FYYz2bmmp(
z-pXs4$m|wzsr%TZ25;Jl5Rl_x?;_QfTgJX;MxAVX1Y9YVF4^n$%)i8g35AhZYpEJ{
zFa5iZ>CCF}-YX4*j|wDjbhrlAnY6rDm~Q5+weEI(TQ@lW)bY0UBNx@X<;TX%WpgSD
z11<ynL_!O9=zNFU?A72+K|EIV<fBktr=5%jm#F{>tTHU<|6eDCOG{;y?h6vc{)lC-
zjUE#tphcEEF}+x@w0jQlcsu<hztV0yXhkjxOQEkd-F}hKolFJONl`oPK)}BB-IcUE
zH}Gbu1|}DdY9HdXTMkboIE_c?MQ(}QI;Pj-(B-f$n(Y}x)Rq(YTbaAoYt5Jd8awee
zQ%2XUIjP-;iFNTSu~2_{H>3lgIQ;C-z?D%ooft{W;#t31M=K~_uP2y@T#gW~v!nTW
z6qp>9m0hZ5r~S6!%Untx5LEu))gFD#AIVJ;gy`GQEFz?YETAC4gsQ?_X`0v%y%s3B
z29NJ!17kKZGT$XObqXvD)e4T*O}qgYl4Hyz7#NpO;fQ>wH6|!HCR_d!#`DzLt+^fp
z#GI-Y)EVX^3Oxwe>mSRXZsEii<=SbFn!~E{H(9QYkz}dR@yno8i$~FU(XNV1mdC_{
z4Qkm|GL>b%&UIEjW@mq8m5&YkD6w*U^FSRKXq5%%5ek#o?0%HIsfjDxuAkB<CZn&t
zHojhk*-0?6K+?`b609tJ0~9Np+*yMDb`EG9>+E@aTjNk4VKiQ?hE{(M;Fq7TfNM3G
z88nD?9#FT$$ElvZE#Ek-qS{?N+{+%pvra>?u1~vD9qajbbO!=$>lgg<XU`Ic+!F_w
zq97LydgJ1_*FS-AFRjmpG4<q(sd=IXEBB8oI2DD%u*v&$I&vP=al-qOU2`3+GALm_
zsQK1Osx*sZG8K%W3YJnX1K5O=P+X0vmBjg08)ru4kgA&igQ%grJ~8|Jk&`UzNJ?J0
zO_yYeItbjrpz_`nq-oOq9qpi5E)3F#h3UA@=1P=elvrJ(S-;tIOaXz2>>Ym>ljD^r
NhY)?qJ}utSz`v?O)SdtU
--- a/mobile/android/base/resources/layout/menu_popup.xml
+++ b/mobile/android/base/resources/layout/menu_popup.xml
@@ -13,17 +13,16 @@
                     android:layout_alignParentRight="true"
                     android:background="@drawable/menu_popup_bg">
 
         <!-- MenuPanel will be added here dynamically -->
 
     </RelativeLayout>
 
     <ImageView android:id="@+id/menu_arrow"
-               android:layout_width="28dip"
-               android:layout_height="10dip"
-               android:layout_marginTop="2dip"
-               android:layout_marginRight="8dip"
+               android:layout_width="40dip"
+               android:layout_height="12dip"
+               android:layout_marginRight="@dimen/menu_popup_arrow_margin"
                android:layout_alignRight="@id/menu_panel"
                android:src="@drawable/menu_popup_arrow"
                android:scaleType="fitXY"/>
 
 </RelativeLayout>
--- a/mobile/android/base/resources/values-large-v11/dimens.xml
+++ b/mobile/android/base/resources/values-large-v11/dimens.xml
@@ -2,11 +2,12 @@
 <!-- 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/. -->
 
 <resources>
 
     <dimen name="browser_toolbar_height">56dp</dimen>
     <dimen name="browser_toolbar_icon_width">45dp</dimen>
+    <dimen name="menu_popup_arrow_margin">8dip</dimen>
     <dimen name="tabs_counter_size">26sp</dimen>
 
 </resources>
--- a/mobile/android/base/resources/values-v11/dimens.xml
+++ b/mobile/android/base/resources/values-v11/dimens.xml
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- 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/. -->
 
 <resources>
 
     <dimen name="tabs_counter_size">22sp</dimen>
+    <dimen name="menu_popup_arrow_margin">5dip</dimen>
 
 </resources>
--- a/mobile/android/base/resources/values/dimens.xml
+++ b/mobile/android/base/resources/values/dimens.xml
@@ -17,16 +17,17 @@
     <dimen name="browser_toolbar_height">48dp</dimen>
     <dimen name="browser_toolbar_icon_width">36dp</dimen>
     <dimen name="browser_toolbar_lock_width">21.33dp</dimen>
     <dimen name="doorhanger_arrow_width">44dp</dimen>
     <dimen name="flow_layout_spacing">6dp</dimen>
     <dimen name="local_tab_row_height">108dp</dimen>
     <dimen name="menu_item_row_height">44dp</dimen>
     <dimen name="menu_item_row_width">240dp</dimen>
+    <dimen name="menu_popup_offset">8dp</dimen>
     <dimen name="prompt_service_group_padding_size">32dp</dimen>
     <dimen name="prompt_service_icon_size">72dp</dimen>
     <dimen name="prompt_service_icon_text_padding">10dp</dimen>
     <dimen name="prompt_service_left_right_text_with_icon_padding">10dp</dimen>
     <dimen name="prompt_service_top_bottom_text_with_icon_padding">8dp</dimen>
     <dimen name="remote_tab_child_row_height">54dp</dimen>
     <dimen name="remote_tab_group_row_height">26dp</dimen>
     <dimen name="popup_width">400dp</dimen>