diff --git a/android/src/com/mapswithme/maps/MwmActivity.java b/android/src/com/mapswithme/maps/MwmActivity.java index 9a61fb041c..5a40734a55 100644 --- a/android/src/com/mapswithme/maps/MwmActivity.java +++ b/android/src/com/mapswithme/maps/MwmActivity.java @@ -1053,16 +1053,37 @@ public class MwmActivity extends BaseMwmFragmentActivity if (destination == null) return; - addTask(new MapTask() + String action = data.getAction(); + if (TextUtils.isEmpty(action)) + return; + + MapTask task; + if (action.equals(DiscoveryActivity.ACTION_ROUTE_TO)) { - @Override - public boolean run(MwmActivity target) + task = new MapTask() { - RoutingController.get().setRouterType(Framework.ROUTER_TYPE_PEDESTRIAN); - RoutingController.get().prepare(true, destination); - return false; - } - }); + @Override + public boolean run(MwmActivity target) + { + RoutingController.get().setRouterType(Framework.ROUTER_TYPE_PEDESTRIAN); + RoutingController.get().prepare(true, destination); + return false; + } + }; + } + else + { + task = new MapTask() + { + @Override + public boolean run(MwmActivity target) + { + Framework.nativeShowFeatureByLatLon(destination.getLat(), destination.getLon()); + return false; + } + }; + } + addTask(task); } @Override diff --git a/android/src/com/mapswithme/maps/discovery/DiscoveryActivity.java b/android/src/com/mapswithme/maps/discovery/DiscoveryActivity.java index d1df701519..0c563e8e50 100644 --- a/android/src/com/mapswithme/maps/discovery/DiscoveryActivity.java +++ b/android/src/com/mapswithme/maps/discovery/DiscoveryActivity.java @@ -7,6 +7,8 @@ import com.mapswithme.maps.base.BaseMwmFragmentActivity; public class DiscoveryActivity extends BaseMwmFragmentActivity { public static final String EXTRA_DISCOVERY_OBJECT = "extra_discovery_object"; + public static final String ACTION_ROUTE_TO = "action_route_to"; + public static final String ACTION_SHOW_ON_MAP = "action_show_on_map"; @Override protected Class getFragmentClass() diff --git a/android/src/com/mapswithme/maps/discovery/DiscoveryFragment.java b/android/src/com/mapswithme/maps/discovery/DiscoveryFragment.java index 557bf0e8bd..b20eb49222 100644 --- a/android/src/com/mapswithme/maps/discovery/DiscoveryFragment.java +++ b/android/src/com/mapswithme/maps/discovery/DiscoveryFragment.java @@ -301,20 +301,32 @@ public class DiscoveryFragment extends BaseMwmToolbarFragment implements UICallb @Override public void onItemSelected(@NonNull Items.SearchItem item) { - // TODO: Show point on the map. Coming soon. + Intent intent = new Intent(DiscoveryActivity.ACTION_SHOW_ON_MAP); + setResult(item, intent); } @Override public void onActionButtonSelected(@NonNull Items.SearchItem item) { - Intent intent = new Intent(); - String title = TextUtils.isEmpty(item.getTitle()) ? "" : item.getTitle(); - String subtitle = TextUtils.isEmpty(item.getSubtitle()) ? "" : item.getSubtitle(); - MapObject poi = MapObject.createMapObject(FeatureId.EMPTY, MapObject.SEARCH, title, subtitle, - item.getLat(), item.getLon()); + Intent intent = new Intent(DiscoveryActivity.ACTION_ROUTE_TO); + setResult(item, intent); + } + + private void setResult(@NonNull Items.SearchItem item, @NonNull Intent intent) + { + MapObject poi = createMapObject(item); intent.putExtra(DiscoveryActivity.EXTRA_DISCOVERY_OBJECT, poi); getContext().setResult(Activity.RESULT_OK, intent); getContext().finish(); } + + @NonNull + private static MapObject createMapObject(@NonNull Items.SearchItem item) + { + String title = TextUtils.isEmpty(item.getTitle()) ? "" : item.getTitle(); + String subtitle = TextUtils.isEmpty(item.getSubtitle()) ? "" : item.getSubtitle(); + return MapObject.createMapObject(FeatureId.EMPTY, MapObject.SEARCH, title, subtitle, + item.getLat(), item.getLon()); + } } }