|
| 1 | +/*--------------------------------------------------------------------------------------------- |
| 2 | + * Copyright (c) Microsoft Corporation. All rights reserved. |
| 3 | + * Licensed under the MIT License. See License.txt in the project root for license information. |
| 4 | + *--------------------------------------------------------------------------------------------*/ |
| 5 | + |
| 6 | +import { IUserDataSyncResourceEnablementService, SyncResource } from 'vs/platform/userDataSync/common/userDataSync'; |
| 7 | +import { IStorageService } from 'vs/platform/storage/common/storage'; |
| 8 | +import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; |
| 9 | +import { UserDataSyncResourceEnablementService } from 'vs/platform/userDataSync/common/userDataSyncResourceEnablementService'; |
| 10 | +import { IExtensionManagementServerService } from 'vs/workbench/services/extensionManagement/common/extensionManagement'; |
| 11 | +import { registerSingleton } from 'vs/platform/instantiation/common/extensions'; |
| 12 | + |
| 13 | +export class WebUserDataSyncResourceEnablementService extends UserDataSyncResourceEnablementService implements IUserDataSyncResourceEnablementService { |
| 14 | + |
| 15 | + constructor( |
| 16 | + @IStorageService storageService: IStorageService, |
| 17 | + @ITelemetryService telemetryService: ITelemetryService, |
| 18 | + @IExtensionManagementServerService private readonly extensionManagementServerService: IExtensionManagementServerService, |
| 19 | + ) { |
| 20 | + super(storageService, telemetryService); |
| 21 | + } |
| 22 | + |
| 23 | + protected getDefaultResourceEnablementValue(resource: SyncResource): boolean { |
| 24 | + if (resource === SyncResource.Extensions) { |
| 25 | + // In Web, disable syncing extensions by default when there is a remote server |
| 26 | + return !this.extensionManagementServerService.remoteExtensionManagementServer; |
| 27 | + } |
| 28 | + return super.getDefaultResourceEnablementValue(resource); |
| 29 | + } |
| 30 | + |
| 31 | +} |
| 32 | + |
| 33 | +registerSingleton(IUserDataSyncResourceEnablementService, WebUserDataSyncResourceEnablementService); |
0 commit comments