From 1bdf525f7a63901e89688fd6e4e8d7fad785046b Mon Sep 17 00:00:00 2001 From: Terry Mancey Date: Mon, 8 Jul 2019 16:31:41 +0100 Subject: [PATCH] Fixed failed payment balances do not retry unless browser is restarted or ad grant is claimed --- .../src/bat/confirmations/internal/ads_rewards.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/vendor/bat-native-confirmations/src/bat/confirmations/internal/ads_rewards.cc b/vendor/bat-native-confirmations/src/bat/confirmations/internal/ads_rewards.cc index 0d0cbfb2977e..36300f46cafd 100644 --- a/vendor/bat-native-confirmations/src/bat/confirmations/internal/ads_rewards.cc +++ b/vendor/bat-native-confirmations/src/bat/confirmations/internal/ads_rewards.cc @@ -51,6 +51,8 @@ void AdsRewards::Update( return; } + CancelRetry(); + BLOG(INFO) << "Fetch ads rewards"; GetPaymentBalance(); } @@ -100,7 +102,7 @@ bool AdsRewards::OnTimer(const uint32_t timer_id) { << " retry_timer_id_: " << std::to_string(retry_timer_id_) << std::endl; if (timer_id == retry_timer_id_) { - Retry(); + GetPaymentBalance(); return true; } @@ -238,14 +240,13 @@ void AdsRewards::OnAdsRewards(const Result result) { BLOG(INFO) << "Successfully retrieved ads rewards"; + retry_timer_id_ = 0; next_retry_start_timer_in_ = 0; Update(); } void AdsRewards::Retry() { - CancelRetry(); - if (next_retry_start_timer_in_ == 0) { next_retry_start_timer_in_ = 2 * base::Time::kSecondsPerMinute; } else { @@ -273,6 +274,8 @@ void AdsRewards::CancelRetry() { confirmations_client_->KillTimer(retry_timer_id_); retry_timer_id_ = 0; + + next_retry_backoff_count_ = 0; } bool AdsRewards::IsRetrying() const {