diff --git a/android/jni/com/mapswithme/maps/LightFramework.cpp b/android/jni/com/mapswithme/maps/LightFramework.cpp index 55dc51aeb6..f25e1a048b 100644 --- a/android/jni/com/mapswithme/maps/LightFramework.cpp +++ b/android/jni/com/mapswithme/maps/LightFramework.cpp @@ -34,6 +34,18 @@ jobject CreateFeatureId(JNIEnv * env, CampaignFeature const & data) static_cast(data.m_featureIndex)); } +JNIEXPORT jstring JNICALL +Java_com_mapswithme_maps_LightFramework_nativeMakeFeatureId(JNIEnv * env, jclass clazz, + jstring mwmName, jlong mwmVersion, + jint featureIndex) +{ + auto const featureId = FeatureParamsToString( + static_cast(mwmVersion), jni::ToNativeString(env, mwmName), + static_cast(featureIndex)); + + return static_cast(jni::ToJavaString(env, featureId)); +} + JNIEXPORT jobjectArray JNICALL Java_com_mapswithme_maps_LightFramework_nativeGetLocalAdsFeatures(JNIEnv * env, jclass clazz, jdouble lat, jdouble lon, diff --git a/android/src/com/mapswithme/maps/LightFramework.java b/android/src/com/mapswithme/maps/LightFramework.java index 4905569658..aa2e841649 100644 --- a/android/src/com/mapswithme/maps/LightFramework.java +++ b/android/src/com/mapswithme/maps/LightFramework.java @@ -21,6 +21,10 @@ public class LightFramework double radiusInMeters, int maxCount); @NonNull + private static native String nativeMakeFeatureId(@NonNull String mwmName, long mwmVersion, + int featureIndex); + + @NonNull public static List getLocalAdsFeatures(double lat, double lon, double radiusInMeters, int maxCount) @@ -45,4 +49,9 @@ public class LightFramework @NonNull String countryId, int featureIndex); @Nullable public static native NotificationCandidate nativeGetNotification(); + + @NonNull + public static String makeFeatureId(@NonNull String mwmName, long mwmVersion, int featureIndex) { + return LightFramework.nativeMakeFeatureId(mwmName, mwmVersion, featureIndex); + } } diff --git a/android/src/com/mapswithme/maps/bookmarks/data/FeatureId.java b/android/src/com/mapswithme/maps/bookmarks/data/FeatureId.java index b283ff4436..22004f95b4 100644 --- a/android/src/com/mapswithme/maps/bookmarks/data/FeatureId.java +++ b/android/src/com/mapswithme/maps/bookmarks/data/FeatureId.java @@ -4,8 +4,7 @@ import android.os.Parcel; import android.os.Parcelable; import android.support.annotation.NonNull; import android.text.TextUtils; - -import com.google.android.gms.location.Geofence; +import com.mapswithme.maps.LightFramework; public class FeatureId implements Parcelable { @@ -114,6 +113,6 @@ public class FeatureId implements Parcelable @Override public String toString() { - return mMwmName + ":" + mMwmVersion + ":" + mFeatureIndex; + return LightFramework.makeFeatureId(mMwmName, mMwmVersion, mFeatureIndex); } } diff --git a/map/framework_light.cpp b/map/framework_light.cpp index 5b8b4e8abb..687ff85628 100644 --- a/map/framework_light.cpp +++ b/map/framework_light.cpp @@ -7,7 +7,7 @@ namespace { -char const * kDelimiter = "|"; +char const * kDelimiter = ":"; } // namespace namespace lightweight