Skip to content

Commit a2f8902

Browse files
authored
Fix toggle pixel fired when entering Duck.ai settings (#5969)
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1209630328746101?focus=true ### Description - Fixes `aichat_menu_setting_on` being fired when entering Duck.ai settings. ### Steps to test this PR - [ ] Open Duck.ai settings - [ ] Verify that `aichat_menu_setting_on`/`aichat_menu_setting_on` are not fired - [ ] Toggle the “Show Duck.ai in Browser Menu" setting - [ ] Verify that `aichat_menu_setting_on`/`aichat_menu_setting_on` are fired
1 parent c457d58 commit a2f8902

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

duckchat/duckchat-impl/src/main/java/com/duckduckgo/duckchat/impl/ui/DuckChatSettingsActivity.kt

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package com.duckduckgo.duckchat.impl.ui
1818

1919
import android.os.Bundle
2020
import android.view.View
21+
import android.widget.CompoundButton
2122
import androidx.core.view.isVisible
2223
import androidx.lifecycle.Lifecycle
2324
import androidx.lifecycle.flowWithLifecycle
@@ -48,6 +49,16 @@ class DuckChatSettingsActivity : DuckDuckGoActivity() {
4849
private val viewModel: DuckChatSettingsViewModel by bindViewModel()
4950
private val binding: ActivityDuckChatSettingsBinding by viewBinding()
5051

52+
private val menuToggleListener =
53+
CompoundButton.OnCheckedChangeListener { _, isChecked ->
54+
viewModel.onShowDuckChatInMenuToggled(isChecked)
55+
}
56+
57+
private val addressBarToggleListener =
58+
CompoundButton.OnCheckedChangeListener { _, isChecked ->
59+
viewModel.onShowDuckChatInAddressBarToggled(isChecked)
60+
}
61+
5162
@Inject
5263
lateinit var globalActivityStarter: GlobalActivityStarter
5364

@@ -81,12 +92,8 @@ class DuckChatSettingsActivity : DuckDuckGoActivity() {
8192
}
8293

8394
private fun configureUiEventHandlers() {
84-
binding.showDuckChatInMenuToggle.setOnCheckedChangeListener { _, isChecked ->
85-
viewModel.onShowDuckChatInMenuToggled(isChecked)
86-
}
87-
binding.showDuckChatInAddressBarToggle.setOnCheckedChangeListener { _, isChecked ->
88-
viewModel.onShowDuckChatInAddressBarToggled(isChecked)
89-
}
95+
binding.showDuckChatInMenuToggle.setOnCheckedChangeListener(menuToggleListener)
96+
binding.showDuckChatInAddressBarToggle.setOnCheckedChangeListener(addressBarToggleListener)
9097
}
9198

9299
private fun observeViewModel() {
@@ -102,8 +109,8 @@ class DuckChatSettingsActivity : DuckDuckGoActivity() {
102109
}
103110

104111
private fun renderViewState(viewState: ViewState) {
105-
binding.showDuckChatInMenuToggle.setIsChecked(viewState.showInBrowserMenu)
106-
binding.showDuckChatInAddressBarToggle.setIsChecked(viewState.showInAddressBar)
112+
binding.showDuckChatInMenuToggle.quietlySetIsChecked(viewState.showInBrowserMenu, menuToggleListener)
113+
binding.showDuckChatInAddressBarToggle.quietlySetIsChecked(viewState.showInAddressBar, addressBarToggleListener)
107114
}
108115

109116
private fun processCommand(command: DuckChatSettingsViewModel.Command) {

0 commit comments

Comments
 (0)