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

Commit 1e44afd

Browse files
committed
Use IGitHubServiceProvider as global provider
Register IGitHubServiceProvider with singleton Service class to use as global provider.
1 parent d7b6984 commit 1e44afd

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

src/GitHub.VisualStudio.16/CompositionServices.cs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -85,23 +85,14 @@ static CompositionContainer CreateCompositionContainer(ExportProvider defaultExp
8585

8686
var gitHubServiceProvider = new MyGitHubServiceProvider(compositionContainer);
8787
compositionContainer.ComposeExportedValue<IGitHubServiceProvider>(gitHubServiceProvider);
88+
Services.UnitTestServiceProvider = gitHubServiceProvider; // Use gitHubServiceProvider as global provider
8889

8990
var loginManager = CreateLoginManager(compositionContainer);
9091
compositionContainer.ComposeExportedValue<ILoginManager>(loginManager);
9192

92-
// HACK: Stop ViewLocator from attempting to fetch a global service
93-
var viewViewModelFactory = compositionContainer.GetExportedValue<IViewViewModelFactory>();
94-
InitializeViewLocator(viewViewModelFactory);
95-
9693
return compositionContainer;
9794
}
9895

99-
static void InitializeViewLocator(IViewViewModelFactory viewViewModelFactory)
100-
{
101-
var factoryProviderFiled = typeof(ViewLocator).GetField("factoryProvider", BindingFlags.Static | BindingFlags.NonPublic);
102-
factoryProviderFiled.SetValue(null, viewViewModelFactory);
103-
}
104-
10596
static LoginManager CreateLoginManager(CompositionContainer compositionContainer)
10697
{
10798
var keychain = compositionContainer.GetExportedValue<IKeychain>();
@@ -192,6 +183,11 @@ public TRet GetService<T, TRet>()
192183

193184
public object GetService(Type serviceType)
194185
{
186+
if (serviceType == typeof(IGitHubServiceProvider))
187+
{
188+
return this;
189+
}
190+
195191
return serviceProvider.GetService(serviceType);
196192
}
197193

0 commit comments

Comments
 (0)