Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Donskoy <donskdmitry@mail.ru>2018-09-26 13:36:00 +0300
committerAleksandr Zatsepin <alexzatsepin@users.noreply.github.com>2018-09-27 15:40:37 +0300
commit18a8fa453e948bc4addf552a22ea369d2534a8a1 (patch)
treeaf78e2ebe7e006495a88c152767ce520c5aec20f
parent55b9ffe8d9c524519846b96746734127afc2e6fd (diff)
[android] Added jni call, fixed https://github.com/yoksnod/omim/pull/5#discussion_r220502861, fixed review notes https://github.com/yoksnod/omim/pull/5#discussion_r220474557
-rw-r--r--android/jni/com/mapswithme/maps/Framework.cpp7
-rw-r--r--android/src/com/mapswithme/maps/Framework.java2
-rw-r--r--android/src/com/mapswithme/maps/analytics/ExternalLibrariesMediator.java7
-rw-r--r--map/framework.hpp2
-rw-r--r--partners_api/ads_engine.cpp26
5 files changed, 25 insertions, 19 deletions
diff --git a/android/jni/com/mapswithme/maps/Framework.cpp b/android/jni/com/mapswithme/maps/Framework.cpp
index 973687bc7b..8684eb549a 100644
--- a/android/jni/com/mapswithme/maps/Framework.cpp
+++ b/android/jni/com/mapswithme/maps/Framework.cpp
@@ -1135,9 +1135,10 @@ Java_com_mapswithme_maps_Framework_nativeGetRouteFollowingInfo(JNIEnv * env, jcl
return result;
}
-JNIEXPORT void JNICALL Java_com_mapswithme_maps_Framework_nativeDisableAdProvider(JNIEnv * env,
- jclass, jint type,
- jint place)
+JNIEXPORT void JNICALL
+Java_com_mapswithme_maps_Framework_nativeDisableAdProvider(JNIEnv *env,
+ jclass, jint type,
+ jint place)
{
auto const & bannerType = static_cast<ads::Banner::Type>(type);
auto const & bannerPlace = static_cast<ads::Banner::Place>(place);
diff --git a/android/src/com/mapswithme/maps/Framework.java b/android/src/com/mapswithme/maps/Framework.java
index 355ef6b80b..a13201fab4 100644
--- a/android/src/com/mapswithme/maps/Framework.java
+++ b/android/src/com/mapswithme/maps/Framework.java
@@ -224,7 +224,7 @@ public class Framework
return FilterUtils.RATING_ANY;
}
- public static void setAdProviderDisabled(@NonNull Banner.Type type)
+ public static void disableAdProvider(@NonNull Banner.Type type)
{
nativeDisableAdProvider(type.ordinal(), Banner.Place.DEFAULT.ordinal());
}
diff --git a/android/src/com/mapswithme/maps/analytics/ExternalLibrariesMediator.java b/android/src/com/mapswithme/maps/analytics/ExternalLibrariesMediator.java
index 8e65deacbf..a23ced270d 100644
--- a/android/src/com/mapswithme/maps/analytics/ExternalLibrariesMediator.java
+++ b/android/src/com/mapswithme/maps/analytics/ExternalLibrariesMediator.java
@@ -182,6 +182,13 @@ public class ExternalLibrariesMediator
super.onPostExecute(status);
if (status != null && status)
onEnabled();
+ else
+ onDisabled();
+ }
+
+ private void onDisabled()
+ {
+ Framework.disableAdProvider(Banner.Type.TYPE_RB);
}
private void onEnabled()
diff --git a/map/framework.hpp b/map/framework.hpp
index d6c27944bb..0fb5c7f1f4 100644
--- a/map/framework.hpp
+++ b/map/framework.hpp
@@ -57,6 +57,7 @@
#include "partners_api/locals_api.hpp"
#include "partners_api/taxi_engine.hpp"
#include "partners_api/viator_api.hpp"
+#include "partners_api/banner.hpp"
#include "metrics/eye_info.hpp"
@@ -86,7 +87,6 @@
#include "std/vector.hpp"
#include <boost/optional.hpp>
-#include "partners_api/banner.hpp"
namespace osm
{
diff --git a/partners_api/ads_engine.cpp b/partners_api/ads_engine.cpp
index 73bc25f2f3..eca7aac959 100644
--- a/partners_api/ads_engine.cpp
+++ b/partners_api/ads_engine.cpp
@@ -44,17 +44,17 @@ std::vector<Banner> Engine::GetBanners(feature::TypesHolder const & types,
for (auto const & item : m_banners)
{
- if (item.m_enabled)
+ if (!item.m_enabled)
+ continue;
+
+ for (auto const & countryId : countryIds)
{
- for (auto const & countryId : countryIds)
+ auto const bannerId = item.m_container->GetBannerId(types, countryId, userLanguage);
+ // We need to add banner for every banner system just once.
+ if (!bannerId.empty())
{
- auto const bannerId = item.m_container->GetBannerId(types, countryId, userLanguage);
- // We need to add banner for every banner system just once.
- if (!bannerId.empty())
- {
- result.emplace_back(item.m_type, bannerId);
- break;
- }
+ result.emplace_back(item.m_type, bannerId);
+ break;
}
}
}
@@ -93,18 +93,16 @@ void Engine::DisableAdProvider(Banner::Type const type, Banner::Place const plac
SetAdProviderEnabled(place == Banner::Place::Search ? m_searchBanners : m_banners, type, false);
}
-void Engine::EnableAdProvider(Banner::Type const type, Banner::Place place)
-{
- SetAdProviderEnabled(place == Banner::Place::Search ? m_searchBanners : m_banners, type, true);
-}
-
void Engine::SetAdProviderEnabled(std::vector<Engine::ContainerItem> & banners,
Banner::Type const type, bool const isEnabled)
{
for (auto & item : banners)
{
if (item.m_type == type)
+ {
item.m_enabled = isEnabled;
+ return;
+ }
}
}
} // namespace ads