From 7254f8646d4cff9c165f40b9a59bfd0c75eaa023 Mon Sep 17 00:00:00 2001 From: Dmitry Kunin Date: Mon, 24 Jun 2013 12:34:52 +0300 Subject: [PATCH] [core, android] Settings for . Android binding. --- .../com/mapswithme/maps/MWMApplication.cpp | 17 ++++++++++++++ .../com/mapswithme/maps/MWMApplication.java | 22 +++++++++++++++++++ platform/settings.cpp | 10 +++++++++ 3 files changed, 49 insertions(+) diff --git a/android/jni/com/mapswithme/maps/MWMApplication.cpp b/android/jni/com/mapswithme/maps/MWMApplication.cpp index f2a207c66c..9cc43cedef 100644 --- a/android/jni/com/mapswithme/maps/MWMApplication.cpp +++ b/android/jni/com/mapswithme/maps/MWMApplication.cpp @@ -114,4 +114,21 @@ extern "C" (void)Settings::Set(jni::ToNativeString(env, name), value); } + JNIEXPORT jlong JNICALL + Java_com_mapswithme_maps_MWMApplication_nativeGetLong(JNIEnv * env, jobject thiz, jstring name, jlong defaultValue) + { + jlong value; + if (Settings::Get(jni::ToNativeString(env, name), value)) + return value; + + return defaultValue; + } + + JNIEXPORT void JNICALL + Java_com_mapswithme_maps_MWMApplication_nativeSetLong(JNIEnv * env, jobject thiz, jstring name, jlong value) + { + (void)Settings::Set(jni::ToNativeString(env, name), value); + } + + } diff --git a/android/src/com/mapswithme/maps/MWMApplication.java b/android/src/com/mapswithme/maps/MWMApplication.java index 58865b744e..5981ad5f28 100644 --- a/android/src/com/mapswithme/maps/MWMApplication.java +++ b/android/src/com/mapswithme/maps/MWMApplication.java @@ -25,6 +25,9 @@ public class MWMApplication extends android.app.Application implements MapStorag { private final static String TAG = "MWMApplication"; + private static MWMApplication mSelf; + + private LocationService m_location = null; private LocationState m_locationState = null; private MapStorage m_storage = null; @@ -38,6 +41,23 @@ public class MWMApplication extends android.app.Application implements MapStorag private final static String m_defaultProURL = "http://play.google.com/store/apps/details?id=com.mapswithme.maps.pro"; private String m_proVersionURL = m_defaultProURL; + + public MWMApplication() + { + super(); + mSelf = this; + } + + /** + * Just for convenience. + * + * @return global MWMApp + */ + public static MWMApplication get() + { + return mSelf; + } + private void showDownloadToast(int resID, Index idx) { final String msg = String.format(getString(resID), m_storage.countryName(idx)); @@ -243,4 +263,6 @@ public class MWMApplication extends android.app.Application implements MapStorag public native void nativeSetBoolean(String name, boolean value); public native int nativeGetInt(String name, int defaultValue); public native void nativeSetInt(String name, int value); + public native long nativeGetLong(String name, long defaultValue); + public native void nativeSetLong(String name, long value); } diff --git a/platform/settings.cpp b/platform/settings.cpp index fdb45d4b1b..345d002451 100644 --- a/platform/settings.cpp +++ b/platform/settings.cpp @@ -225,6 +225,16 @@ namespace Settings return impl::FromStringScalar(str, v); } + template <> string ToString(long long const & v) + { + return impl::ToStringScalar(v); + } + + template <> bool FromString(string const & str, long long & v) + { + return impl::FromStringScalar(str, v); + } + template <> string ToString(unsigned const & v) { return impl::ToStringScalar(v);