From 721a2647209fd9c73aeca3ced20cc11f49a98d96 Mon Sep 17 00:00:00 2001 From: vshcherb Date: Thu, 13 Mar 2014 00:10:25 +0100 Subject: [PATCH] Update icons and add some logic --- OsmAnd/res/drawable-hdpi/map_btn_cancel_o.png | Bin 4881 -> 4857 bytes OsmAnd/res/drawable-hdpi/map_btn_cancel_p.png | Bin 4911 -> 4893 bytes OsmAnd/res/drawable-hdpi/map_btn_info_o.png | Bin 0 -> 5405 bytes OsmAnd/res/drawable-hdpi/map_btn_info_p.png | Bin 0 -> 5395 bytes .../res/drawable-hdpi/map_btn_navigate_o.png | Bin 0 -> 5703 bytes .../res/drawable-hdpi/map_btn_navigate_p.png | Bin 0 -> 5609 bytes OsmAnd/res/drawable-hdpi/map_btn_ok_o.png | Bin 0 -> 4645 bytes OsmAnd/res/drawable-hdpi/map_btn_ok_p.png | Bin 0 -> 4685 bytes OsmAnd/res/drawable-hdpi/map_btn_plain_o.png | Bin 0 -> 3744 bytes OsmAnd/res/drawable-hdpi/map_btn_plain_p.png | Bin 0 -> 3769 bytes .../res/drawable-large/map_btn_cancel_o.png | Bin 4881 -> 4857 bytes .../res/drawable-large/map_btn_cancel_p.png | Bin 4911 -> 4893 bytes OsmAnd/res/drawable-large/map_btn_info_o.png | Bin 0 -> 5405 bytes OsmAnd/res/drawable-large/map_btn_info_p.png | Bin 0 -> 5395 bytes .../res/drawable-large/map_btn_navigate_o.png | Bin 0 -> 5703 bytes .../res/drawable-large/map_btn_navigate_p.png | Bin 0 -> 5609 bytes OsmAnd/res/drawable-large/map_btn_ok_o.png | Bin 0 -> 4645 bytes OsmAnd/res/drawable-large/map_btn_ok_p.png | Bin 0 -> 4685 bytes OsmAnd/res/drawable-large/map_btn_plain_o.png | Bin 0 -> 3744 bytes OsmAnd/res/drawable-large/map_btn_plain_p.png | Bin 0 -> 3769 bytes OsmAnd/res/drawable/map_btn_info.xml | 6 + OsmAnd/res/drawable/map_btn_navigate.xml | 6 + OsmAnd/res/drawable/map_btn_plain.xml | 6 + .../osmand/plus/views/MapControlsLayer.java | 70 +++++++++--- .../views/controls/MapAppModeControl.java | 56 +++++++++ .../plus/views/controls/MapCancelControl.java | 27 ++--- .../plus/views/controls/MapControls.java | 59 +++++++++- .../plus/views/controls/MapInfoControl.java | 49 ++++++++ .../plus/views/controls/MapMagnifier.java | 72 ------------ .../plus/views/controls/MapMenuControls.java | 23 +--- .../views/controls/MapNavigateControl.java | 49 ++++++++ .../plus/views/controls/MapZoomControls.java | 108 ++++++++++++------ .../plus/views/controls/RulerControl.java | 2 +- .../views/controls/SmallMapMenuControls.java | 27 +++-- 34 files changed, 388 insertions(+), 172 deletions(-) create mode 100644 OsmAnd/res/drawable-hdpi/map_btn_info_o.png create mode 100644 OsmAnd/res/drawable-hdpi/map_btn_info_p.png create mode 100644 OsmAnd/res/drawable-hdpi/map_btn_navigate_o.png create mode 100644 OsmAnd/res/drawable-hdpi/map_btn_navigate_p.png create mode 100644 OsmAnd/res/drawable-hdpi/map_btn_ok_o.png create mode 100644 OsmAnd/res/drawable-hdpi/map_btn_ok_p.png create mode 100644 OsmAnd/res/drawable-hdpi/map_btn_plain_o.png create mode 100644 OsmAnd/res/drawable-hdpi/map_btn_plain_p.png create mode 100644 OsmAnd/res/drawable-large/map_btn_info_o.png create mode 100644 OsmAnd/res/drawable-large/map_btn_info_p.png create mode 100644 OsmAnd/res/drawable-large/map_btn_navigate_o.png create mode 100644 OsmAnd/res/drawable-large/map_btn_navigate_p.png create mode 100644 OsmAnd/res/drawable-large/map_btn_ok_o.png create mode 100644 OsmAnd/res/drawable-large/map_btn_ok_p.png create mode 100644 OsmAnd/res/drawable-large/map_btn_plain_o.png create mode 100644 OsmAnd/res/drawable-large/map_btn_plain_p.png create mode 100644 OsmAnd/res/drawable/map_btn_info.xml create mode 100644 OsmAnd/res/drawable/map_btn_navigate.xml create mode 100644 OsmAnd/res/drawable/map_btn_plain.xml create mode 100644 OsmAnd/src/net/osmand/plus/views/controls/MapAppModeControl.java create mode 100644 OsmAnd/src/net/osmand/plus/views/controls/MapInfoControl.java delete mode 100644 OsmAnd/src/net/osmand/plus/views/controls/MapMagnifier.java create mode 100644 OsmAnd/src/net/osmand/plus/views/controls/MapNavigateControl.java diff --git a/OsmAnd/res/drawable-hdpi/map_btn_cancel_o.png b/OsmAnd/res/drawable-hdpi/map_btn_cancel_o.png index be8e1c6a4b16ab768742844d033ca8da64accf1b..ddff6ccea2019cb4cf7b0dbda094978e82110168 100644 GIT binary patch delta 2191 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 diff --git a/OsmAnd/res/drawable-hdpi/map_btn_cancel_p.png b/OsmAnd/res/drawable-hdpi/map_btn_cancel_p.png index 0a3a07943247703e848a2cd6292d8f8208491b6f..7f4d171d32b8b26b785e4dfdb1fec26afd98549d 100644 GIT binary patch delta 2228 zcmV;l2ut^`CY>fBiBL{Q4GJ0x0000DNk~Le000150000?2nGNE0PQEBgs~xn3V#;> z4i`s?WdHyOSxH1eRCwC$T-{F-YaV{Oz?2SU`YC9Rs96oMM=mhrc;VTW@{u-JgfzGMAC?|=RM-gf{MDpaUYp+bcU6)IGyC{bt%z0vJ<{}#aS z0ki@58o&tv+A`yZ2QUj@2Ee}n_-LB`&yf)AcDwBW?piFCKQuQt({Trvg{)O4{4fyp%~F_xBJf~lj*+4~)Q2~M=KoA5dio)#dEXKyh5RFEEq-py8p%U$Oy9oe)y>#i) zz1z2ML!;5)t$+5r$;n9oxOd>lkf7$jG&eVY-`CfN#l=NTPfwSfJrsgW zCIf@PfJ`RyjnQbVVHhS{Fwt(e`*%j8@uxd??ttSsFbt!{X}e%Ho3XI4@NGjw!#Kk* zGx@Ij%>n(~^>{o0fa&RJWV2bd?P?Vj6|mWC0C2Y;MZ4YZvnG@2=YN|wZ{ov;58!!T zm2V#C^?Ju5WF{ydhK zmsK()G>gT8%~i7O@UE%8z8;@Geaii7D)OVYwiW=I3L)A`k|cPZSCnXiAYilEpwVdX z?%g{Gf^aDPk|c@7#(zd+vsp|{O<`?qO;Mt&s;aP=?~zTkwz9Gk>+9=^5ls*T>~{Os zu*1odCow)gj$|_VS^ZX5SHt0OfTF1XDaLBWix)4DN~M&`&S^9NKok_-WwY5_{^GD( zRaF&QTU&D^0{}%)XlrYOPNyrl-|FgWIGxTM$pB!nSm1CtKz|T~BJZ-*_QOGOv?3D+ zK@e~{oiLlt|MxtKqF}e%L6W5Gesww>91aHz2E(2Ui`Ldw5CoxU^ii;)l_1&SaKL0T z<-NveG{Wh0LaWtE?pLeTqOGkBMx!zBH71iOr|gm=`ml$W&1QquYCX{ND2hU7XQw0^ z(dl&P=;+vC7k_zYc&imQo2~qJVo`G;MN{+^5{U#tp%7dy*PaWQ&jHJ_7#kZy zB9SP1(toKaE5qF_9*={jX>c5Os0CD-rV)?Fk2Eh`vWnjB*-xK7#r5mgW%+MDl1E2J z4=od@xT23bc`gV7g25mnkx0QW6p2I-3#7K;Vl-Q5TT0_tR#Psv`d_p?aezJm06y+^L>l2!1FJRXdW zj$(CnRrP3{PKVy!UP;9Oxv*NT=@nbA6FH649Y&N5(rw6sQwMA3(kthDQwgh;+URbSG z$uAL!MDXOv6GWp?a2$s~Ab?0DBKdx+)e5iIi|Xp?(%WvJRCLkb-!DtaEX%^@^X;h0 z#9}e{e7>BONL6-!f4^eUNJ&{oOG}GvyMOTe{kg4a+Z)gG@caF;ZKS28rTizuOeP~a zgkxD2BO@dG7IQg{!^p@8`uh4L|AA75`WHVLPE1T-etupO$%BJ~l8U$-$6;`AP?C+z z&(C9GVxs(aDhYys;o)H{E-vPM?$Xi{d_Lcvc9E~~JP)7Ghoz;Zy!|dNE@F6iSbwns zZOKI)JkMijXb1}n3w!31{eC~9(WvZxqtPh*e*d2N?1hDe+@E)BHaTXqStJq(JbLs9 zv$M0gXRWNPU|?WC)}D{OY-C_yV8>z8xw$zE4GqZ}AxAkGrqb!OR>|D1APDgJe7Jh` zDl{4mCMPEkWlI3h^B5c)#FZ;okbli)@$%(M#jD_(JgpT%^ok$|UuiTNMQ3P15b*r@ zb44mO;c)oKqKeIv#LI;c{maVA%2xzI6n#&`mw?Tq8~-kZ=zq@4%(x5&LrEpjOBI{P zHpUB?41I6kzQu_XC)DF@62n#izI5J#ioom`UYp7yxh<~C8Q51)0 zn*O<Ihmp`oFMB*|~n>9qR!h&<8F z`uh5hG)@0hFwvW2hs|blU44E1H*0Has)g)|*F{l$K-2UO2VE=m3p77WPfus->gw*P zME`0RsZ{C#fImsONA}07NPm*NPY}e`k=$b$#%<O;00{s|MNUMnLSTZZ CCp~5W delta 2246 zcmV;%2s!tiCa)$TiBL{Q4GJ0x0000DNk~Le0001J0000?2nGNE0D&R$fw3Wk3V#zM z7!`7MP5=N1Ye_^wRCwC$T;ER?rTj=6EJ7M( zapScY9&h$!v;GgeC)vHzn{$#)NRV#98bex#nq?CcN$|p$>aXbUH()9SXGF zi-jIwDQEiATE8dx?%H=c^UU*n?|=7xZ$E&5fPjF2fPjF2fPjF2pp2j?Mo_2I`D*~b z1JD8BHvoFm;>-H03MFx{!`WjIi1cn0C&u0^Y2?)T5$gSc{DUMK(E)M zy1Kfe*onvEkR%C$Ab{t2yn6Ktf*?Eu@POmE=VeEb)9L&(%d+=eE*CCcx_^XtJPtt+ zAW0GwMZxy=Hj>F?MUhlhRRxNoKv5JJhQa*&JSHY45DtgG=Q!?OSrFuOIw=5uy?F8B z-CMVAL8H;&!-o%8TU+}g=M00vfR`^{;`Qs-_W}Hosz zWHJeZ!GL5k`L)q#tmAn;SaO1#PUmlpM&l2+Z{LO}ir{&kb(RaLNBtpISRqzZC6oo85<{eSVsjT?CX{yk(_ zCUVIDyzAj+K=aqLw2D0GvE|5&&+N(&9SKojZrs z)m1`*ieWaJu~StkS(@G4(9nR7A3vtw5`xUAudfGy=28-5p=lbjEEkm^ilSh(TA|Ts z@b>Ln#A306#HDE(O@B>INTpJknVG@n=4Md|s;Q~LPCc?@1Zk_QtFg7URWyPqib7jk z+pay}#EBD_oSekQMqUeZ)YjI*X0w4|nE$2i)+TU!ge-JT`~0L*4HY=1TzD2gh|z3h%$k4owwZdYt{NlA4hCz3C zw<^2S>2&Do>VMj2YZ)^iiv?Dzl~`OM-ZF+^V7J?kv^$!nVYk~4wY5^aLq!lYGcyB8 zQeO>WSr%PgU5DD8R;xu(I^6e02~g-p$pf1 zAP52`CVwUnjYiA5&{}qtgo7gziGbrch@x1qn-)b89LFINiIj9-sNxi~cTRfp-YgrQY<4#bWUL{Ro9ZIp1t36oTLHM>HD!Bs;4WtDwD;dLR&h z%jL>y0lJ$?2Lb^^A`yH}DBCQq7}w1AZ6-;=FMkZZUXPxho+GQ$M^(XldU~MO>pxlZ zNJU#5P1ES@?akWS_QGs7qqnygKA(>y358aU+wIPaoV^tXx7%HEB~`3~7>0q%s1_)x*VmV& zg34;cZnrhc?RLXrv8cZJP$-1Qj~^o(4nq`0_UavRZg1mRgvJ9`+ zo3-7wwziTaArq3xr0Say1Oa1XV@Ecbh@yzGu`vt`45%hPUrVa!Bw=c53X6-2s>m50 z9#+*{B8no0hlf?!-QwaRrlzJyXX#N}3ZtW=SYBSvc-@ti6?i!MdV0Dbt$$InEMs_h7?&?!Mk{-F%N|JoixJpynlG=)Ts++ z&z^1GJu89Wa43obMNvjLj{C8sr5*qerl+TGHZ?WvONR;eXKy=gUJr7Ok@IO+JkQTH zHa6DLH2qB?ks!yAWylt{wzj_KIPQm%6SPB8&}1?lZ)j-vdUJD=Slxm3mZB*4Iga}- zpE!j$aq+v^+1b?bR#&kw`ReZ*Twn7HBjTNk}r8#P;?!6h(n7%h=f17)hm4ck`KZ zil(3gYTA3S`9%Q70aTi-wg9XE_-SVm`VWrd-jmsvfPjF2fPjF2fE$2-fS{uBU-sq) U|5@-rsQ>@~07*qoM6N<$f)?dRX8-^I diff --git a/OsmAnd/res/drawable-hdpi/map_btn_info_o.png b/OsmAnd/res/drawable-hdpi/map_btn_info_o.png new file mode 100644 index 0000000000000000000000000000000000000000..b470fbf544b3a9e53b9fecda51f6de38f5aa31c3 GIT binary patch literal 5405 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 ABme*a literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_btn_info_p.png b/OsmAnd/res/drawable-hdpi/map_btn_info_p.png new file mode 100644 index 0000000000000000000000000000000000000000..83e32a23f471893651824d8a04893b8af8b4db61 GIT binary patch literal 5395 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_btn_navigate_o.png b/OsmAnd/res/drawable-hdpi/map_btn_navigate_o.png new file mode 100644 index 0000000000000000000000000000000000000000..3d5c591dfb933a35f2ea4d8a175942255b8801c8 GIT binary patch literal 5703 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_btn_navigate_p.png b/OsmAnd/res/drawable-hdpi/map_btn_navigate_p.png new file mode 100644 index 0000000000000000000000000000000000000000..0614f81f8d41148688481b0029b864514bb3992c GIT binary patch literal 5609 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 Dx02@| literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_btn_ok_o.png b/OsmAnd/res/drawable-hdpi/map_btn_ok_o.png new file mode 100644 index 0000000000000000000000000000000000000000..6daf38f82b613c733fd725138f9447f0095c25d6 GIT binary patch literal 4645 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 bXe#_4BCH4oBVrTE00000NkvXXu0mjf{iwl1 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_btn_ok_p.png b/OsmAnd/res/drawable-hdpi/map_btn_ok_p.png new file mode 100644 index 0000000000000000000000000000000000000000..386683bd5f22be26bf9a527f396406d978b2fa89 GIT binary patch literal 4685 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 P00000NkvXXu0mjfQKZ?# literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-hdpi/map_btn_plain_o.png b/OsmAnd/res/drawable-hdpi/map_btn_plain_o.png new file mode 100644 index 0000000000000000000000000000000000000000..26e933f8481b894939aeb6e203dcd010f3552243 GIT binary patch literal 3744 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-large/map_btn_cancel_o.png b/OsmAnd/res/drawable-large/map_btn_cancel_o.png index be8e1c6a4b16ab768742844d033ca8da64accf1b..ddff6ccea2019cb4cf7b0dbda094978e82110168 100644 GIT binary patch delta 2191 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 diff --git a/OsmAnd/res/drawable-large/map_btn_cancel_p.png b/OsmAnd/res/drawable-large/map_btn_cancel_p.png index 0a3a07943247703e848a2cd6292d8f8208491b6f..7f4d171d32b8b26b785e4dfdb1fec26afd98549d 100644 GIT binary patch delta 2228 zcmV;l2ut^`CY>fBiBL{Q4GJ0x0000DNk~Le000150000?2nGNE0PQEBgs~xn3V#;> z4i`s?WdHyOSxH1eRCwC$T-{F-YaV{Oz?2SU`YC9Rs96oMM=mhrc;VTW@{u-JgfzGMAC?|=RM-gf{MDpaUYp+bcU6)IGyC{bt%z0vJ<{}#aS z0ki@58o&tv+A`yZ2QUj@2Ee}n_-LB`&yf)AcDwBW?piFCKQuQt({Trvg{)O4{4fyp%~F_xBJf~lj*+4~)Q2~M=KoA5dio)#dEXKyh5RFEEq-py8p%U$Oy9oe)y>#i) zz1z2ML!;5)t$+5r$;n9oxOd>lkf7$jG&eVY-`CfN#l=NTPfwSfJrsgW zCIf@PfJ`RyjnQbVVHhS{Fwt(e`*%j8@uxd??ttSsFbt!{X}e%Ho3XI4@NGjw!#Kk* zGx@Ij%>n(~^>{o0fa&RJWV2bd?P?Vj6|mWC0C2Y;MZ4YZvnG@2=YN|wZ{ov;58!!T zm2V#C^?Ju5WF{ydhK zmsK()G>gT8%~i7O@UE%8z8;@Geaii7D)OVYwiW=I3L)A`k|cPZSCnXiAYilEpwVdX z?%g{Gf^aDPk|c@7#(zd+vsp|{O<`?qO;Mt&s;aP=?~zTkwz9Gk>+9=^5ls*T>~{Os zu*1odCow)gj$|_VS^ZX5SHt0OfTF1XDaLBWix)4DN~M&`&S^9NKok_-WwY5_{^GD( zRaF&QTU&D^0{}%)XlrYOPNyrl-|FgWIGxTM$pB!nSm1CtKz|T~BJZ-*_QOGOv?3D+ zK@e~{oiLlt|MxtKqF}e%L6W5Gesww>91aHz2E(2Ui`Ldw5CoxU^ii;)l_1&SaKL0T z<-NveG{Wh0LaWtE?pLeTqOGkBMx!zBH71iOr|gm=`ml$W&1QquYCX{ND2hU7XQw0^ z(dl&P=;+vC7k_zYc&imQo2~qJVo`G;MN{+^5{U#tp%7dy*PaWQ&jHJ_7#kZy zB9SP1(toKaE5qF_9*={jX>c5Os0CD-rV)?Fk2Eh`vWnjB*-xK7#r5mgW%+MDl1E2J z4=od@xT23bc`gV7g25mnkx0QW6p2I-3#7K;Vl-Q5TT0_tR#Psv`d_p?aezJm06y+^L>l2!1FJRXdW zj$(CnRrP3{PKVy!UP;9Oxv*NT=@nbA6FH649Y&N5(rw6sQwMA3(kthDQwgh;+URbSG z$uAL!MDXOv6GWp?a2$s~Ab?0DBKdx+)e5iIi|Xp?(%WvJRCLkb-!DtaEX%^@^X;h0 z#9}e{e7>BONL6-!f4^eUNJ&{oOG}GvyMOTe{kg4a+Z)gG@caF;ZKS28rTizuOeP~a zgkxD2BO@dG7IQg{!^p@8`uh4L|AA75`WHVLPE1T-etupO$%BJ~l8U$-$6;`AP?C+z z&(C9GVxs(aDhYys;o)H{E-vPM?$Xi{d_Lcvc9E~~JP)7Ghoz;Zy!|dNE@F6iSbwns zZOKI)JkMijXb1}n3w!31{eC~9(WvZxqtPh*e*d2N?1hDe+@E)BHaTXqStJq(JbLs9 zv$M0gXRWNPU|?WC)}D{OY-C_yV8>z8xw$zE4GqZ}AxAkGrqb!OR>|D1APDgJe7Jh` zDl{4mCMPEkWlI3h^B5c)#FZ;okbli)@$%(M#jD_(JgpT%^ok$|UuiTNMQ3P15b*r@ zb44mO;c)oKqKeIv#LI;c{maVA%2xzI6n#&`mw?Tq8~-kZ=zq@4%(x5&LrEpjOBI{P zHpUB?41I6kzQu_XC)DF@62n#izI5J#ioom`UYp7yxh<~C8Q51)0 zn*O<Ihmp`oFMB*|~n>9qR!h&<8F z`uh5hG)@0hFwvW2hs|blU44E1H*0Has)g)|*F{l$K-2UO2VE=m3p77WPfus->gw*P zME`0RsZ{C#fImsONA}07NPm*NPY}e`k=$b$#%<O;00{s|MNUMnLSTZZ CCp~5W delta 2246 zcmV;%2s!tiCa)$TiBL{Q4GJ0x0000DNk~Le0001J0000?2nGNE0D&R$fw3Wk3V#zM z7!`7MP5=N1Ye_^wRCwC$T;ER?rTj=6EJ7M( zapScY9&h$!v;GgeC)vHzn{$#)NRV#98bex#nq?CcN$|p$>aXbUH()9SXGF zi-jIwDQEiATE8dx?%H=c^UU*n?|=7xZ$E&5fPjF2fPjF2fPjF2pp2j?Mo_2I`D*~b z1JD8BHvoFm;>-H03MFx{!`WjIi1cn0C&u0^Y2?)T5$gSc{DUMK(E)M zy1Kfe*onvEkR%C$Ab{t2yn6Ktf*?Eu@POmE=VeEb)9L&(%d+=eE*CCcx_^XtJPtt+ zAW0GwMZxy=Hj>F?MUhlhRRxNoKv5JJhQa*&JSHY45DtgG=Q!?OSrFuOIw=5uy?F8B z-CMVAL8H;&!-o%8TU+}g=M00vfR`^{;`Qs-_W}Hosz zWHJeZ!GL5k`L)q#tmAn;SaO1#PUmlpM&l2+Z{LO}ir{&kb(RaLNBtpISRqzZC6oo85<{eSVsjT?CX{yk(_ zCUVIDyzAj+K=aqLw2D0GvE|5&&+N(&9SKojZrs z)m1`*ieWaJu~StkS(@G4(9nR7A3vtw5`xUAudfGy=28-5p=lbjEEkm^ilSh(TA|Ts z@b>Ln#A306#HDE(O@B>INTpJknVG@n=4Md|s;Q~LPCc?@1Zk_QtFg7URWyPqib7jk z+pay}#EBD_oSekQMqUeZ)YjI*X0w4|nE$2i)+TU!ge-JT`~0L*4HY=1TzD2gh|z3h%$k4owwZdYt{NlA4hCz3C zw<^2S>2&Do>VMj2YZ)^iiv?Dzl~`OM-ZF+^V7J?kv^$!nVYk~4wY5^aLq!lYGcyB8 zQeO>WSr%PgU5DD8R;xu(I^6e02~g-p$pf1 zAP52`CVwUnjYiA5&{}qtgo7gziGbrch@x1qn-)b89LFINiIj9-sNxi~cTRfp-YgrQY<4#bWUL{Ro9ZIp1t36oTLHM>HD!Bs;4WtDwD;dLR&h z%jL>y0lJ$?2Lb^^A`yH}DBCQq7}w1AZ6-;=FMkZZUXPxho+GQ$M^(XldU~MO>pxlZ zNJU#5P1ES@?akWS_QGs7qqnygKA(>y358aU+wIPaoV^tXx7%HEB~`3~7>0q%s1_)x*VmV& zg34;cZnrhc?RLXrv8cZJP$-1Qj~^o(4nq`0_UavRZg1mRgvJ9`+ zo3-7wwziTaArq3xr0Say1Oa1XV@Ecbh@yzGu`vt`45%hPUrVa!Bw=c53X6-2s>m50 z9#+*{B8no0hlf?!-QwaRrlzJyXX#N}3ZtW=SYBSvc-@ti6?i!MdV0Dbt$$InEMs_h7?&?!Mk{-F%N|JoixJpynlG=)Ts++ z&z^1GJu89Wa43obMNvjLj{C8sr5*qerl+TGHZ?WvONR;eXKy=gUJr7Ok@IO+JkQTH zHa6DLH2qB?ks!yAWylt{wzj_KIPQm%6SPB8&}1?lZ)j-vdUJD=Slxm3mZB*4Iga}- zpE!j$aq+v^+1b?bR#&kw`ReZ*Twn7HBjTNk}r8#P;?!6h(n7%h=f17)hm4ck`KZ zil(3gYTA3S`9%Q70aTi-wg9XE_-SVm`VWrd-jmsvfPjF2fPjF2fE$2-fS{uBU-sq) U|5@-rsQ>@~07*qoM6N<$f)?dRX8-^I diff --git a/OsmAnd/res/drawable-large/map_btn_info_o.png b/OsmAnd/res/drawable-large/map_btn_info_o.png new file mode 100644 index 0000000000000000000000000000000000000000..b470fbf544b3a9e53b9fecda51f6de38f5aa31c3 GIT binary patch literal 5405 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 ABme*a literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-large/map_btn_info_p.png b/OsmAnd/res/drawable-large/map_btn_info_p.png new file mode 100644 index 0000000000000000000000000000000000000000..83e32a23f471893651824d8a04893b8af8b4db61 GIT binary patch literal 5395 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-large/map_btn_navigate_o.png b/OsmAnd/res/drawable-large/map_btn_navigate_o.png new file mode 100644 index 0000000000000000000000000000000000000000..3d5c591dfb933a35f2ea4d8a175942255b8801c8 GIT binary patch literal 5703 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-large/map_btn_navigate_p.png b/OsmAnd/res/drawable-large/map_btn_navigate_p.png new file mode 100644 index 0000000000000000000000000000000000000000..0614f81f8d41148688481b0029b864514bb3992c GIT binary patch literal 5609 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 Dx02@| literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-large/map_btn_ok_o.png b/OsmAnd/res/drawable-large/map_btn_ok_o.png new file mode 100644 index 0000000000000000000000000000000000000000..6daf38f82b613c733fd725138f9447f0095c25d6 GIT binary patch literal 4645 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 bXe#_4BCH4oBVrTE00000NkvXXu0mjf{iwl1 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-large/map_btn_ok_p.png b/OsmAnd/res/drawable-large/map_btn_ok_p.png new file mode 100644 index 0000000000000000000000000000000000000000..386683bd5f22be26bf9a527f396406d978b2fa89 GIT binary patch literal 4685 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 P00000NkvXXu0mjfQKZ?# literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable-large/map_btn_plain_o.png b/OsmAnd/res/drawable-large/map_btn_plain_o.png new file mode 100644 index 0000000000000000000000000000000000000000..26e933f8481b894939aeb6e203dcd010f3552243 GIT binary patch literal 3744 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 literal 0 HcmV?d00001 diff --git a/OsmAnd/res/drawable/map_btn_info.xml b/OsmAnd/res/drawable/map_btn_info.xml new file mode 100644 index 0000000000..716cf94498 --- /dev/null +++ b/OsmAnd/res/drawable/map_btn_info.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/OsmAnd/res/drawable/map_btn_navigate.xml b/OsmAnd/res/drawable/map_btn_navigate.xml new file mode 100644 index 0000000000..3e52bfd986 --- /dev/null +++ b/OsmAnd/res/drawable/map_btn_navigate.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/OsmAnd/res/drawable/map_btn_plain.xml b/OsmAnd/res/drawable/map_btn_plain.xml new file mode 100644 index 0000000000..9e680de675 --- /dev/null +++ b/OsmAnd/res/drawable/map_btn_plain.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java b/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java index 7c19a36d77..20ddd36e71 100644 --- a/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java @@ -4,9 +4,12 @@ import net.osmand.data.RotatedTileBox; import net.osmand.plus.OsmandSettings.CommonPreference; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.views.controls.MapAppModeControl; import net.osmand.plus.views.controls.MapCancelControl; import net.osmand.plus.views.controls.MapControls; +import net.osmand.plus.views.controls.MapInfoControl; import net.osmand.plus.views.controls.MapMenuControls; +import net.osmand.plus.views.controls.MapNavigateControl; import net.osmand.plus.views.controls.MapZoomControls; import net.osmand.plus.views.controls.RulerControl; import net.osmand.plus.views.controls.SmallMapMenuControls; @@ -32,18 +35,19 @@ public class MapControlsLayer extends OsmandMapLayer { private MapZoomControls zoomControls; private MapMenuControls mapMenuControls; + private RulerControl rulerControl; + private SmallMapMenuControls mapSmallMenuControls; private MapCancelControl mapCancelNavigationControl; - private RulerControl rulerControl; + private MapInfoControl mapInfoNavigationControl; + private MapNavigateControl mapNavigationControl; + private MapAppModeControl mapAppModeControl; private float scaleCoefficient; private SeekBar transparencyBar; private LinearLayout transparencyBarLayout; private static CommonPreference settingsToTransparency; - - - public MapControlsLayer(MapActivity activity){ this.mapActivity = activity; @@ -59,16 +63,39 @@ public class MapControlsLayer extends OsmandMapLayer { scaleCoefficient = view.getScaleCoefficient(); FrameLayout parent = (FrameLayout) view.getParent(); Handler showUIHandler = new Handler(); - zoomControls = init(new MapZoomControls(mapActivity, showUIHandler, scaleCoefficient), parent); - mapMenuControls = init(new MapMenuControls(mapActivity, showUIHandler, scaleCoefficient), parent); - mapSmallMenuControls = init(new SmallMapMenuControls(mapActivity, showUIHandler, scaleCoefficient), parent); - mapCancelNavigationControl = init(new MapCancelControl(mapActivity, showUIHandler, scaleCoefficient), parent); - rulerControl = init(new RulerControl(zoomControls, mapActivity, showUIHandler, scaleCoefficient), parent); + int rightGravity = Gravity.RIGHT | Gravity.BOTTOM; + int leftGravity = Gravity.LEFT | Gravity.BOTTOM; + + // default buttons + zoomControls = init(new MapZoomControls(mapActivity, showUIHandler, scaleCoefficient), parent, + rightGravity); + mapMenuControls = init(new MapMenuControls(mapActivity, showUIHandler, scaleCoefficient), parent, + leftGravity); + // calculate route buttons + mapSmallMenuControls = init(new SmallMapMenuControls(mapActivity, showUIHandler, scaleCoefficient), parent, + leftGravity); + mapCancelNavigationControl = init(new MapCancelControl(mapActivity, showUIHandler, scaleCoefficient), parent, + leftGravity); + mapInfoNavigationControl = init(new MapInfoControl(mapActivity, showUIHandler, scaleCoefficient), parent, + leftGravity); + mapNavigationControl = init(new MapNavigateControl(mapActivity, showUIHandler, scaleCoefficient), parent, + rightGravity); + mapAppModeControl = init(new MapAppModeControl(mapActivity, showUIHandler, scaleCoefficient), parent, + rightGravity); + + rulerControl = init(new RulerControl(zoomControls, mapActivity, showUIHandler, scaleCoefficient), parent, + rightGravity); + mapCancelNavigationControl.setMargin(mapSmallMenuControls.getWidth()); + mapInfoNavigationControl.setMargin(mapSmallMenuControls.getWidth() + mapCancelNavigationControl.getWidth()); + mapAppModeControl.setMargin(mapNavigationControl.getWidth()); + initTransparencyBar(view, parent); } - private T init(T c, FrameLayout parent) { + + private T init(T c, FrameLayout parent, int gravity) { c.init(parent); + c.setGravity(gravity); return c; } @@ -85,17 +112,22 @@ public class MapControlsLayer extends OsmandMapLayer { shadowColor = shadw; updatextColor(textColor, shadw, rulerControl, zoomControls, mapMenuControls); } + // default buttons + boolean showDefaultButtons = false; //!mapActivity.getRoutingHelper().isRouteCalculated() && !mapActivity.getRoutingHelper().isFollowingMode(); + checkVisibilityAndDraw(showDefaultButtons, zoomControls, canvas, tileBox, nightMode); + checkVisibilityAndDraw(showDefaultButtons, mapMenuControls, canvas, tileBox, nightMode); - boolean showZooms = false; //!mapActivity.getRoutingHelper().isRouteCalculated() && !mapActivity.getRoutingHelper().isFollowingMode(); - checkVisibilityAndDraw(showZooms, zoomControls, canvas, tileBox, nightMode); + // route calculation buttons + boolean showRouteCalculationControls = !mapMenuControls.isVisible(); + checkVisibilityAndDraw(showRouteCalculationControls, mapSmallMenuControls, canvas, tileBox, nightMode); + checkVisibilityAndDraw(showRouteCalculationControls, mapCancelNavigationControl, canvas, tileBox, nightMode); + checkVisibilityAndDraw(showRouteCalculationControls, mapInfoNavigationControl, canvas, tileBox, nightMode); + checkVisibilityAndDraw(showRouteCalculationControls, mapAppModeControl, canvas, tileBox, nightMode); + checkVisibilityAndDraw(showRouteCalculationControls, mapNavigationControl, canvas, tileBox, nightMode); - boolean showMenu = false;// !mapActivity.getRoutingHelper().isFollowingMode(); - checkVisibilityAndDraw(showMenu, mapMenuControls, canvas, tileBox, nightMode); - boolean showSmallMenu = !mapMenuControls.isVisible(); - checkVisibilityAndDraw(showSmallMenu, mapSmallMenuControls, canvas, tileBox, nightMode); - checkVisibilityAndDraw(showSmallMenu, mapCancelNavigationControl, canvas, tileBox, nightMode); - - // the last one to check zoom controls visibility + // the last one to check other controls visibility + int vmargin = mapNavigationControl.isVisible() || zoomControls.isVisible() ? zoomControls.getHeight() : 0; + rulerControl.setVerticalMargin(vmargin); checkVisibilityAndDraw(true, rulerControl, canvas, tileBox, nightMode); } diff --git a/OsmAnd/src/net/osmand/plus/views/controls/MapAppModeControl.java b/OsmAnd/src/net/osmand/plus/views/controls/MapAppModeControl.java new file mode 100644 index 0000000000..24b665b23b --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/views/controls/MapAppModeControl.java @@ -0,0 +1,56 @@ +package net.osmand.plus.views.controls; + +import net.osmand.data.RotatedTileBox; +import net.osmand.plus.OsmandSettings; +import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.views.OsmandMapLayer.DrawSettings; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; +import android.os.Handler; +import android.view.View; +import android.widget.Button; +import android.widget.FrameLayout; + +public class MapAppModeControl extends MapControls { + private Button settingsAppModeButton; + private OsmandSettings settings; + private Drawable drawable; + private int cachedId; + + + public MapAppModeControl(MapActivity mapActivity, Handler showUIHandler, float scaleCoefficient) { + super(mapActivity, showUIHandler, scaleCoefficient); + settings = mapActivity.getMyApplication().getSettings(); + } + + @Override + public void showControls(FrameLayout parent) { + settingsAppModeButton = addButton(parent, R.string.routing_preferences_descr, R.drawable.map_btn_plain); + settingsAppModeButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // TODO + } + }); + } + + @Override + public void hideControls(FrameLayout layout) { + removeButton(layout, settingsAppModeButton); + layout.removeView(settingsAppModeButton); + mapActivity.accessibleContent.remove(settingsAppModeButton); + } + + @Override + public void onDraw(Canvas canvas, RotatedTileBox tileBox, DrawSettings nightMode) { + int id = settings.getApplicationMode().getIconId(); + if(cachedId != id && settingsAppModeButton.getBackground().getBounds().width() > 0) { + cachedId = id; + drawable = mapActivity.getResources().getDrawable(id); + drawable.setBounds(settingsAppModeButton.getBackground().getBounds()); + } + drawable.draw(canvas); + + } +} diff --git a/OsmAnd/src/net/osmand/plus/views/controls/MapCancelControl.java b/OsmAnd/src/net/osmand/plus/views/controls/MapCancelControl.java index 383597a1a5..14bea4b2ea 100644 --- a/OsmAnd/src/net/osmand/plus/views/controls/MapCancelControl.java +++ b/OsmAnd/src/net/osmand/plus/views/controls/MapCancelControl.java @@ -4,12 +4,10 @@ import net.osmand.data.RotatedTileBox; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; -import android.content.Context; import android.graphics.Canvas; +import android.graphics.drawable.Drawable; import android.os.Handler; -import android.view.Gravity; import android.view.View; -import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.FrameLayout; @@ -23,32 +21,29 @@ public class MapCancelControl extends MapControls { @Override public void showControls(FrameLayout parent) { - Context ctx = mapActivity; - cancelButton = new Button(ctx); - cancelButton.setContentDescription(ctx.getString(R.string.cancel_navigation)); - cancelButton.setBackgroundResource(R.drawable.map_btn_cancel); - android.widget.FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, - Gravity.BOTTOM | Gravity.LEFT); - params.leftMargin = ctx.getResources().getDrawable(R.drawable.map_btn_hmenu).getMinimumWidth(); - parent.addView(cancelButton, params); - cancelButton.setEnabled(true); - + cancelButton = addButton(parent, R.string.cancel_navigation, R.drawable.map_btn_cancel); cancelButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mapActivity.getMapActions().stopNavigationWithoutConfirm(); } }); - mapActivity.accessibleContent.add(cancelButton); } @Override public void hideControls(FrameLayout layout) { - layout.removeView(cancelButton); - mapActivity.accessibleContent.remove(cancelButton); + removeButton(layout, cancelButton); } @Override public void onDraw(Canvas canvas, RotatedTileBox tileBox, DrawSettings nightMode) { } + + public int getWidth() { + if (width == 0) { + Drawable buttonDrawable = mapActivity.getResources().getDrawable(R.drawable.map_btn_cancel); + width = buttonDrawable.getMinimumWidth(); + } + return width ; + } } diff --git a/OsmAnd/src/net/osmand/plus/views/controls/MapControls.java b/OsmAnd/src/net/osmand/plus/views/controls/MapControls.java index 06892edf48..72af78de3b 100644 --- a/OsmAnd/src/net/osmand/plus/views/controls/MapControls.java +++ b/OsmAnd/src/net/osmand/plus/views/controls/MapControls.java @@ -3,9 +3,15 @@ package net.osmand.plus.views.controls; import net.osmand.data.RotatedTileBox; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; +import android.content.Context; import android.graphics.Canvas; import android.graphics.PointF; +import android.graphics.drawable.Drawable; import android.os.Handler; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup.LayoutParams; +import android.widget.Button; import android.widget.FrameLayout; @@ -17,12 +23,63 @@ public abstract class MapControls { protected int shadowColor; private boolean visible; private long delayTime; - + + protected int gravity = Gravity.BOTTOM | Gravity.RIGHT; + protected int margin; + protected int vmargin; + protected int width; + protected int height; + public MapControls(MapActivity mapActivity, Handler showUIHandler, float scaleCoefficient) { this.mapActivity = mapActivity; this.showUIHandler = showUIHandler; this.scaleCoefficient = scaleCoefficient; } + + + public void setGravity(int gravity) { + this.gravity = gravity; + } + + public void setMargin(int margin) { + this.margin = margin; + } + public void setVerticalMargin(int vmargin) { + this.vmargin = vmargin; + } + + protected Button addButton(FrameLayout parent, int stringId, int resourceId) { + return addButton(parent, stringId, resourceId, 0); + } + + protected Button addButton(FrameLayout parent, int stringId, int resourceId, int extraMargin) { + Context ctx = mapActivity; + Button button = new Button(ctx); + button.setContentDescription(ctx.getString(stringId)); + button.setBackgroundResource(resourceId); + Drawable d = ctx.getResources().getDrawable(resourceId); + android.widget.FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(d.getMinimumWidth(), d.getMinimumHeight(), + gravity); + if((gravity & Gravity.LEFT) == Gravity.LEFT) { + params.leftMargin = margin + extraMargin; + } else { + params.rightMargin = margin + extraMargin; + } + if((gravity & Gravity.BOTTOM) == Gravity.BOTTOM) { + params.bottomMargin = vmargin; + } else { + params.topMargin = vmargin; + } + parent.addView(button, params); + button.setEnabled(true); + mapActivity.accessibleContent.add(button); + return button; + } + + protected void removeButton(FrameLayout layout, View b) { + layout.removeView(b); + mapActivity.accessibleContent.remove(b); + } public void updateTextColor(int textColor, int shadowColor) { this.shadowColor = shadowColor; diff --git a/OsmAnd/src/net/osmand/plus/views/controls/MapInfoControl.java b/OsmAnd/src/net/osmand/plus/views/controls/MapInfoControl.java new file mode 100644 index 0000000000..752e2b940b --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/views/controls/MapInfoControl.java @@ -0,0 +1,49 @@ +package net.osmand.plus.views.controls; + +import net.osmand.data.RotatedTileBox; +import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.views.OsmandMapLayer.DrawSettings; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; +import android.os.Handler; +import android.view.View; +import android.widget.Button; +import android.widget.FrameLayout; + +public class MapInfoControl extends MapControls { + private Button infoButton; + + + public MapInfoControl(MapActivity mapActivity, Handler showUIHandler, float scaleCoefficient) { + super(mapActivity, showUIHandler, scaleCoefficient); + } + + @Override + public void showControls(FrameLayout parent) { + infoButton = addButton(parent, R.string.info_button, R.drawable.map_btn_info); + infoButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // TODO + } + }); + } + + @Override + public void hideControls(FrameLayout layout) { + removeButton(layout, infoButton); + } + + @Override + public void onDraw(Canvas canvas, RotatedTileBox tileBox, DrawSettings nightMode) { + } + + public int getWidth() { + if (width == 0) { + Drawable buttonDrawable = mapActivity.getResources().getDrawable(R.drawable.map_btn_info); + width = buttonDrawable.getMinimumWidth(); + } + return width ; + } +} diff --git a/OsmAnd/src/net/osmand/plus/views/controls/MapMagnifier.java b/OsmAnd/src/net/osmand/plus/views/controls/MapMagnifier.java deleted file mode 100644 index 5bd4549347..0000000000 --- a/OsmAnd/src/net/osmand/plus/views/controls/MapMagnifier.java +++ /dev/null @@ -1,72 +0,0 @@ -package net.osmand.plus.views.controls; - -import gnu.trove.list.array.TIntArrayList; - -import java.util.ArrayList; -import java.util.List; - -import net.osmand.plus.OsmandSettings; -import net.osmand.plus.R; -import net.osmand.plus.views.OsmandMapTileView; -import android.app.AlertDialog; -import android.content.DialogInterface; -import android.view.View; - -public class MapMagnifier { - - public static View.OnLongClickListener getOnClickMagnifierListener(final OsmandMapTileView view) { - final View.OnLongClickListener listener = new View.OnLongClickListener() { - - @Override - public boolean onLongClick(View notUseCouldBeNull) { - final OsmandSettings.OsmandPreference zoomScale = view.getSettings().MAP_ZOOM_SCALE_BY_DENSITY; - final AlertDialog.Builder bld = new AlertDialog.Builder(view.getContext()); - float scale = view.getZoomScale(); - int p = (int) ((scale > 0 ? 1 : -1) * Math.round(scale * scale * 100)) + 100; - final TIntArrayList tlist = new TIntArrayList(new int[] { 75, 100, 150, 200, 300, 400, 500 }); - final List values = new ArrayList(); - int i = -1; - for (int k = 0; k <= tlist.size(); k++) { - final boolean end = k == tlist.size(); - if (i == -1) { - if ((end || p < tlist.get(k))) { - values.add(p + "%"); - i = k; - } else if (p == tlist.get(k)) { - i = k; - } - - } - if (k < tlist.size()) { - values.add(tlist.get(k) + "%"); - } - } - if (values.size() != tlist.size()) { - tlist.insert(i, p); - } - - bld.setTitle(R.string.map_magnifier); - bld.setSingleChoiceItems(values.toArray(new String[values.size()]), i, - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - int p = tlist.get(which); - float newScale; - if (p >= 100) { - newScale = (float) Math.sqrt((tlist.get(which) - 100f) / 100f); - } else { - newScale = -(float) Math.sqrt((100f - tlist.get(which)) / 100f); - } - zoomScale.set(newScale - (float) Math.sqrt(Math.max(view.getDensity() - 1, 0))); - view.getAnimatedDraggingThread().startZooming(view.getZoom(), - view.getSettingsZoomScale(), false); - dialog.dismiss(); - } - }); - bld.show(); - return true; - } - }; - return listener; - } -} diff --git a/OsmAnd/src/net/osmand/plus/views/controls/MapMenuControls.java b/OsmAnd/src/net/osmand/plus/views/controls/MapMenuControls.java index 8722629d3e..b94a3dfb17 100644 --- a/OsmAnd/src/net/osmand/plus/views/controls/MapMenuControls.java +++ b/OsmAnd/src/net/osmand/plus/views/controls/MapMenuControls.java @@ -8,17 +8,14 @@ import net.osmand.data.RotatedTileBox; import net.osmand.plus.ApplicationMode; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; -import net.osmand.plus.views.OsmandMapTileView; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; -import android.content.Context; +import net.osmand.plus.views.OsmandMapTileView; import android.graphics.Canvas; import android.graphics.PointF; import android.graphics.drawable.Drawable; import android.os.Handler; -import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; -import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.FrameLayout; @@ -34,19 +31,8 @@ public class MapMenuControls extends MapControls { } private void initBackToMenuButton(final OsmandMapTileView view, FrameLayout parent) { - android.widget.FrameLayout.LayoutParams params; - Context ctx = view.getContext(); - backToMenuButton = new Button(ctx); - backToMenuButton.setContentDescription(ctx.getString(R.string.backToMenu)); - backToMenuButton.setBackgroundResource(R.drawable.map_btn_menu); - params = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, - Gravity.BOTTOM | Gravity.LEFT); - parent.addView(backToMenuButton, params); - backToMenuButton.setEnabled(true); - + backToMenuButton = addButton(parent, R.string.backToMenu, R.drawable.map_btn_menu); modeShadow = view.getResources().getDrawable(R.drawable.zoom_background); - - backToMenuButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -56,8 +42,6 @@ public class MapMenuControls extends MapControls { mapActivity.getMapActions().openOptionsMenuAsList(); } }); - - mapActivity.accessibleContent.add(backToMenuButton); } @Override @@ -67,8 +51,7 @@ public class MapMenuControls extends MapControls { @Override public void hideControls(FrameLayout layout) { - layout.removeView(backToMenuButton); - mapActivity.accessibleContent.remove(backToMenuButton); + removeButton(layout, backToMenuButton); } @Override diff --git a/OsmAnd/src/net/osmand/plus/views/controls/MapNavigateControl.java b/OsmAnd/src/net/osmand/plus/views/controls/MapNavigateControl.java new file mode 100644 index 0000000000..09ed7be0fe --- /dev/null +++ b/OsmAnd/src/net/osmand/plus/views/controls/MapNavigateControl.java @@ -0,0 +1,49 @@ +package net.osmand.plus.views.controls; + +import net.osmand.data.RotatedTileBox; +import net.osmand.plus.R; +import net.osmand.plus.activities.MapActivity; +import net.osmand.plus.views.OsmandMapLayer.DrawSettings; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; +import android.os.Handler; +import android.view.View; +import android.widget.Button; +import android.widget.FrameLayout; + +public class MapNavigateControl extends MapControls { + private Button navigateButton; + + + public MapNavigateControl(MapActivity mapActivity, Handler showUIHandler, float scaleCoefficient) { + super(mapActivity, showUIHandler, scaleCoefficient); + } + + @Override + public void showControls(FrameLayout parent) { + navigateButton = addButton(parent, R.string.get_directions, R.drawable.map_btn_navigate); + navigateButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // TODO + } + }); + } + + @Override + public void hideControls(FrameLayout layout) { + removeButton(layout, navigateButton); + } + + @Override + public void onDraw(Canvas canvas, RotatedTileBox tileBox, DrawSettings nightMode) { + } + + public int getWidth() { + if (width == 0) { + Drawable buttonDrawable = mapActivity.getResources().getDrawable(R.drawable.map_btn_navigate); + width = buttonDrawable.getMinimumWidth(); + } + return width ; + } +} diff --git a/OsmAnd/src/net/osmand/plus/views/controls/MapZoomControls.java b/OsmAnd/src/net/osmand/plus/views/controls/MapZoomControls.java index b1a4bf7f20..cf0804a22f 100644 --- a/OsmAnd/src/net/osmand/plus/views/controls/MapZoomControls.java +++ b/OsmAnd/src/net/osmand/plus/views/controls/MapZoomControls.java @@ -1,14 +1,21 @@ package net.osmand.plus.views.controls; +import gnu.trove.list.array.TIntArrayList; + +import java.util.ArrayList; +import java.util.List; + import net.osmand.data.RotatedTileBox; import net.osmand.plus.OsmAndConstants; +import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.views.BaseMapLayer; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; import net.osmand.plus.views.OsmandMapTileView; import net.osmand.plus.views.ShadowText; -import android.content.Context; +import android.app.AlertDialog; +import android.content.DialogInterface; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; @@ -19,9 +26,7 @@ import android.graphics.drawable.Drawable; import android.os.Handler; import android.os.Message; import android.text.TextPaint; -import android.view.Gravity; import android.view.View; -import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.FrameLayout; @@ -53,7 +58,7 @@ public class MapZoomControls extends MapControls { public boolean onSingleTap(PointF point, RotatedTileBox tileBox) { if (isShowZoomLevel() && zoomShadow.getBounds().contains((int) point.x, (int) point.y)) { - MapMagnifier.getOnClickMagnifierListener(view).onLongClick(null); + getOnClickMagnifierListener(view).onLongClick(null); return true; } return false; @@ -63,28 +68,8 @@ public class MapZoomControls extends MapControls { @Override protected void showControls(FrameLayout parent) { int minimumWidth = view.getResources().getDrawable(R.drawable.map_zoom_in).getMinimumWidth(); - Context ctx = view.getContext(); - zoomInButton = new Button(ctx); - zoomInButton.setBackgroundResource(R.drawable.map_zoom_in); - android.widget.FrameLayout.LayoutParams params = - new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM - | Gravity.RIGHT); - params.setMargins(0, 0, 0, 0); - zoomInButton.setContentDescription(ctx.getString(R.string.zoomIn)); - parent.addView(zoomInButton, params); - - zoomOutButton = new Button(ctx); - zoomOutButton.setBackgroundResource(R.drawable.map_zoom_out); - params = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM - | Gravity.RIGHT); - - params.setMargins(0, 0, minimumWidth, 0); - zoomOutButton.setContentDescription(ctx.getString(R.string.zoomOut)); - parent.addView(zoomOutButton, params); - - mapActivity.accessibleContent.add(zoomInButton); - mapActivity.accessibleContent.add(zoomOutButton); - + zoomInButton = addButton(parent, R.string.zoomIn, R.drawable.map_zoom_in); + zoomOutButton = addButton(parent, R.string.zoomOut, R.drawable.map_zoom_out, minimumWidth); zoomInButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -96,7 +81,7 @@ public class MapZoomControls extends MapControls { } }); - final View.OnLongClickListener listener = MapMagnifier.getOnClickMagnifierListener(view); + final View.OnLongClickListener listener = getOnClickMagnifierListener(view); zoomInButton.setOnLongClickListener(listener); zoomOutButton.setOnClickListener(new View.OnClickListener() { @Override @@ -116,10 +101,8 @@ public class MapZoomControls extends MapControls { @Override public void hideControls(FrameLayout layout) { - mapActivity.accessibleContent.remove(zoomInButton); - mapActivity.accessibleContent.remove(zoomOutButton); - layout.removeView(zoomInButton); - layout.removeView(zoomOutButton); + removeButton(layout, zoomInButton); + removeButton(layout, zoomOutButton); } private void drawZoomLevel(Canvas canvas, RotatedTileBox tb, boolean drawZoomLevel) { @@ -226,9 +209,68 @@ public class MapZoomControls extends MapControls { } public int getHeight() { - Drawable buttonDrawable = view.getResources().getDrawable(R.drawable.map_zoom_in); - return buttonDrawable.getMinimumHeight(); + if (height == 0) { + Drawable buttonDrawable = view.getResources().getDrawable(R.drawable.map_zoom_in); + height = buttonDrawable.getMinimumHeight(); + } + return height; } + + public static View.OnLongClickListener getOnClickMagnifierListener(final OsmandMapTileView view) { + final View.OnLongClickListener listener = new View.OnLongClickListener() { + + @Override + public boolean onLongClick(View notUseCouldBeNull) { + final OsmandSettings.OsmandPreference zoomScale = view.getSettings().MAP_ZOOM_SCALE_BY_DENSITY; + final AlertDialog.Builder bld = new AlertDialog.Builder(view.getContext()); + float scale = view.getZoomScale(); + int p = (int) ((scale > 0 ? 1 : -1) * Math.round(scale * scale * 100)) + 100; + final TIntArrayList tlist = new TIntArrayList(new int[] { 75, 100, 150, 200, 300, 400, 500 }); + final List values = new ArrayList(); + int i = -1; + for (int k = 0; k <= tlist.size(); k++) { + final boolean end = k == tlist.size(); + if (i == -1) { + if ((end || p < tlist.get(k))) { + values.add(p + "%"); + i = k; + } else if (p == tlist.get(k)) { + i = k; + } + + } + if (k < tlist.size()) { + values.add(tlist.get(k) + "%"); + } + } + if (values.size() != tlist.size()) { + tlist.insert(i, p); + } + + bld.setTitle(R.string.map_magnifier); + bld.setSingleChoiceItems(values.toArray(new String[values.size()]), i, + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + int p = tlist.get(which); + float newScale; + if (p >= 100) { + newScale = (float) Math.sqrt((tlist.get(which) - 100f) / 100f); + } else { + newScale = -(float) Math.sqrt((100f - tlist.get(which)) / 100f); + } + zoomScale.set(newScale - (float) Math.sqrt(Math.max(view.getDensity() - 1, 0))); + view.getAnimatedDraggingThread().startZooming(view.getZoom(), + view.getSettingsZoomScale(), false); + dialog.dismiss(); + } + }); + bld.show(); + return true; + } + }; + return listener; + } } \ No newline at end of file diff --git a/OsmAnd/src/net/osmand/plus/views/controls/RulerControl.java b/OsmAnd/src/net/osmand/plus/views/controls/RulerControl.java index 8e36cc5a56..9eba79e06b 100644 --- a/OsmAnd/src/net/osmand/plus/views/controls/RulerControl.java +++ b/OsmAnd/src/net/osmand/plus/views/controls/RulerControl.java @@ -80,7 +80,7 @@ public class RulerControl extends MapControls { if (cacheRulerText != null) { Rect bounds = rulerDrawable.getBounds(); - int bottom = (int) (view.getHeight() - (!zoomControls.isVisible() ? 0 : zoomControls.getHeight())); + int bottom = (int) (view.getHeight() - vmargin); if(bounds.bottom != bottom) { bounds.bottom = bottom; bounds.top = bounds.bottom - rulerDrawable.getMinimumHeight(); diff --git a/OsmAnd/src/net/osmand/plus/views/controls/SmallMapMenuControls.java b/OsmAnd/src/net/osmand/plus/views/controls/SmallMapMenuControls.java index 503d9b4666..ff105d093f 100644 --- a/OsmAnd/src/net/osmand/plus/views/controls/SmallMapMenuControls.java +++ b/OsmAnd/src/net/osmand/plus/views/controls/SmallMapMenuControls.java @@ -4,51 +4,58 @@ import net.osmand.data.RotatedTileBox; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.views.OsmandMapLayer.DrawSettings; -import android.content.Context; import android.graphics.Canvas; +import android.graphics.drawable.Drawable; import android.os.Handler; -import android.view.Gravity; import android.view.View; -import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.FrameLayout; public class SmallMapMenuControls extends MapControls { private Button backToMenuButton; - public SmallMapMenuControls(MapActivity mapActivity, Handler showUIHandler, float scaleCoefficient) { super(mapActivity, showUIHandler, scaleCoefficient); } - @SuppressWarnings("deprecation") @Override public void showControls(FrameLayout parent) { + + backToMenuButton = addButton(parent, R.string.backToMenu, R.drawable.map_btn_hmenu); + /* Context ctx = mapActivity; - backToMenuButton = new Button(ctx); + backToMenuButton = new ImageButton(ctx); backToMenuButton.setContentDescription(ctx.getString(R.string.backToMenu)); - backToMenuButton.setBackgroundDrawable(ctx.getResources().getDrawable(R.drawable.map_btn_hmenu)); + backToMenuButton.setImageResource(R.drawable.map_btn_hmenu); android.widget.FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM | Gravity.LEFT); parent.addView(backToMenuButton, params); backToMenuButton.setEnabled(true); + + mapActivity.accessibleContent.add(backToMenuButton);*/ backToMenuButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mapActivity.getMapActions().openOptionsMenuAsList(); } }); - mapActivity.accessibleContent.add(backToMenuButton); } @Override public void hideControls(FrameLayout layout) { - layout.removeView(backToMenuButton); - mapActivity.accessibleContent.remove(backToMenuButton); + removeButton(layout, backToMenuButton); } @Override public void onDraw(Canvas canvas, RotatedTileBox tileBox, DrawSettings nightMode) { } + + public int getWidth() { + if (width == 0) { + Drawable buttonDrawable = mapActivity.getResources().getDrawable(R.drawable.map_btn_hmenu); + width = buttonDrawable.getMinimumWidth(); + } + return width ; + } }