From 6275027cd4c05799368c752edffba2abd4405716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=97=D0=B0=D1=86=D0=B5=D0=BF=D0=B8=D0=BD?= Date: Thu, 30 May 2019 18:54:07 +0300 Subject: [PATCH] [android] Added booking.com button in bottom toolbar on map --- .../drawable-hdpi/ic_menu_hotel_search.png | Bin 0 -> 598 bytes .../drawable-mdpi/ic_menu_hotel_search.png | Bin 0 -> 430 bytes .../drawable-xhdpi/ic_menu_hotel_search.png | Bin 0 -> 789 bytes .../drawable-xxhdpi/ic_menu_hotel_search.png | Bin 0 -> 1183 bytes .../drawable-xxxhdpi/ic_menu_hotel_search.png | Bin 0 -> 1749 bytes android/res/layout/menu_content.xml | 8 ++ android/res/layout/menu_content_grid.xml | 7 ++ .../src/com/mapswithme/maps/MwmActivity.java | 88 +++++++++++++----- .../mapswithme/maps/widget/menu/MainMenu.java | 29 +++++- .../util/statistics/Statistics.java | 2 +- 10 files changed, 107 insertions(+), 27 deletions(-) create mode 100644 android/res/drawable-hdpi/ic_menu_hotel_search.png create mode 100644 android/res/drawable-mdpi/ic_menu_hotel_search.png create mode 100644 android/res/drawable-xhdpi/ic_menu_hotel_search.png create mode 100644 android/res/drawable-xxhdpi/ic_menu_hotel_search.png create mode 100644 android/res/drawable-xxxhdpi/ic_menu_hotel_search.png diff --git a/android/res/drawable-hdpi/ic_menu_hotel_search.png b/android/res/drawable-hdpi/ic_menu_hotel_search.png new file mode 100644 index 0000000000000000000000000000000000000000..c26261b447d572b4d6541ee3048de19f0ffb2c41 GIT binary patch literal 598 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!jKx9jP7LeL$-HD>U=r|jaSW+o ze0$yA`>=z=@sA-gOLlPRX-&&(vRE}ap-`lx_=D*V>(1tU$6snPNA>*p#6I#jT|2t6 zBZ7UdjELZx{fAj@3He@rwr*t|zuctVr=QOIZL)XSJaT)_ zc*K`!p71bmjP!N1id|}O;p&TegBzL?bfF#jmvwWP zpSBp?HCg;T^{UyTZL1bk?PA>iL^NtE?-psR*X56!_@2i93cmO>i{I;LlC>w(0uIv# zrG}jMj)IquzuR}UBiWuWssCLE%9A3Nusz4O-o{@XY&)mDy<22^xFURl7Y!ohuiZuP;$gt^tP`+lbv ztzO=^knx_2?A!&<3X1%iUEf>HSofhvEXr|7Vt+Qf>4oSeann+nKh130&3GqA$vA)F z!rU!AdVw<6?pO<7yCQ70c;W0F3G0%Jo#!l8ElK74*pZcSf0E%vv%^;+{$7bbU(2@O zhWqY{jcd0Y{Bg6#S73GJS;OnUIbZG9{g}7V`Ni8K{%ZCepBEj!$9ByiqieB@x@-U4 z=oJ~wkLSIwWwsTo@D%&$@yViAb*J<87gqld?u!X--`>d0_cn8v)$;`H`LByiH^(o! z_D}v2$IB!BMfuE&uNj>RU^?&V;uuoF z`1Xdqw~V92@xt&kk{nAmp5Wf#p)Ay`pwjXsQ|Im58s;Q%6<>u`g$S;)WnB}@&N?=^ zI%u;>bMtnvsYYUjQsqHL^Q;dg`T?`QPxH@4rrJ#)7G{O5V)?|=Q$;818_V4{d9 z(YTPc^`54mXt(UX*1S|Mj(;(UPlG=0IJ0rJMcDqsi=3qe`_u1WasXNmmrVnvE zoCW6`OgJz6O$hiHwsGN&;5AzFEPr3guUeRPdcxZP^EuAEx#F2n3#qqLB{0WzXTJSVB>e(l_MWKzR(%b>+g`5a%i|FQ}7dGdwV zSG?-{#<(r&S<%nKOs*xqcoBPiQo~)Dj%E@2<)`C)x2;#t++u!C%TnL;nO}AD@z)V~ zhvc{ZoL|mxLv_WOq|TYz#RvXNYIo%~#0q^`S+lrTN89ZZ?@iU`dmlOf+I8mDvzK0< z?XDcSoLI0n)lTO6rfY4RpZ?O+$O+-?Oo}jES0Qq)J?i;1kyMf0;xXd9W>aJh=DZJ; zJ!-Cy6E@$jx@co|vB>r38`kAryT`eq-t9b>*^VVgazwwZ%-LMdl(%lLWs~pLt7eQF zZCIcFxW2oS#p3yNmI(~$jL%>0%|EpF&c44JqQh%~YhFG*QdwN7{$R6M`Mm88Ti=Rr zxqr20QJZONV|2~+$2k|3*YEnetwKG)OXJ)6RLQ69Y@9d3^0VHYHe!4COyVBrj`#Q8 zh;ROD#_=G&b#M9ogEsfWx3a9^dObPG_rZRfhg#O<-}?1`E1#)W-q!YJ)}HH!|4@`n cLcAYviFCTx6m;4g1EzBZPgg&ebxsLQ04mE$p#T5? literal 0 HcmV?d00001 diff --git a/android/res/drawable-xxhdpi/ic_menu_hotel_search.png b/android/res/drawable-xxhdpi/ic_menu_hotel_search.png new file mode 100644 index 0000000000000000000000000000000000000000..429bf5be34411b812223a8426f8b8db1421d616b GIT binary patch literal 1183 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q4M;wBd$a>cF%}28J29*~C-ahlfhE$@#WAFU z@$K#X-LkF>>>sQbH#Ig)IHxp8WR_mjPxebUB04p09CP}^e8g$OmWy_C=dNAQ)M|g= z5R2%Q76ms)5ot#eCeA<)rRU{mcJJ8!-DvasC-3gQ`>o?scK^(scW2V~Z_j`K_Vle; ztqhDzEF1y~4h;j!NZ@BRGc%j#^;7j}*r|3+{`U_b%4WS`+WaA{rJ7t<${)B!U~J9e6xJmyt1xGjlx`N5E9~WN(LtD5qPinZAcdyWg6z|MDsQ zV~;h}gVrsLiHeW^Z<>9271y1=kN@uP-To|c$VFO%N5se zXVoZOf9B=&wYw&Y`>$b`uKA61m*$Mze9nMZe#`F6xx7BUR8^F}^!xnl?m>K|uXFf? zXI!$quzKbvX69wJHnsD7D|cW1K08O=uOlz*?{Ov7?_u?&-!>P`4(7TrnS0LOOWUOv zoRzONknTToDlN8j?uEZI`L(3T$s0ZHvzAq#U-vq*QtjzumX`-?t9v&jdNEo_|Bq%qckuhm z&*vKIc3)h&r*z)EURnL@`I9*V?n&+AdX&w3qG;LYJ}wT&)#y+7aaE2a!5Va_+LT&Nraia zw`RZ5y5%uGf9vX|6dEPh=%tpNe!>)T&f(Cf^04r?@7jFp& zEMS}PY*z!r)!Hp)EG#P+m+aJ2a43~u%L|NfhRk)`JwJ;V{5tb3{`GmuOFyT4|91aE znVk~jt(~!N)lYBUaavQ=;QzGRe+Jvlrf1!r!CYc!T)p3F_s?GOXW{?X-}+>`SU=c| z`Ew;x@IF?9pQ%?EPkCBxUSj;Ex-YsZg6VUl*Uw!iCgeLWd%b0vA$x}Y`6K<7H=bR6 zT65@8;v1j%hHb|`l&#YH%4B@<|D?^euez^uT#()DzxkKh(wNkJCq$neo16828w-nu y6XzMfec@L&#dem-tE@YcY34b=d97OQ1OLqWz!-*Qx=g?lhr!d;&t;ucLK6UP=HW#E literal 0 HcmV?d00001 diff --git a/android/res/drawable-xxxhdpi/ic_menu_hotel_search.png b/android/res/drawable-xxxhdpi/ic_menu_hotel_search.png new file mode 100644 index 0000000000000000000000000000000000000000..c726e09899028451eb13034dd7343bcfcc364b7a GIT binary patch literal 1749 zcmd^A`#%#10N>Uye5j`Mxlo?VZbe6m>ttRxv+|gfi;-&bF@_CoUfVqG8Yc;{mQYPP z4VTw4dDL#yY~=DPJ2N*#-inEKyT79!zK>tNzkNU7FVoKlrKhuB2LJ%*p}jn?YVG_V z5KT2>$D*~=0wiNmZh%^e@dp4vGav2YdX@s5mx^+O1C6zoZd|Vw47>U7iwXQF%piL1 z2IH7KGDlYhbd~1FhBz4rPd~qYjGbN!tBq0Pt|&y(rCtX|6>URko( zUrJMLwtCX;rbu2*-wm6JSb5hZa-#!)ATVT?De@aJ$6)o%%}IgsCcz@Jfw_bEJTKAf zC3tpE&lTH38b$d;aw;+xc^Sk~DhgxB@!38iI9@?&0y+($Lhp z)fZjf7oNE+Uz86CikSw?74vs&1OlN&BAE3P8UA&2?jj!_(nn6E$w#utqDl)UTR0f* z!Z-&xT`I6JFjXvi-(|&xswx9UdEC9%&K`pN4xK6Iy3eUFbmIZC3sm@T zn2bz2b;?Ygi^U|ai-?q_;rDMVLF51;{PB>%5BNk<=m`Le0 z87o0=BrXQ!6l-OcLmObo$8yT-yWn%lm|4EXoL0(v3!siSyNS%*=Iy{$R7EK=M7!N6<&ZkN?;-?x6 zQ(jm-{(4VP>B$((Wa`m*2 zI$rAAN%VRCY3!{P8?oW>Rp%q2R+-d%7^vB;$c{d+f2>I{6ii*CrHQcOeb#;J3o-3R z^Ro=_j8XpSe`yU$q&#wb0bR2=C37#-Y5X`ce`L;gQd$6TcfV~XU zHnj0RQRMAKs)m+^9W53rF&p#1$Y4A#M}O>5OyZjkSJV<7TP|9-YG-y&JTGN#GwrC} zq@rt??H!@8nv<8{tFm8B;(a6944@Z5K``a0ae9g~tSF(n24ur%{gJeZW2*a<|odyT5k1pM6Ke5-FD5A(YU;k;9Z3bsky~5hrfK zAVH0UpVq1(82EIAhxl#Y@$>Cjb1wx(d7tlR=V9oE`raD2@5kff>uql+^imX)_imd3 zwU2@ay2LAk`C(SaVX3e$CrsK7<|R;B2C_e|$4-mtlXoPwwP62_QSzo9G3_QqCpt`C zXW1ScZ0t3w@6}%Nfk}iVlalcB!*E5W5(RyZ+IaBcnzFiz17hHP=sFvQ*uSEp=Ffa4 zeWAj(l-Z3B2XN4eQM6y}c!yUJhNWA0s&M;#1ivwai=iiX^S7*phnTvB&Mk^fX*Yb% zB$F{@*$F@?jPRs`K5MY8Zq`!zcU7b*C87wh`aULc3I&f#gl+M{sz+y2y9v8)0(9LZ uf_3uGx=*=JFDz>OfepZY3(FZ)-$~1)ey($dTCb~r3V` + + + + getActivity().startActivity(intent)); } } - public static class DownloadGuidesDelegate extends AbstractClickMenuDelegate + public static class DownloadGuidesDelegate extends StatisticClickMenuDelegate { public DownloadGuidesDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) { @@ -2414,9 +2425,8 @@ public class MwmActivity extends BaseMwmFragmentActivity } @Override - public void onMenuItemClickInternal() + void onPostStatisticMenuItemClick() { - Statistics.INSTANCE.trackToolbarMenu(getItem()); int requestCode = BookmarkCategoriesActivity.REQ_CODE_DOWNLOAD_BOOKMARK_CATEGORY; String catalogUrl = BookmarkManager.INSTANCE.getCatalogFrontendUrl(); getActivity().closeMenu(() -> BookmarksCatalogActivity.startForResult(getActivity(), @@ -2425,7 +2435,40 @@ public class MwmActivity extends BaseMwmFragmentActivity } } - public static class DownloadMapsDelegate extends AbstractClickMenuDelegate + public static class HotelSearchDelegate extends StatisticClickMenuDelegate + { + public HotelSearchDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) + { + super(activity, item); + } + + @Override + void onPostStatisticMenuItemClick() + { + getActivity().closeMenu(() -> { + getActivity().runHotelCategorySearchOnMap(); + }); + } + } + + public abstract static class StatisticClickMenuDelegate extends AbstractClickMenuDelegate + { + StatisticClickMenuDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) + { + super(activity, item); + } + + @Override + public void onMenuItemClickInternal() + { + Statistics.INSTANCE.trackToolbarMenu(getItem()); + onPostStatisticMenuItemClick(); + } + + abstract void onPostStatisticMenuItemClick(); + } + + public static class DownloadMapsDelegate extends StatisticClickMenuDelegate { public DownloadMapsDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) { @@ -2433,15 +2476,14 @@ public class MwmActivity extends BaseMwmFragmentActivity } @Override - public void onMenuItemClickInternal() + void onPostStatisticMenuItemClick() { - Statistics.INSTANCE.trackToolbarMenu(getItem()); RoutingController.get().cancel(); getActivity().closeMenu(() -> getActivity().showDownloader(false)); } } - public static class BookmarksDelegate extends AbstractClickMenuDelegate + public static class BookmarksDelegate extends StatisticClickMenuDelegate { public BookmarksDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) { @@ -2449,14 +2491,13 @@ public class MwmActivity extends BaseMwmFragmentActivity } @Override - public void onMenuItemClickInternal() + void onPostStatisticMenuItemClick() { - Statistics.INSTANCE.trackToolbarClick(getItem()); getActivity().closeMenu(getActivity()::showBookmarks); } } - public static class ShareMyLocationDelegate extends AbstractClickMenuDelegate + public static class ShareMyLocationDelegate extends StatisticClickMenuDelegate { public ShareMyLocationDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) { @@ -2464,14 +2505,13 @@ public class MwmActivity extends BaseMwmFragmentActivity } @Override - public void onMenuItemClickInternal() + void onPostStatisticMenuItemClick() { - Statistics.INSTANCE.trackToolbarMenu(getItem()); getActivity().closeMenu(getActivity()::shareMyLocation); } } - public static class DiscoveryDelegate extends AbstractClickMenuDelegate + public static class DiscoveryDelegate extends StatisticClickMenuDelegate { public DiscoveryDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) { @@ -2479,14 +2519,13 @@ public class MwmActivity extends BaseMwmFragmentActivity } @Override - public void onMenuItemClickInternal() + void onPostStatisticMenuItemClick() { - Statistics.INSTANCE.trackToolbarClick(getItem()); getActivity().showDiscovery(); } } - public static class PointToPointDelegate extends AbstractClickMenuDelegate + public static class PointToPointDelegate extends StatisticClickMenuDelegate { public PointToPointDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) { @@ -2494,9 +2533,8 @@ public class MwmActivity extends BaseMwmFragmentActivity } @Override - public void onMenuItemClickInternal() + void onPostStatisticMenuItemClick() { - Statistics.INSTANCE.trackToolbarClick(getItem()); getActivity().startLocationToPoint(null, false); } } diff --git a/android/src/com/mapswithme/maps/widget/menu/MainMenu.java b/android/src/com/mapswithme/maps/widget/menu/MainMenu.java index f1785d0c6b..b15e007479 100644 --- a/android/src/com/mapswithme/maps/widget/menu/MainMenu.java +++ b/android/src/com/mapswithme/maps/widget/menu/MainMenu.java @@ -15,10 +15,12 @@ import com.mapswithme.maps.routing.RoutingController; import com.mapswithme.util.Animations; import com.mapswithme.util.Graphics; import com.mapswithme.util.UiUtils; +import com.mapswithme.util.statistics.StatisticValueConverter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; public class MainMenu extends BaseMenu @@ -120,7 +122,7 @@ public class MainMenu extends BaseMenu } }; - public enum Item implements BaseMenu.Item + public enum Item implements BaseMenu.Item, StatisticValueConverter { MENU(R.id.toggle) { @@ -152,6 +154,23 @@ public class MainMenu extends BaseMenu return new MwmActivity.DownloadGuidesDelegate(activity, item); } }, + HOTEL_SEARCH(R.id.hotel_search) + { + @NonNull + @Override + public ClickMenuDelegate createClickDelegate(@NonNull MwmActivity activity, + @NonNull Item item) + { + return new MwmActivity.HotelSearchDelegate(activity, item); + } + + @NonNull + @Override + public String toStatisticValue() + { + return "booking.com"; + } + }, SEARCH(R.id.search) { @NonNull @@ -245,6 +264,13 @@ public class MainMenu extends BaseMenu @NonNull public abstract ClickMenuDelegate createClickDelegate(@NonNull MwmActivity activity, @NonNull Item item); + + @NonNull + @Override + public String toStatisticValue() + { + return name().toLowerCase(Locale.ENGLISH); + } } @Override @@ -318,6 +344,7 @@ public class MainMenu extends BaseMenu { mapItem(Item.ADD_PLACE); mapItem(Item.DOWNLOAD_GUIDES); + mapItem(Item.HOTEL_SEARCH); mapItem(Item.SEARCH); mapItem(Item.POINT_TO_POINT); mapItem(Item.DISCOVERY); diff --git a/android/src/com/mapswithme/util/statistics/Statistics.java b/android/src/com/mapswithme/util/statistics/Statistics.java index 9f21891b99..2919263d19 100644 --- a/android/src/com/mapswithme/util/statistics/Statistics.java +++ b/android/src/com/mapswithme/util/statistics/Statistics.java @@ -1439,7 +1439,7 @@ public enum Statistics @NonNull private static ParameterBuilder getToolbarParams(@NonNull MainMenu.Item button) { - return params().add(BUTTON, button.name().toLowerCase()); + return params().add(BUTTON, button.toStatisticValue()); } public void trackPPBannerClose(@BannerState int state, boolean isCross)