Add internal setting to disable telecom

fork-5.53.8
Jim Gustafson 2022-04-26 16:48:41 -07:00
rodzic 11db59d8a1
commit fa8f8beb56
6 zmienionych plików z 30 dodań i 2 usunięć

Wyświetl plik

@ -382,6 +382,14 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter
}
)
switchPref(
title = DSLSettingsText.from(R.string.preferences__internal_calling_disable_telecom),
isChecked = state.callingDisableTelecom,
onClick = {
viewModel.setInternalCallingDisableTelecom(!state.callingDisableTelecom)
}
)
if (FeatureFlags.donorBadges() && SignalStore.donationsValues().getSubscriber() != null) {
dividerPref()

Wyświetl plik

@ -16,6 +16,7 @@ data class InternalSettingsState(
val callingServer: String,
val callingAudioProcessingMethod: CallManager.AudioProcessingMethod,
val callingBandwidthMode: CallManager.BandwidthMode,
val callingDisableTelecom: Boolean,
val useBuiltInEmojiSet: Boolean,
val emojiVersion: EmojiFiles.Version?,
val removeSenderKeyMinimium: Boolean,

Wyświetl plik

@ -101,6 +101,11 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
refresh()
}
fun setInternalCallingDisableTelecom(enabled: Boolean) {
preferenceDataStore.putBoolean(InternalValues.CALLING_DISABLE_TELECOM, enabled)
refresh()
}
fun toggleStories() {
val newState = !SignalStore.storyValues().isFeatureDisabled
SignalStore.storyValues().isFeatureDisabled = newState
@ -128,6 +133,7 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
callingServer = SignalStore.internalValues().groupCallingServer(),
callingAudioProcessingMethod = SignalStore.internalValues().callingAudioProcessingMethod(),
callingBandwidthMode = SignalStore.internalValues().callingBandwidthMode(),
callingDisableTelecom = SignalStore.internalValues().callingDisableTelecom(),
useBuiltInEmojiSet = SignalStore.internalValues().forceBuiltInEmoji(),
emojiVersion = null,
removeSenderKeyMinimium = SignalStore.internalValues().removeSenderKeyMinimum(),

Wyświetl plik

@ -26,6 +26,7 @@ public final class InternalValues extends SignalStoreValues {
public static final String CALLING_SERVER = "internal.calling_server";
public static final String CALLING_AUDIO_PROCESSING_METHOD = "internal.calling_audio_processing_method";
public static final String CALLING_BANDWIDTH_MODE = "internal.calling_bandwidth_mode";
public static final String CALLING_DISABLE_TELECOM = "internal.calling_disable_telecom";
public static final String SHAKE_TO_REPORT = "internal.shake_to_report";
public static final String DISABLE_STORAGE_SERVICE = "internal.disable_storage_service";
@ -178,4 +179,15 @@ public final class InternalValues extends SignalStoreValues {
return CallManager.BandwidthMode.NORMAL;
}
}
/**
* Whether or not Telecom integration is manually disabled.
*/
public synchronized boolean callingDisableTelecom() {
if (FeatureFlags.internalUser()) {
return getBoolean(CALLING_DISABLE_TELECOM, false);
} else {
return true;
}
}
}

Wyświetl plik

@ -19,8 +19,8 @@ import androidx.core.content.ContextCompat
import androidx.core.os.bundleOf
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.util.FeatureFlags
import org.thoughtcrime.securesms.webrtc.audio.SignalAudioManager
/**
@ -189,7 +189,7 @@ object AndroidTelecomUtil {
}
private fun isRestrictedDevice(): Boolean {
return !FeatureFlags.internalUser()
return SignalStore.internalValues().callingDisableTelecom()
}
}

Wyświetl plik

@ -2702,6 +2702,7 @@
<string name="preferences__internal_calling" translatable="false">Calling options</string>
<string name="preferences__internal_calling_audio_processing_method" translatable="false">Audio processing method</string>
<string name="preferences__internal_calling_bandwidth_mode" translatable="false">Bandwidth mode</string>
<string name="preferences__internal_calling_disable_telecom" translatable="false">Disable Telecom integration</string>
<string name="preferences__internal_badges" translatable="false">Badges</string>
<string name="preferences__internal_badges_enqueue_redemption" translatable="false">Enqueue redemption.</string>
<string name="preferences__internal_release_channel" translatable="false">Release channel</string>