diff --git a/android/res/drawable-hdpi/ic_opentable.png b/android/res/drawable-hdpi/ic_opentable.png index fff32a337c..d3f2f7971d 100644 Binary files a/android/res/drawable-hdpi/ic_opentable.png and b/android/res/drawable-hdpi/ic_opentable.png differ diff --git a/android/res/drawable-hdpi/ic_place_page_phone.png b/android/res/drawable-hdpi/ic_place_page_phone.png new file mode 100644 index 0000000000..5342c8849d Binary files /dev/null and b/android/res/drawable-hdpi/ic_place_page_phone.png differ diff --git a/android/res/drawable-hdpi/ic_route_remove.png b/android/res/drawable-hdpi/ic_route_remove.png new file mode 100644 index 0000000000..33bd5f957f Binary files /dev/null and b/android/res/drawable-hdpi/ic_route_remove.png differ diff --git a/android/res/drawable-hdpi/ic_route_via.png b/android/res/drawable-hdpi/ic_route_via.png new file mode 100644 index 0000000000..322765336a Binary files /dev/null and b/android/res/drawable-hdpi/ic_route_via.png differ diff --git a/android/res/drawable-mdpi/ic_opentable.png b/android/res/drawable-mdpi/ic_opentable.png index ae53c7be0c..10a78cfdd5 100644 Binary files a/android/res/drawable-mdpi/ic_opentable.png and b/android/res/drawable-mdpi/ic_opentable.png differ diff --git a/android/res/drawable-mdpi/ic_place_page_phone.png b/android/res/drawable-mdpi/ic_place_page_phone.png new file mode 100644 index 0000000000..19aaf77f54 Binary files /dev/null and b/android/res/drawable-mdpi/ic_place_page_phone.png differ diff --git a/android/res/drawable-mdpi/ic_route_remove.png b/android/res/drawable-mdpi/ic_route_remove.png new file mode 100644 index 0000000000..25d3b37525 Binary files /dev/null and b/android/res/drawable-mdpi/ic_route_remove.png differ diff --git a/android/res/drawable-mdpi/ic_route_via.png b/android/res/drawable-mdpi/ic_route_via.png new file mode 100644 index 0000000000..7d0aa0fd31 Binary files /dev/null and b/android/res/drawable-mdpi/ic_route_via.png differ diff --git a/android/res/drawable-xhdpi/ic_opentable.png b/android/res/drawable-xhdpi/ic_opentable.png index 1d7641a1ef..98463bacaf 100644 Binary files a/android/res/drawable-xhdpi/ic_opentable.png and b/android/res/drawable-xhdpi/ic_opentable.png differ diff --git a/android/res/drawable-xhdpi/ic_place_page_phone.png b/android/res/drawable-xhdpi/ic_place_page_phone.png new file mode 100644 index 0000000000..11a7f833fe Binary files /dev/null and b/android/res/drawable-xhdpi/ic_place_page_phone.png differ diff --git a/android/res/drawable-xhdpi/ic_route_remove.png b/android/res/drawable-xhdpi/ic_route_remove.png new file mode 100644 index 0000000000..8f963f424c Binary files /dev/null and b/android/res/drawable-xhdpi/ic_route_remove.png differ diff --git a/android/res/drawable-xhdpi/ic_route_via.png b/android/res/drawable-xhdpi/ic_route_via.png new file mode 100644 index 0000000000..b7851c18e1 Binary files /dev/null and b/android/res/drawable-xhdpi/ic_route_via.png differ diff --git a/android/res/drawable-xxhdpi/ic_opentable.png b/android/res/drawable-xxhdpi/ic_opentable.png index 2d8fbad633..25411cae08 100644 Binary files a/android/res/drawable-xxhdpi/ic_opentable.png and b/android/res/drawable-xxhdpi/ic_opentable.png differ diff --git a/android/res/drawable-xxhdpi/ic_place_page_phone.png b/android/res/drawable-xxhdpi/ic_place_page_phone.png new file mode 100644 index 0000000000..6a6fc89370 Binary files /dev/null and b/android/res/drawable-xxhdpi/ic_place_page_phone.png differ diff --git a/android/res/drawable-xxhdpi/ic_route_remove.png b/android/res/drawable-xxhdpi/ic_route_remove.png new file mode 100644 index 0000000000..d1c238d2ed Binary files /dev/null and b/android/res/drawable-xxhdpi/ic_route_remove.png differ diff --git a/android/res/drawable-xxhdpi/ic_route_via.png b/android/res/drawable-xxhdpi/ic_route_via.png new file mode 100644 index 0000000000..c5259a6c93 Binary files /dev/null and b/android/res/drawable-xxhdpi/ic_route_via.png differ diff --git a/android/res/drawable-xxxhdpi/ic_opentable.png b/android/res/drawable-xxxhdpi/ic_opentable.png index 1b1de05206..26682a15f5 100644 Binary files a/android/res/drawable-xxxhdpi/ic_opentable.png and b/android/res/drawable-xxxhdpi/ic_opentable.png differ diff --git a/android/res/drawable-xxxhdpi/ic_place_page_phone.png b/android/res/drawable-xxxhdpi/ic_place_page_phone.png new file mode 100644 index 0000000000..9cd6c3e601 Binary files /dev/null and b/android/res/drawable-xxxhdpi/ic_place_page_phone.png differ diff --git a/android/res/drawable-xxxhdpi/ic_route_remove.png b/android/res/drawable-xxxhdpi/ic_route_remove.png new file mode 100644 index 0000000000..2f7ee06a32 Binary files /dev/null and b/android/res/drawable-xxxhdpi/ic_route_remove.png differ diff --git a/android/res/drawable-xxxhdpi/ic_route_via.png b/android/res/drawable-xxxhdpi/ic_route_via.png new file mode 100644 index 0000000000..e8316e978f Binary files /dev/null and b/android/res/drawable-xxxhdpi/ic_route_via.png differ diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index 2c1c66d2dc..a6dbcfefaf 100644 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -663,6 +663,8 @@ Route to Navigation is available only from your current location. Do you want us to plan a route from your current location? + Add stop + Remove stop Next Add Schedule Delete Schedule diff --git a/android/src/com/mapswithme/maps/MwmActivity.java b/android/src/com/mapswithme/maps/MwmActivity.java index c2577f48f4..19af8d699b 100644 --- a/android/src/com/mapswithme/maps/MwmActivity.java +++ b/android/src/com/mapswithme/maps/MwmActivity.java @@ -1866,6 +1866,18 @@ public class MwmActivity extends BaseMwmFragmentActivity ThemeSwitcher.restart(isMapRendererActive()); } + @Override + public void onAddedStop() + { + closePlacePage(); + } + + @Override + public void onRemovedStop() + { + closePlacePage(); + } + private void updateSearchBar() { if (!TextUtils.isEmpty(SearchEngine.getQuery())) diff --git a/android/src/com/mapswithme/maps/bookmarks/data/MapObject.java b/android/src/com/mapswithme/maps/bookmarks/data/MapObject.java index c89c8e2988..08dbc41c26 100644 --- a/android/src/com/mapswithme/maps/bookmarks/data/MapObject.java +++ b/android/src/com/mapswithme/maps/bookmarks/data/MapObject.java @@ -317,6 +317,28 @@ public class MapObject implements Parcelable dest.writeTypedList(mBanners); } + @Override + public boolean equals(Object o) + { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + MapObject mapObject = (MapObject) o; + + if (mMwmVersion != mapObject.mMwmVersion) return false; + if (mFeatureIndex != mapObject.mFeatureIndex) return false; + return mMwmName.equals(mapObject.mMwmName); + } + + @Override + public int hashCode() + { + int result = mMwmName.hashCode(); + result = 31 * result + (int) (mMwmVersion ^ (mMwmVersion >>> 32)); + result = 31 * result + mFeatureIndex; + return result; + } + public static final Creator CREATOR = new Creator() { @Override diff --git a/android/src/com/mapswithme/maps/routing/RoutePointInfo.java b/android/src/com/mapswithme/maps/routing/RoutePointInfo.java index 96fa983332..2b7d5a47a6 100644 --- a/android/src/com/mapswithme/maps/routing/RoutePointInfo.java +++ b/android/src/com/mapswithme/maps/routing/RoutePointInfo.java @@ -10,9 +10,24 @@ import java.lang.annotation.RetentionPolicy; public class RoutePointInfo implements Parcelable { - public static final int ROUTE_MARK_START = 0; - public static final int ROUTE_MARK_INTERMEDIATE = 1; - public static final int ROUTE_MARK_FINISH = 2; + public static final Creator CREATOR = new Creator() + { + @Override + public RoutePointInfo createFromParcel(Parcel in) + { + return new RoutePointInfo(in); + } + + @Override + public RoutePointInfo[] newArray(int size) + { + return new RoutePointInfo[size]; + } + }; + + static final int ROUTE_MARK_START = 0; + static final int ROUTE_MARK_INTERMEDIATE = 1; + static final int ROUTE_MARK_FINISH = 2; @Retention(RetentionPolicy.SOURCE) @IntDef({ ROUTE_MARK_START, ROUTE_MARK_INTERMEDIATE, ROUTE_MARK_FINISH }) @@ -35,20 +50,20 @@ public class RoutePointInfo implements Parcelable this(in.readInt() /* mMarkType */, in.readInt() /* mIntermediateIndex */); } - public static final Creator CREATOR = new Creator() + boolean isIntermediatePoint() { - @Override - public RoutePointInfo createFromParcel(Parcel in) - { - return new RoutePointInfo(in); - } + return mMarkType == ROUTE_MARK_INTERMEDIATE; + } - @Override - public RoutePointInfo[] newArray(int size) - { - return new RoutePointInfo[size]; - } - }; + boolean isFinishPoint() + { + return mMarkType == ROUTE_MARK_FINISH; + } + + boolean isStartPoint() + { + return mMarkType == ROUTE_MARK_START; + } @Override public int describeContents() diff --git a/android/src/com/mapswithme/maps/routing/RoutingController.java b/android/src/com/mapswithme/maps/routing/RoutingController.java index 0a3150bfd4..030361e153 100644 --- a/android/src/com/mapswithme/maps/routing/RoutingController.java +++ b/android/src/com/mapswithme/maps/routing/RoutingController.java @@ -73,6 +73,8 @@ public class RoutingController void onUberError(@NonNull Uber.ErrorCode code); void onNavigationCancelled(); void onNavigationStarted(); + void onAddedStop(); + void onRemovedStop(); /** * @param progress progress to be displayed. @@ -277,7 +279,10 @@ public class RoutingController RoutePoint[] routePoints = Framework.nativeGetRoutePoints(); if (routePoints.length < 2) + { + setBuildState(BuildState.NONE); return; + } mLogger.d(TAG, "build"); mUberRequestHandled = false; @@ -433,8 +438,47 @@ public class RoutingController LocationHelper.INSTANCE.restart(); } + public void addStop(@NonNull MapObject mapObject) + { + RoutePointInfo info = new RoutePointInfo(RoutePointInfo.ROUTE_MARK_INTERMEDIATE, 0); + Framework.nativeAddRoutePoint(mapObject.getLat(), mapObject.getLon(), + MapObject.isOfType(MapObject.MY_POSITION, mapObject), info); + build(); + if (mContainer != null) + mContainer.onAddedStop(); + } + + public void removeStop(@NonNull MapObject mapObject) + { + RoutePointInfo info = mapObject.getRoutePointInfo(); + if (info == null) + throw new AssertionError("A stop point must have the route point info!"); + + Framework.nativeRemoveRoutePoint(info); + if (info.isFinishPoint()) + mEndPoint = null; + if (info.isStartPoint()) + mStartPoint = null; + build(); + if (mContainer != null) + mContainer.onRemovedStop(); + } + + public boolean isStopPointAllowed() + { + return Framework.nativeCouldAddIntermediatePoint(); + } + + public boolean isRoutePoint(@NonNull MapObject mapObject) + { + return mapObject.getRoutePointInfo() != null; + } + private void suggestRebuildRoute() { + if (mContainer == null) + return; + final AlertDialog.Builder builder = new AlertDialog.Builder(mContainer.getActivity()) .setMessage(R.string.p2p_reroute_from_current) .setCancelable(false) diff --git a/android/src/com/mapswithme/maps/widget/placepage/PlacePageButtons.java b/android/src/com/mapswithme/maps/widget/placepage/PlacePageButtons.java index 746956b5fd..982c651a62 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/PlacePageButtons.java +++ b/android/src/com/mapswithme/maps/widget/placepage/PlacePageButtons.java @@ -138,6 +138,36 @@ final class PlacePageButtons } }, + ROUTE_ADD + { + @Override + int getTitle() + { + return R.string.p2p_add_stop; + } + + @Override + int getIcon() + { + return R.drawable.ic_route_via; + } + }, + + ROUTE_REMOVE + { + @Override + int getTitle() + { + return R.string.p2p_remove_stop; + } + + @Override + int getIcon() + { + return R.drawable.ic_route_remove; + } + }, + SHARE { @Override @@ -179,7 +209,7 @@ final class PlacePageButtons @Override int getIcon() { - return R.drawable.ic_phone; + return R.drawable.ic_place_page_phone; } }; @@ -212,10 +242,18 @@ final class PlacePageButtons int from = res.indexOf(Item.ROUTE_FROM); if (from > -1) { + int addStop = res.indexOf(Item.ROUTE_ADD); int to = res.indexOf(Item.ROUTE_TO); - if (to > from && to >= MAX_BUTTONS) + if ((to > from && to >= MAX_BUTTONS) || (to > from && addStop >= MAX_BUTTONS)) Collections.swap(res, from, to); + if (addStop >= MAX_BUTTONS) + { + from = res.indexOf(Item.ROUTE_FROM); + if (addStop > from) + Collections.swap(res, from, addStop); + } + preserveRoutingButtons(res, Item.CALL); preserveRoutingButtons(res, Item.BOOKING); preserveRoutingButtons(res, Item.BOOKING_SEARCH); @@ -235,8 +273,18 @@ final class PlacePageButtons items.remove(pos); items.add(MAX_BUTTONS, itemToShift); int to = items.indexOf(Item.ROUTE_TO); - items.remove(Item.ROUTE_FROM); - items.add(to + 1, Item.ROUTE_FROM); + if (items.indexOf(Item.ROUTE_ADD) > -1) + { + items.remove(Item.ROUTE_ADD); + items.remove(Item.ROUTE_FROM); + items.add(to + 1, Item.ROUTE_ADD); + items.add(MAX_BUTTONS, Item.ROUTE_FROM); + } + else + { + items.remove(Item.ROUTE_FROM); + items.add(to + 1, Item.ROUTE_FROM); + } } } diff --git a/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java b/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java index f9a2ec26a1..34babed468 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java +++ b/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java @@ -522,6 +522,16 @@ public class PlacePageView extends RelativeLayout } break; + case ROUTE_ADD: + if (mMapObject != null) + RoutingController.get().addStop(mMapObject); + break; + + case ROUTE_REMOVE: + if (mMapObject != null) + RoutingController.get().removeStop(mMapObject); + break; + case BOOKING: case OPENTABLE: onSponsoredClick(true /* book */, false); @@ -1388,6 +1398,12 @@ public class PlacePageView extends RelativeLayout private void setButtons(@NonNull MapObject mapObject, boolean showBackButton, boolean showRoutingButton) { List buttons = new ArrayList<>(); + if (RoutingController.get().isRoutePoint(mapObject)) + { + buttons.add(PlacePageButtons.Item.ROUTE_REMOVE); + mButtons.setItems(buttons); + return; + } if (showBackButton || ParsedMwmRequest.isPickPointMode()) buttons.add(PlacePageButtons.Item.BACK); @@ -1421,6 +1437,8 @@ public class PlacePageView extends RelativeLayout { buttons.add(PlacePageButtons.Item.ROUTE_FROM); buttons.add(PlacePageButtons.Item.ROUTE_TO); + if (RoutingController.get().isStopPointAllowed()) + buttons.add(PlacePageButtons.Item.ROUTE_ADD); } buttons.add(PlacePageButtons.Item.SHARE); diff --git a/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings index be7d98a4bc..6206edd0fa 100644 --- a/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ar.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "هل ترغب في أن نرسم مسار لك من موقعك الحالي؟"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "التالي"; "editor_time_add" = "إضافة جدول"; diff --git a/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings index 262855d0d1..16f0511957 100644 --- a/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/cs.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Chcete, abychom naplánovali trasu z vašeho současného umístění?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Další"; "editor_time_add" = "Přidat rozvrh"; diff --git a/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings index 6951f3f3a4..99d80f4409 100644 --- a/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/da.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Ønsker du, at vi planlægger en rute fra din nuværende placering?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Næste"; "editor_time_add" = "Tilføj tidsplan"; diff --git a/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings index 609712ffca..0e5512804c 100644 --- a/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/de.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Soll eine Route von Ihrem aktuellen Standort aus berechnet werden?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Weiter"; "editor_time_add" = "Zeitplan hinzufügen"; diff --git a/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings index 47f8bdd21e..c907268d9c 100644 --- a/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/el.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Θέλετε να σχεδιάσουμε μια διαδρομή από την τρέχουσα θέση σας;"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Επόμενη"; "editor_time_add" = "Προσθέσετε χρονοδιάγραμμα"; diff --git a/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings index 73c2995663..96b6434836 100644 --- a/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/en-GB.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Do you want us to plan a route from your current location?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Next"; "editor_time_add" = "Add Schedule"; diff --git a/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings index 4eb296e4f7..38c130064f 100644 --- a/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/en.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Do you want us to plan a route from your current location?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Next"; "editor_time_add" = "Add Schedule"; diff --git a/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings index 92c05c09b2..6d3f9de2de 100644 --- a/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/es.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "¿Quieres que planeemos un ruta desde tu ubicación actual?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Siguiente"; "editor_time_add" = "Añadir horario"; diff --git a/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings index 5e5bfc37ac..819d0b8f2c 100644 --- a/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/fi.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Haluatko valita vaihtoehtoisen reitin?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Seuraava"; "editor_time_add" = "Lisää aikataulu"; diff --git a/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings index eedd689b8e..871a2519ef 100644 --- a/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/fr.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Souhaitez-vous que nous planifiions un itinéraire à partir de votre emplacement actuel ?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Suivant"; "editor_time_add" = "Ajouter au planning"; diff --git a/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings index c31dee67d9..d7f5a54657 100644 --- a/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/hu.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Szeretne útvonaltervet készíttetni a jelenlegi pozíciójától?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Következő"; "editor_time_add" = "Időrend felvitele"; diff --git a/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings index aa49e225e1..9837380e52 100644 --- a/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/id.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Apakah Anda ingin kami merencanakan sebuah rute dari lokasi Anda saat ini?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Berikut"; "editor_time_add" = "Tambah Jadwal"; diff --git a/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings index 5dcd23a896..7b98ba870e 100644 --- a/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/it.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Vuoi che impostiamo il percorso dalla tua posizione corrente?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Avanti"; "editor_time_add" = "Aggiungi orari"; diff --git a/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings index 54e4f19cd1..21357e4160 100644 --- a/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ja.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "現在位置からのルートを作成しますか?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "次へ"; "editor_time_add" = "スケジュール追加"; diff --git a/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings index 657bb5ba6c..3701f3187d 100644 --- a/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ko.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "현재 위치에서 경로를 계획하시겠습니까?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "다음"; "editor_time_add" = "스케줄 추가"; diff --git a/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings index 9b45fb71fe..5a2c5f5cfb 100644 --- a/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/nb.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Vil du vi skal planlegge en rute fra din nåværende posisjon?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Neste"; "editor_time_add" = "Legg til tidsrom"; diff --git a/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings index bb1ffb3de6..d4c9d47473 100644 --- a/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/nl.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Wilt u dat wij een route plannen vanaf uw huidige locatie?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Volgende"; "editor_time_add" = "Schema toevoegen"; diff --git a/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings index a68789cf6b..af6cce9e5c 100644 --- a/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/pl.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Czy chcesz, byśmy zaplanowali trasę z Twojej bieżącej lokalizacji?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Dalej"; "editor_time_add" = "Dodaj harmonogram"; diff --git a/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings index a7902c828c..f85654942d 100644 --- a/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/pt.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Deseja planejar uma rota a partir da sua localização atual?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Próxima"; "editor_time_add" = "Adicionar Horário"; diff --git a/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings index 5a1af98080..2d9797e781 100644 --- a/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ro.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Doriți să vă planificăm o rută având ca punct de pornire locația actuală?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Următoarea"; "editor_time_add" = "Adăugare planificare"; diff --git a/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings index 70173f5ac8..777b0874f6 100644 --- a/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/ru.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Хотите перестроить маршрут от вашего местоположения?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Далее"; "editor_time_add" = "Добавить расписание"; diff --git a/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings index 5a27e6480b..ec1721591a 100644 --- a/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/sk.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Doriți să vă planificăm o rută având ca punct de pornire locația actuală?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Nasledujúca"; "editor_time_add" = "Pridať rozvrh"; diff --git a/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings index d8ecda3546..e634ada139 100644 --- a/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/sv.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Vill du att vi planerar en färdväg från din nuvarande plats?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Nästa"; "editor_time_add" = "Lägg till schema"; diff --git a/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings index 199acefd4b..728a9694f9 100644 --- a/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/th.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "คุณต้องการให้เราาวงแผนเส้นทางจากสถานที่ตั้งปัจจุบันของคุณหรือไม่?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "ถัดไป"; "editor_time_add" = "เพิ่มวัน"; diff --git a/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings index c7924e5680..20686a6640 100644 --- a/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/tr.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Mevcut konumunuzdan bir rota planlamamızı ister misiniz?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Sonraki"; "editor_time_add" = "Plan Ekle"; diff --git a/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings index 53d53bfc64..88ca67b4f9 100644 --- a/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/uk.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Хочете спланувати маршрут із поточного місцезнаходження?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Далі"; "editor_time_add" = "Додати розклад"; diff --git a/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings index 77e146bb34..c80c6a34ae 100644 --- a/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/vi.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "Bạn có muốn chúng tôi vạch đường từ vị trí hiện tại của bạn không?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "Tiếp theo"; "editor_time_add" = "Thêm lịch biểu"; diff --git a/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings index dc6eb2d527..47069d1c69 100644 --- a/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/zh-Hans.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "你是否想要规划当前位置的路线?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "下一页"; "editor_time_add" = "添加计划"; diff --git a/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings b/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings index 9435f7c43a..d0fc269228 100644 --- a/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings +++ b/iphone/Maps/LocalizedStrings/zh-Hant.lproj/Localizable.strings @@ -1053,6 +1053,10 @@ "p2p_reroute_from_current" = "你是否想要規劃目前位置的路線?"; +"p2p_add_stop" = "Add stop"; + +"p2p_remove_stop" = "Remove stop"; + "whats_new_next_button" = "下一頁"; "editor_time_add" = "新增排程"; diff --git a/strings.txt b/strings.txt index 5aa9d785b0..9c5d4d9764 100644 --- a/strings.txt +++ b/strings.txt @@ -12527,6 +12527,14 @@ el = Θέλετε να σχεδιάσουμε μια διαδρομή από την τρέχουσα θέση σας; sk = Doriți să vă planificăm o rută având ca punct de pornire locația actuală? + [p2p_add_stop] + tags = ios, android + en = Add stop + + [p2p_remove_stop] + tags = ios, android + en = Remove stop + [whats_new_next_button] tags = ios en = Next