Element config (#4471)
* Add handy extension "VariantDimension.buildConfigFieldStr" * Update configuration for MapTiler. * Update configuration for Sentry. * Build AnalyticsConfig depending on analytics configuration. * Configure analytics policy url. * Add handy extension "VariantDimension.buildConfigFieldBoolean" * Configure legal urls. * Add a way to disable rageshake / reporting bugs. * Update screenshots * Quality * Fix test * Use `ifBlank` extension * Add missing configuration for PostHog * Update configuration for Rageshake. * Add build log. * Disable crash detection if rageshake feature is not available. Disabled twice. * Hide link to analytics policy if the link is missing. * Fix test when run in enterprise context. * Use RageshakeFeatureAvailability where appropriate. * Rename file. * Move some classes to their correct module. * Update screenshots --------- Co-authored-by: ElementBot <android@element.io>
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
import config.AnalyticsConfig
|
||||
import config.BuildTimeConfig
|
||||
import config.PushProvidersConfig
|
||||
|
||||
object ModulesConfig {
|
||||
@@ -14,8 +15,27 @@ object ModulesConfig {
|
||||
includeUnifiedPush = true,
|
||||
)
|
||||
|
||||
val analyticsConfig: AnalyticsConfig = AnalyticsConfig.Enabled(
|
||||
withPosthog = true,
|
||||
withSentry = true,
|
||||
)
|
||||
val analyticsConfig: AnalyticsConfig = if (isEnterpriseBuild) {
|
||||
// Is Posthog configuration available?
|
||||
val withPosthog = BuildTimeConfig.SERVICES_POSTHOG_APIKEY.isNullOrEmpty().not() &&
|
||||
BuildTimeConfig.SERVICES_POSTHOG_HOST.isNullOrEmpty().not()
|
||||
// Is Sentry configuration available?
|
||||
val withSentry = BuildTimeConfig.SERVICES_SENTRY_DSN.isNullOrEmpty().not()
|
||||
if (withPosthog || withSentry) {
|
||||
println("Analytics enabled with Posthog: $withPosthog, Sentry: $withSentry")
|
||||
AnalyticsConfig.Enabled(
|
||||
withPosthog = withPosthog,
|
||||
withSentry = withSentry,
|
||||
)
|
||||
} else {
|
||||
println("Analytics disabled")
|
||||
AnalyticsConfig.Disabled
|
||||
}
|
||||
} else {
|
||||
println("Analytics enabled with Posthog and Sentry")
|
||||
AnalyticsConfig.Enabled(
|
||||
withPosthog = true,
|
||||
withSentry = true,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,21 @@ object BuildTimeConfig {
|
||||
const val GOOGLE_APP_ID_DEBUG = "1:912726360885:android:def0a4e454042e9b00427c"
|
||||
const val GOOGLE_APP_ID_NIGHTLY = "1:912726360885:android:e17435e0beb0303000427c"
|
||||
|
||||
val METADATA_HOST: String? = null
|
||||
val URL_WEBSITE: String? = null
|
||||
val URL_LOGO: String? = null
|
||||
val URL_COPYRIGHT: String? = null
|
||||
val URL_ACCEPTABLE_USE: String? = null
|
||||
val URL_PRIVACY: String? = null
|
||||
val URL_POLICY: String? = null
|
||||
val SUPPORT_EMAIL_ADDRESS: String? = null
|
||||
val SERVICES_MAPTILER_BASE_URL: String? = null
|
||||
val SERVICES_MAPTILER_APIKEY: String? = null
|
||||
val SERVICES_MAPTILER_LIGHT_MAPID: String? = null
|
||||
val SERVICES_MAPTILER_DARK_MAPID: String? = null
|
||||
val SERVICES_POSTHOG_HOST: String? = null
|
||||
val SERVICES_POSTHOG_APIKEY: String? = null
|
||||
val SERVICES_SENTRY_DSN: String? = null
|
||||
val BUG_REPORT_URL: String? = null
|
||||
val BUG_REPORT_APP_NAME: String? = null
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright 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.
|
||||
*/
|
||||
|
||||
package extension
|
||||
|
||||
import com.android.build.api.dsl.VariantDimension
|
||||
|
||||
fun VariantDimension.buildConfigFieldStr(
|
||||
name: String,
|
||||
value: String,
|
||||
) {
|
||||
buildConfigField(
|
||||
type = "String",
|
||||
name = name,
|
||||
value = "\"$value\""
|
||||
)
|
||||
}
|
||||
|
||||
fun VariantDimension.buildConfigFieldBoolean(
|
||||
name: String,
|
||||
value: Boolean,
|
||||
) {
|
||||
buildConfigField(
|
||||
type = "boolean",
|
||||
name = name,
|
||||
value = value.toString()
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user