corrects resources usage

This commit is contained in:
SergeyZhukovsky
2019-10-22 12:15:01 -04:00
parent a32d6b3a04
commit ef4b6f9f00
20 changed files with 441 additions and 324 deletions
-1
View File
@@ -1,7 +1,6 @@
.DS_Store
.tags*
/.idea/
/android/java/org/chromium/chrome/browser/ConfigAPIs.java
/components/brave_webtorrent/extension/out/
/components/brave_rewards/resources/extension/brave_rewards/out/
/components/brave_sync/extension/brave-sync/
+3 -15
View File
@@ -12,10 +12,6 @@ import("//extensions/buildflags/buildflags.gni")
import("//third_party/widevine/cdm/widevine.gni")
import("//third_party/protobuf/proto_library.gni")
declare_args() {
brave_safetynet_api_key = ""
}
source_set("browser_process") {
visibility = [
"//chrome/browser/*",
@@ -196,25 +192,21 @@ source_set("browser_process") {
"android/preferences/brave_pref_service_bridge.cc",
"android/preferences/website/desktop_mode_tab_helper.cc",
"android/preferences/website/desktop_mode_tab_helper.h",
"android/rewards/safetynet_check.cc",
"android/rewards/safetynet_check.h",
]
if (brave_rewards_enabled) {
sources += [
"android/rewards/brave_rewards_native_worker.cc",
"android/rewards/brave_rewards_native_worker.h",
"brave_rewards/android/brave_rewards_native_worker.cc",
"brave_rewards/android/brave_rewards_native_worker.h",
]
deps += [
"//brave/vendor/bat-native-ledger",
]
configs += [ ":safetynet_config" ]
}
if (brave_ads_enabled) {
sources += [
"android/rewards/brave_ads_native_helper.cc",
"brave_ads/android/brave_ads_native_helper.cc",
]
}
@@ -318,7 +310,3 @@ source_set("browser") {
]
}
}
config("safetynet_config") {
defines = [ "SAFETYNET_API_KEY=\"$brave_safetynet_api_key\"" ]
}
-42
View File
@@ -1,42 +0,0 @@
#ifndef SAFETYNET_CHECK_H_
#define SAFETYNET_CHECK_H_
#include "base/android/scoped_java_ref.h"
#include "net/base/completion_once_callback.h"
#include <jni.h>
#include <string>
namespace safetynet_check {
class SafetyNetCheckRunner;
using ClientAttestationCallback = base::OnceCallback<void(bool, const std::string&)>;
class SafetyNetCheck {
public:
SafetyNetCheck(SafetyNetCheckRunner* runner);
~SafetyNetCheck();
// Performs client attestation, called from C++
bool clientAttestation(const std::string& nonce, ClientAttestationCallback attest_callback);
// Callback returns client attestation final result, called from Java
void clientAttestationResult(JNIEnv* env, const base::android::JavaRef<jobject>& jobj, jboolean result,
const base::android::JavaParamRef<jstring>& jresult_string);
private:
base::android::ScopedJavaGlobalRef<jobject> java_obj_;
ClientAttestationCallback attest_callback_;
SafetyNetCheckRunner* runner_;
};
class SafetyNetCheckRunner {
public:
SafetyNetCheckRunner();
~SafetyNetCheckRunner();
void performSafetynetCheck(const std::string& nonce, ClientAttestationCallback attest_callback_);
void jobFinished(SafetyNetCheck* finished_job);
private:
std::vector<std::unique_ptr<SafetyNetCheck>> jobs_;
};
}
#endif //SAFETYNET_CHECK_H_
@@ -1,3 +1,8 @@
/* Copyright (c) 2019 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 "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "chrome/browser/profiles/profile_android.h"
@@ -52,19 +57,21 @@ void JNI_BraveAdsNativeHelper_SetAdsEnabled(
ads_service_->SetEnabled(true);
}
base::android::ScopedJavaLocalRef<jstring> JNI_BraveAdsNativeHelper_GetCountryCode(
JNIEnv* env,
const base::android::JavaParamRef<jstring>& jlocale){
base::android::ScopedJavaLocalRef<jstring>
JNI_BraveAdsNativeHelper_GetCountryCode(
JNIEnv* env,
const base::android::JavaParamRef<jstring>& jlocale) {
std::string locale = base::android::ConvertJavaStringToUTF8(env, jlocale);
std::string country_code = brave_ads::LocaleHelperAndroid::GetCountryCode(locale);
std::string country_code =
brave_ads::LocaleHelperAndroid::GetCountryCode(locale);
return base::android::ConvertUTF8ToJavaString(env, country_code);
}
base::android::ScopedJavaLocalRef<jstring> JNI_BraveAdsNativeHelper_GetLocale(
JNIEnv* env){
brave_ads::LocaleHelper* locale_helper = brave_ads::LocaleHelper::GetInstance();
JNIEnv* env) {
brave_ads::LocaleHelper* locale_helper =
brave_ads::LocaleHelper::GetInstance();
std::string locale = locale_helper->GetLocale();
return base::android::ConvertUTF8ToJavaString(env, locale);
}
@@ -1,7 +1,14 @@
/* 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 "brave_rewards_native_worker.h"
/* Copyright (c) 2019 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 "brave/browser/brave_rewards/android/brave_rewards_native_worker.h"
#include <utility>
#include <string>
#include <vector>
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "base/android/jni_array.h"
@@ -17,19 +24,20 @@
namespace chrome {
namespace android {
BraveRewardsNativeWorker::BraveRewardsNativeWorker(JNIEnv* env, const base::android::JavaRef<jobject>& obj):
BraveRewardsNativeWorker::BraveRewardsNativeWorker(JNIEnv* env,
const base::android::JavaRef<jobject>& obj):
weak_java_brave_rewards_native_worker_(env, obj),
brave_rewards_service_(nullptr),
weak_factory_(this) {
Java_BraveRewardsNativeWorker_setNativePtr(env, obj, reinterpret_cast<intptr_t>(this));
Java_BraveRewardsNativeWorker_setNativePtr(env, obj,
reinterpret_cast<intptr_t>(this));
brave_rewards_service_ = brave_rewards::RewardsServiceFactory::GetForProfile(
ProfileManager::GetActiveUserProfile()->GetOriginalProfile());
if (brave_rewards_service_) {
brave_rewards_service_->AddObserver(this);
brave_rewards_service_->AddPrivateObserver(this);
brave_rewards::RewardsNotificationService* notification_service =
brave_rewards::RewardsNotificationService* notification_service =
brave_rewards_service_->GetNotificationService();
if (notification_service) {
notification_service->AddObserver(this);
@@ -45,7 +53,7 @@ void BraveRewardsNativeWorker::Destroy(JNIEnv* env, const
if (brave_rewards_service_) {
brave_rewards_service_->RemoveObserver(this);
brave_rewards_service_->RemovePrivateObserver(this);
brave_rewards::RewardsNotificationService* notification_service =
brave_rewards::RewardsNotificationService* notification_service =
brave_rewards_service_->GetNotificationService();
if (notification_service) {
notification_service->RemoveObserver(this);
@@ -77,7 +85,6 @@ void BraveRewardsNativeWorker::GetPublisherInfo(JNIEnv* env, const
base::android::JavaParamRef<jobject>& jcaller, int tabId,
const base::android::JavaParamRef<jstring>& host) {
if (brave_rewards_service_) {
// TODO fill publisher_blob
brave_rewards_service_->GetPublisherActivityFromUrl(tabId,
base::android::ConvertJavaStringToUTF8(env, host), "", "");
}
@@ -94,13 +101,15 @@ void BraveRewardsNativeWorker::OnPanelPublisherInfo(
ledger::PublisherInfoPtr pi = info->Clone();
map_publishers_info_[tabId] = std::move(pi);
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnPublisherInfo(env,
Java_BraveRewardsNativeWorker_OnPublisherInfo(env,
weak_java_brave_rewards_native_worker_.get(env), tabId);
}
base::android::ScopedJavaLocalRef<jstring> BraveRewardsNativeWorker::GetPublisherURL(JNIEnv* env,
base::android::ScopedJavaLocalRef<jstring>
BraveRewardsNativeWorker::GetPublisherURL(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId) {
base::android::ScopedJavaLocalRef<jstring> res = base::android::ConvertUTF8ToJavaString(env, "");
base::android::ScopedJavaLocalRef<jstring> res =
base::android::ConvertUTF8ToJavaString(env, "");
PublishersInfoMap::const_iterator iter(map_publishers_info_.find(tabId));
if (iter != map_publishers_info_.end()) {
@@ -110,21 +119,26 @@ base::android::ScopedJavaLocalRef<jstring> BraveRewardsNativeWorker::GetPublishe
return res;
}
base::android::ScopedJavaLocalRef<jstring> BraveRewardsNativeWorker::GetPublisherFavIconURL(JNIEnv* env,
base::android::ScopedJavaLocalRef<jstring>
BraveRewardsNativeWorker::GetPublisherFavIconURL(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId) {
base::android::ScopedJavaLocalRef<jstring> res = base::android::ConvertUTF8ToJavaString(env, "");
base::android::ScopedJavaLocalRef<jstring> res =
base::android::ConvertUTF8ToJavaString(env, "");
PublishersInfoMap::const_iterator iter(map_publishers_info_.find(tabId));
if (iter != map_publishers_info_.end()) {
res = base::android::ConvertUTF8ToJavaString(env, iter->second->favicon_url);
res = base::android::ConvertUTF8ToJavaString(env,
iter->second->favicon_url);
}
return res;
return res;
}
base::android::ScopedJavaLocalRef<jstring> BraveRewardsNativeWorker::GetPublisherName(JNIEnv* env,
base::android::ScopedJavaLocalRef<jstring>
BraveRewardsNativeWorker::GetPublisherName(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId) {
base::android::ScopedJavaLocalRef<jstring> res = base::android::ConvertUTF8ToJavaString(env, "");
base::android::ScopedJavaLocalRef<jstring> res =
base::android::ConvertUTF8ToJavaString(env, "");
PublishersInfoMap::const_iterator iter(map_publishers_info_.find(tabId));
if (iter != map_publishers_info_.end()) {
@@ -134,9 +148,11 @@ base::android::ScopedJavaLocalRef<jstring> BraveRewardsNativeWorker::GetPublishe
return res;
}
base::android::ScopedJavaLocalRef<jstring> BraveRewardsNativeWorker::GetPublisherId(JNIEnv* env,
base::android::ScopedJavaLocalRef<jstring>
BraveRewardsNativeWorker::GetPublisherId(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId) {
base::android::ScopedJavaLocalRef<jstring> res = base::android::ConvertUTF8ToJavaString(env, "");
base::android::ScopedJavaLocalRef<jstring> res =
base::android::ConvertUTF8ToJavaString(env, "");
PublishersInfoMap::const_iterator iter(map_publishers_info_.find(tabId));
if (iter != map_publishers_info_.end()) {
@@ -146,7 +162,7 @@ base::android::ScopedJavaLocalRef<jstring> BraveRewardsNativeWorker::GetPublishe
return res;
}
int BraveRewardsNativeWorker::GetPublisherPercent(JNIEnv* env,
int BraveRewardsNativeWorker::GetPublisherPercent(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId) {
int res = 0;
@@ -158,7 +174,7 @@ int BraveRewardsNativeWorker::GetPublisherPercent(JNIEnv* env,
return res;
}
bool BraveRewardsNativeWorker::GetPublisherExcluded(JNIEnv* env,
bool BraveRewardsNativeWorker::GetPublisherExcluded(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId) {
bool res = false;
@@ -170,20 +186,22 @@ bool BraveRewardsNativeWorker::GetPublisherExcluded(JNIEnv* env,
return res;
}
bool BraveRewardsNativeWorker::GetPublisherVerified(JNIEnv* env,
bool BraveRewardsNativeWorker::GetPublisherVerified(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId) {
bool res = false;
PublishersInfoMap::const_iterator iter(map_publishers_info_.find(tabId));
if (iter != map_publishers_info_.end()) {
res = ((uint32_t)iter->second->status == (uint32_t)ledger::WalletStatus::VERIFIED);
res = ((uint32_t)iter->second->status ==
(uint32_t)ledger::WalletStatus::VERIFIED);
}
return res;
}
void BraveRewardsNativeWorker::IncludeInAutoContribution(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId, bool exclude) {
void BraveRewardsNativeWorker::IncludeInAutoContribution(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId,
bool exclude) {
PublishersInfoMap::iterator iter(map_publishers_info_.find(tabId));
if (iter != map_publishers_info_.end()) {
if (exclude) {
@@ -197,7 +215,7 @@ void BraveRewardsNativeWorker::IncludeInAutoContribution(JNIEnv* env,
}
}
void BraveRewardsNativeWorker::RemovePublisherFromMap(JNIEnv* env,
void BraveRewardsNativeWorker::RemovePublisherFromMap(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId) {
PublishersInfoMap::const_iterator iter(map_publishers_info_.find(tabId));
if (iter != map_publishers_info_.end()) {
@@ -205,17 +223,17 @@ void BraveRewardsNativeWorker::RemovePublisherFromMap(JNIEnv* env,
}
}
void BraveRewardsNativeWorker::OnWalletInitialized(brave_rewards::RewardsService* rewards_service,
int32_t error_code) {
void BraveRewardsNativeWorker::OnWalletInitialized(
brave_rewards::RewardsService* rewards_service, int32_t error_code) {
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnWalletInitialized(env,
Java_BraveRewardsNativeWorker_OnWalletInitialized(env,
weak_java_brave_rewards_native_worker_.get(env), error_code);
}
void BraveRewardsNativeWorker::OnWalletProperties(brave_rewards::RewardsService* rewards_service,
int error_code,
std::unique_ptr<brave_rewards::WalletProperties> wallet_properties) {
void BraveRewardsNativeWorker::OnWalletProperties(
brave_rewards::RewardsService* rewards_service, int error_code,
std::unique_ptr<brave_rewards::WalletProperties> wallet_properties) {
if (wallet_properties) {
wallet_properties_ = *wallet_properties;
}
@@ -243,7 +261,7 @@ void BraveRewardsNativeWorker::OnBalance(
weak_java_brave_rewards_native_worker_.get(env), 0);
}
double BraveRewardsNativeWorker::GetWalletBalance(JNIEnv* env,
double BraveRewardsNativeWorker::GetWalletBalance(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
return balance_.total;
}
@@ -269,7 +287,8 @@ void BraveRewardsNativeWorker::WalletExist(JNIEnv* env,
}
}
void BraveRewardsNativeWorker::FetchGrants(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj) {
void BraveRewardsNativeWorker::FetchGrants(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
if (brave_rewards_service_) {
brave_rewards_service_->FetchGrants(std::string(), std::string());
}
@@ -277,11 +296,11 @@ void BraveRewardsNativeWorker::FetchGrants(JNIEnv* env, const base::android::Jav
void BraveRewardsNativeWorker::OnIsWalletCreated(bool created) {
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnIsWalletCreated(env,
Java_BraveRewardsNativeWorker_OnIsWalletCreated(env,
weak_java_brave_rewards_native_worker_.get(env), created);
}
void BraveRewardsNativeWorker::GetCurrentBalanceReport(JNIEnv* env,
void BraveRewardsNativeWorker::GetCurrentBalanceReport(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
if (brave_rewards_service_) {
return brave_rewards_service_->GetCurrentBalanceReport();
@@ -304,33 +323,34 @@ void BraveRewardsNativeWorker::OnGetCurrentBalanceReport(
base::android::ScopedJavaLocalRef<jobjectArray> java_array =
base::android::ToJavaArrayOfStrings(env, values);
Java_BraveRewardsNativeWorker_OnGetCurrentBalanceReport(env,
Java_BraveRewardsNativeWorker_OnGetCurrentBalanceReport(env,
weak_java_brave_rewards_native_worker_.get(env), java_array);
}
void BraveRewardsNativeWorker::Donate(JNIEnv* env,
void BraveRewardsNativeWorker::Donate(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher_key,
const base::android::JavaParamRef<jstring>& publisher_key,
int amount, bool recurring) {
if (brave_rewards_service_) {
brave_rewards_service_->OnTip(base::android::ConvertJavaStringToUTF8(env, publisher_key),
amount, recurring);
brave_rewards_service_->OnTip(
base::android::ConvertJavaStringToUTF8(env, publisher_key), amount,
recurring);
}
}
void BraveRewardsNativeWorker::GetAllNotifications(JNIEnv* env,
void BraveRewardsNativeWorker::GetAllNotifications(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
brave_rewards::RewardsNotificationService* notification_service =
brave_rewards::RewardsNotificationService* notification_service =
brave_rewards_service_->GetNotificationService();
if (notification_service) {
notification_service->GetNotifications();
}
}
void BraveRewardsNativeWorker::DeleteNotification(JNIEnv* env,
void BraveRewardsNativeWorker::DeleteNotification(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& notification_id) {
brave_rewards::RewardsNotificationService* notification_service =
brave_rewards::RewardsNotificationService* notification_service =
brave_rewards_service_->GetNotificationService();
if (notification_service) {
notification_service->DeleteNotification(
@@ -338,33 +358,37 @@ void BraveRewardsNativeWorker::DeleteNotification(JNIEnv* env,
}
}
void BraveRewardsNativeWorker::GetGrant(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& promotionId) {
void BraveRewardsNativeWorker::GetGrant(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& promotionId) {
if (brave_rewards_service_) {
brave_rewards_service_->GetGrantViaSafetynetCheck(base::android::ConvertJavaStringToUTF8(env, promotionId));
brave_rewards_service_->GetGrantViaSafetynetCheck(
base::android::ConvertJavaStringToUTF8(env, promotionId));
}
}
int BraveRewardsNativeWorker::GetCurrentGrantsCount(JNIEnv* env,
int BraveRewardsNativeWorker::GetCurrentGrantsCount(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
return wallet_properties_.grants.size();
}
base::android::ScopedJavaLocalRef<jobjectArray> BraveRewardsNativeWorker::GetCurrentGrant(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
int position) {
base::android::ScopedJavaLocalRef<jobjectArray>
BraveRewardsNativeWorker::GetCurrentGrant(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
int position) {
if ((size_t)position > wallet_properties_.grants.size() - 1) {
return base::android::ScopedJavaLocalRef<jobjectArray>();
}
std::vector<std::string> values;
values.push_back(wallet_properties_.grants[position].probi);
values.push_back(std::to_string(wallet_properties_.grants[position].expiryTime));
values.push_back(
std::to_string(wallet_properties_.grants[position].expiryTime));
values.push_back(wallet_properties_.grants[position].type);
return base::android::ToJavaArrayOfStrings(env, values);
}
void BraveRewardsNativeWorker::GetPendingContributionsTotal(JNIEnv* env,
void BraveRewardsNativeWorker::GetPendingContributionsTotal(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
if (brave_rewards_service_) {
brave_rewards_service_->GetPendingContributionsTotalUI(base::Bind(
@@ -373,7 +397,7 @@ void BraveRewardsNativeWorker::GetPendingContributionsTotal(JNIEnv* env,
}
}
void BraveRewardsNativeWorker::GetRecurringDonations(JNIEnv* env,
void BraveRewardsNativeWorker::GetRecurringDonations(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
if (brave_rewards_service_) {
brave_rewards_service_->GetRecurringTipsUI(base::Bind(
@@ -392,19 +416,21 @@ void BraveRewardsNativeWorker::OnGetRecurringTips(
}
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnRecurringDonationUpdated(env,
Java_BraveRewardsNativeWorker_OnRecurringDonationUpdated(env,
weak_java_brave_rewards_native_worker_.get(env));
}
bool BraveRewardsNativeWorker::IsCurrentPublisherInRecurrentDonations(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher) {
return map_recurrent_publishers_.find(base::android::ConvertJavaStringToUTF8(env, publisher)) !=
map_recurrent_publishers_.end();
bool BraveRewardsNativeWorker::IsCurrentPublisherInRecurrentDonations(
JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher) {
return map_recurrent_publishers_.find(
base::android::ConvertJavaStringToUTF8(env, publisher)) !=
map_recurrent_publishers_.end();
}
void BraveRewardsNativeWorker::GetAutoContributeProps(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj) {
void BraveRewardsNativeWorker::GetAutoContributeProps(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
if (brave_rewards_service_) {
brave_rewards_service_->GetAutoContributeProps(base::Bind(
&BraveRewardsNativeWorker::OnGetAutoContributeProps,
@@ -421,14 +447,16 @@ void BraveRewardsNativeWorker::OnGetAutoContributeProps(
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnGetAutoContributeProps(env,
weak_java_brave_rewards_native_worker_.get(env));
weak_java_brave_rewards_native_worker_.get(env));
}
bool BraveRewardsNativeWorker::IsAutoContributeEnabled(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj){
bool BraveRewardsNativeWorker::IsAutoContributeEnabled(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
return auto_contrib_properties_.enabled_contribute;
}
void BraveRewardsNativeWorker::GetReconcileStamp(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj){
void BraveRewardsNativeWorker::GetReconcileStamp(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
if (brave_rewards_service_) {
brave_rewards_service_->GetReconcileStamp(base::Bind(
&BraveRewardsNativeWorker::OnGetGetReconcileStamp,
@@ -436,7 +464,8 @@ void BraveRewardsNativeWorker::GetReconcileStamp(JNIEnv* env, const base::androi
}
}
void BraveRewardsNativeWorker::ResetTheWholeState(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj) {
void BraveRewardsNativeWorker::ResetTheWholeState(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
auto* ads_service_ = brave_ads::AdsServiceFactory::GetForProfile(
ProfileManager::GetActiveUserProfile()->GetOriginalProfile());
if (ads_service_) {
@@ -468,76 +497,81 @@ void BraveRewardsNativeWorker::OnResetTheWholeState(bool sucess) {
weak_java_brave_rewards_native_worker_.get(env), sucess);
}
double BraveRewardsNativeWorker::GetPublisherRecurrentDonationAmount(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher){
double amount (0.0);
auto it = map_recurrent_publishers_.find(base::android::ConvertJavaStringToUTF8(env, publisher));
if ( it != map_recurrent_publishers_.end() ){
double BraveRewardsNativeWorker::GetPublisherRecurrentDonationAmount(
JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher) {
double amount(0.0);
auto it = map_recurrent_publishers_.find(
base::android::ConvertJavaStringToUTF8(env, publisher));
if (it != map_recurrent_publishers_.end()) {
// for Recurrent Donations, the amount is stored in ContentSite::percentage
amount = it->second.percentage;
}
return amount;
}
void BraveRewardsNativeWorker::RemoveRecurring(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher){
void BraveRewardsNativeWorker::RemoveRecurring(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher) {
if (brave_rewards_service_) {
brave_rewards_service_->RemoveRecurringTipUI(base::android::ConvertJavaStringToUTF8(env, publisher));
brave_rewards_service_->RemoveRecurringTipUI(
base::android::ConvertJavaStringToUTF8(env, publisher));
}
}
void BraveRewardsNativeWorker::OnGetGetReconcileStamp( uint64_t timestamp){
void BraveRewardsNativeWorker::OnGetGetReconcileStamp(uint64_t timestamp) {
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnGetReconcileStamp(env,
weak_java_brave_rewards_native_worker_.get(env), timestamp);
}
void BraveRewardsNativeWorker::OnGetPendingContributionsTotal(double amount) {
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnGetPendingContributionsTotal(env,
Java_BraveRewardsNativeWorker_OnGetPendingContributionsTotal(env,
weak_java_brave_rewards_native_worker_.get(env), amount);
}
void BraveRewardsNativeWorker::OnNotificationAdded(
brave_rewards::RewardsNotificationService* rewards_notification_service,
const brave_rewards::RewardsNotificationService::RewardsNotification& notification) {
brave_rewards::RewardsNotificationService* rewards_notification_service,
const brave_rewards::RewardsNotificationService::RewardsNotification&
notification) {
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnNotificationAdded(env,
Java_BraveRewardsNativeWorker_OnNotificationAdded(env,
weak_java_brave_rewards_native_worker_.get(env),
base::android::ConvertUTF8ToJavaString(env, notification.id_),
base::android::ConvertUTF8ToJavaString(env, notification.id_),
notification.type_,
notification.timestamp_,
base::android::ToJavaArrayOfStrings(env, notification.args_));
}
void BraveRewardsNativeWorker::OnGetAllNotifications(
brave_rewards::RewardsNotificationService* rewards_notification_service,
const brave_rewards::RewardsNotificationService::RewardsNotificationsList&
notifications_list) {
brave_rewards::RewardsNotificationService* rewards_notification_service,
const brave_rewards::RewardsNotificationService::RewardsNotificationsList&
notifications_list) {
JNIEnv* env = base::android::AttachCurrentThread();
// Notify about notifications count
Java_BraveRewardsNativeWorker_OnNotificationsCount(env,
Java_BraveRewardsNativeWorker_OnNotificationsCount(env,
weak_java_brave_rewards_native_worker_.get(env),
notifications_list.size());
brave_rewards::RewardsNotificationService::RewardsNotificationsList::const_iterator iter =
std::max_element(notifications_list.begin(), notifications_list.end(),
[](const brave_rewards::RewardsNotificationService::RewardsNotification& notification_a,
const brave_rewards::RewardsNotificationService::RewardsNotification& notification_b) {
return notification_a.timestamp_ > notification_b.timestamp_;
});
brave_rewards::RewardsNotificationService::RewardsNotificationsList::
const_iterator iter =
std::max_element(notifications_list.begin(), notifications_list.end(),
[](const brave_rewards::RewardsNotificationService::
RewardsNotification& notification_a,
const brave_rewards::RewardsNotificationService::
RewardsNotification& notification_b) {
return notification_a.timestamp_ > notification_b.timestamp_;
});
if (iter != notifications_list.end()) {
Java_BraveRewardsNativeWorker_OnGetLatestNotification(env,
Java_BraveRewardsNativeWorker_OnGetLatestNotification(env,
weak_java_brave_rewards_native_worker_.get(env),
base::android::ConvertUTF8ToJavaString(env, iter->id_),
base::android::ConvertUTF8ToJavaString(env, iter->id_),
iter->type_,
iter->timestamp_,
base::android::ToJavaArrayOfStrings(env, iter->args_));
@@ -546,43 +580,49 @@ void BraveRewardsNativeWorker::OnGetAllNotifications(
void BraveRewardsNativeWorker::OnNotificationDeleted(
brave_rewards::RewardsNotificationService* rewards_notification_service,
const brave_rewards::RewardsNotificationService::RewardsNotification& notification) {
const brave_rewards::RewardsNotificationService::RewardsNotification&
notification) {
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnNotificationDeleted(env,
Java_BraveRewardsNativeWorker_OnNotificationDeleted(env,
weak_java_brave_rewards_native_worker_.get(env),
base::android::ConvertUTF8ToJavaString(env, notification.id_));
}
void BraveRewardsNativeWorker::OnGrant(brave_rewards::RewardsService* rewards_service,
unsigned int result, brave_rewards::Grant grant) {
// TODO what do we need to do here? We receive notification about deletion
void BraveRewardsNativeWorker::OnGrant(
brave_rewards::RewardsService* rewards_service, unsigned int result,
brave_rewards::Grant grant) {
// TODO(sergz) what do we need to do here?
// We receive notification about deletion
}
void BraveRewardsNativeWorker::OnGrantFinish(brave_rewards::RewardsService* rewards_service,
unsigned int result, brave_rewards::Grant grant) {
void BraveRewardsNativeWorker::OnGrantFinish(
brave_rewards::RewardsService* rewards_service, unsigned int result,
brave_rewards::Grant grant) {
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnGrantFinish(env,
Java_BraveRewardsNativeWorker_OnGrantFinish(env,
weak_java_brave_rewards_native_worker_.get(env), result);
}
void BraveRewardsNativeWorker::SetRewardsMainEnabled(JNIEnv* env,
void BraveRewardsNativeWorker::SetRewardsMainEnabled(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, bool enabled) {
if (brave_rewards_service_) {
brave_rewards_service_->SetRewardsMainEnabled(enabled);
}
}
void BraveRewardsNativeWorker::OnRewardsMainEnabled(brave_rewards::RewardsService* rewards_service,
void BraveRewardsNativeWorker::OnRewardsMainEnabled(
brave_rewards::RewardsService* rewards_service,
bool rewards_main_enabled) {
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnRewardsMainEnabled(env,
weak_java_brave_rewards_native_worker_.get(env), rewards_main_enabled);
Java_BraveRewardsNativeWorker_OnRewardsMainEnabled(env,
weak_java_brave_rewards_native_worker_.get(env), rewards_main_enabled);
}
void BraveRewardsNativeWorker::GetRewardsMainEnabled(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
void BraveRewardsNativeWorker::GetRewardsMainEnabled(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
if (brave_rewards_service_) {
brave_rewards_service_->GetRewardsMainEnabled(base::Bind(
&BraveRewardsNativeWorker::OnGetRewardsMainEnabled,
@@ -594,13 +634,12 @@ void BraveRewardsNativeWorker::OnGetRewardsMainEnabled(
bool enabled) {
JNIEnv* env = base::android::AttachCurrentThread();
Java_BraveRewardsNativeWorker_OnGetRewardsMainEnabled(env,
weak_java_brave_rewards_native_worker_.get(env), enabled);
Java_BraveRewardsNativeWorker_OnGetRewardsMainEnabled(env,
weak_java_brave_rewards_native_worker_.get(env), enabled);
}
static void JNI_BraveRewardsNativeWorker_Init(JNIEnv* env, const
base::android::JavaParamRef<jobject>& jcaller) {
static void JNI_BraveRewardsNativeWorker_Init(JNIEnv* env,
const base::android::JavaParamRef<jobject>& jcaller) {
new BraveRewardsNativeWorker(env, jcaller);
}
@@ -609,7 +648,8 @@ void BraveRewardsNativeWorker::OnGetAddresses(
addresses_ = addresses;
}
void BraveRewardsNativeWorker::GetAddresses(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj) {
void BraveRewardsNativeWorker::GetAddresses(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj) {
// TODO(samartnik): find out how to get addresses
// if (brave_rewards_service_) {
// brave_rewards_service_->GetAddresses(base::Bind(
@@ -618,16 +658,20 @@ void BraveRewardsNativeWorker::GetAddresses(JNIEnv* env, const base::android::Ja
// }
}
base::android::ScopedJavaLocalRef<jstring> BraveRewardsNativeWorker::GetAddress(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& jaddress_name) {
base::android::ScopedJavaLocalRef<jstring> res = base::android::ConvertUTF8ToJavaString(env, "");
std::string address_name = base::android::ConvertJavaStringToUTF8(env, jaddress_name);
base::android::ScopedJavaLocalRef<jstring>
BraveRewardsNativeWorker::GetAddress(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& jaddress_name) {
base::android::ScopedJavaLocalRef<jstring> res =
base::android::ConvertUTF8ToJavaString(env, "");
std::string address_name =
base::android::ConvertJavaStringToUTF8(env, jaddress_name);
if (addresses_.find(address_name) != addresses_.end()) {
res = base::android::ConvertUTF8ToJavaString(env, addresses_.at(address_name));
res = base::android::ConvertUTF8ToJavaString(env,
addresses_.at(address_name));
}
return res;
}
}
}
} // namespace android
} // namespace chrome
@@ -1,13 +1,16 @@
/* 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/. */
/* Copyright (c) 2019 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 BRAVE_REWARDS_NATIVE_WORKER_H_
#define BRAVE_REWARDS_NATIVE_WORKER_H_
#ifndef BRAVE_BROWSER_BRAVE_REWARDS_ANDROID_BRAVE_REWARDS_NATIVE_WORKER_H_
#define BRAVE_BROWSER_BRAVE_REWARDS_ANDROID_BRAVE_REWARDS_NATIVE_WORKER_H_
#include <jni.h>
#include <memory>
#include <map>
#include <string>
#include "base/android/jni_weak_ref.h"
#include "base/memory/weak_ptr.h"
#include "brave/components/brave_rewards/browser/balance.h"
@@ -21,7 +24,7 @@
#include "brave/components/brave_rewards/browser/content_site.h"
namespace brave_rewards {
class RewardsService;
class RewardsService;
}
namespace chrome {
@@ -32,109 +35,130 @@ typedef std::map<uint64_t, ledger::PublisherInfoPtr> PublishersInfoMap;
class BraveRewardsNativeWorker : public brave_rewards::RewardsServiceObserver,
public brave_rewards::RewardsServicePrivateObserver,
public brave_rewards::RewardsNotificationServiceObserver {
public:
BraveRewardsNativeWorker(JNIEnv* env, const base::android::JavaRef<jobject>& obj);
public:
BraveRewardsNativeWorker(JNIEnv* env,
const base::android::JavaRef<jobject>& obj);
~BraveRewardsNativeWorker() override;
void Destroy(JNIEnv* env, const
base::android::JavaParamRef<jobject>& jcaller);
void Destroy(JNIEnv* env,
const base::android::JavaParamRef<jobject>& jcaller);
void CreateWallet(JNIEnv* env, const
base::android::JavaParamRef<jobject>& jcaller);
void CreateWallet(JNIEnv* env,
const base::android::JavaParamRef<jobject>& jcaller);
void OnCreateWallet(int32_t result);
void WalletExist(JNIEnv* env, const
base::android::JavaParamRef<jobject>& jcaller);
void WalletExist(JNIEnv* env,
const base::android::JavaParamRef<jobject>& jcaller);
void GetWalletProperties(JNIEnv* env, const
base::android::JavaParamRef<jobject>& jcaller);
void GetWalletProperties(JNIEnv* env,
const base::android::JavaParamRef<jobject>& jcaller);
void GetPublisherInfo(JNIEnv* env, const
base::android::JavaParamRef<jobject>& jcaller, int tabId,
void GetPublisherInfo(JNIEnv* env,
const base::android::JavaParamRef<jobject>& jcaller, int tabId,
const base::android::JavaParamRef<jstring>& host);
double GetWalletBalance(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
double GetWalletBalance(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
double GetWalletRate(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
double GetWalletRate(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& rate);
base::android::ScopedJavaLocalRef<jstring> GetPublisherURL(JNIEnv* env,
base::android::ScopedJavaLocalRef<jstring> GetPublisherURL(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId);
base::android::ScopedJavaLocalRef<jstring> GetPublisherFavIconURL(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId);
base::android::ScopedJavaLocalRef<jstring> GetPublisherName(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId);
base::android::ScopedJavaLocalRef<jstring> GetPublisherId(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId);
int GetPublisherPercent(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
base::android::ScopedJavaLocalRef<jstring> GetPublisherFavIconURL(
JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
uint64_t tabId);
bool GetPublisherExcluded(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
base::android::ScopedJavaLocalRef<jstring> GetPublisherName(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId);
base::android::ScopedJavaLocalRef<jstring> GetPublisherId(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId);
int GetPublisherPercent(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
uint64_t tabId);
bool GetPublisherVerified(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
uint64_t tabId);
bool GetPublisherExcluded(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId);
void GetCurrentBalanceReport(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
bool GetPublisherVerified(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId);
void IncludeInAutoContribution(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
uint64_t tabId, bool exclude);
void GetCurrentBalanceReport(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
void RemovePublisherFromMap(JNIEnv* env,
void IncludeInAutoContribution(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId,
bool exclude);
void RemovePublisherFromMap(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, uint64_t tabId);
void Donate(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher_key, int amount, bool recurring);
const base::android::JavaParamRef<jstring>& publisher_key, int amount,
bool recurring);
void GetAllNotifications(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
void GetAllNotifications(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
void DeleteNotification(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
void DeleteNotification(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& notification_id);
void GetGrant(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& promotionId);
int GetCurrentGrantsCount(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
int GetCurrentGrantsCount(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
base::android::ScopedJavaLocalRef<jobjectArray> GetCurrentGrant(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
base::android::ScopedJavaLocalRef<jobjectArray> GetCurrentGrant(
JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
int position);
void GetPendingContributionsTotal(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
void GetPendingContributionsTotal(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
void GetRecurringDonations(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
void GetRecurringDonations(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
bool IsCurrentPublisherInRecurrentDonations(JNIEnv* env,
bool IsCurrentPublisherInRecurrentDonations(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher);
void SetRewardsMainEnabled(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
bool enabled);
void GetRewardsMainEnabled(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
void SetRewardsMainEnabled(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, bool enabled);
void GetRewardsMainEnabled(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
void GetAutoContributeProps(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
void GetAutoContributeProps(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
bool IsAutoContributeEnabled(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
bool IsAutoContributeEnabled(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
void GetReconcileStamp(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
void GetReconcileStamp(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
void ResetTheWholeState(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
void ResetTheWholeState(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
double GetPublisherRecurrentDonationAmount(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher);
void RemoveRecurring(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj,
void RemoveRecurring(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
const base::android::JavaParamRef<jstring>& publisher);
void FetchGrants(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
void FetchGrants(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
void GetAddresses(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
void GetAddresses(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
base::android::ScopedJavaLocalRef<jstring> GetAddress(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
@@ -144,9 +168,10 @@ public:
void OnResetTheWholeState(bool sucess);
void OnGetGetReconcileStamp( uint64_t timestamp);
void OnGetGetReconcileStamp(uint64_t timestamp);
void OnGetAutoContributeProps( std::unique_ptr<brave_rewards::AutoContributeProps> info);
void OnGetAutoContributeProps(
std::unique_ptr<brave_rewards::AutoContributeProps> info);
void OnGetRewardsMainEnabled(bool enabled);
@@ -158,8 +183,9 @@ public:
int32_t error_code) override;
void OnWalletProperties(brave_rewards::RewardsService* rewards_service,
int error_code,
std::unique_ptr<brave_rewards::WalletProperties> wallet_properties) override;
int error_code,
std::unique_ptr<brave_rewards::WalletProperties> wallet_properties)
override;
void OnPanelPublisherInfo(
brave_rewards::RewardsService* rewards_service,
@@ -167,12 +193,14 @@ public:
const ledger::PublisherInfo* info,
uint64_t tabId) override;
void OnGetCurrentBalanceReport(brave_rewards::RewardsService* rewards_service,
void OnGetCurrentBalanceReport(
brave_rewards::RewardsService* rewards_service,
const brave_rewards::BalanceReport& balance_report) override;
void OnNotificationAdded(
brave_rewards::RewardsNotificationService* rewards_notification_service,
const brave_rewards::RewardsNotificationService::RewardsNotification& notification) override;
const brave_rewards::RewardsNotificationService::RewardsNotification&
notification) override;
void OnGetAllNotifications(
brave_rewards::RewardsNotificationService* rewards_notification_service,
@@ -181,33 +209,37 @@ public:
void OnNotificationDeleted(
brave_rewards::RewardsNotificationService* rewards_notification_service,
const brave_rewards::RewardsNotificationService::RewardsNotification& notification) override;
const brave_rewards::RewardsNotificationService::RewardsNotification&
notification) override;
void OnGrant(brave_rewards::RewardsService* rewards_service, unsigned int result,
brave_rewards::Grant grant) override;
void OnGrant(brave_rewards::RewardsService* rewards_service,
unsigned int result, brave_rewards::Grant grant) override;
void OnGrantFinish(brave_rewards::RewardsService* rewards_service, unsigned int result,
brave_rewards::Grant grant) override;
void OnGrantFinish(brave_rewards::RewardsService* rewards_service,
unsigned int result, brave_rewards::Grant grant) override;
void OnGetRecurringTips(std::unique_ptr<brave_rewards::ContentSiteList> list);
void OnGetRecurringTips(
std::unique_ptr<brave_rewards::ContentSiteList> list);
void OnRewardsMainEnabled(brave_rewards::RewardsService* rewards_service,
void OnRewardsMainEnabled(brave_rewards::RewardsService* rewards_service,
bool rewards_main_enabled) override;
private:
private:
void OnGetAddresses(const std::map<std::string, std::string>& addresses);
void OnBalance(int32_t result, std::unique_ptr<::brave_rewards::Balance> balance);
void OnBalance(int32_t result,
std::unique_ptr<::brave_rewards::Balance> balance);
JavaObjectWeakGlobalRef weak_java_brave_rewards_native_worker_;
brave_rewards::RewardsService* brave_rewards_service_;
brave_rewards::WalletProperties wallet_properties_;
brave_rewards::Balance balance_;
brave_rewards::AutoContributeProps auto_contrib_properties_;
PublishersInfoMap map_publishers_info_; // <tabId, PublisherInfoPtr>
std::map<std::string, brave_rewards::ContentSite> map_recurrent_publishers_; // <publisher, reconcile_stampt>
PublishersInfoMap map_publishers_info_; // <tabId, PublisherInfoPtr>
std::map<std::string, brave_rewards::ContentSite>
map_recurrent_publishers_; // <publisher, reconcile_stampt>
std::map<std::string, std::string> addresses_;
base::WeakPtrFactory<BraveRewardsNativeWorker> weak_factory_;
};
}
}
} // namespace android
} // namespace chrome
#endif // BRAVE_REWARDS_NATIVE_WORKER_H_
#endif // BRAVE_BROWSER_BRAVE_REWARDS_ANDROID_BRAVE_REWARDS_NATIVE_WORKER_H_
+4 -4
View File
@@ -120,8 +120,8 @@ void RewardsTabHelper::WebContentsDestroyed() {
rewards_service_->OnUnload(tab_id_);
}
void RewardsTabHelper::OnBrowserSetLastActive(Browser* browser) {
#if !defined(OS_ANDROID)
void RewardsTabHelper::OnBrowserSetLastActive(Browser* browser) {
if (!rewards_service_)
return;
@@ -129,11 +129,11 @@ void RewardsTabHelper::OnBrowserSetLastActive(Browser* browser) {
TabStripModel::kNoTab) {
rewards_service_->OnForeground(tab_id_);
}
#endif
}
#endif
void RewardsTabHelper::OnBrowserNoLongerActive(Browser* browser) {
#if !defined(OS_ANDROID)
void RewardsTabHelper::OnBrowserNoLongerActive(Browser* browser) {
if (!rewards_service_)
return;
@@ -141,8 +141,8 @@ void RewardsTabHelper::OnBrowserNoLongerActive(Browser* browser) {
TabStripModel::kNoTab) {
rewards_service_->OnBackground(tab_id_);
}
#endif
}
#endif
#if BUILDFLAG(ENABLE_GREASELION)
void RewardsTabHelper::OnRewardsMainEnabled(RewardsService* rewards_service,
@@ -53,9 +53,11 @@ class RewardsTabHelper : public RewardsServiceObserver,
void OnVisibilityChanged(content::Visibility visibility) override;
void WebContentsDestroyed() override;
#if !defined(OS_ANDROID)
// BrowserListObserver overrides
void OnBrowserSetLastActive(Browser* browser) override;
void OnBrowserNoLongerActive(Browser* browser) override;
#endif
SessionID tab_id_;
RewardsService* rewards_service_; // NOT OWNED
+4 -8
View File
@@ -27,13 +27,10 @@
#include "brave/browser/brave_rewards/rewards_tab_helper.h"
#endif
#if !defined(OS_ANDROID)
#if BUILDFLAG(BRAVE_STP_ENABLED)
#include "brave/components/brave_shields/browser/tracking_protection_helper.h"
#include "brave/components/brave_shields/browser/tracking_protection_service.h"
#endif
// Add tab helpers here unless they are intended for android too
#endif
namespace brave {
@@ -47,16 +44,15 @@ void AttachTabHelpers(content::WebContents* web_contents) {
#if defined(OS_ANDROID)
DesktopModeTabHelper::CreateForWebContents(web_contents);
BackgroundVideoPlaybackTabHelper::CreateForWebContents(web_contents);
#else
// Add tab helpers here unless they are intended for android too
BraveDrmTabHelper::CreateForWebContents(web_contents);
BraveBookmarkTabHelper::CreateForWebContents(web_contents);
#endif
#if BUILDFLAG(BRAVE_REWARDS_ENABLED)
brave_rewards::RewardsTabHelper::CreateForWebContents(web_contents);
#endif
#if !defined(OS_ANDROID)
// Add tab helpers here unless they are intended for android too
BraveDrmTabHelper::CreateForWebContents(web_contents);
BraveBookmarkTabHelper::CreateForWebContents(web_contents);
#endif
#if BUILDFLAG(BRAVE_STP_ENABLED)
if (TrackingProtectionService::IsSmartTrackingProtectionEnabled()) {
+1 -1
View File
@@ -274,7 +274,7 @@ RewardsDOMHandler::~RewardsDOMHandler() {
void RewardsDOMHandler::RegisterMessages() {
#if defined(OS_ANDROID)
// TODO sergz: figure out why we have link error here
// TODO(sergz) figure out why we have link error here
// Create our favicon data source.
// Profile* profile = Profile::FromWebUI(web_ui());
// content::URLDataSource::Add(profile,
@@ -62,12 +62,12 @@ WebUIController* NewWebUI<BasicUI>(WebUI* web_ui, const GURL& url) {
#if BUILDFLAG(BRAVE_WALLET_ENABLED)
} else if (host == kWalletHost) {
return new BraveWalletUI(web_ui, url.host());
#endif
#endif // BUILDFLAG(BRAVE_WALLET_ENABLED)
#if BUILDFLAG(ENABLE_BRAVE_SYNC)
} else if (host == kBraveUISyncHost &&
brave_sync::switches::IsBraveSyncAllowedByFlag()) {
return new SyncUI(web_ui, url.host());
#endif
#endif // BUILDFLAG(ENABLE_BRAVE_SYNC)
#if BUILDFLAG(BRAVE_REWARDS_ENABLED)
} else if (host == kRewardsPageHost) {
return new BraveRewardsPageUI(web_ui, url.host());
@@ -76,18 +76,16 @@ WebUIController* NewWebUI<BasicUI>(WebUI* web_ui, const GURL& url) {
#if !defined(OS_ANDROID)
} else if (host == kTipHost) {
return new BraveTipUI(web_ui, url.host());
#endif
#endif
#endif // !defined(OS_ANDROID)
#endif // BUILDFLAG(BRAVE_REWARDS_ENABLED)
#if !defined(OS_ANDROID)
} else if (host == kWelcomeHost) {
return new BraveWelcomeUI(web_ui, url.host());
#endif
} else if (host == chrome::kChromeUINewTabHost) {
return new BraveNewTabUI(web_ui, url.host());
#if !defined(OS_ANDROID)
} else if (host == chrome::kChromeUISettingsHost) {
return new BraveSettingsUI(web_ui, url.host());
#endif
#endif // !defined(OS_ANDROID)
} else if (host == chrome::kChromeUINewTabHost) {
return new BraveNewTabUI(web_ui, url.host());
}
return nullptr;
}
+1
View File
@@ -5,3 +5,4 @@ declare_args() {
}
brave_android_manifest_includes = [ "//brave/android/java/AndroidManifest.xml" ]
brave_chrome_java_deps = ["//brave/third_party/android_deps:google_play_services_safetynet_java"]
+19 -1
View File
@@ -1,6 +1,10 @@
import("//brave/components/brave_rewards/browser/buildflags/buildflags.gni")
import("//extensions/buildflags/buildflags.gni")
declare_args() {
brave_safetynet_api_key = ""
}
source_set("browser") {
public_deps = [
"buildflags",
@@ -112,15 +116,25 @@ source_set("browser") {
}
deps += [
"//brave/vendor/bat-native-ledger",
"//brave/components/brave_ads/browser/buildflags",
"//brave/components/resources",
"//brave/components/services/bat_ledger/public/cpp",
"//brave/vendor/bat-native-ledger",
"//mojo/public/cpp/bindings",
"//net",
"//services/network/public/cpp",
"//services/service_manager/public/cpp",
"//url",
]
if (is_android) {
sources += [
"safetynet_check.cc",
"safetynet_check.h",
]
configs += [ ":safetynet_config" ]
}
}
}
@@ -141,3 +155,7 @@ source_set("testutil") {
"test_util.h",
]
}
config("safetynet_config") {
defines = [ "SAFETYNET_API_KEY=\"$brave_safetynet_api_key\"" ]
}
@@ -82,7 +82,7 @@
#include "url/gurl.h"
#include "url/url_canon_stdstring.h"
#if !defined(OS_ANDROID)
#if defined(BRAVE_CHROMIUM_BUILD)
#include "brave/components/brave_rewards/resources/grit/brave_rewards_resources.h"
#include "components/grit/brave_components_resources.h"
#else
@@ -920,12 +920,12 @@ void RewardsServiceImpl::OnWalletInitialized(ledger::Result result) {
// Record P3A:
RecordWalletBalanceP3A(true, 0);
bool ads_enabled = false;
#if BUILDFLAG(BRAVE_ADS_ENABLED)
ads_enabled = profile_->GetPrefs()->GetBoolean(brave_ads::prefs::kEnabled);
#endif
const bool ads_enabled =
profile_->GetPrefs()->GetBoolean(brave_ads::prefs::kEnabled);
RecordAdsState(ads_enabled ? AdsP3AState::kAdsEnabled
: AdsP3AState::kAdsDisabled);
#endif
}
for (auto& observer : observers_) {
@@ -4036,6 +4036,7 @@ void RewardsServiceImpl::GrantAttestationResult(
#if defined(OS_ANDROID)
ledger::Environment RewardsServiceImpl::GetServerEnvironmentForAndroid() {
auto result = ledger::Environment::PRODUCTION;
bool use_staging = false;
if (profile_ && profile_->GetPrefs()) {
use_staging =
profile_->GetPrefs()->GetBoolean(prefs::kUseRewardsStagingServer);
@@ -38,7 +38,7 @@
#endif
#if defined(OS_ANDROID) && defined(BRAVE_CHROMIUM_BUILD)
#include "brave/browser/android/rewards/safetynet_check.h"
#include "brave/components/brave_rewards/browser/safetynet_check.h"
#elif defined(OS_ANDROID)
#include "chrome/browser/android/brave/safetynet_check.h"
#endif
@@ -735,7 +735,7 @@ class RewardsServiceImpl : public RewardsService,
ledger::ContributionQueuePtr info);
#if defined(OS_ANDROID)
bool GetServerEnvironmentForAndroid();
ledger::Environment GetServerEnvironmentForAndroid();
void CreateWalletAttestationResult(
bat_ledger::mojom::BatLedger::CreateWalletCallback callback,
bool result, const std::string& result_string);
@@ -1,13 +1,23 @@
#include "safetynet_check.h"
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "brave/build/android/jni_headers/SafetyNetCheck_jni.h"
/* Copyright (c) 2019 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 "brave/components/brave_rewards/browser/safetynet_check.h"
#include <memory>
#include <utility>
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "brave/build/android/jni_headers/SafetyNetCheck_jni.h"
namespace safetynet_check {
SafetyNetCheck::SafetyNetCheck(SafetyNetCheckRunner* runner) {
JNIEnv* env = base::android::AttachCurrentThread();
java_obj_.Reset(env, Java_SafetyNetCheck_create(env, reinterpret_cast<intptr_t>(this)).obj());
java_obj_.Reset(env, Java_SafetyNetCheck_create(env,
reinterpret_cast<intptr_t>(this)).obj());
runner_ = runner;
}
@@ -15,7 +25,8 @@ SafetyNetCheck::~SafetyNetCheck() {
Java_SafetyNetCheck_destroy(base::android::AttachCurrentThread(), java_obj_);
}
bool SafetyNetCheck::clientAttestation(const std::string& nonce, ClientAttestationCallback attest_callback) {
bool SafetyNetCheck::clientAttestation(const std::string& nonce,
ClientAttestationCallback attest_callback) {
attest_callback_ = std::move(attest_callback);
JNIEnv* env = base::android::AttachCurrentThread();
base::android::ScopedJavaLocalRef<jstring> jnonce =
@@ -26,10 +37,12 @@ bool SafetyNetCheck::clientAttestation(const std::string& nonce, ClientAttestati
japiKey);
}
void SafetyNetCheck::clientAttestationResult(JNIEnv* env, const base::android::JavaRef<jobject>& jobj, jboolean jresult,
const base::android::JavaParamRef<jstring>& jresult_string) {
void SafetyNetCheck::clientAttestationResult(JNIEnv* env,
const base::android::JavaRef<jobject>& jobj, jboolean jresult,
const base::android::JavaParamRef<jstring>& jresult_string) {
bool result = jresult;
std::string result_string = base::android::ConvertJavaStringToUTF8(env, jresult_string);
std::string result_string = base::android::ConvertJavaStringToUTF8(env,
jresult_string);
std::move(attest_callback_).Run(result, result_string);
if (runner_ != nullptr) {
runner_->jobFinished(this);
@@ -42,7 +55,8 @@ SafetyNetCheckRunner::SafetyNetCheckRunner() {
SafetyNetCheckRunner::~SafetyNetCheckRunner() {
}
void SafetyNetCheckRunner::performSafetynetCheck(const std::string& nonce, ClientAttestationCallback attest_callback) {
void SafetyNetCheckRunner::performSafetynetCheck(const std::string& nonce,
ClientAttestationCallback attest_callback) {
jobs_.push_back(std::make_unique<SafetyNetCheck>(this));
if (!jobs_.back()->clientAttestation(nonce, std::move(attest_callback))) {
jobFinished(jobs_.back().get());
@@ -50,7 +64,10 @@ void SafetyNetCheckRunner::performSafetynetCheck(const std::string& nonce, Clien
}
void SafetyNetCheckRunner::jobFinished(SafetyNetCheck* finished_job) {
auto it = find_if(jobs_.begin(), jobs_.end(), [finished_job] (const std::unique_ptr<SafetyNetCheck>& job) { return (bool)(job.get() == finished_job); });
auto it = find_if(jobs_.begin(), jobs_.end(),
[finished_job] (const std::unique_ptr<SafetyNetCheck>& job) {
return static_cast<bool>(job.get() == finished_job);
});
if (it != jobs_.end()) {
jobs_.erase(it);
} else {
@@ -58,4 +75,4 @@ void SafetyNetCheckRunner::jobFinished(SafetyNetCheck* finished_job) {
}
}
}
} // namespace safetynet_check
@@ -0,0 +1,57 @@
/* Copyright (c) 2019 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 BRAVE_COMPONENTS_BRAVE_REWARDS_BROWSER_SAFETYNET_CHECK_H_
#define BRAVE_COMPONENTS_BRAVE_REWARDS_BROWSER_SAFETYNET_CHECK_H_
#include <jni.h>
#include <memory>
#include <string>
#include <vector>
#include "base/android/scoped_java_ref.h"
#include "net/base/completion_once_callback.h"
namespace safetynet_check {
class SafetyNetCheckRunner;
using ClientAttestationCallback =
base::OnceCallback<void(bool, const std::string&)>;
class SafetyNetCheck {
public:
explicit SafetyNetCheck(SafetyNetCheckRunner* runner);
~SafetyNetCheck();
// Performs client attestation, called from C++
bool clientAttestation(const std::string& nonce,
ClientAttestationCallback attest_callback);
// Callback returns client attestation final result, called from Java
void clientAttestationResult(JNIEnv* env,
const base::android::JavaRef<jobject>& jobj, jboolean result,
const base::android::JavaParamRef<jstring>& jresult_string);
private:
base::android::ScopedJavaGlobalRef<jobject> java_obj_;
ClientAttestationCallback attest_callback_;
SafetyNetCheckRunner* runner_;
DISALLOW_COPY_AND_ASSIGN(SafetyNetCheck);
};
class SafetyNetCheckRunner {
public:
SafetyNetCheckRunner();
~SafetyNetCheckRunner();
void performSafetynetCheck(const std::string& nonce,
ClientAttestationCallback attest_callback_);
void jobFinished(SafetyNetCheck* finished_job);
private:
std::vector<std::unique_ptr<SafetyNetCheck>> jobs_;
DISALLOW_COPY_AND_ASSIGN(SafetyNetCheckRunner);
};
} // namespace safetynet_check
#endif // BRAVE_COMPONENTS_BRAVE_REWARDS_BROWSER_SAFETYNET_CHECK_H_
Submodule components/brave_sync/extension/brave-crypto deleted from 0231e65ba2
@@ -1,13 +0,0 @@
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
index 17a0deffa488ba3ff89fc8e87f5a3308afaff790..e5de0dd6b5b99ce809e013c2db149110360a8010 100644
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -3,7 +3,7 @@
# found in the LICENSE file.
import("//build/config/android/rules.gni")
-
+android_aar_prebuilt("google_play_services_safetynet_java") { aar_path = "libs/com_google_android_gms_play_services_safetynet/play-services-safetynet-15.0.1.aar" info_path = "libs/com_google_android_gms_play_services_safetynet/com_google_android_gms_play_services_safetynet.info" deps = [":google_play_services_base_java"]}
# Library groups
java_group("android_support_v4_java") {
deps = [
+13
View File
@@ -0,0 +1,13 @@
import("//build/config/android/rules.gni")
group("android_deps") {
public_deps = [
":google_play_services_safetynet_java"
]
}
android_aar_prebuilt("google_play_services_safetynet_java") {
aar_path = "libs/com_google_android_gms_play_services_safetynet/play-services-safetynet-15.0.1.aar"
info_path = "libs/com_google_android_gms_play_services_safetynet/com_google_android_gms_play_services_safetynet.info"
deps = ["$google_play_services_package:google_play_services_base_java"]
}