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:
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user