@@ -96,7 +96,7 @@ void onVisitSavedDummy(ledger::Result result,
96
96
void BatPublishers::saveVisit (const std::string& publisher_id,
97
97
const ledger::VisitData& visit_data,
98
98
const uint64_t & duration) {
99
- if (!saveVisitAllowed () || publisher_id.empty ()) {
99
+ if (!ledger_-> GetRewardsMainEnabled () || publisher_id.empty ()) {
100
100
return ;
101
101
}
102
102
@@ -228,34 +228,50 @@ void BatPublishers::saveVisitInternal(
228
228
visit_data.local_year ));
229
229
}
230
230
231
- if (!ignoreMinTime (publisher_id) && duration < getPublisherMinVisitTime ()) {
232
- duration = 0 ;
233
- }
234
-
235
231
publisher_info->favicon_url = visit_data.favicon_url ;
236
232
publisher_info->name = visit_data.name ;
237
233
publisher_info->provider = visit_data.provider ;
238
234
publisher_info->url = visit_data.url ;
239
- publisher_info->visits += 1 ;
240
- if (!isExcluded (publisher_info->id , publisher_info->excluded )) {
241
- publisher_info->duration += duration;
242
- } else {
235
+ publisher_info->verified = isVerified (publisher_info->id );
236
+
237
+ bool excluded = isExcluded (publisher_info->id , publisher_info->excluded );
238
+ bool ignore_time = ignoreMinTime (publisher_id);
239
+ if (duration == 0 ) {
240
+ ignore_time = false ;
241
+ }
242
+ std::unique_ptr<ledger::PublisherInfo> panel_info = nullptr ;
243
+
244
+ if (excluded) {
243
245
publisher_info->excluded = ledger::PUBLISHER_EXCLUDE::EXCLUDED;
244
- if (new_visit) {
245
- publisher_info->duration = 0 ; // don't log auto-excluded
246
- }
247
246
}
248
- publisher_info->score += concaveScore (duration);
249
- publisher_info->verified = isVerified (publisher_info->id );
250
- publisher_info->reconcile_stamp = ledger_->GetReconcileStamp ();
251
247
252
- auto media_info = std::make_unique<ledger::PublisherInfo>(*publisher_info);
248
+ // for new visits that are excluded or are not long enough or ac is off
249
+ if (new_visit &&
250
+ (excluded ||
251
+ !saveVisitAllowed () ||
252
+ (duration < getPublisherMinVisitTime () &&
253
+ !ignore_time))) {
254
+ panel_info = std::make_unique<ledger::PublisherInfo>(*publisher_info);
255
+ ledger_->SetPublisherInfo (std::move (publisher_info),
256
+ std::bind (&onVisitSavedDummy, _1, _2));
257
+ } else if (!excluded &&
258
+ saveVisitAllowed () &&
259
+ (duration > getPublisherMinVisitTime () || ignore_time)) {
260
+ publisher_info->visits += 1 ;
261
+ publisher_info->duration += duration;
262
+ publisher_info->score += concaveScore (duration);
263
+ publisher_info->reconcile_stamp = ledger_->GetReconcileStamp ();
253
264
254
- ledger_->SetActivityInfo (std::move (publisher_info),
255
- std::bind (&onVisitSavedDummy, _1, _2));
265
+ panel_info = std::make_unique<ledger::PublisherInfo>(*publisher_info);
266
+ ledger_->SetActivityInfo (std::move (publisher_info),
267
+ std::bind (&onVisitSavedDummy, _1, _2));
268
+ }
256
269
257
- if (window_id > 0 ) {
258
- onPublisherActivity (ledger::Result::LEDGER_OK, std::move (media_info), window_id, visit_data);
270
+ if (panel_info && window_id > 0 ) {
271
+ onPublisherActivity (ledger::Result::LEDGER_OK,
272
+ std::move (panel_info),
273
+ window_id,
274
+ visit_data);
259
275
}
260
276
}
261
277
@@ -384,9 +400,8 @@ void BatPublishers::OnRestorePublishersInternal(bool success) {
384
400
setNumExcludedSites (0 );
385
401
OnExcludedSitesChanged ();
386
402
} else {
387
- ledger_->Log (__func__,
388
- ledger::LogLevel::LOG_ERROR,
389
- {" Could not restore publishers." });
403
+ BLOG (ledger_, ledger::LogLevel::LOG_ERROR) <<
404
+ " Could not restore publishers." ;
390
405
}
391
406
}
392
407
@@ -778,7 +793,7 @@ void BatPublishers::getPublisherActivityFromUrl(uint64_t windowId, const ledger:
778
793
new_data.url = visit_data.url ;
779
794
new_data.favicon_url = " " ;
780
795
781
- ledger_->GetActivityInfo (filter,
796
+ ledger_->GetPanelPublisherInfo (filter,
782
797
std::bind (&BatPublishers::onPublisherActivity, this , _1, _2, windowId, new_data));
783
798
}
784
799
0 commit comments