From b690109394fd96f125b95d5b73dec6923500ae3d Mon Sep 17 00:00:00 2001 From: samartnik Date: Thu, 1 Aug 2019 14:49:25 -0400 Subject: [PATCH] Fixed grant type for Android --- .../rewards_notification_service_impl.cc | 6 +++++- .../browser/rewards_service_impl.cc | 2 +- .../services/bat_ledger/bat_ledger_impl.cc | 4 ++-- .../services/bat_ledger/bat_ledger_impl.h | 2 +- .../public/interfaces/bat_ledger.mojom | 2 +- .../include/bat/ledger/ledger.h | 3 ++- .../src/bat/ledger/internal/bat_helper.cc | 21 +++++++++++-------- .../src/bat/ledger/internal/bat_helper.h | 3 +-- .../src/bat/ledger/internal/grants.cc | 2 +- .../src/bat/ledger/internal/ledger_impl.cc | 4 ++-- .../src/bat/ledger/internal/ledger_impl.h | 2 +- 11 files changed, 29 insertions(+), 22 deletions(-) diff --git a/components/brave_rewards/browser/rewards_notification_service_impl.cc b/components/brave_rewards/browser/rewards_notification_service_impl.cc index 62a68053bfc1..188b76ee6c58 100644 --- a/components/brave_rewards/browser/rewards_notification_service_impl.cc +++ b/components/brave_rewards/browser/rewards_notification_service_impl.cc @@ -308,7 +308,11 @@ void RewardsNotificationServiceImpl::OnGetAllNotifications( } bool RewardsNotificationServiceImpl::IsUGPGrant(const std::string& grant_type) { - return (grant_type == "ugp"); +#if defined(OS_ANDROID) + return (grant_type == "android"); +#else + return (grant_type == "ugp"); +#endif } std::string RewardsNotificationServiceImpl::GetGrantIdPrefix( diff --git a/components/brave_rewards/browser/rewards_service_impl.cc b/components/brave_rewards/browser/rewards_service_impl.cc index b175f5291b23..e0c2113d5c9e 100644 --- a/components/brave_rewards/browser/rewards_service_impl.cc +++ b/components/brave_rewards/browser/rewards_service_impl.cc @@ -3691,7 +3691,7 @@ void RewardsServiceImpl::OnGrantViaSafetynetCheck(const std::string& promotion_i void RewardsServiceImpl::GrantAttestationResult(const std::string& promotion_id, bool result, const std::string& result_string) { if (result) { - return bat_ledger_->ApplySafetynetToken(result_string); + return bat_ledger_->ApplySafetynetToken(promotion_id, result_string); } else { LOG(ERROR) << "GrantAttestationResult error: " << result_string; TriggerOnGrantFinish(ledger::Result::SAFETYNET_ATTESTATION_FAILED, nullptr); diff --git a/components/services/bat_ledger/bat_ledger_impl.cc b/components/services/bat_ledger/bat_ledger_impl.cc index bf3f52fb3edb..432ce23ac969 100644 --- a/components/services/bat_ledger/bat_ledger_impl.cc +++ b/components/services/bat_ledger/bat_ledger_impl.cc @@ -265,8 +265,8 @@ void BatLedgerImpl::GetGrantViaSafetynetCheck(const std::string& promotion_id) { ledger_->GetGrantViaSafetynetCheck(promotion_id); } -void BatLedgerImpl::ApplySafetynetToken(const std::string& result_string) { - ledger_->ApplySafetynetToken(result_string); +void BatLedgerImpl::ApplySafetynetToken(const std::string& promotion_id, const std::string& result_string) { + ledger_->ApplySafetynetToken(promotion_id, result_string); } diff --git a/components/services/bat_ledger/bat_ledger_impl.h b/components/services/bat_ledger/bat_ledger_impl.h index 2b0f0dcbe403..98281577cefe 100644 --- a/components/services/bat_ledger/bat_ledger_impl.h +++ b/components/services/bat_ledger/bat_ledger_impl.h @@ -131,7 +131,7 @@ class BatLedgerImpl : public mojom::BatLedger, HasSufficientBalanceToReconcileCallback callback) override; void GetGrantViaSafetynetCheck(const std::string& promotion_id) override; - void ApplySafetynetToken(const std::string& result_string) override; + void ApplySafetynetToken(const std::string& promotion_id, const std::string& result_string) override; void GetTransactionHistory( GetTransactionHistoryCallback callback) override; diff --git a/components/services/bat_ledger/public/interfaces/bat_ledger.mojom b/components/services/bat_ledger/public/interfaces/bat_ledger.mojom index 52f05b53ab1c..0f3d9db50326 100644 --- a/components/services/bat_ledger/public/interfaces/bat_ledger.mojom +++ b/components/services/bat_ledger/public/interfaces/bat_ledger.mojom @@ -70,7 +70,7 @@ interface BatLedger { SolveGrantCaptcha(string solution, string promotionId); GetGrantViaSafetynetCheck(string promotion_id); - ApplySafetynetToken(string result_string); + ApplySafetynetToken(string promotion_id, string result_string); SetRewardsMainEnabled(bool enabled); SetPublisherMinVisitTime(uint64 duration_in_seconds); diff --git a/vendor/bat-native-ledger/include/bat/ledger/ledger.h b/vendor/bat-native-ledger/include/bat/ledger/ledger.h index 7200118e7baa..253beda19c1e 100644 --- a/vendor/bat-native-ledger/include/bat/ledger/ledger.h +++ b/vendor/bat-native-ledger/include/bat/ledger/ledger.h @@ -179,7 +179,8 @@ class LEDGER_EXPORT Ledger { const std::vector& headers, GetGrantCaptchaCallback callback) const = 0; - virtual void ApplySafetynetToken(const std::string& token) const = 0; + virtual void ApplySafetynetToken(const std::string& promotion_id, + const std::string& token) const = 0; virtual void GetGrantViaSafetynetCheck(const std::string& promotion_id) const = 0; diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/bat_helper.cc b/vendor/bat-native-ledger/src/bat/ledger/internal/bat_helper.cc index 90ae7606a4c3..5b8a0fa10f06 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/bat_helper.cc +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/bat_helper.cc @@ -1017,15 +1017,11 @@ GRANT::GRANT(const GRANT &properties) { type = properties.type; } -bool GRANT::loadFromJsonSafetyNet(const std::string& json) { - return loadFromJsonInternal(json, true); -} - bool GRANT::loadFromJson(const std::string & json) { - return loadFromJsonInternal(json, false); + return loadFromJsonInternal(json); } -bool GRANT::loadFromJsonInternal(const std::string& json, bool is_safetynet_check) { +bool GRANT::loadFromJsonInternal(const std::string& json) { rapidjson::Document d; d.Parse(json.c_str()); @@ -1041,6 +1037,10 @@ bool GRANT::loadFromJsonInternal(const std::string& json, bool is_safetynet_chec if (!error) { promotionId = d["promotionId"].GetString(); + + if (d.HasMember("type") && d["type"].IsString()){ + type = d["type"].GetString(); + } return !error; } @@ -1048,17 +1048,20 @@ bool GRANT::loadFromJsonInternal(const std::string& json, bool is_safetynet_chec error = !( d.HasMember("altcurrency") && d["altcurrency"].IsString() && d.HasMember("expiryTime") && d["expiryTime"].IsNumber() && - d.HasMember("probi") && d["probi"].IsString() && - (is_safetynet_check || (d.HasMember("type") && d["type"].IsString()))); + d.HasMember("probi") && d["probi"].IsString()); if (!error) { altcurrency = d["altcurrency"].GetString(); expiryTime = d["expiryTime"].GetUint64(); probi = d["probi"].GetString(); - if (!is_safetynet_check) { + if (d.HasMember("type") && d["type"].IsString()) { type = d["type"].GetString(); } else { +#if defined(OS_ANDROID) + type = "android"; +#else type = "ugp"; +#endif } } diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/bat_helper.h b/vendor/bat-native-ledger/src/bat/ledger/internal/bat_helper.h index 182294b0acef..2d9ac45e2683 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/bat_helper.h +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/bat_helper.h @@ -155,14 +155,13 @@ struct GRANT { // load from json string bool loadFromJson(const std::string & json); - bool loadFromJsonSafetyNet(const std::string& json); std::string altcurrency; std::string probi; uint64_t expiryTime; std::string promotionId; std::string type; private: - bool loadFromJsonInternal(const std::string& json, bool is_safetynet_check); + bool loadFromJsonInternal(const std::string& json); }; struct GRANT_RESPONSE { diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/grants.cc b/vendor/bat-native-ledger/src/bat/ledger/internal/grants.cc index 83f7eb844385..22ac3516c1dd 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/grants.cc +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/grants.cc @@ -43,6 +43,7 @@ void Grants::FetchGrants(const std::string& lang, ledger_->OnWalletProperties(ledger::Result::CORRUPTED_WALLET, properties); return; } + std::string paymentId = forPaymentId; if (paymentId.empty()) { paymentId = ledger_->GetPaymentId(); @@ -139,7 +140,6 @@ void Grants::GetGrantsCallback( braveledger_bat_helper::GRANT grant_; grant_.promotionId = grant.promotionId; grant_.type = grant.type; - grants.push_back(grant_); } diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.cc b/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.cc index 067dcd7f4658..9baef25be1c9 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.cc +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.cc @@ -1784,8 +1784,8 @@ void LedgerImpl::OnGrantViaSafetynetCheck(const std::string& promotion_id, const ledger_client_->OnGrantViaSafetynetCheck(promotion_id, nonce); } -void LedgerImpl::ApplySafetynetToken(const std::string& token) const { - bat_grants_->SetGrant("", "", token); +void LedgerImpl::ApplySafetynetToken(const std::string& promotion_id, const std::string& token) const { + bat_grants_->SetGrant("", promotion_id, token); } } // namespace bat_ledger diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.h b/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.h index fb7e079beec9..bb72018a3c90 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.h +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/ledger_impl.h @@ -215,7 +215,7 @@ class LedgerImpl : public ledger::Ledger, void SolveGrantCaptcha(const std::string& solution, const std::string& promotionId) const override; - void ApplySafetynetToken(const std::string& token) const override; + void ApplySafetynetToken(const std::string& promotion_id, const std::string& token) const override; void OnGrantFinish(ledger::Result result, const braveledger_bat_helper::GRANT& grant);