diff options
author | Александр Зацепин <az@mapswithme.com> | 2019-05-30 18:54:07 +0300 |
---|---|---|
committer | yoksnod <donskdmitry@mail.ru> | 2019-05-31 00:10:57 +0300 |
commit | 6275027cd4c05799368c752edffba2abd4405716 (patch) | |
tree | 6f5956956ef1283f85550fa35f9caf8a06881aab /android | |
parent | 8aeed3502899ee9303d6ec57867d15f4e4c616dd (diff) |
[android] Added booking.com button in bottom toolbar on map
Diffstat (limited to 'android')
-rw-r--r-- | android/res/drawable-hdpi/ic_menu_hotel_search.png | bin | 0 -> 598 bytes | |||
-rw-r--r-- | android/res/drawable-mdpi/ic_menu_hotel_search.png | bin | 0 -> 430 bytes | |||
-rw-r--r-- | android/res/drawable-xhdpi/ic_menu_hotel_search.png | bin | 0 -> 789 bytes | |||
-rw-r--r-- | android/res/drawable-xxhdpi/ic_menu_hotel_search.png | bin | 0 -> 1183 bytes | |||
-rw-r--r-- | android/res/drawable-xxxhdpi/ic_menu_hotel_search.png | bin | 0 -> 1749 bytes | |||
-rw-r--r-- | android/res/layout/menu_content.xml | 8 | ||||
-rw-r--r-- | android/res/layout/menu_content_grid.xml | 7 | ||||
-rw-r--r-- | android/src/com/mapswithme/maps/MwmActivity.java | 86 | ||||
-rw-r--r-- | android/src/com/mapswithme/maps/widget/menu/MainMenu.java | 29 | ||||
-rw-r--r-- | android/src/com/mapswithme/util/statistics/Statistics.java | 2 |
10 files changed, 106 insertions, 26 deletions
diff --git a/android/res/drawable-hdpi/ic_menu_hotel_search.png b/android/res/drawable-hdpi/ic_menu_hotel_search.png Binary files differnew file mode 100644 index 0000000000..c26261b447 --- /dev/null +++ b/android/res/drawable-hdpi/ic_menu_hotel_search.png diff --git a/android/res/drawable-mdpi/ic_menu_hotel_search.png b/android/res/drawable-mdpi/ic_menu_hotel_search.png Binary files differnew file mode 100644 index 0000000000..e702992127 --- /dev/null +++ b/android/res/drawable-mdpi/ic_menu_hotel_search.png diff --git a/android/res/drawable-xhdpi/ic_menu_hotel_search.png b/android/res/drawable-xhdpi/ic_menu_hotel_search.png Binary files differnew file mode 100644 index 0000000000..f779a620d4 --- /dev/null +++ b/android/res/drawable-xhdpi/ic_menu_hotel_search.png diff --git a/android/res/drawable-xxhdpi/ic_menu_hotel_search.png b/android/res/drawable-xxhdpi/ic_menu_hotel_search.png Binary files differnew file mode 100644 index 0000000000..429bf5be34 --- /dev/null +++ b/android/res/drawable-xxhdpi/ic_menu_hotel_search.png diff --git a/android/res/drawable-xxxhdpi/ic_menu_hotel_search.png b/android/res/drawable-xxxhdpi/ic_menu_hotel_search.png Binary files differnew file mode 100644 index 0000000000..c726e09899 --- /dev/null +++ b/android/res/drawable-xxxhdpi/ic_menu_hotel_search.png diff --git a/android/res/layout/menu_content.xml b/android/res/layout/menu_content.xml index fdfb327e60..784947e7af 100644 --- a/android/res/layout/menu_content.xml +++ b/android/res/layout/menu_content.xml @@ -28,6 +28,14 @@ tools:targetApi="m"/> <TextView + android:id="@+id/hotel_search" + style="@style/MwmTheme.Menu.Content.ListItem" + android:drawableLeft="@drawable/ic_menu_hotel_search" + android:drawableStart="@drawable/ic_menu_hotel_search" + android:text="@string/booking_button_toolbar" + tools:background="#200000FF"/> + + <TextView android:id="@+id/search" style="@style/MwmTheme.Menu.Content.ListItem" android:drawableLeft="@drawable/ic_menu_search" diff --git a/android/res/layout/menu_content_grid.xml b/android/res/layout/menu_content_grid.xml index 62b905caa0..aec2701314 100644 --- a/android/res/layout/menu_content_grid.xml +++ b/android/res/layout/menu_content_grid.xml @@ -24,6 +24,13 @@ tools:targetApi="m"/> <TextView + android:id="@+id/hotel_search" + style="@style/MwmTheme.Menu.Content.GridItem.Text" + android:drawableTop="@drawable/ic_menu_hotel_search" + android:text="@string/booking_button_toolbar" + tools:background="#200000FF"/> + + <TextView android:id="@+id/search" style="@style/MwmTheme.Menu.Content.GridItem.Text" android:drawableTop="@drawable/ic_menu_search" diff --git a/android/src/com/mapswithme/maps/MwmActivity.java b/android/src/com/mapswithme/maps/MwmActivity.java index 45d6e2e681..a948fd2911 100644 --- a/android/src/com/mapswithme/maps/MwmActivity.java +++ b/android/src/com/mapswithme/maps/MwmActivity.java @@ -1004,7 +1004,20 @@ public class MwmActivity extends BaseMwmFragmentActivity return; String query = data.getStringExtra(DiscoveryActivity.EXTRA_FILTER_SEARCH_QUERY); - mSearchController.setQuery(TextUtils.isEmpty(query) ? getString(R.string.hotel) : query); + mSearchController.setQuery(TextUtils.isEmpty(query) ? getString(R.string.hotel) + " " : query); + } + + private void runHotelCategorySearchOnMap() + { + if (mSearchController == null || mFilterController == null) + return; + + mSearchController.setQuery(getActivity().getString(R.string.hotel) + " "); + runSearch(); + + mSearchController.refreshToolbar(); + mFilterController.updateFilterButtonVisibility(true); + mFilterController.show(true, true); } @Override @@ -2356,7 +2369,7 @@ public class MwmActivity extends BaseMwmFragmentActivity } } - public static class AddPlaceDelegate extends AbstractClickMenuDelegate + public static class AddPlaceDelegate extends StatisticClickMenuDelegate { public AddPlaceDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) { @@ -2364,9 +2377,8 @@ public class MwmActivity extends BaseMwmFragmentActivity } @Override - public void onMenuItemClickInternal() + void onPostStatisticMenuItemClick() { - Statistics.INSTANCE.trackToolbarMenu(getItem()); getActivity().closePlacePage(); if (getActivity().mIsTabletLayout) getActivity().closeSidePanel(); @@ -2390,7 +2402,7 @@ public class MwmActivity extends BaseMwmFragmentActivity } } - public static class SettingsDelegate extends AbstractClickMenuDelegate + public static class SettingsDelegate extends StatisticClickMenuDelegate { public SettingsDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) { @@ -2398,15 +2410,14 @@ public class MwmActivity extends BaseMwmFragmentActivity } @Override - public void onMenuItemClickInternal() + void onPostStatisticMenuItemClick() { - Statistics.INSTANCE.trackToolbarMenu(getItem()); Intent intent = new Intent(getActivity(), SettingsActivity.class); getActivity().closeMenu(() -> 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,9 +2435,25 @@ public class MwmActivity extends BaseMwmFragmentActivity } } - public static class DownloadMapsDelegate extends AbstractClickMenuDelegate + public static class HotelSearchDelegate extends StatisticClickMenuDelegate { - public DownloadMapsDelegate(@NonNull MwmActivity activity, @NonNull MainMenu.Item item) + 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); } @@ -2436,12 +2462,28 @@ public class MwmActivity extends BaseMwmFragmentActivity 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) + { + super(activity, item); + } + + @Override + void onPostStatisticMenuItemClick() + { 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<String> { 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) |