Adds enabled migration

This commit is contained in:
NejcZdovc
2020-10-22 08:46:01 +02:00
parent 374b25949e
commit 0c5eb0067d
10 changed files with 129 additions and 4 deletions
@@ -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();
+1 -1
View File
@@ -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
+2
View File
@@ -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_