Adds enabled migration
This commit is contained in:
@@ -1346,7 +1346,8 @@ bool AdsServiceImpl::MigratePrefs(
|
||||
{{3, 4}, &AdsServiceImpl::MigratePrefsVersion3To4},
|
||||
{{4, 5}, &AdsServiceImpl::MigratePrefsVersion4To5},
|
||||
{{5, 6}, &AdsServiceImpl::MigratePrefsVersion5To6},
|
||||
{{6, 7}, &AdsServiceImpl::MigratePrefsVersion6To7}
|
||||
{{6, 7}, &AdsServiceImpl::MigratePrefsVersion6To7},
|
||||
{{7, 8}, &AdsServiceImpl::MigratePrefsVersion7To8}
|
||||
};
|
||||
|
||||
// Cycle through migration paths, i.e. if upgrading from version 2 to 5 we
|
||||
@@ -1550,6 +1551,14 @@ void AdsServiceImpl::MigratePrefsVersion6To7() {
|
||||
SetEnabled(false);
|
||||
}
|
||||
|
||||
|
||||
void AdsServiceImpl::MigratePrefsVersion7To8() {
|
||||
const bool rewards_enabled = GetBooleanPref(brave_rewards::prefs::kEnabled);
|
||||
if (!rewards_enabled) {
|
||||
SetEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
int AdsServiceImpl::GetPrefsVersion() const {
|
||||
return GetIntegerPref(prefs::kVersion);
|
||||
}
|
||||
|
||||
@@ -326,6 +326,7 @@ class AdsServiceImpl : public AdsService,
|
||||
void MigratePrefsVersion4To5();
|
||||
void MigratePrefsVersion5To6();
|
||||
void MigratePrefsVersion6To7();
|
||||
void MigratePrefsVersion7To8();
|
||||
int GetPrefsVersion() const;
|
||||
|
||||
bool IsUpgradingFromPreBraveAdsBuild();
|
||||
|
||||
@@ -34,7 +34,7 @@ const int kSupportedCountryCodesSchemaVersionNumber = 9;
|
||||
// Stores the preferences version number
|
||||
const char kVersion[] = "brave.brave_ads.prefs.version";
|
||||
|
||||
const int kCurrentVersionNumber = 7;
|
||||
const int kCurrentVersionNumber = 8;
|
||||
|
||||
} // namespace prefs
|
||||
|
||||
|
||||
@@ -396,6 +396,10 @@ void RewardsServiceImpl::InitPrefChangeRegistrar() {
|
||||
}
|
||||
|
||||
void RewardsServiceImpl::OnPreferenceChanged(const std::string& key) {
|
||||
if (profile_->GetPrefs()->GetInteger(prefs::kVersion) == -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
EnableGreaseLion();
|
||||
|
||||
if (key == prefs::kAutoContributeEnabled) {
|
||||
|
||||
@@ -249,4 +249,44 @@ IN_PROC_BROWSER_TEST_F(RewardsStateBrowserTest, State_2) {
|
||||
false);
|
||||
}
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(RewardsStateBrowserTest, V8RewardsEnabledACEnabled) {
|
||||
profile_->GetPrefs()->SetInteger("brave.rewards.version", -1);
|
||||
profile_->GetPrefs()->SetBoolean("brave.rewards.enabled", true);
|
||||
profile_->GetPrefs()->SetBoolean("brave.rewards.ac.enabled", true);
|
||||
rewards_browsertest_util::StartProcess(rewards_service_);
|
||||
EXPECT_EQ(
|
||||
profile_->GetPrefs()->GetBoolean("brave.rewards.ac.enabled"),
|
||||
true);
|
||||
}
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(RewardsStateBrowserTest, V8RewardsEnabledACDisabled) {
|
||||
profile_->GetPrefs()->SetInteger("brave.rewards.version", -1);
|
||||
profile_->GetPrefs()->SetBoolean("brave.rewards.enabled", true);
|
||||
profile_->GetPrefs()->SetBoolean("brave.rewards.ac.enabled", false);
|
||||
rewards_browsertest_util::StartProcess(rewards_service_);
|
||||
EXPECT_EQ(
|
||||
profile_->GetPrefs()->GetBoolean("brave.rewards.ac.enabled"),
|
||||
false);
|
||||
}
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(RewardsStateBrowserTest, V8RewardsDisabledACEnabled) {
|
||||
profile_->GetPrefs()->SetInteger("brave.rewards.version", -1);
|
||||
profile_->GetPrefs()->SetBoolean("brave.rewards.enabled", false);
|
||||
profile_->GetPrefs()->SetBoolean("brave.rewards.ac.enabled", true);
|
||||
rewards_browsertest_util::StartProcess(rewards_service_);
|
||||
EXPECT_EQ(
|
||||
profile_->GetPrefs()->GetBoolean("brave.rewards.ac.enabled"),
|
||||
false);
|
||||
}
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(RewardsStateBrowserTest, V8RewardsDisabledACDisabled) {
|
||||
profile_->GetPrefs()->SetInteger("brave.rewards.version", -1);
|
||||
profile_->GetPrefs()->SetBoolean("brave.rewards.enabled", false);
|
||||
profile_->GetPrefs()->SetBoolean("brave.rewards.ac.enabled", false);
|
||||
rewards_browsertest_util::StartProcess(rewards_service_);
|
||||
EXPECT_EQ(
|
||||
profile_->GetPrefs()->GetBoolean("brave.rewards.ac.enabled"),
|
||||
false);
|
||||
}
|
||||
|
||||
} // namespace rewards_browsertest
|
||||
|
||||
Vendored
+2
@@ -451,6 +451,8 @@ source_set("ledger") {
|
||||
"src/bat/ledger/internal/state/state_migration_v6.h",
|
||||
"src/bat/ledger/internal/state/state_migration_v7.cc",
|
||||
"src/bat/ledger/internal/state/state_migration_v7.h",
|
||||
"src/bat/ledger/internal/state/state_migration_v8.cc",
|
||||
"src/bat/ledger/internal/state/state_migration_v8.h",
|
||||
"src/bat/ledger/internal/uphold/uphold.h",
|
||||
"src/bat/ledger/internal/uphold/uphold.cc",
|
||||
"src/bat/ledger/internal/uphold/uphold_authorization.h",
|
||||
|
||||
@@ -12,7 +12,7 @@ using std::placeholders::_1;
|
||||
|
||||
namespace {
|
||||
|
||||
const int kCurrentVersionNumber = 7;
|
||||
const int kCurrentVersionNumber = 8;
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -27,8 +27,9 @@ StateMigration::StateMigration(LedgerImpl* ledger) :
|
||||
v5_(std::make_unique<StateMigrationV5>(ledger)),
|
||||
v6_(std::make_unique<StateMigrationV6>(ledger)),
|
||||
v7_(std::make_unique<StateMigrationV7>(ledger)),
|
||||
v8_(std::make_unique<StateMigrationV8>(ledger)),
|
||||
ledger_(ledger) {
|
||||
DCHECK(v1_ && v2_ && v3_ && v4_ && v5_ && v6_ && v7_);
|
||||
DCHECK(v1_ && v2_ && v3_ && v4_ && v5_ && v6_ && v7_ && v8_);
|
||||
}
|
||||
|
||||
StateMigration::~StateMigration() = default;
|
||||
@@ -109,6 +110,10 @@ void StateMigration::Migrate(ledger::ResultCallback callback) {
|
||||
v7_->Migrate(migrate_callback);
|
||||
return;
|
||||
}
|
||||
case 8: {
|
||||
v8_->Migrate(migrate_callback);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
BLOG(0, "Migration version is not handled " << new_version);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "bat/ledger/internal/state/state_migration_v5.h"
|
||||
#include "bat/ledger/internal/state/state_migration_v6.h"
|
||||
#include "bat/ledger/internal/state/state_migration_v7.h"
|
||||
#include "bat/ledger/internal/state/state_migration_v8.h"
|
||||
#include "bat/ledger/ledger.h"
|
||||
|
||||
namespace ledger {
|
||||
@@ -47,6 +48,7 @@ class StateMigration {
|
||||
std::unique_ptr<StateMigrationV5> v5_;
|
||||
std::unique_ptr<StateMigrationV6> v6_;
|
||||
std::unique_ptr<StateMigrationV7> v7_;
|
||||
std::unique_ptr<StateMigrationV8> v8_;
|
||||
LedgerImpl* ledger_; // NOT OWNED
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
/* Copyright (c) 2020 The Brave Authors. All rights reserved.
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
#include "bat/ledger/internal/state/state_migration_v8.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "bat/ledger/internal/ledger_impl.h"
|
||||
#include "bat/ledger/internal/state/state_keys.h"
|
||||
|
||||
namespace ledger {
|
||||
namespace state {
|
||||
|
||||
StateMigrationV8::StateMigrationV8(LedgerImpl* ledger) :
|
||||
ledger_(ledger) {
|
||||
}
|
||||
|
||||
StateMigrationV8::~StateMigrationV8() = default;
|
||||
|
||||
void StateMigrationV8::Migrate(ledger::ResultCallback callback) {
|
||||
const bool enabled = ledger_->ledger_client()->GetBooleanState("enabled");
|
||||
|
||||
if (!enabled) {
|
||||
ledger_->ledger_client()->SetBooleanState(kAutoContributeEnabled, false);
|
||||
}
|
||||
|
||||
callback(type::Result::LEDGER_OK);
|
||||
}
|
||||
|
||||
} // namespace state
|
||||
} // namespace ledger
|
||||
@@ -0,0 +1,30 @@
|
||||
/* Copyright (c) 2020 The Brave Authors. All rights reserved.
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef BRAVELEDGER_BAT_STATE_STATE_MIGRATION_V8_H_
|
||||
#define BRAVELEDGER_BAT_STATE_STATE_MIGRATION_V8_H_
|
||||
|
||||
#include "bat/ledger/ledger.h"
|
||||
|
||||
namespace ledger {
|
||||
class LedgerImpl;
|
||||
|
||||
namespace state {
|
||||
|
||||
class StateMigrationV8 {
|
||||
public:
|
||||
explicit StateMigrationV8(LedgerImpl* ledger);
|
||||
~StateMigrationV8();
|
||||
|
||||
void Migrate(ledger::ResultCallback callback);
|
||||
|
||||
private:
|
||||
LedgerImpl* ledger_; // NOT OWNED
|
||||
};
|
||||
|
||||
} // namespace state
|
||||
} // namespace ledger
|
||||
|
||||
#endif // BRAVELEDGER_BAT_STATE_STATE_MIGRATION_V8_H_
|
||||
Reference in New Issue
Block a user