Improve network reliability.

This commit is contained in:
Greyson Parrelli 2024-08-13 13:01:22 -04:00 committed by mtang-signal
parent 7f71d08e11
commit 69e8c9351d
2 changed files with 16 additions and 3 deletions

View file

@ -216,7 +216,7 @@ open class SignalServiceNetworkAccess(context: Context) {
COUNTRY_CODE_RUSSIA to fConfig
)
private val defaultCensoredConfiguration: SignalServiceConfiguration = buildGConfiguration(baseGHostConfigs)
private val defaultCensoredConfiguration: SignalServiceConfiguration = buildGConfiguration(baseGHostConfigs) + fConfig
private val defaultCensoredCountryCodes: Set<Int> = setOf(
COUNTRY_CODE_EGYPT,

View file

@ -7,7 +7,8 @@ import java.util.Optional
/**
* Defines all network configuration needed to connect to the Signal service.
*/
class SignalServiceConfiguration(
@Suppress("ArrayInDataClass") // Using data class for .copy(), don't care about equals/hashcode
data class SignalServiceConfiguration(
val signalServiceUrls: Array<SignalServiceUrl>,
val signalCdnUrlMap: Map<Int, Array<SignalCdnUrl>>,
val signalStorageUrls: Array<SignalStorageUrl>,
@ -19,4 +20,16 @@ class SignalServiceConfiguration(
val zkGroupServerPublicParams: ByteArray,
val genericServerPublicParams: ByteArray,
val backupServerPublicParams: ByteArray
)
) {
/** Convenience operator overload for combining the URL lists. Does not add the other fields together, as those wouldn't make sense. */
operator fun plus(other: SignalServiceConfiguration): SignalServiceConfiguration {
return this.copy(
signalServiceUrls = signalServiceUrls + other.signalServiceUrls,
signalCdnUrlMap = signalCdnUrlMap + other.signalCdnUrlMap,
signalStorageUrls = signalStorageUrls + other.signalStorageUrls,
signalCdsiUrls = signalCdsiUrls + other.signalCdsiUrls,
signalSvr2Urls = signalSvr2Urls + other.signalSvr2Urls
)
}
}