Call quality survey integration.

This commit is contained in:
Alex Hart
2025-11-26 13:51:03 -04:00
committed by jeffrey-signal
parent 804f479cb0
commit 54fb7ff23f
24 changed files with 772 additions and 159 deletions

View File

@@ -580,10 +580,11 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter
}
)
clickPref(
title = DSLSettingsText.from("Display Call Quality Survey UX"),
switchPref(
title = DSLSettingsText.from("Enable call quality surveys"),
isChecked = state.callQualitySurveys,
onClick = {
CallQualityBottomSheetFragment().show(parentFragmentManager, null)
viewModel.setEnableCallQualitySurveys(!state.callQualitySurveys)
}
)

View File

@@ -31,5 +31,6 @@ data class InternalSettingsState(
val hasPendingOneTimeDonation: Boolean,
val hevcEncoding: Boolean,
val newCallingUi: Boolean,
val callQualitySurveys: Boolean,
val forceSplitPane: Boolean
)

View File

@@ -197,6 +197,7 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
hasPendingOneTimeDonation = SignalStore.inAppPayments.getPendingOneTimeDonation() != null,
hevcEncoding = SignalStore.internal.hevcEncoding,
newCallingUi = SignalStore.internal.newCallingUi,
callQualitySurveys = SignalStore.internal.callQualitySurveys,
forceSplitPane = SignalStore.internal.forceSplitPane
)
@@ -213,6 +214,11 @@ class InternalSettingsViewModel(private val repository: InternalSettingsReposito
refresh()
}
fun setEnableCallQualitySurveys(enabled: Boolean) {
SignalStore.internal.callQualitySurveys = enabled
refresh()
}
fun setForceSplitPane(forceSplitPane: Boolean) {
SignalStore.internal.forceSplitPane = forceSplitPane
refresh()