forked from organicmaps/organicmaps
[android] Added booking.com button in bottom toolbar on map
This commit is contained in:
parent
8aeed35028
commit
6275027cd4
10 changed files with 107 additions and 27 deletions
BIN
android/res/drawable-hdpi/ic_menu_hotel_search.png
Normal file
BIN
android/res/drawable-hdpi/ic_menu_hotel_search.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 598 B |
BIN
android/res/drawable-mdpi/ic_menu_hotel_search.png
Normal file
BIN
android/res/drawable-mdpi/ic_menu_hotel_search.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 430 B |
BIN
android/res/drawable-xhdpi/ic_menu_hotel_search.png
Normal file
BIN
android/res/drawable-xhdpi/ic_menu_hotel_search.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 789 B |
BIN
android/res/drawable-xxhdpi/ic_menu_hotel_search.png
Normal file
BIN
android/res/drawable-xxhdpi/ic_menu_hotel_search.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
android/res/drawable-xxxhdpi/ic_menu_hotel_search.png
Normal file
BIN
android/res/drawable-xxxhdpi/ic_menu_hotel_search.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
|
@ -27,6 +27,14 @@
|
|||
tools:background="#403033FF"
|
||||
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"
|
||||
|
|
|
@ -23,6 +23,13 @@
|
|||
android:textColor="?attr/colorAccent"
|
||||
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"
|
||||
|
|
|
@ -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,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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue