From 71193aa17bc0958be4e91b5129d3aecf823f63cb Mon Sep 17 00:00:00 2001 From: deeppandya Date: Fri, 2 Aug 2024 14:42:03 +0530 Subject: [PATCH] Replace mojo objects with mojoptr --- .../browser/vpn/BraveVpnNativeWorker.java | 3 + .../vpn/adapters/VpnServerAdapter.java | 10 +-- .../brave_vpn_region_data_manager.cc | 75 ++++++++++--------- .../brave_vpn_region_data_manager.h | 4 +- 4 files changed, 50 insertions(+), 42 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/vpn/BraveVpnNativeWorker.java b/android/java/org/chromium/chrome/browser/vpn/BraveVpnNativeWorker.java index 803f75473d6..0de70b392ff 100644 --- a/android/java/org/chromium/chrome/browser/vpn/BraveVpnNativeWorker.java +++ b/android/java/org/chromium/chrome/browser/vpn/BraveVpnNativeWorker.java @@ -257,9 +257,12 @@ public class BraveVpnNativeWorker { void reloadPurchasedState(long nativeBraveVpnNativeWorker); boolean isPurchasedUser(long nativeBraveVpnNativeWorker); + void getSubscriberCredentialV12(long nativeBraveVpnNativeWorker); + void reportBackgroundP3A( long nativeBraveVpnNativeWorker, long sessionStartTimeMs, long sessionEndTimeMs); + void reportForegroundP3A(long nativeBraveVpnNativeWorker); } } diff --git a/android/java/org/chromium/chrome/browser/vpn/adapters/VpnServerAdapter.java b/android/java/org/chromium/chrome/browser/vpn/adapters/VpnServerAdapter.java index 234880b989f..08cd8ec467e 100644 --- a/android/java/org/chromium/chrome/browser/vpn/adapters/VpnServerAdapter.java +++ b/android/java/org/chromium/chrome/browser/vpn/adapters/VpnServerAdapter.java @@ -1,8 +1,8 @@ -/** - * Copyright (c) 2021 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 https://mozilla.org/MPL/2.0/. - */ +/* Copyright (c) 2024 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 https://mozilla.org/MPL/2.0/. */ + package org.chromium.chrome.browser.vpn.adapters; import android.content.Context; diff --git a/components/brave_vpn/browser/connection/brave_vpn_region_data_manager.cc b/components/brave_vpn/browser/connection/brave_vpn_region_data_manager.cc index d1ee798eedf..3c4469b046c 100644 --- a/components/brave_vpn/browser/connection/brave_vpn_region_data_manager.cc +++ b/components/brave_vpn/browser/connection/brave_vpn_region_data_manager.cc @@ -22,25 +22,25 @@ namespace brave_vpn { namespace { -base::Value::Dict GetValueFromRegionWithoutCity(const mojom::Region& region) { +base::Value::Dict GetValueFromRegionWithoutCity( + const mojom::RegionPtr& region) { base::Value::Dict region_dict; - region_dict.Set(kRegionNameKey, region.name); - region_dict.Set(kRegionNamePrettyKey, region.name_pretty); - region_dict.Set(kRegionContinentKey, region.continent); - region_dict.Set(kRegionCountryIsoCodeKey, region.country_iso_code); - region_dict.Set(kRegionPrecisionKey, region.region_precision); - region_dict.Set(kRegionLatitudeKey, region.latitude); - region_dict.Set(kRegionLongitudeKey, region.longitude); - region_dict.Set(kRegionServerCountKey, region.server_count); + region_dict.Set(kRegionNameKey, region->name); + region_dict.Set(kRegionNamePrettyKey, region->name_pretty); + region_dict.Set(kRegionContinentKey, region->continent); + region_dict.Set(kRegionCountryIsoCodeKey, region->country_iso_code); + region_dict.Set(kRegionPrecisionKey, region->region_precision); + region_dict.Set(kRegionLatitudeKey, region->latitude); + region_dict.Set(kRegionLongitudeKey, region->longitude); + region_dict.Set(kRegionServerCountKey, region->server_count); return region_dict; } -base::Value::Dict GetValueFromRegion(const mojom::Region& region) { +base::Value::Dict GetValueFromRegion(const mojom::RegionPtr& region) { base::Value::Dict region_dict = GetValueFromRegionWithoutCity(region); base::Value::List cities; - for (const auto& city : region.cities) { - cities.Append(GetValueFromRegionWithoutCity(*city)); - // cities.Append(base::Value(city)); + for (const auto& city : region->cities) { + cities.Append(GetValueFromRegionWithoutCity(city)); } region_dict.Set(kRegionCitiesKey, std::move(cities)); return region_dict; @@ -62,42 +62,47 @@ bool IsValidRegionValue(const base::Value::Dict& value) { return true; } -mojom::Region GetRegionFromValueWithoutCity(const base::Value::Dict& value) { - mojom::Region region; +mojom::RegionPtr GetRegionFromValueWithoutCity(const base::Value::Dict& value) { + mojom::RegionPtr region = mojom::Region::New(); if (auto* name = value.FindString(brave_vpn::kRegionNameKey)) { - region.name = *name; + region->name = *name; } if (auto* name_pretty = value.FindString(brave_vpn::kRegionNamePrettyKey)) { - region.name_pretty = *name_pretty; + region->name_pretty = *name_pretty; } if (auto* continent = value.FindString(brave_vpn::kRegionContinentKey)) { - region.continent = *continent; + region->continent = *continent; } if (auto* country_iso_code = value.FindString(brave_vpn::kRegionCountryIsoCodeKey)) { - region.country_iso_code = *country_iso_code; + region->country_iso_code = *country_iso_code; } if (auto* region_precision = value.FindString(brave_vpn::kRegionPrecisionKey)) { - region.region_precision = *region_precision; + region->region_precision = *region_precision; } if (auto latitude = value.FindDouble(brave_vpn::kRegionLatitudeKey)) { - region.latitude = *latitude; + region->latitude = *latitude; } if (auto longitude = value.FindDouble(brave_vpn::kRegionLongitudeKey)) { - region.longitude = *longitude; + region->longitude = *longitude; } if (auto server_count = value.FindInt(brave_vpn::kRegionServerCountKey)) { - region.server_count = *server_count; + region->server_count = *server_count; } return region; } -mojom::Region GetRegionFromValue(const base::Value::Dict& value) { - mojom::Region region = GetRegionFromValueWithoutCity(value); - for (const auto& city : *value.FindList(kRegionCitiesKey)) { - region.cities.push_back(GetRegionFromValueWithoutCity(city.GetDict()).Clone()); +mojom::RegionPtr GetRegionFromValue(const base::Value::Dict& value) { + mojom::RegionPtr region = GetRegionFromValueWithoutCity(value); + // for (const auto& city : *value.FindList(kRegionCitiesKey)) { + // region.cities.push_back(GetRegionFromValueWithoutCity(city.GetDict()).Clone()); + // } + + const auto* cities = value.FindList(kRegionCitiesKey); + for (const auto& city : *cities) { + region->cities.push_back(GetRegionFromValueWithoutCity(city.GetDict())); } return region; @@ -114,9 +119,9 @@ bool ValidateCachedRegionData(const base::Value::List& region_value) { return true; } -std::vector ParseRegionList( +std::vector ParseRegionList( const base::Value::List& region_list) { - std::vector regions; + std::vector regions; for (const auto& value : region_list) { DCHECK(value.is_dict()); if (!value.is_dict()) { @@ -127,8 +132,8 @@ std::vector ParseRegionList( // Sort region list alphabetically std::sort(regions.begin(), regions.end(), - [](mojom::Region& a, mojom::Region& b) { - return (a.name_pretty < b.name_pretty); + [](mojom::RegionPtr& a, mojom::RegionPtr& b) { + return (a->name_pretty < b->name_pretty); }); return regions; } @@ -144,7 +149,7 @@ BraveVPNRegionDataManager::BraveVPNRegionDataManager( BraveVPNRegionDataManager::~BraveVPNRegionDataManager() = default; -const std::vector& BraveVPNRegionDataManager::GetRegions() +const std::vector& BraveVPNRegionDataManager::GetRegions() const { return regions_; } @@ -187,7 +192,7 @@ void BraveVPNRegionDataManager::SetDeviceRegion(const std::string& name) { void BraveVPNRegionDataManager::SetFallbackDeviceRegion() { // Set first item in the region list as a |device_region_| as a fallback. DCHECK(!regions_.empty()); - SetDeviceRegion(regions_[0].name); + SetDeviceRegion(regions_[0]->name); } void BraveVPNRegionDataManager::SetDeviceRegionWithTimezone( @@ -339,7 +344,7 @@ void BraveVPNRegionDataManager::OnFetchRegionList( bool BraveVPNRegionDataManager::ParseAndCacheRegionList( const base::Value::List& region_value, bool save_to_prefs) { - const auto new_regions = ParseRegionList(region_value); + auto new_regions = ParseRegionList(region_value); VLOG(2) << __func__ << " : has regionlist: " << !new_regions.empty(); // To avoid deleting current valid |regions_|, only assign when @@ -348,7 +353,7 @@ bool BraveVPNRegionDataManager::ParseAndCacheRegionList( return false; } - regions_ = new_regions; + regions_ = std::move(new_regions); if (save_to_prefs) { SetRegionListToPrefs(); diff --git a/components/brave_vpn/browser/connection/brave_vpn_region_data_manager.h b/components/brave_vpn/browser/connection/brave_vpn_region_data_manager.h index 798b5b9676f..d26586e8889 100644 --- a/components/brave_vpn/browser/connection/brave_vpn_region_data_manager.h +++ b/components/brave_vpn/browser/connection/brave_vpn_region_data_manager.h @@ -31,7 +31,7 @@ class BraveVPNRegionDataManager { BraveVPNRegionDataManager& operator=(const BraveVPNRegionDataManager&) = delete; - const std::vector& GetRegions() const; + const std::vector& GetRegions() const; bool IsRegionDataReady() const; std::string GetSelectedRegion() const; void FetchRegionDataIfNeeded(); @@ -72,7 +72,7 @@ class BraveVPNRegionDataManager { // For testing only. std::string test_timezone_; - std::vector regions_; + std::vector regions_; // Only not null when region_data fetching is in-progress. scoped_refptr url_loader_factory_;