Skip to content

Commit

Permalink
Moves GetActivityInfoList into ledger code
Browse files Browse the repository at this point in the history
  • Loading branch information
NejcZdovc authored and pilgrim-brave committed Apr 15, 2019
1 parent 272aacb commit d2526d2
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 9 deletions.
22 changes: 14 additions & 8 deletions components/brave_rewards/browser/rewards_service_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -488,20 +488,25 @@ void RewardsServiceImpl::GetContentSiteList(
filter.non_verified = allow_non_verified;
filter.min_visits = min_visits;

GetActivityInfoList(start, limit,
filter,
std::bind(&RewardsServiceImpl::OnGetContentSiteList,
this, callback, _1, _2));
bat_ledger_->GetActivityInfoList(
start,
limit,
filter.ToJson(),
base::BindOnce(&RewardsServiceImpl::OnGetContentSiteList,
AsWeakPtr(),
callback));
}

void RewardsServiceImpl::OnGetContentSiteList(
const GetContentSiteListCallback& callback,
const ledger::PublisherInfoList& list,
const std::vector<std::string>& json_list,
uint32_t next_record) {
std::unique_ptr<ContentSiteList> site_list(new ContentSiteList);
for (ledger::PublisherInfoList::const_iterator it =
list.begin(); it != list.end(); ++it) {
site_list->push_back(PublisherInfoToContentSite(*it));

for (auto &json_publisher : json_list) {
ledger::PublisherInfo publisher;
publisher.loadFromJson(json_publisher);
site_list->push_back(PublisherInfoToContentSite(publisher));
}

callback.Run(std::move(site_list), next_record);
Expand Down Expand Up @@ -1118,6 +1123,7 @@ void RewardsServiceImpl::OnActivityInfoLoaded(
if (list.size() == 0) {
// we need to try to get at least publisher info in this case
// this way we preserve publisher info
// TODO needs to go through ledger code
LoadPublisherInfo(publisher_key, callback);
return;
} else if (list.size() > 1) {
Expand Down
2 changes: 1 addition & 1 deletion components/brave_rewards/browser/rewards_service_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ class RewardsServiceImpl : public RewardsService,
const GetContentSiteListCallback& callback) override;
void OnGetContentSiteList(
const GetContentSiteListCallback& callback,
const ledger::PublisherInfoList& list,
const std::vector<std::string>& json_list,
uint32_t next_record);
void OnLoad(SessionID tab_id, const GURL& url) override;
void OnUnload(SessionID tab_id) override;
Expand Down
35 changes: 35 additions & 0 deletions components/services/bat_ledger/bat_ledger_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -476,4 +476,39 @@ void BatLedgerImpl::GetOneTimeTips(GetOneTimeTipsCallback callback) {
BatLedgerImpl::OnGetOneTimeTips, holder, _1, _2));
}

// static
void BatLedgerImpl::OnGetActivityInfoList(
CallbackHolder<GetActivityInfoListCallback>* holder,
const ledger::PublisherInfoList& list,
uint32_t num) {
std::vector<std::string> json_list;
for (auto const& item : list) {
json_list.push_back(item.ToJson());
}

if (holder->is_valid()) {
std::move(holder->get()).Run(json_list, num);
}

delete holder;
}

void BatLedgerImpl::GetActivityInfoList(
uint32_t start,
uint32_t limit,
const std::string& json_filter,
GetActivityInfoListCallback callback) {
auto* holder = new CallbackHolder<GetActivityInfoListCallback>(
AsWeakPtr(), std::move(callback));

ledger::ActivityInfoFilter filter;
if (filter.loadFromJson(json_filter)) {
ledger_->GetActivityInfoList(
start,
limit,
filter,
std::bind(BatLedgerImpl::OnGetActivityInfoList, holder, _1, _2));
}
}

} // namespace bat_ledger
11 changes: 11 additions & 0 deletions components/services/bat_ledger/bat_ledger_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,12 @@ class BatLedgerImpl : public mojom::BatLedger,

void GetOneTimeTips(GetOneTimeTipsCallback callback) override;

void GetActivityInfoList(
uint32_t start,
uint32_t limit,
const std::string& json_filter,
GetActivityInfoListCallback callback) override;

private:
void SetCatalogIssuers(const std::string& info) override;
void ConfirmAd(const std::string& info) override;
Expand Down Expand Up @@ -192,6 +198,11 @@ class BatLedgerImpl : public mojom::BatLedger,
const ledger::PublisherInfoList& list,
uint32_t num);

static void OnGetActivityInfoList(
CallbackHolder<GetActivityInfoListCallback>* holder,
const ledger::PublisherInfoList& list,
uint32_t num);

std::unique_ptr<BatLedgerClientMojoProxy> bat_ledger_client_mojo_proxy_;
std::unique_ptr<ledger::Ledger> ledger_;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@ interface BatLedger {

GetRecurringTips() => (array<string> list);
GetOneTimeTips() => (array<string> list);

GetActivityInfoList(uint32 start, uint32 limit, string json_filter) =>
(array<string> list, uint32 number);
};

interface BatLedgerClient {
Expand Down

0 comments on commit d2526d2

Please sign in to comment.