Added setting for auto call recording
This commit is contained in:
parent
6a76513f1e
commit
8303f2e062
5 changed files with 25 additions and 0 deletions
|
@ -101,6 +101,13 @@ class CallSettingsViewModel : GenericSettingsViewModel() {
|
||||||
}
|
}
|
||||||
val rfc2833Dtmf = MutableLiveData<Boolean>()
|
val rfc2833Dtmf = MutableLiveData<Boolean>()
|
||||||
|
|
||||||
|
val autoStartCallRecordingListener = object : SettingListenerStub() {
|
||||||
|
override fun onBoolValueChanged(newValue: Boolean) {
|
||||||
|
prefs.automaticallyStartCallRecording = newValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
val autoStartCallRecording = MutableLiveData<Boolean>()
|
||||||
|
|
||||||
val autoStartListener = object : SettingListenerStub() {
|
val autoStartListener = object : SettingListenerStub() {
|
||||||
override fun onBoolValueChanged(newValue: Boolean) {
|
override fun onBoolValueChanged(newValue: Boolean) {
|
||||||
prefs.callRightAway = newValue
|
prefs.callRightAway = newValue
|
||||||
|
@ -191,6 +198,7 @@ class CallSettingsViewModel : GenericSettingsViewModel() {
|
||||||
systemWideOverlay.value = prefs.systemWideCallOverlay
|
systemWideOverlay.value = prefs.systemWideCallOverlay
|
||||||
sipInfoDtmf.value = core.useInfoForDtmf
|
sipInfoDtmf.value = core.useInfoForDtmf
|
||||||
rfc2833Dtmf.value = core.useRfc2833ForDtmf
|
rfc2833Dtmf.value = core.useRfc2833ForDtmf
|
||||||
|
autoStartCallRecording.value = prefs.automaticallyStartCallRecording
|
||||||
autoStart.value = prefs.callRightAway
|
autoStart.value = prefs.callRightAway
|
||||||
autoAnswer.value = prefs.autoAnswerEnabled
|
autoAnswer.value = prefs.autoAnswerEnabled
|
||||||
autoAnswerDelay.value = prefs.autoAnswerDelay
|
autoAnswerDelay.value = prefs.autoAnswerDelay
|
||||||
|
|
|
@ -190,6 +190,10 @@ class CoreContext(val context: Context, coreConfig: Config) {
|
||||||
AudioRouteUtils.routeAudioToBluetooth(call)
|
AudioRouteUtils.routeAudioToBluetooth(call)
|
||||||
}
|
}
|
||||||
} else if (state == Call.State.Connected) {
|
} else if (state == Call.State.Connected) {
|
||||||
|
if (corePreferences.automaticallyStartCallRecording) {
|
||||||
|
Log.i("[Context] We were asked to start the call recording automatically")
|
||||||
|
call.startRecording()
|
||||||
|
}
|
||||||
onCallStarted()
|
onCallStarted()
|
||||||
} else if (state == Call.State.StreamsRunning) {
|
} else if (state == Call.State.StreamsRunning) {
|
||||||
// Do not automatically route audio to bluetooth after first call
|
// Do not automatically route audio to bluetooth after first call
|
||||||
|
|
|
@ -283,6 +283,12 @@ class CorePreferences constructor(private val context: Context) {
|
||||||
config.setBool("app", "call_right_away", value)
|
config.setBool("app", "call_right_away", value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var automaticallyStartCallRecording: Boolean
|
||||||
|
get() = config.getBool("app", "auto_start_call_record", false)
|
||||||
|
set(value) {
|
||||||
|
config.setBool("app", "auto_start_call_record", value)
|
||||||
|
}
|
||||||
|
|
||||||
var fullScreenCallUI: Boolean
|
var fullScreenCallUI: Boolean
|
||||||
get() = config.getBool("app", "full_screen_call", true)
|
get() = config.getBool("app", "full_screen_call", true)
|
||||||
set(value) {
|
set(value) {
|
||||||
|
|
|
@ -127,6 +127,12 @@
|
||||||
linphone:listener="@{viewModel.rfc2833DtmfListener}"
|
linphone:listener="@{viewModel.rfc2833DtmfListener}"
|
||||||
linphone:checked="@={viewModel.rfc2833Dtmf}"/>
|
linphone:checked="@={viewModel.rfc2833Dtmf}"/>
|
||||||
|
|
||||||
|
<include
|
||||||
|
layout="@layout/settings_widget_switch"
|
||||||
|
linphone:title="@{@string/call_settings_auto_start_recording_title}"
|
||||||
|
linphone:listener="@{viewModel.autoStartCallRecordingListener}"
|
||||||
|
linphone:checked="@={viewModel.autoStartCallRecording}"/>
|
||||||
|
|
||||||
<include
|
<include
|
||||||
layout="@layout/settings_widget_switch"
|
layout="@layout/settings_widget_switch"
|
||||||
linphone:title="@{@string/call_settings_auto_start_title}"
|
linphone:title="@{@string/call_settings_auto_start_title}"
|
||||||
|
|
|
@ -420,6 +420,7 @@
|
||||||
<string name="call_settings_ring_during_early_media_title">Ring during incoming early media</string>
|
<string name="call_settings_ring_during_early_media_title">Ring during incoming early media</string>
|
||||||
<string name="call_settings_pause_calls_lost_audio_focus_title">Pause calls when audio focus is lost</string>
|
<string name="call_settings_pause_calls_lost_audio_focus_title">Pause calls when audio focus is lost</string>
|
||||||
<string name="call_settings_go_to_android_notification_settings">Android notification settings</string>
|
<string name="call_settings_go_to_android_notification_settings">Android notification settings</string>
|
||||||
|
<string name="call_settings_auto_start_recording_title">Automatically start call recording</string>
|
||||||
|
|
||||||
<!-- Chat settings -->
|
<!-- Chat settings -->
|
||||||
<string name="chat_settings_mark_as_read_notif_dismissal_title">Mark as read upon notification dismissal</string>
|
<string name="chat_settings_mark_as_read_notif_dismissal_title">Mark as read upon notification dismissal</string>
|
||||||
|
|
Loading…
Reference in a new issue