From 7e729c2ceec5ecc0b245fb709a04013897c39dd7 Mon Sep 17 00:00:00 2001 From: Arsentiy Milchakov Date: Tue, 11 Oct 2016 16:09:41 +0300 Subject: [PATCH] review fixes --- android/jni/Android.mk | 2 +- .../com/mapswithme/maps/SponsoredHotel.cpp | 4 +- .../jni/com/mapswithme/util/HttpClient.cpp | 1 + geometry/latlon.hpp | 2 - iphone/Maps/Maps.xcodeproj/project.pbxproj | 8 ++ map/framework.cpp | 11 +- map/framework.hpp | 3 + omim.pro | 4 +- partners_api/partners_api.pro | 1 - .../partners_api_tests/partners_api_tests.pro | 4 + .../partners_api_tests/uber_tests.cpp | 129 +++++++++++++++--- partners_api/uber_api.cpp | 107 +++++++-------- partners_api/uber_api.hpp | 17 ++- routing/router.cpp | 6 +- routing/router.hpp | 2 +- xcode/map/map.xcodeproj/project.pbxproj | 14 +- xcode/partners_api/defaults.xcconfig | 17 --- .../partners_api.xcodeproj/project.pbxproj | 3 +- 18 files changed, 212 insertions(+), 123 deletions(-) delete mode 100644 xcode/partners_api/defaults.xcconfig diff --git a/android/jni/Android.mk b/android/jni/Android.mk index aed7643bfd..68d14664b8 100644 --- a/android/jni/Android.mk +++ b/android/jni/Android.mk @@ -25,7 +25,7 @@ define add_prebuild_static_lib include $(PREBUILT_STATIC_LIBRARY) endef -prebuild_static_libs := map drape_frontend routing search storage indexer drape platform editor geometry coding base opening_hours +prebuild_static_libs := map drape_frontend routing search storage indexer drape platform editor partners_api geometry coding base opening_hours prebuild_static_libs += pugixml oauthcpp expat freetype fribidi minizip jansson tomcrypt protobuf osrm stats_client succinct $(foreach item,$(prebuild_static_libs),$(eval $(call add_prebuild_static_lib,$(item)))) diff --git a/android/jni/com/mapswithme/maps/SponsoredHotel.cpp b/android/jni/com/mapswithme/maps/SponsoredHotel.cpp index cabe3fe119..c420bc4320 100644 --- a/android/jni/com/mapswithme/maps/SponsoredHotel.cpp +++ b/android/jni/com/mapswithme/maps/SponsoredHotel.cpp @@ -2,9 +2,11 @@ #include "../core/jni_helper.hpp" #include "../platform/Platform.hpp" -#include "map/booking_api.hpp" + #include "map/place_page_info.hpp" +#include "partners_api/booking_api.hpp" + #include "std/bind.hpp" #include "std/chrono.hpp" diff --git a/android/jni/com/mapswithme/util/HttpClient.cpp b/android/jni/com/mapswithme/util/HttpClient.cpp index ccb2c74977..eaf7a65814 100644 --- a/android/jni/com/mapswithme/util/HttpClient.cpp +++ b/android/jni/com/mapswithme/util/HttpClient.cpp @@ -97,6 +97,7 @@ public: {"contentEncoding", GetHttpParamsFieldId(env, "contentEncoding")}, {"userAgent", GetHttpParamsFieldId(env, "userAgent")}, {"inputFilePath", GetHttpParamsFieldId(env, "inputFilePath")}, + {"outputFilePath", GetHttpParamsFieldId(env, "outputFilePath")}, {"basicAuthUser", GetHttpParamsFieldId(env, "basicAuthUser")}, {"basicAuthPassword", GetHttpParamsFieldId(env, "basicAuthPassword")}, {"cookies", GetHttpParamsFieldId(env, "cookies")}, diff --git a/geometry/latlon.hpp b/geometry/latlon.hpp index 54dcaf84fb..dd9b30d834 100644 --- a/geometry/latlon.hpp +++ b/geometry/latlon.hpp @@ -1,7 +1,5 @@ #pragma once -#include "geometry/latlon.hpp" - #include "base/math.hpp" #include "std/string.hpp" diff --git a/iphone/Maps/Maps.xcodeproj/project.pbxproj b/iphone/Maps/Maps.xcodeproj/project.pbxproj index 5cbc623297..e510c1e487 100644 --- a/iphone/Maps/Maps.xcodeproj/project.pbxproj +++ b/iphone/Maps/Maps.xcodeproj/project.pbxproj @@ -1274,6 +1274,7 @@ 34FED54F1D21121000183B1B /* CLLocation+Mercator.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "CLLocation+Mercator.mm"; sourceTree = ""; }; 34FED5521D2123CE00183B1B /* MWMLocationHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MWMLocationHelpers.h; sourceTree = ""; }; 3D443C9C19E421EE0025C2FC /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Localizable.strings; sourceTree = ""; }; + 3DDB4BC31DAB98F000F4D021 /* libpartners_api.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpartners_api.a; path = "../../../omim-xcode-build/Debug-iphonesimulator/libpartners_api.a"; sourceTree = ""; }; 451950391B7A3E070085DA05 /* patterns.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = patterns.txt; path = ../../data/patterns.txt; sourceTree = ""; }; 452FCA3A1B6A3DF7007019AB /* colors.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = colors.txt; path = ../../data/colors.txt; sourceTree = ""; }; 454040681AD2D8D2007A9B12 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; @@ -1869,6 +1870,7 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( + 3DDB4BC31DAB98F000F4D021 /* libpartners_api.a */, F6B5364A1DA5222F0067EEA5 /* libpartners_api.a */, 34170B7D1D93C3C80074117B /* MyTargetSDK.framework */, 34BF68621D7459E6001752F6 /* CoreSpotlight.framework */, @@ -4487,6 +4489,7 @@ "-lrouting", "-lindexer", "-lplatform", + "-lpartners_api", "-lgeometry", "-lcoding", "-lbase", @@ -4609,6 +4612,7 @@ "-lrouting", "-lindexer", "-lplatform", + "-lpartners_api", "-lgeometry", "-lcoding", "-lbase", @@ -4733,6 +4737,7 @@ "-lrouting", "-lindexer", "-lplatform", + "-lpartners_api", "-lgeometry", "-lcoding", "-lbase", @@ -4858,6 +4863,7 @@ "-lrouting", "-lindexer", "-lplatform", + "-lpartners_api", "-lgeometry", "-lcoding", "-lbase", @@ -4982,6 +4988,7 @@ "-lrouting", "-lindexer", "-lplatform", + "-lpartners_api", "-lgeometry", "-lcoding", "-lbase", @@ -5104,6 +5111,7 @@ "-lrouting", "-lindexer", "-lplatform", + "-lpartners_api", "-lgeometry", "-lcoding", "-lbase", diff --git a/map/framework.cpp b/map/framework.cpp index daff132424..4f724ff9c3 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -2380,8 +2380,10 @@ void Framework::InsertRoute(Route const & route) vector turns; if (m_currentRouterType == RouterType::Vehicle || m_currentRouterType == RouterType::Bicycle || - m_currentRouterType == RouterType::Uber) + m_currentRouterType == RouterType::Taxi) + { route.GetTurnsDistances(turns); + } df::ColorConstant routeColor = df::Route; df::RoutePattern pattern; @@ -2481,8 +2483,9 @@ RouterType Framework::GetBestRouter(m2::PointD const & startPoint, m2::PointD co case RouterType::Pedestrian: case RouterType::Bicycle: return lastUsedRouter; + case RouterType::Taxi: + ASSERT(false, ("GetLastUsedRouter sould not to return RouterType::Taxi")); case RouterType::Vehicle: - case RouterType::Uber: ; // fall through } @@ -2559,10 +2562,10 @@ bool Framework::LoadAutoZoom() void Framework::AllowAutoZoom(bool allowAutoZoom) { bool const isPedestrianRoute = m_currentRouterType == RouterType::Pedestrian; - bool const isUberRoute = m_currentRouterType == RouterType::Uber; + bool const isTaxiRoute = m_currentRouterType == RouterType::Taxi; CallDrapeFunction(bind(&df::DrapeEngine::AllowAutoZoom, _1, - allowAutoZoom && !isPedestrianRoute && !isUberRoute)); + allowAutoZoom && !isPedestrianRoute && !isTaxiRoute)); } void Framework::SaveAutoZoom(bool allowAutoZoom) diff --git a/map/framework.hpp b/map/framework.hpp index 4ce8263666..961794dd16 100644 --- a/map/framework.hpp +++ b/map/framework.hpp @@ -737,6 +737,9 @@ public: /// GenerateTurnNotifications shall be called by the client when a new position is available. inline void GenerateTurnNotifications(vector & turnNotifications) { + if (m_currentRouterType == routing::RouterType::Taxi) + return; + return m_routingSession.GenerateTurnNotifications(turnNotifications); } diff --git a/omim.pro b/omim.pro index 41ab3157d9..4594c7c873 100644 --- a/omim.pro +++ b/omim.pro @@ -23,7 +23,7 @@ HEADERS += defines.hpp CONFIG *= desktop } -SUBDIRS = 3party base coding geometry editor indexer partners_api routing search +SUBDIRS = 3party base coding geometry editor indexer routing search !CONFIG(osrm) { SUBDIRS *= platform stats storage @@ -64,7 +64,7 @@ SUBDIRS = 3party base coding geometry editor indexer partners_api routing search } !CONFIG(gtool):!CONFIG(osrm) { - SUBDIRS *= drape drape_frontend map + SUBDIRS *= drape drape_frontend partners_api map CONFIG(map_designer):CONFIG(desktop) { SUBDIRS *= skin_generator diff --git a/partners_api/partners_api.pro b/partners_api/partners_api.pro index 966eb00066..e49f090dae 100644 --- a/partners_api/partners_api.pro +++ b/partners_api/partners_api.pro @@ -15,4 +15,3 @@ SOURCES += \ HEADERS += \ booking_api.hpp \ uber_api.hpp \ - diff --git a/partners_api/partners_api_tests/partners_api_tests.pro b/partners_api/partners_api_tests/partners_api_tests.pro index 45c70aa138..4904006a86 100644 --- a/partners_api/partners_api_tests/partners_api_tests.pro +++ b/partners_api/partners_api_tests/partners_api_tests.pro @@ -20,6 +20,10 @@ macx-* { LIBS *= "-framework IOKit" "-framework SystemConfiguration" } +win*|linux* { + QT *= network +} + SOURCES += \ $$ROOT_DIR/testing/testingmain.cpp \ booking_tests.cpp \ diff --git a/partners_api/partners_api_tests/uber_tests.cpp b/partners_api/partners_api_tests/uber_tests.cpp index 850f1333d7..5da08c22f7 100644 --- a/partners_api/partners_api_tests/uber_tests.cpp +++ b/partners_api/partners_api_tests/uber_tests.cpp @@ -4,18 +4,31 @@ #include "geometry/latlon.hpp" +#include "std/algorithm.hpp" +#include "std/atomic.hpp" +#include "std/mutex.hpp" + #include "3party/jansson/myjansson.hpp" +namespace +{ +bool IsComplete(uber::Product const & product) +{ + return !product.m_productId.empty() && !product.m_name.empty() && !product.m_time.empty() && + !product.m_price.empty(); +} +} // namespace + UNIT_TEST(Uber_GetProducts) { - ms::LatLon pos(38.897724, -77.036531); + ms::LatLon const pos(38.897724, -77.036531); TEST(!uber::RawApi::GetProducts(pos).empty(), ()); } UNIT_TEST(Uber_GetTimes) { - ms::LatLon pos(38.897724, -77.036531); + ms::LatLon const pos(38.897724, -77.036531); my::Json timeRoot(uber::RawApi::GetEstimatedTime(pos).c_str()); auto const timesArray = json_object_get(timeRoot.get(), "times"); @@ -40,7 +53,7 @@ UNIT_TEST(Uber_GetTimes) TEST(false, (e.Msg())); } - string estimated = strings::to_string(estimatedTime); + string const estimated = strings::to_string(estimatedTime); TEST(!name.empty(), ()); TEST(!estimated.empty(), ()); @@ -49,8 +62,8 @@ UNIT_TEST(Uber_GetTimes) UNIT_TEST(Uber_GetPrices) { - ms::LatLon from(38.897724, -77.036531); - ms::LatLon to(38.862416, -76.883316); + ms::LatLon const from(38.897724, -77.036531); + ms::LatLon const to(38.862416, -76.883316); my::Json priceRoot(uber::RawApi::GetEstimatedPrice(from, to).c_str()); auto const pricesArray = json_object_get(priceRoot.get(), "prices"); @@ -95,36 +108,114 @@ UNIT_TEST(Uber_GetPrices) UNIT_TEST(Uber_ProductMaker) { size_t reqId = 1; - ms::LatLon from(38.897724, -77.036531); - ms::LatLon to(38.862416, -76.883316); + ms::LatLon const from(38.897724, -77.036531); + ms::LatLon const to(38.862416, -76.883316); + + size_t returnedId = 0; + vector returnedProducts; uber::ProductMaker maker; maker.Reset(reqId); maker.SetTimes(reqId, uber::RawApi::GetEstimatedTime(from)); maker.SetPrices(reqId, uber::RawApi::GetEstimatedPrice(from, to)); - maker.MakeProducts(reqId, [reqId](vector const & products, size_t const requestId) + maker.MakeProducts(reqId, [&returnedId, &returnedProducts] + (vector const & products, size_t const requestId) { - TEST(!products.empty(), ()); - TEST_EQUAL(requestId, reqId, ()); - - for (auto const & product : products) - { - TEST(!product.m_productId.empty() && - !product.m_name.empty() && - !product.m_time.empty() && - !product.m_price.empty(),()); - } + returnedId = requestId; + returnedProducts = products; }); + TEST(!returnedProducts.empty(), ()); + TEST_EQUAL(returnedId, reqId, ()); + + for (auto const & product : returnedProducts) + TEST(IsComplete(product),()); + ++reqId; maker.Reset(reqId); maker.SetTimes(reqId, uber::RawApi::GetEstimatedTime(from)); maker.SetPrices(reqId, uber::RawApi::GetEstimatedPrice(from, to)); - maker.MakeProducts(reqId + 1, [reqId](vector const & products, size_t const requestId) + maker.MakeProducts(reqId + 1, [](vector const & products, size_t const requestId) { TEST(false, ()); }); } + +UNIT_TEST(Uber_Smoke) +{ + // Used to synchronize access into GetAvailableProducts callback method. + mutex resultsMutex; + size_t reqId = 1; + vector productsContainer; + ms::LatLon const from(38.897724, -77.036531); + ms::LatLon const to(38.862416, -76.883316); + + auto const standardCallback = + [&reqId, &productsContainer, &resultsMutex](vector const & products, size_t const requestId) + { + lock_guard lock(resultsMutex); + + if (reqId == requestId) + productsContainer = products; + }; + + auto const lastCallback = + [&standardCallback](vector const & products, size_t const requestId) + { + standardCallback(products, requestId); + testing::StopEventLoop(); + }; + + uber::ProductMaker maker; + + maker.Reset(reqId); + maker.SetTimes(reqId, uber::RawApi::GetEstimatedTime(from)); + maker.SetPrices(reqId, uber::RawApi::GetEstimatedPrice(from, to)); + maker.MakeProducts(reqId, standardCallback); + + reqId = 0; + + auto const synchronousProducts = productsContainer; + productsContainer.clear(); + + uber::Api uberApi; + + { + lock_guard lock(resultsMutex); + reqId = uberApi.GetAvailableProducts(ms::LatLon(55.753960, 37.624513), + ms::LatLon(55.765866, 37.661270), standardCallback); + } + { + lock_guard lock(resultsMutex); + reqId = uberApi.GetAvailableProducts(ms::LatLon(59.922445, 30.367201), + ms::LatLon(59.943675, 30.361123), standardCallback); + } + { + lock_guard lock(resultsMutex); + reqId = uberApi.GetAvailableProducts(ms::LatLon(52.509621, 13.450067), + ms::LatLon(52.510811, 13.409490), standardCallback); + } + { + lock_guard lock(resultsMutex); + reqId = uberApi.GetAvailableProducts(from, to, lastCallback); + } + + testing::RunEventLoop(); + + TEST_EQUAL(synchronousProducts.size(), productsContainer.size(), ()); + + for (auto const & product : synchronousProducts) + { + auto const it = find_if( + productsContainer.begin(), productsContainer.end(), [&product](uber::Product const & item) + { + return product.m_productId == item.m_productId && product.m_name == item.m_name && + product.m_price == item.m_price; + }); + + TEST(it != productsContainer.end(), ()); + } +} diff --git a/partners_api/uber_api.cpp b/partners_api/uber_api.cpp index 22e1b6388d..668a910742 100644 --- a/partners_api/uber_api.cpp +++ b/partners_api/uber_api.cpp @@ -1,16 +1,12 @@ -#include "uber_api.hpp" +#include "partners_api/uber_api.hpp" #include "platform/http_client.hpp" #include "geometry/latlon.hpp" -#include "base/assert.hpp" #include "base/logging.hpp" #include "base/thread.hpp" -#include "std/chrono.hpp" -#include "std/future.hpp" - #include "3party/jansson/myjansson.hpp" #include "private.h" @@ -29,21 +25,11 @@ string RunSimpleHttpRequest(string const & url) return {}; } -/// Feature should refers to a shared state. -template -bool WaitForFeature(future const & f, uint32_t waitMillisec, atomic const & runFlag) -{ - future_status status = future_status::deferred; - while (runFlag && status != future_status::ready) - { - status = f.wait_for(milliseconds(waitMillisec)); - } - - return runFlag; -} - bool CheckUberAnswer(json_t const * answer) { + if (answer == nullptr) + return false; + // Uber products are not available at this point. if (!json_is_array(answer)) return false; @@ -54,6 +40,11 @@ bool CheckUberAnswer(json_t const * answer) return true; } +bool IsIncomplete(uber::Product const & p) +{ + return p.m_name.empty() || p.m_productId.empty() || p.m_time.empty() || p.m_price.empty(); +} + void FillProducts(json_t const * time, json_t const * price, vector & products) { // Fill data from time. @@ -66,7 +57,7 @@ void FillProducts(json_t const * time, json_t const * price, vectorm_currency = json_string_value(currency); } - products.erase(remove_if(products.begin(), products.end(), [](uber::Product const & p){ - return p.m_name.empty() || p.m_productId.empty() || p.m_time.empty() || - p.m_price.empty(); - }), products.end()); + products.erase(remove_if(products.begin(), products.end(), IsIncomplete), products.end()); +} + +void MakeFromJson(char const * times, char const * prices, vector & products) +{ + products.clear(); + try + { + my::Json timesRoot(times); + my::Json pricesRoot(prices); + auto const timesArray = json_object_get(timesRoot.get(), "times"); + auto const pricesArray = json_object_get(pricesRoot.get(), "prices"); + if (CheckUberAnswer(timesArray) && CheckUberAnswer(pricesArray)) + { + FillProducts(timesArray, pricesArray, products); + } + } + catch (my::Json::Exception const & e) + { + LOG(LERROR, (e.Msg())); + products.clear(); + } } } // namespace @@ -163,45 +174,25 @@ void ProductMaker::SetPrices(size_t const requestId, string const & prices) void ProductMaker::MakeProducts(size_t const requestId, ProductsCallback const & fn) { - lock_guard lock(m_mutex); - - if (requestId != m_requestId || !m_times || !m_prices) - return; - vector products; - - if (m_times->empty() || m_prices->empty()) { - LOG(LWARNING, ("Time or price is empty, time:", *m_times, "; price:", *m_prices)); - fn(products, m_requestId); - return; - } + lock_guard lock(m_mutex); - try - { - my::Json timesRoot(m_times->c_str()); - my::Json pricesRoot(m_prices->c_str()); - auto const timesArray = json_object_get(timesRoot.get(), "times"); - auto const pricesArray = json_object_get(pricesRoot.get(), "prices"); - if (CheckUberAnswer(timesArray) && CheckUberAnswer(pricesArray)) - { - FillProducts(timesArray, pricesArray, products); - } - } - catch (my::Json::Exception const & e) - { - LOG(LERROR, (e.Msg())); - products.clear(); - } + if (requestId != m_requestId || !m_times || !m_prices) + return; + if (!m_times->empty() && !m_prices->empty()) + MakeFromJson(m_times->c_str(), m_prices->c_str(), products); + else + LOG(LWARNING, ("Time or price is empty, time:", *m_times, "; price:", *m_prices)); + } fn(products, requestId); } size_t Api::GetAvailableProducts(ms::LatLon const & from, ms::LatLon const & to, - ProductsCallback const & fn) + ProductsCallback const & fn) { - static size_t requestId = 0; - size_t reqId = ++requestId; + size_t const reqId = ++m_requestId; m_maker->Reset(reqId); @@ -221,14 +212,14 @@ size_t Api::GetAvailableProducts(ms::LatLon const & from, ms::LatLon const & to, } // static -string Api::GetRideRequestLink(string const & productId, ms::LatLon const & from, - ms::LatLon const & to) +RideRequestLinks Api::GetRideRequestLinks(string const & productId, ms::LatLon const & from, + ms::LatLon const & to) { stringstream url; - url << "uber://?client_id=" << UBER_CLIENT_ID << "&action=setPickup&product_id=" << productId + url << "?client_id=" << UBER_CLIENT_ID << "&action=setPickup&product_id=" << productId << "&pickup[latitude]=" << from.lat << "&pickup[longitude]=" << from.lon << "&dropoff[latitude]=" << to.lat << "&dropoff[longitude]=" << to.lon; - return url.str(); + return {"uber://" + url.str(), "https://m.uber.com/ul" + url.str()}; } } // namespace uber diff --git a/partners_api/uber_api.hpp b/partners_api/uber_api.hpp index faf5fc5292..9aed7dacff 100644 --- a/partners_api/uber_api.hpp +++ b/partners_api/uber_api.hpp @@ -10,12 +10,12 @@ namespace ms { class LatLon; -} // namespace ms +} namespace downloader { class HttpRequest; -} // namespace downloader +} namespace uber { @@ -62,12 +62,18 @@ public: void MakeProducts(size_t const requestId, ProductsCallback const & fn); private: - size_t m_requestId; + size_t m_requestId = 0; unique_ptr m_times; unique_ptr m_prices; mutex m_mutex; }; +struct RideRequestLinks +{ + string m_deepLink; + string m_universalLink; +}; + class Api { public: @@ -76,10 +82,11 @@ public: ProductsCallback const & fn); /// Returns link which allows you to launch the Uber app. - static string GetRideRequestLink(string const & productId, ms::LatLon const & from, - ms::LatLon const & to); + static RideRequestLinks GetRideRequestLinks(string const & productId, ms::LatLon const & from, + ms::LatLon const & to); private: shared_ptr m_maker = make_shared(); + size_t m_requestId = 0; }; } // namespace uber diff --git a/routing/router.cpp b/routing/router.cpp index d24cb24267..eb3dc93e79 100644 --- a/routing/router.cpp +++ b/routing/router.cpp @@ -10,7 +10,7 @@ string ToString(RouterType type) case RouterType::Vehicle: return "Vehicle"; case RouterType::Pedestrian: return "Pedestrian"; case RouterType::Bicycle: return "Bicycle"; - case RouterType::Uber: return "Uber"; + case RouterType::Taxi: return "Taxi"; } ASSERT(false, ()); return "Error"; @@ -24,8 +24,8 @@ RouterType FromString(string const & str) return RouterType::Pedestrian; if (str == "bicycle") return RouterType::Bicycle; - if (str == "uber") - return RouterType::Uber; + if (str == "taxi") + return RouterType::Taxi; ASSERT(false, ("Incorrect routing string:", str)); return RouterType::Vehicle; diff --git a/routing/router.hpp b/routing/router.hpp index 4cac29ddcb..bd96dd6dad 100644 --- a/routing/router.hpp +++ b/routing/router.hpp @@ -22,7 +22,7 @@ enum class RouterType Vehicle = 0, /// For OSRM vehicle routing Pedestrian, /// For A star pedestrian routing Bicycle, /// For A star bicycle routing - Uber, /// For Uber taxi, for route calculation Vehicle routing is used. + Taxi, /// For taxi route calculation Vehicle routing is used. }; string ToString(RouterType type); diff --git a/xcode/map/map.xcodeproj/project.pbxproj b/xcode/map/map.xcodeproj/project.pbxproj index 07088cacec..5242f0f23e 100644 --- a/xcode/map/map.xcodeproj/project.pbxproj +++ b/xcode/map/map.xcodeproj/project.pbxproj @@ -305,6 +305,13 @@ 674A2A341B2700B2001A525C /* libs */ = { isa = PBXGroup; children = ( + F6DA2A981CCE252600F087B5 /* libeditor.a */, + F6DA2A991CCE252600F087B5 /* liboauthcpp.a */, + F6DA2A9A1CCE252600F087B5 /* libplatform_tests_support.a */, + F6DA2A9B1CCE252600F087B5 /* libpugixml.a */, + F6DA2A9C1CCE252600F087B5 /* libsdf_image.a */, + F6DA2A9D1CCE252600F087B5 /* libstb_image.a */, + F6DA2A961CCE24DB00F087B5 /* libdrape_frontend.a */, 678850831D071E34004201E1 /* libdrape_frontend.a */, 678850841D071E34004201E1 /* libeditor.a */, 678850851D071E34004201E1 /* liboauthcpp.a */, @@ -354,13 +361,6 @@ 675345B21A4054AD00A0A8C3 = { isa = PBXGroup; children = ( - F6DA2A981CCE252600F087B5 /* libeditor.a */, - F6DA2A991CCE252600F087B5 /* liboauthcpp.a */, - F6DA2A9A1CCE252600F087B5 /* libplatform_tests_support.a */, - F6DA2A9B1CCE252600F087B5 /* libpugixml.a */, - F6DA2A9C1CCE252600F087B5 /* libsdf_image.a */, - F6DA2A9D1CCE252600F087B5 /* libstb_image.a */, - F6DA2A961CCE24DB00F087B5 /* libdrape_frontend.a */, 670D05A41B0DF4250013A7AC /* defaults.xcconfig */, 674A2A341B2700B2001A525C /* libs */, 675345BD1A4054AD00A0A8C3 /* map */, diff --git a/xcode/partners_api/defaults.xcconfig b/xcode/partners_api/defaults.xcconfig deleted file mode 100644 index 5beef35921..0000000000 --- a/xcode/partners_api/defaults.xcconfig +++ /dev/null @@ -1,17 +0,0 @@ -OMIM_ROOT=$(PROJECT_DIR)/../.. -BUILD_DIR=$(OMIM_ROOT)/../omim-xcode-build -QT_PATH=/usr/local/opt/qt5 - -BOOST_ROOT=$(OMIM_ROOT)/3party/boost - -HEADER_SEARCH_PATHS=$(OMIM_ROOT) $(BOOST_ROOT) - -IPHONEOS_DEPLOYMENT_TARGET=7.0 -MACOSX_DEPLOYMENT_TARGET=10.10 - -GCC_PREPROCESSOR_DEFINITIONS[config=Release] = RELEASE=1 $(inherited) - -FRAMEWORK_SEARCH_PATHS[sdk=macosx*] = $(QT_PATH)/lib - -OTHER_LDFLAGS[sdk=macosx*] = -framework QtCore -framework QtNetwork -framework QtWidgets -framework QtOpenGL -framework QtGui -framework Cocoa -framework IOKit -framework OpenGL -framework SystemConfiguration -OTHER_LDFLAGS[sdk=iphone*] = -framework Foundation -framework IOKit -framework UIKit -framework CoreGraphics -framework OpenGLES -framework SystemConfiguration -framework AdSupport diff --git a/xcode/partners_api/partners_api.xcodeproj/project.pbxproj b/xcode/partners_api/partners_api.xcodeproj/project.pbxproj index 48c7ae5e61..62eb3f0bc3 100644 --- a/xcode/partners_api/partners_api.xcodeproj/project.pbxproj +++ b/xcode/partners_api/partners_api.xcodeproj/project.pbxproj @@ -81,11 +81,11 @@ F6B5362B1DA5209F0067EEA5 = { isa = PBXGroup; children = ( - F6B5366E1DA523A70067EEA5 /* Support files */, F6B536491DA521530067EEA5 /* defaults.xcconfig */, F6B536441DA521060067EEA5 /* partners_api_tests */, F6B5363B1DA520B20067EEA5 /* partners_api */, F6B536351DA5209F0067EEA5 /* Products */, + F6B5366E1DA523A70067EEA5 /* Support files */, F6B536701DA523D60067EEA5 /* Frameworks */, ); sourceTree = ""; @@ -202,7 +202,6 @@ isa = PBXProject; attributes = { LastUpgradeCheck = 0800; - ORGANIZATIONNAME = v.mikhaylenko; TargetAttributes = { F6B536331DA5209F0067EEA5 = { CreatedOnToolsVersion = 8.0;