Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 478547b

Browse files
authored
Merge pull request #1428 from github/fixes/usage-service-initialization
Initializing IUsageService in ServiceProviderPackage
2 parents 97e4570 + 2c21b65 commit 478547b

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/GitHub.VisualStudio/GitHubPackage.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ public GHClient(IProgram program)
112112
[ProvideService(typeof(IMenuProvider), IsAsyncQueryable = true)]
113113
[ProvideService(typeof(IGitHubServiceProvider), IsAsyncQueryable = true)]
114114
[ProvideService(typeof(IUsageTracker), IsAsyncQueryable = true)]
115+
[ProvideService(typeof(IUsageService), IsAsyncQueryable = true)]
115116
[ProvideService(typeof(IGitHubToolWindowManager))]
116117
[Guid(ServiceProviderPackageId)]
117118
public sealed class ServiceProviderPackage : AsyncPackage, IServiceProviderPackage, IGitHubToolWindowManager
@@ -150,6 +151,7 @@ protected override Task InitializeAsync(CancellationToken cancellationToken, IPr
150151
{
151152
AddService(typeof(IGitHubServiceProvider), CreateService, true);
152153
AddService(typeof(IUsageTracker), CreateService, true);
154+
AddService(typeof(IUsageService), CreateService, true);
153155
AddService(typeof(ILoginManager), CreateService, true);
154156
AddService(typeof(IMenuProvider), CreateService, true);
155157
AddService(typeof(IGitHubToolWindowManager), CreateService, true);
@@ -241,11 +243,16 @@ async Task<object> CreateService(IAsyncServiceContainer container, CancellationT
241243
var sp = await GetServiceAsync(typeof(IGitHubServiceProvider)) as IGitHubServiceProvider;
242244
return new MenuProvider(sp);
243245
}
246+
else if (serviceType == typeof(IUsageService))
247+
{
248+
var sp = await GetServiceAsync(typeof(IGitHubServiceProvider)) as IGitHubServiceProvider;
249+
return new UsageService(sp);
250+
}
244251
else if (serviceType == typeof(IUsageTracker))
245252
{
246253
await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
254+
var usageService = await GetServiceAsync(typeof(IUsageService)) as IUsageService;
247255
var serviceProvider = await GetServiceAsync(typeof(IGitHubServiceProvider)) as IGitHubServiceProvider;
248-
var usageService = serviceProvider.GetService<IUsageService>();
249256
return new UsageTracker(serviceProvider, usageService);
250257
}
251258
else if (serviceType == typeof(IGitHubToolWindowManager))

0 commit comments

Comments
 (0)