Fixing Sync to use the brave_services_key (not sure why this was removed).

Adding back deleting other devices using the 1.20.x API (profile_helper).
Changed ResetSync to use the brave_sync::ResetSync from profile_helper.
This commit is contained in:
Brandon
2021-02-01 10:18:50 -07:00
committed by Brian Clifton
parent bf29ffe640
commit a9a40f59ee
5 changed files with 54 additions and 46 deletions
+1
View File
@@ -21,6 +21,7 @@ source_set("sync") {
"//brave/components/brave_sync",
"//brave/components/brave_sync:crypto",
"//brave/components/brave_sync:prefs",
"//brave/components/brave_sync:profile_sync_service_helper",
"//components/sync/driver",
"//components/sync_device_info",
"//ios/chrome/browser",
+3 -1
View File
@@ -19,7 +19,9 @@ OBJC_EXPORT
@property(nonatomic) bool syncEnabled;
@property(nonatomic, readonly) bool isSyncFeatureActive;
- (bool)resetSync;
- (void)resetSync;
- (void)deleteDevice:(NSString*)guid;
- (bool)isValidSyncCode:(NSString*)syncCode;
+11 -4
View File
@@ -17,7 +17,8 @@
#include "base/strings/sys_string_conversions.h"
#include "brave/components/brave_sync/brave_sync_prefs.h"
#include "brave/components/brave_sync/crypto/crypto.h"
#import "brave/ios/browser/api/sync/brave_sync_worker.h"
#include "brave/components/sync_device_info/brave_device_info.h"
#include "brave/ios/browser/api/sync/brave_sync_worker.h"
#include "components/sync/driver/profile_sync_service.h"
#include "components/sync/driver/sync_service.h"
#include "components/sync/driver/sync_service_observer.h"
@@ -180,12 +181,14 @@
base::Value device_list_value(base::Value::Type::LIST);
for (const auto& device : _worker->GetDeviceList()) {
for (const auto& device : device_list) {
auto device_value = base::Value::FromUniquePtrValue(device->ToValue());
bool is_current_device =
local_device_info ? local_device_info->guid() == device->guid() : false;
device_value.SetBoolKey("isCurrentDevice", is_current_device);
device_value.SetStringKey("guid", device->guid());
device_value.SetBoolKey("supportsSelfDelete",
device->is_self_delete_supported());
device_list_value.Append(std::move(device_value));
}
@@ -197,8 +200,12 @@
return base::SysUTF8ToNSString(json_string);
}
- (bool)resetSync {
return _worker->ResetSync();
- (void)resetSync {
_worker->ResetSync();
}
- (void)deleteDevice:(NSString*)guid {
_worker->DeleteDevice(base::SysNSStringToUTF8(guid));
}
- (id)createSyncDeviceObserver:(void (^)())onDeviceInfoChanged {
+34 -38
View File
@@ -15,7 +15,9 @@
#include "base/strings/sys_string_conversions.h"
#include "brave/components/brave_sync/brave_sync_prefs.h"
#include "brave/components/brave_sync/crypto/crypto.h"
#include "brave/components/brave_sync/profile_sync_service_helper.h"
#include "brave/components/sync/driver/brave_sync_profile_sync_service.h"
#include "brave/components/sync_device_info/brave_device_info.h"
#include "components/sync/driver/profile_sync_service.h"
#include "components/sync/driver/sync_service.h"
#include "components/sync/driver/sync_service_observer.h"
@@ -162,19 +164,19 @@ const syncer::DeviceInfo* BraveSyncWorker::GetLocalDeviceInfo() {
->GetLocalDeviceInfo();
}
std::vector<std::unique_ptr<syncer::DeviceInfo>>
std::vector<std::unique_ptr<syncer::BraveDeviceInfo>>
BraveSyncWorker::GetDeviceList() {
DCHECK_CURRENTLY_ON(web::WebThread::UI);
auto* device_info_service =
DeviceInfoSyncServiceFactory::GetForBrowserState(browser_state_);
if (!device_info_service) {
return std::vector<std::unique_ptr<syncer::DeviceInfo>>();
return std::vector<std::unique_ptr<syncer::BraveDeviceInfo>>();
}
syncer::DeviceInfoTracker* tracker =
device_info_service->GetDeviceInfoTracker();
return tracker->GetAllDeviceInfo();
return tracker->GetAllBraveDeviceInfo();
}
std::string BraveSyncWorker::GetOrCreateSyncCode() {
@@ -239,39 +241,36 @@ bool BraveSyncWorker::IsFirstSetupComplete() {
sync_service->GetUserSettings()->IsFirstSetupComplete();
}
bool BraveSyncWorker::ResetSync() {
void BraveSyncWorker::ResetSync() {
DCHECK_CURRENTLY_ON(web::WebThread::UI);
auto* sync_service =
ProfileSyncServiceFactory::GetForBrowserState(browser_state_);
// Do not send self deleted commit if engine is not up and running
if (!sync_service || sync_service->GetTransportState() !=
syncer::SyncService::TransportState::ACTIVE) {
OnLocalDeviceInfoDeleted();
return true;
auto* sync_service = GetSyncService();
if (!sync_service) {
return;
}
auto* local_device_info = GetLocalDeviceInfo();
if (!local_device_info) {
// May happens when we reset the chain immediately after connection
VLOG(1) << __func__ << " no local device info, cannot reset sync now";
return false;
}
auto* device_info_service =
DeviceInfoSyncServiceFactory::GetForBrowserState(browser_state_);
auto* tracker = device_info_service->GetDeviceInfoTracker();
DCHECK(device_info_service);
brave_sync::ResetSync(sync_service, device_info_service,
base::BindOnce(&BraveSyncWorker::OnResetDone,
weak_ptr_factory_.GetWeakPtr()));
}
if (!tracker) {
return false;
void BraveSyncWorker::DeleteDevice(const std::string& device_guid) {
DCHECK_CURRENTLY_ON(web::WebThread::UI);
auto* sync_service = GetSyncService();
if (!sync_service) {
return;
}
tracker->DeleteDeviceInfo(
local_device_info->guid(),
base::BindOnce(&BraveSyncWorker::OnLocalDeviceInfoDeleted,
weak_ptr_factory_.GetWeakPtr()));
return true;
auto* device_info_service =
DeviceInfoSyncServiceFactory::GetForBrowserState(browser_state_);
DCHECK(device_info_service);
brave_sync::DeleteDevice(sync_service, device_info_service, device_guid);
}
syncer::BraveProfileSyncService* BraveSyncWorker::GetSyncService() const {
@@ -329,16 +328,13 @@ void BraveSyncWorker::OnSyncShutdown(syncer::SyncService* service) {
}
}
void BraveSyncWorker::OnLocalDeviceInfoDeleted() {
auto* sync_service =
ProfileSyncServiceFactory::GetForBrowserState(browser_state_);
void BraveSyncWorker::OnResetDone() {
syncer::SyncService* sync_service = GetSyncService();
if (sync_service) {
sync_service->StopAndClear();
if (sync_service_observer_.IsObserving(sync_service)) {
sync_service_observer_.Remove(sync_service);
}
}
brave_sync::Prefs brave_sync_prefs(browser_state_->GetPrefs());
brave_sync_prefs.Clear();
}
bool BraveSyncWorker::IsSyncEnabled() {
+5 -3
View File
@@ -22,6 +22,7 @@ class ChromeBrowserState;
namespace syncer {
class BraveProfileSyncService;
class DeviceInfo;
class BraveDeviceInfo;
class ProfileSyncService;
} // namespace syncer
@@ -66,11 +67,12 @@ class BraveSyncWorker : public syncer::SyncServiceObserver {
bool SetSyncCode(const std::string& sync_code);
std::string GetSyncCodeFromHexSeed(const std::string& hex_seed);
const syncer::DeviceInfo* GetLocalDeviceInfo();
std::vector<std::unique_ptr<syncer::DeviceInfo>> GetDeviceList();
std::vector<std::unique_ptr<syncer::BraveDeviceInfo>> GetDeviceList();
bool IsSyncEnabled();
bool IsSyncFeatureActive();
bool IsFirstSetupComplete();
bool ResetSync();
void ResetSync();
void DeleteDevice(const std::string& device_guid);
private:
// syncer::SyncServiceObserver implementation.
@@ -79,7 +81,7 @@ class BraveSyncWorker : public syncer::SyncServiceObserver {
void OnStateChanged(syncer::SyncService* service) override;
void OnSyncShutdown(syncer::SyncService* service) override;
void OnLocalDeviceInfoDeleted();
void OnResetDone();
ChromeBrowserState* browser_state_; // NOT OWNED
ScopedObserver<syncer::SyncService, syncer::SyncServiceObserver>