@@ -610,7 +610,22 @@ void RewardsDOMHandler::SaveSetting(const base::ListValue* args) {
610
610
args->GetString (1 , &value);
611
611
612
612
if (key == " enabledMain" ) {
613
- rewards_service_->SetRewardsMainEnabled (value == " true" );
613
+ bool rewards_enabled = (value == " true" );
614
+
615
+ if (ads_service_) {
616
+ if (rewards_enabled) {
617
+ // When Rewards are enabled, set Ads enabled to whatever UI value is
618
+ bool ads_ui_enabled = ads_service_->is_ui_enabled ();
619
+ ads_service_->set_ads_enabled (ads_ui_enabled);
620
+ } else {
621
+ // When Rewards are disabled, cache UI value and disable Ads
622
+ bool ads_enabled = ads_service_->is_enabled ();
623
+ ads_service_->set_ads_ui_enabled (ads_enabled);
624
+ ads_service_->set_ads_enabled (rewards_enabled);
625
+ }
626
+ }
627
+
628
+ rewards_service_->SetRewardsMainEnabled (rewards_enabled);
614
629
}
615
630
616
631
if (key == " contributionMonthly" ) {
@@ -809,7 +824,7 @@ void RewardsDOMHandler::GetAdsData(const base::ListValue *args) {
809
824
base::DictionaryValue adsData;
810
825
811
826
bool ads_ui_enabled;
812
- bool ads_enabled = ads_service_->is_enabled ();
827
+ bool ads_enabled = ads_service_->is_ui_enabled ();
813
828
int ads_per_hour = ads_service_->ads_per_hour ();
814
829
815
830
#if BUILDFLAG(BRAVE_ADS_ENABLED)
@@ -835,6 +850,7 @@ void RewardsDOMHandler::SaveAdsSetting(const base::ListValue* args) {
835
850
836
851
if (key == " adsEnabled" ) {
837
852
ads_service_->set_ads_enabled (value == " true" );
853
+ ads_service_->set_ads_ui_enabled (value == " true" );
838
854
}
839
855
840
856
if (key == " adsPerHour" ) {
0 commit comments