From 1c58e8ef3551519aa8795bf4784249eb88bb38cd Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 16 Mar 2023 14:21:12 +0100 Subject: [PATCH] Add BuildMeta to the project --- .../io/element/android/x/di/AppModule.kt | 18 +++++++++++ .../android/libraries/core/meta/BuildMeta.kt | 30 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 libraries/core/src/main/kotlin/io/element/android/libraries/core/meta/BuildMeta.kt diff --git a/app/src/main/kotlin/io/element/android/x/di/AppModule.kt b/app/src/main/kotlin/io/element/android/x/di/AppModule.kt index b83a98f7f3..2621045c83 100644 --- a/app/src/main/kotlin/io/element/android/x/di/AppModule.kt +++ b/app/src/main/kotlin/io/element/android/x/di/AppModule.kt @@ -21,9 +21,12 @@ import com.squareup.anvil.annotations.ContributesTo import dagger.Module import dagger.Provides import io.element.android.libraries.core.coroutine.CoroutineDispatchers +import io.element.android.libraries.core.meta.BuildMeta import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.ApplicationContext import io.element.android.libraries.di.SingleIn +import io.element.android.x.BuildConfig +import io.element.android.x.R import kotlinx.coroutines.CoroutineName import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -48,6 +51,21 @@ object AppModule { return MainScope() + CoroutineName("ElementX Scope") } + @Provides + @SingleIn(AppScope::class) + fun providesBuildMeta(@ApplicationContext context: Context) = BuildMeta( + isDebug = BuildConfig.DEBUG, + applicationName = context.getString(R.string.app_name), + applicationId = BuildConfig.APPLICATION_ID, + lowPrivacyLoggingEnabled = false, // TODO EAx Config.LOW_PRIVACY_LOG_ENABLE, + versionName = BuildConfig.VERSION_NAME, + gitRevision = "TODO", // BuildConfig.GIT_REVISION, + gitRevisionDate = "TODO", // BuildConfig.GIT_REVISION_DATE, + gitBranchName = "TODO", // BuildConfig.GIT_BRANCH_NAME, + flavorDescription = "TODO", // BuildConfig.FLAVOR_DESCRIPTION, + flavorShortDescription = "TODO", // BuildConfig.SHORT_FLAVOR_DESCRIPTION, + ) + @Provides @SingleIn(AppScope::class) fun providesCoroutineDispatchers(): CoroutineDispatchers { diff --git a/libraries/core/src/main/kotlin/io/element/android/libraries/core/meta/BuildMeta.kt b/libraries/core/src/main/kotlin/io/element/android/libraries/core/meta/BuildMeta.kt new file mode 100644 index 0000000000..35deb30dc0 --- /dev/null +++ b/libraries/core/src/main/kotlin/io/element/android/libraries/core/meta/BuildMeta.kt @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2022 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.element.android.libraries.core.meta + +data class BuildMeta( + val isDebug: Boolean, + val applicationName: String, + val applicationId: String, + val lowPrivacyLoggingEnabled: Boolean, + val versionName: String, + val gitRevision: String, + val gitRevisionDate: String, + val gitBranchName: String, + val flavorDescription: String, + val flavorShortDescription: String, +)