From 438c1465748691936aac9b1c3de0599944e271e5 Mon Sep 17 00:00:00 2001 From: Gulzar Date: Fri, 11 Nov 2022 01:10:33 +0530 Subject: [PATCH] added change --- .../hms/app2/ui/meeting/MeetingViewModel.kt | 3 +++ .../hms/app2/ui/settings/SettingsFragment.kt | 18 +++++++++++++ .../hms/app2/ui/settings/SettingsStore.kt | 18 +++++++++++++ app/src/main/res/layout/fragment_settings.xml | 25 +++++++++++++++++++ app/src/main/res/values/strings.xml | 3 +++ 5 files changed, 67 insertions(+) diff --git a/app/src/main/java/live/hms/app2/ui/meeting/MeetingViewModel.kt b/app/src/main/java/live/hms/app2/ui/meeting/MeetingViewModel.kt index 63684bcde..38549d811 100644 --- a/app/src/main/java/live/hms/app2/ui/meeting/MeetingViewModel.kt +++ b/app/src/main/java/live/hms/app2/ui/meeting/MeetingViewModel.kt @@ -215,6 +215,9 @@ class MeetingViewModel( .audio( HMSAudioTrackSettings.Builder() .setUseHardwareAcousticEchoCanceler(settings.enableHardwareAEC) + .enableEchoCancellation(settings.enableAEC) + .enableNoiseSupression(settings.enableNS) + .enableAutomaticGainControl(settings.enableAGC) .initialState(getAudioTrackState()) .build() ) diff --git a/app/src/main/java/live/hms/app2/ui/settings/SettingsFragment.kt b/app/src/main/java/live/hms/app2/ui/settings/SettingsFragment.kt index 8ee36b6a6..dd023da20 100644 --- a/app/src/main/java/live/hms/app2/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/live/hms/app2/ui/settings/SettingsFragment.kt @@ -480,6 +480,24 @@ class SettingsFragment : Fragment() { forceSoftwareDecoder ) { commitHelper.setForceSoftwareDecoder(it) } + initSwitch( + EnumSet.of(SettingsMode.HOME), + settings.enableAEC, + enableEchoCancellation + ) { commitHelper.setEnableAEC(it) } + + initSwitch( + EnumSet.of(SettingsMode.HOME), + settings.enableNS, + enableNoiseSupression + ) { commitHelper.setEnableNS(it) } + + initSwitch( + EnumSet.of(SettingsMode.HOME), + settings.enableAGC, + enableAutomaticGainControl + ) { commitHelper.setEnableAGC(it) } + initSwitch( EnumSet.of(SettingsMode.HOME), diff --git a/app/src/main/java/live/hms/app2/ui/settings/SettingsStore.kt b/app/src/main/java/live/hms/app2/ui/settings/SettingsStore.kt index c96113f48..49003ae21 100644 --- a/app/src/main/java/live/hms/app2/ui/settings/SettingsStore.kt +++ b/app/src/main/java/live/hms/app2/ui/settings/SettingsStore.kt @@ -50,6 +50,9 @@ class SettingsStore(context: Context) { const val SHOW_STATS = "show-video-stats" const val DISABLE_AUTO_RESIZE = "disable-auto-resize" const val FORCE_SOFTWARE_DECODER = "force-software-decoder" + const val ENABLE_ECHO_CANCELLATION = "enable_echo_cancellation" + const val ENABLE_NOISE_SUPRESSION = "enable_noise_supression" + const val ENABLE_AUTOMATIC_GAIN_CONTROL = "enable_automatic_gain_control" val APPLY_CONSTRAINTS_KEYS = arrayOf( VIDEO_FRAME_RATE, @@ -134,6 +137,18 @@ class SettingsStore(context: Context) { get() = sharedPreferences.getBoolean(FORCE_SOFTWARE_DECODER, false) set(value) = putBoolean(FORCE_SOFTWARE_DECODER, value) + var enableAEC: Boolean + get() = sharedPreferences.getBoolean(ENABLE_ECHO_CANCELLATION, true) + set(value) = putBoolean(ENABLE_ECHO_CANCELLATION, value) + + var enableNS: Boolean + get() = sharedPreferences.getBoolean(ENABLE_NOISE_SUPRESSION, true) + set(value) = putBoolean(ENABLE_NOISE_SUPRESSION, value) + + var enableAGC: Boolean + get() = sharedPreferences.getBoolean(ENABLE_AUTOMATIC_GAIN_CONTROL, true) + set(value) = putBoolean(ENABLE_AUTOMATIC_GAIN_CONTROL, value) + var publishVideo: Boolean get() = sharedPreferences.getBoolean(PUBLISH_VIDEO, true) set(value) = putBoolean(PUBLISH_VIDEO, value) @@ -316,6 +331,9 @@ class SettingsStore(context: Context) { fun setShowStats(value: Boolean) = apply { editor.putBoolean(SHOW_STATS, value) } fun setDisableAutoResize(value: Boolean) = apply { editor.putBoolean(DISABLE_AUTO_RESIZE, value) } fun setForceSoftwareDecoder(value: Boolean) = apply { editor.putBoolean(FORCE_SOFTWARE_DECODER, value) } + fun setEnableAEC(value: Boolean) = apply { editor.putBoolean(ENABLE_ECHO_CANCELLATION, value) } + fun setEnableNS(value: Boolean) = apply { editor.putBoolean(ENABLE_NOISE_SUPRESSION, value) } + fun setEnableAGC(value: Boolean) = apply { editor.putBoolean(ENABLE_AUTOMATIC_GAIN_CONTROL, value) } fun commit() { diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index c004c762c..aff43fc4e 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -248,6 +248,31 @@ android:visibility="visible" /> + + + + + + + Show stats Disable Auto Resize Force Software Decoder + Enable echo_cancellation + Enable noise suppression + Enable automatic gain control ✋ Raise Hand PIP mode Lower Hand