creating a location sharing config for holding the map tiler key

This commit is contained in:
Adam Brown 2022-06-30 16:30:49 +01:00
parent 012485b8e3
commit 56afac26ad
5 changed files with 33 additions and 7 deletions

View file

@ -38,6 +38,7 @@ object Config {
const val ALLOW_EXTERNAL_UNIFIED_PUSH_DISTRIBUTORS = true const val ALLOW_EXTERNAL_UNIFIED_PUSH_DISTRIBUTORS = true
const val ENABLE_LOCATION_SHARING = true const val ENABLE_LOCATION_SHARING = true
const val LOCATION_MAP_TILER_KEY = "fU3vlMsMn4Jb6dnEIFsx"
/** /**
* The maximum length of voice messages in milliseconds. * The maximum length of voice messages in milliseconds.

View file

@ -160,8 +160,6 @@ android {
// This *must* only be set in trusted environments. // This *must* only be set in trusted environments.
buildConfigField "Boolean", "handleCallAssertedIdentityEvents", "false" buildConfigField "Boolean", "handleCallAssertedIdentityEvents", "false"
buildConfigField "String", "mapTilerKey", "\"fU3vlMsMn4Jb6dnEIFsx\""
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
// Keep abiFilter for the universalApk // Keep abiFilter for the universalApk

View file

@ -27,6 +27,7 @@ import im.vector.app.config.KeySharingStrategy
import im.vector.app.features.analytics.AnalyticsConfig import im.vector.app.features.analytics.AnalyticsConfig
import im.vector.app.features.crypto.keysrequest.OutboundSessionKeySharingStrategy import im.vector.app.features.crypto.keysrequest.OutboundSessionKeySharingStrategy
import im.vector.app.features.home.room.detail.composer.voice.VoiceMessageConfig import im.vector.app.features.home.room.detail.composer.voice.VoiceMessageConfig
import im.vector.app.features.location.LocationSharingConfig
import im.vector.app.features.raw.wellknown.CryptoConfig import im.vector.app.features.raw.wellknown.CryptoConfig
@InstallIn(SingletonComponent::class) @InstallIn(SingletonComponent::class)
@ -40,7 +41,7 @@ object ConfigurationModule {
false -> Config.RELEASE_ANALYTICS_CONFIG false -> Config.RELEASE_ANALYTICS_CONFIG
} }
return when (config) { return when (config) {
Analytics.Disabled -> AnalyticsConfig(isEnabled = false, "", "", "") Analytics.Disabled -> AnalyticsConfig(isEnabled = false, "", "", "")
is Analytics.PostHog -> AnalyticsConfig( is Analytics.PostHog -> AnalyticsConfig(
isEnabled = true, isEnabled = true,
postHogHost = config.postHogHost, postHogHost = config.postHogHost,
@ -60,7 +61,12 @@ object ConfigurationModule {
fallbackKeySharingStrategy = when (Config.KEY_SHARING_STRATEGY) { fallbackKeySharingStrategy = when (Config.KEY_SHARING_STRATEGY) {
KeySharingStrategy.WhenSendingEvent -> OutboundSessionKeySharingStrategy.WhenSendingEvent KeySharingStrategy.WhenSendingEvent -> OutboundSessionKeySharingStrategy.WhenSendingEvent
KeySharingStrategy.WhenEnteringRoom -> OutboundSessionKeySharingStrategy.WhenSendingEvent KeySharingStrategy.WhenEnteringRoom -> OutboundSessionKeySharingStrategy.WhenSendingEvent
KeySharingStrategy.WhenTyping -> OutboundSessionKeySharingStrategy.WhenSendingEvent KeySharingStrategy.WhenTyping -> OutboundSessionKeySharingStrategy.WhenSendingEvent
} }
) )
@Provides
fun providesLocationSharingConfig() = LocationSharingConfig(
mapTilerKey = Config.LOCATION_MAP_TILER_KEY,
)
} }

View file

@ -0,0 +1,21 @@
/*
* 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 im.vector.app.features.location
data class LocationSharingConfig(
val mapTilerKey: String,
)

View file

@ -16,7 +16,6 @@
package im.vector.app.features.location package im.vector.app.features.location
import im.vector.app.BuildConfig
import im.vector.app.features.raw.wellknown.getElementWellknown import im.vector.app.features.raw.wellknown.getElementWellknown
import org.matrix.android.sdk.api.extensions.tryOrNull import org.matrix.android.sdk.api.extensions.tryOrNull
import org.matrix.android.sdk.api.raw.RawService import org.matrix.android.sdk.api.raw.RawService
@ -25,9 +24,10 @@ import javax.inject.Inject
class UrlMapProvider @Inject constructor( class UrlMapProvider @Inject constructor(
private val session: Session, private val session: Session,
private val rawService: RawService private val rawService: RawService,
locationSharingConfig: LocationSharingConfig,
) { ) {
private val keyParam = "?key=${BuildConfig.mapTilerKey}" private val keyParam = "?key=${locationSharingConfig.mapTilerKey}"
private val fallbackMapUrl = buildString { private val fallbackMapUrl = buildString {
append(MAP_BASE_URL) append(MAP_BASE_URL)