115
116
constructor(
118
>
profile: IUserDataProfile,
119
>
collection: string | undefined,
120
>
@IEnvironmentService environmentService: IEnvironmentService,
121
>
@IFileService fileService: IFileService,
122
>
@IStorageService storageService: IStorageService,
123
>
@IUserDataSyncStoreService userDataSyncStoreService: IUserDataSyncStoreService,
124
>
@IUserDataSyncLocalStoreService userDataSyncLocalStoreService: IUserDataSyncLocalStoreService,
125
>
@IExtensionManagementService private readonly extensionManagementService: IExtensionManagementService,
126
>
@IIgnoredExtensionsManagementService private readonly ignoredExtensionsManagementService: IIgnoredExtensionsManagementService,
127
>
@IUserDataSyncLogService logService: IUserDataSyncLogService,
128
>
@IConfigurationService configurationService: IConfigurationService,
129
>
@IUserDataSyncEnablementService userDataSyncEnablementService: IUserDataSyncEnablementService,
130
>
@ITelemetryService telemetryService: ITelemetryService,
131
>
@IExtensionStorageService extensionStorageService: IExtensionStorageService,
132
>
@IUriIdentityService uriIdentityService: IUriIdentityService,
133
>
@IUserDataProfileStorageService userDataProfileStorageService: IUserDataProfileStorageService,
134
>
@IInstantiationService private readonly instantiationService: IInstantiationService,
135
>
) {
136
>
super({ syncResource: SyncResource.Extensions, profile }, collection, fileService, environmentService, storageService, userDataSyncStoreService, userDataSyncLocalStoreService, userDataSyncEnablementService, telemetryService, logService, configurationService, uriIdentityService);
137
>
this.localExtensionsProvider = this.instantiationService.createInstance(LocalExtensionsProvider);
138
>
this._register(
139
>
Event.any<any>(
140
>
Event.filter(this.extensionManagementService.onDidInstallExtensions, (e => e.some(({ local }) => !!local))),
141
>
Event.filter(this.extensionManagementService.onDidUninstallExtension, (e => !e.error)),
142
>
Event.filter(userDataProfileStorageService.onDidChange, e => e.valueChanges.some(({ profile, changes }) => this.syncResource.profile.id === profile.id && changes.some(change => change.key === DISABLED_EXTENSIONS_STORAGE_PATH))),
143
>
extensionStorageService.onDidChangeExtensionStorageToSync)(() => this.triggerLocalChange()));
144
>
}
145
146
protected async generateSyncPreview(remoteUserData: IRemoteUserData, lastSyncUserData: ILastSyncUserData | null): Promise<IExtensionResourcePreview[]> {