mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
8b2c207728
* Extract `IsEnterpriseBuild` use case Having it inside `EnterpriseService` made having DI cycles with the `BuildMeta` provider too easy * Rename `EnterpriseService.defaultHomeserverList()` to `homeserverAllowList()` This seems more aligned with the way this list works * Move most of the logic from `:libraries:wellknown` to `:enterprise:feature:enterprise`, both `shared` and `impl` modules Ideally I would have added everything into `impl`, but some of the classes needed to be shared between the different `:enterprise:features` modules, and those are in the `shared` module, lacking a better name/strategy * Add `EnterpriseService.isElementProEnforced` With this, we don't need to provide the `RemoteEnterpriseConfig` anymore to any consumers, everything goes through `EnterpriseService` or other providers * Remove `EnterpriseService.overriddenElementWellKnown` This leaks the remote enterprise config/element well known contents to the app in a public interface. * Create `CustomMapTilerConfigProvider` to avoid leaking the `RemoteEnterpriseConfig` in public APIs This commit also starts moving some of the well-known related values to the enterprise modules * Add missing docs to `EnterpriseService` and `SessionEnterpriseService` * Fix tests * Fix lint issues * Bump enterprise module
80 lines
2.5 KiB
Kotlin
80 lines
2.5 KiB
Kotlin
/*
|
|
* Copyright (c) 2025 Element Creations Ltd.
|
|
* Copyright 2022-2025 New Vector Ltd.
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
* Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
import config.BuildTimeConfig
|
|
import extension.buildConfigFieldStr
|
|
import extension.readLocalProperty
|
|
import extension.testCommonDependencies
|
|
|
|
plugins {
|
|
id("io.element.android-compose-library")
|
|
id("kotlin-parcelize")
|
|
}
|
|
|
|
android {
|
|
namespace = "io.element.android.features.location.api"
|
|
|
|
buildFeatures {
|
|
buildConfig = true
|
|
}
|
|
|
|
defaultConfig {
|
|
buildConfigFieldStr(
|
|
name = "MAPTILER_BASE_URL",
|
|
value = BuildTimeConfig.SERVICES_MAPTILER_BASE_URL ?: "https://api.maptiler.com/maps"
|
|
)
|
|
buildConfigFieldStr(
|
|
name = "MAPTILER_API_KEY",
|
|
value = if (isEnterpriseBuild) {
|
|
BuildTimeConfig.SERVICES_MAPTILER_APIKEY
|
|
} else {
|
|
System.getenv("ELEMENT_ANDROID_MAPTILER_API_KEY")
|
|
?: readLocalProperty("services.maptiler.apikey")
|
|
}
|
|
?: ""
|
|
)
|
|
buildConfigFieldStr(
|
|
name = "MAPTILER_LIGHT_MAP_ID",
|
|
value = if (isEnterpriseBuild) {
|
|
BuildTimeConfig.SERVICES_MAPTILER_LIGHT_MAPID
|
|
} else {
|
|
System.getenv("ELEMENT_ANDROID_MAPTILER_LIGHT_MAP_ID")
|
|
?: readLocalProperty("services.maptiler.lightMapId")
|
|
}
|
|
// fall back to maptiler's default light map.
|
|
?: "basic-v2"
|
|
)
|
|
buildConfigFieldStr(
|
|
name = "MAPTILER_DARK_MAP_ID",
|
|
value = if (isEnterpriseBuild) {
|
|
BuildTimeConfig.SERVICES_MAPTILER_DARK_MAPID
|
|
} else {
|
|
System.getenv("ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID")
|
|
?: readLocalProperty("services.maptiler.darkMapId")
|
|
}
|
|
// fall back to maptiler's default dark map.
|
|
?: "basic-v2-dark"
|
|
)
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation(projects.libraries.architecture)
|
|
implementation(projects.libraries.designsystem)
|
|
implementation(projects.libraries.core)
|
|
implementation(projects.libraries.matrix.api)
|
|
implementation(projects.libraries.matrixui)
|
|
implementation(projects.libraries.uiStrings)
|
|
implementation(projects.libraries.wellknown.api)
|
|
implementation(projects.features.enterprise.api)
|
|
implementation(libs.coil.compose)
|
|
implementation(libs.datetime)
|
|
|
|
testCommonDependencies(libs)
|
|
}
|