diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cc05df8f6009f9b4bd17c0c5a2c277a704c34b2f..e391e7ca8e711cd0fbe52b64719cecc1a36ebfd8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,7 @@ before_script: - echo MURENA_DISCOVERY_END_POINT_PRODUCTION=$MURENA_DISCOVERY_END_POINT_PRODUCTION >> local.properties - echo MURENA_BASE_URL_STAGING=$MURENA_BASE_URL_STAGING >> local.properties - echo MURENA_DISCOVERY_END_POINT_STAGING=$MURENA_DISCOVERY_END_POINT_STAGING >> local.properties + - echo SENTRY_DSN=$SENTRY_DSN >> local.properties - export GRADLE_USER_HOME=$(pwd)/.gradle - chmod +x ./gradlew @@ -44,7 +45,7 @@ build: exit 1 fi cd "release" - unsigned_build=$(ls *.apk | grep "release") + unsigned_build=$(ls *.apk | grep "universal-release") mv $unsigned_build $UNSIGNED_APK artifacts: paths: diff --git a/app/build.gradle b/app/build.gradle index 699f7ed12ec8689fd87de331b3f2e49f9d224b7a..271943aec4493a06a0f7711b926d6e0bedceae72 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -111,6 +111,15 @@ android { } } + splits { + abi { + enable true + reset() + include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' + universalApk true + } + } + buildTypes { debug { signingConfig = signingConfigs.debug @@ -152,6 +161,8 @@ android { buildConfigField "String", "YAHOO_CLIENT_ID", "\"${retrieveKey("YAHOO_CLIENT_ID")}\"" + buildConfigField("String", "SENTRY_DSN", "\"${retrieveKey("SENTRY_DSN")}\"") + manifestPlaceholders = [ 'appAuthRedirectScheme': applicationId, "googleAuthRedirectScheme": retrieveKey("GOOGLE_REDIRECT_URI"), @@ -263,6 +274,10 @@ dependencies { exclude group: 'com.squareup.okhttp3' } + // Telemetry + implementation "com.jakewharton.timber:timber:5.0.1" + implementation 'foundation.e.lib:telemetry:0.0.10-alpha' + // ez-vcard to parse/generate vCards api("com.googlecode.ez-vcard:ez-vcard:0.12.0") diff --git a/app/src/main/kotlin/at/bitfire/davdroid/App.kt b/app/src/main/kotlin/at/bitfire/davdroid/App.kt index 4dee16d0e6a9db73886e8d2d319ca8582258f007..1f9f8ac9b48fb091e43e81dd722361f26d1f1767 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/App.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/App.kt @@ -19,6 +19,7 @@ import at.bitfire.davdroid.ui.DebugInfoActivity import at.bitfire.davdroid.ui.NotificationUtils import at.bitfire.davdroid.ui.UiUtils import dagger.hilt.android.HiltAndroidApp +import foundation.e.lib.telemetry.Telemetry import java.util.logging.Level import javax.inject.Inject import kotlin.concurrent.thread @@ -72,6 +73,11 @@ class App: Application(), Thread.UncaughtExceptionHandler, Configuration.Provide super.onCreate() Logger.initialize(this) + // Allow enabling telemetry only for release builds. + if (!BuildConfig.DEBUG) { + Telemetry.init(BuildConfig.SENTRY_DSN, this) + } + if (BuildConfig.DEBUG) // debug builds StrictMode.setVmPolicy(StrictMode.VmPolicy.Builder()