From 920ea5a35a3d0815d101384594d9a205984dbd69 Mon Sep 17 00:00:00 2001 From: Alexander Marchuk Date: Mon, 21 Mar 2016 15:47:11 +0300 Subject: [PATCH] [new downloader][android] add: HockeyApp SDK integrated. --- android/build.gradle | 2 ++ android/jni/com/mapswithme/maps/PrivateVariables.cpp | 12 ++++++++++++ android/src/com/mapswithme/maps/MwmApplication.java | 11 +++++++++++ .../src/com/mapswithme/maps/PrivateVariables.java | 2 ++ configure.sh | 1 + 5 files changed, 28 insertions(+) diff --git a/android/build.gradle b/android/build.gradle index 5044e8b517..ebe4cb24cc 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -29,6 +29,8 @@ dependencies { compile 'com.google.android.gms:play-services-location:8.4.0' compile 'com.google.android.gms:play-services-analytics:8.4.0' compile 'com.google.android.gms:play-services-plus:8.4.0' + // crash reporting + compile 'net.hockeyapp.android:HockeySDK:3.7.1' // 3-party compile 'com.facebook.android:facebook-android-sdk:4.10.0' compile 'com.parse.bolts:bolts-android:1.4.0' diff --git a/android/jni/com/mapswithme/maps/PrivateVariables.cpp b/android/jni/com/mapswithme/maps/PrivateVariables.cpp index 46120d7afa..d38feeebbe 100644 --- a/android/jni/com/mapswithme/maps/PrivateVariables.cpp +++ b/android/jni/com/mapswithme/maps/PrivateVariables.cpp @@ -51,4 +51,16 @@ extern "C" { return static_cast(AD_PERMISION_CHECK_DURATION); } + + JNIEXPORT jstring JNICALL + Java_com_mapswithme_maps_PrivateVariables_hockeyAppId(JNIEnv * env, jclass clazz) + { + return env->NewStringUTF(HOCKEY_APP_KEY); + } + + JNIEXPORT jstring JNICALL + Java_com_mapswithme_maps_PrivateVariables_hockeyAppBetaId(JNIEnv * env, jclass clazz) + { + return env->NewStringUTF(HOCKEY_APP_BETA_KEY); + } } diff --git a/android/src/com/mapswithme/maps/MwmApplication.java b/android/src/com/mapswithme/maps/MwmApplication.java index 19f35f6247..5396db3350 100644 --- a/android/src/com/mapswithme/maps/MwmApplication.java +++ b/android/src/com/mapswithme/maps/MwmApplication.java @@ -7,6 +7,7 @@ import android.os.Environment; import android.os.Handler; import android.os.Message; import android.preference.PreferenceManager; +import android.text.TextUtils; import android.util.Log; import java.io.File; @@ -31,6 +32,7 @@ import com.parse.Parse; import com.parse.ParseException; import com.parse.ParseInstallation; import com.parse.SaveCallback; +import net.hockeyapp.android.CrashManager; public class MwmApplication extends Application { @@ -103,6 +105,7 @@ public class MwmApplication extends Application nativeInitPlatform(getApkPath(), getDataStoragePath(), getTempPath(), getObbGooglePath(), BuildConfig.FLAVOR, BuildConfig.BUILD_TYPE, Yota.isFirstYota(), UiUtils.isTablet()); + initHockeyApp(); initParse(); mPrefs = getSharedPreferences(getString(R.string.pref_file_name), MODE_PRIVATE); mBackgroundTracker = new AppBackgroundTracker(); @@ -158,6 +161,14 @@ public class MwmApplication extends Application nativeAddLocalization("routing_failed_internal_error", getString(R.string.routing_failed_internal_error)); } + private void initHockeyApp() + { + String id = ("beta".equals(BuildConfig.BUILD_TYPE) ? PrivateVariables.hockeyAppBetaId() + : PrivateVariables.hockeyAppId()); + if (!TextUtils.isEmpty(id)) + CrashManager.register(this, id); + } + public boolean isFrameworkInitialized() { return mIsFrameworkInitialized; diff --git a/android/src/com/mapswithme/maps/PrivateVariables.java b/android/src/com/mapswithme/maps/PrivateVariables.java index de2d8c637a..3f7ee62202 100644 --- a/android/src/com/mapswithme/maps/PrivateVariables.java +++ b/android/src/com/mapswithme/maps/PrivateVariables.java @@ -16,4 +16,6 @@ public class PrivateVariables * @return interval in seconds */ public static native long myTargetCheckInterval(); + public static native String hockeyAppId(); + public static native String hockeyAppBetaId(); } diff --git a/configure.sh b/configure.sh index 4cf9c3afa7..6fffb2edde 100755 --- a/configure.sh +++ b/configure.sh @@ -44,6 +44,7 @@ else #define AD_PERMISION_SERVER_URL "" #define AD_PERMISION_CHECK_DURATION 2 * 60 * 60 #define HOCKEY_APP_KEY "" +#define HOCKEY_APP_BETA_KEY "" #define CRASHLYTICS_IOS_KEY "" ' > "$PRIVATE_HEADER" echo '