@@ -94,7 +94,7 @@ class FireButtonActivity : DuckDuckGoActivity() {
9494 .flowWithLifecycle(lifecycle, Lifecycle .State .RESUMED )
9595 .onEach { viewState ->
9696 viewState.let {
97- updateAutomaticClearDataOptions(it.automaticallyClearData)
97+ updateAutomaticClearDataOptions(it.automaticallyClearData, it.clearDuckAiData )
9898 updateSelectedFireAnimation(it.selectedFireAnimation)
9999 updateClearDuckAiDataSetting(it.clearDuckAiData, it.showClearDuckAiDataSetting)
100100 }
@@ -106,8 +106,11 @@ class FireButtonActivity : DuckDuckGoActivity() {
106106 .launchIn(lifecycleScope)
107107 }
108108
109- private fun updateAutomaticClearDataOptions (automaticallyClearData : AutomaticallyClearData ) {
110- val clearWhatSubtitle = getString(automaticallyClearData.clearWhatOption.nameStringResourceId())
109+ private fun updateAutomaticClearDataOptions (
110+ automaticallyClearData : AutomaticallyClearData ,
111+ clearDuckAiData : Boolean ,
112+ ) {
113+ val clearWhatSubtitle = getString(automaticallyClearData.clearWhatOption.nameStringResourceId(clearDuckAiData))
111114 binding.automaticallyClearWhatSetting.setSecondaryText(clearWhatSubtitle)
112115
113116 val clearWhenSubtitle = getString(automaticallyClearData.clearWhenOption.nameStringResourceId())
@@ -122,26 +125,33 @@ class FireButtonActivity : DuckDuckGoActivity() {
122125 binding.selectedFireAnimationSetting.setSecondaryText(subtitle)
123126 }
124127
125- private fun updateClearDuckAiDataSetting (enabled : Boolean , isVisible : Boolean ) {
128+ private fun updateClearDuckAiDataSetting (
129+ enabled : Boolean ,
130+ isVisible : Boolean ,
131+ ) {
126132 binding.clearDuckAiDataSetting.setIsChecked(enabled)
127133 binding.clearDuckAiDataSetting.visibility = if (isVisible) View .VISIBLE else View .GONE
128134 }
129135
130136 private fun processCommand (it : Command ) {
131137 when (it) {
132138 is Command .LaunchFireproofWebsites -> launchFireproofWebsites()
133- is Command .ShowClearWhatDialog -> launchAutomaticallyClearWhatDialog(it.option)
139+ is Command .ShowClearWhatDialog -> launchAutomaticallyClearWhatDialog(it.option, it.clearDuckAi )
134140 is Command .ShowClearWhenDialog -> launchAutomaticallyClearWhenDialog(it.option)
135141 is Command .LaunchFireAnimationSettings -> launchFireAnimationSelector(it.animation)
136142 }
137143 }
138144
139145 @StringRes
140- private fun ClearWhatOption.nameStringResourceId (): Int {
146+ private fun ClearWhatOption.nameStringResourceId (clearDuckAi : Boolean ): Int {
141147 return when (this ) {
142148 ClearWhatOption .CLEAR_NONE -> R .string.settingsAutomaticallyClearWhatOptionNone
143149 ClearWhatOption .CLEAR_TABS_ONLY -> R .string.settingsAutomaticallyClearWhatOptionTabs
144- ClearWhatOption .CLEAR_TABS_AND_DATA -> R .string.settingsAutomaticallyClearWhatOptionTabsAndData
150+ ClearWhatOption .CLEAR_TABS_AND_DATA -> if (clearDuckAi) {
151+ R .string.settingsAutomaticallyClearWhatOptionTabsAndDataAndChats
152+ } else {
153+ R .string.settingsAutomaticallyClearWhatOptionTabsAndData
154+ }
145155 }
146156 }
147157
@@ -162,15 +172,22 @@ class FireButtonActivity : DuckDuckGoActivity() {
162172 startActivity(FireproofWebsitesActivity .intent(this ), options)
163173 }
164174
165- private fun launchAutomaticallyClearWhatDialog (option : ClearWhatOption ) {
175+ private fun launchAutomaticallyClearWhatDialog (
176+ option : ClearWhatOption ,
177+ clearDuckAi : Boolean ,
178+ ) {
166179 val currentOption = option.getOptionIndex()
167180 RadioListAlertDialogBuilder (this )
168181 .setTitle(R .string.settingsAutomaticallyClearWhatDialogTitle)
169182 .setOptions(
170183 listOf (
171184 R .string.settingsAutomaticallyClearWhatOptionNone,
172185 R .string.settingsAutomaticallyClearWhatOptionTabs,
173- R .string.settingsAutomaticallyClearWhatOptionTabsAndData,
186+ if (clearDuckAi) {
187+ R .string.settingsAutomaticallyClearWhatOptionTabsAndDataAndChats
188+ } else {
189+ R .string.settingsAutomaticallyClearWhatOptionTabsAndData
190+ },
174191 ),
175192 currentOption,
176193 )
0 commit comments