From a9d11543d87b4f0320384e44622a6c8534c15eef Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 24 Sep 2024 14:59:34 +0200 Subject: [PATCH] Fixed build without google_services.json file --- app/build.gradle.kts | 26 +++++++++++++++++-- .../java/org/linphone/core/CoreContext.kt | 7 ++--- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8e5a8b4ff..8ac820cb5 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,5 +1,7 @@ import com.android.build.gradle.internal.tasks.factory.dependsOn import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension +import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsPlugin +import com.google.gms.googleservices.GoogleServicesPlugin import java.io.ByteArrayOutputStream import java.io.FileInputStream import java.util.Properties @@ -10,8 +12,8 @@ plugins { alias(libs.plugins.ktlint) alias(libs.plugins.jetbrainsKotlinAndroid) alias(libs.plugins.navigation) - alias(libs.plugins.googleGmsServices) - alias(libs.plugins.crashlytics) + alias(libs.plugins.googleGmsServices) apply false + alias(libs.plugins.crashlytics) apply false } val packageName = "org.linphone" @@ -21,8 +23,22 @@ val sdkPath = providers.gradleProperty("LinphoneSdkBuildDir").get() val googleServices = File(projectDir.absolutePath + "/google-services.json") val linphoneLibs = File("$sdkPath/libs/") val linphoneDebugLibs = File("$sdkPath/libs-debug/") +val firebaseCloudMessagingAvailable = googleServices.exists() val crashlyticsAvailable = googleServices.exists() && linphoneLibs.exists() && linphoneDebugLibs.exists() +if (firebaseCloudMessagingAvailable) { + println("google-services.json found, enabling CloudMessaging feature") + apply() +} else { + println("google-services.json not found, disabling CloudMessaging feature") +} +if (crashlyticsAvailable) { + println("google-services.json, libs & libs-debug found, enabling Crashlytics feature") + apply() +} else { + println("google-services.json, libs & libs-debug not found, disabling Crashlytics feature") +} + var gitBranch = ByteArrayOutputStream() var gitVersion = "6.0.0" @@ -151,6 +167,9 @@ android { nativeSymbolUploadEnabled = true unstrippedNativeLibsDir = File("$sdkPath/libs-debug/").toString() } + resValue("bool", "crashlytics_enabled", "true") + } else { + resValue("bool", "crashlytics_enabled", "false") } } @@ -171,6 +190,9 @@ android { nativeSymbolUploadEnabled = true unstrippedNativeLibsDir = File("$sdkPath/libs-debug/").toString() } + resValue("bool", "crashlytics_enabled", "true") + } else { + resValue("bool", "crashlytics_enabled", "false") } } } diff --git a/app/src/main/java/org/linphone/core/CoreContext.kt b/app/src/main/java/org/linphone/core/CoreContext.kt index ba53017f4..6b4ade73a 100644 --- a/app/src/main/java/org/linphone/core/CoreContext.kt +++ b/app/src/main/java/org/linphone/core/CoreContext.kt @@ -375,9 +375,10 @@ class CoreContext @UiThread constructor(val context: Context) : HandlerThread("C Log.i("$TAG Creating Core") Looper.prepare() - Factory.instance().loggingService.addListener(loggingServiceListener) - Log.i("$TAG Crashlytics enabled, register logging service listener") - + if (context.resources.getBoolean(org.linphone.R.bool.crashlytics_enabled)) { + Factory.instance().loggingService.addListener(loggingServiceListener) + Log.i("$TAG Crashlytics enabled, register logging service listener") + } Log.i("=========================================") Log.i("==== Linphone-android information dump ====") Log.i("VERSION=${BuildConfig.VERSION_NAME} / ${BuildConfig.VERSION_CODE}")