@@ -58,8 +58,8 @@ static CompositionContainer CreateVisualStudioCompositionContainer(ExportProvide
5858
5959 var gitHubServiceProvider = compositionContainer . GetExportedValue < IGitHubServiceProvider > ( ) ;
6060 var packageSettings = new PackageSettings ( gitHubServiceProvider ) ;
61- var usageTracker = CreateUsageTracker ( compositionContainer , packageSettings ) ;
62- compositionContainer . ComposeExportedValue < IUsageTracker > ( usageTracker ) ;
61+ var usageTracker = UsageTrackerFactory . CreateUsageTracker ( compositionContainer , packageSettings ) ;
62+ compositionContainer . ComposeExportedValue ( usageTracker ) ;
6363
6464 return compositionContainer ;
6565 }
@@ -69,18 +69,21 @@ static CompositionContainer CreateOutOfProcCompositionContainer()
6969 var compositionContainer = CreateCompositionContainer ( CreateOutOfProcExports ( ) ) ;
7070
7171 var packageSettings = new OutOfProcPackageSettings ( ) ;
72- var usageTracker = CreateUsageTracker ( compositionContainer , packageSettings ) ;
73- compositionContainer . ComposeExportedValue < IUsageTracker > ( usageTracker ) ;
72+ var usageTracker = UsageTrackerFactory . CreateUsageTracker ( compositionContainer , packageSettings ) ;
73+ compositionContainer . ComposeExportedValue ( usageTracker ) ;
7474
7575 return compositionContainer ;
7676 }
7777
78- static UsageTracker CreateUsageTracker ( CompositionContainer compositionContainer , IPackageSettings packageSettings )
78+ class UsageTrackerFactory
7979 {
80- var gitHubServiceProvider = compositionContainer . GetExportedValue < IGitHubServiceProvider > ( ) ;
81- var usageService = compositionContainer . GetExportedValue < IUsageService > ( ) ;
82- var joinableTaskContext = compositionContainer . GetExportedValue < JoinableTaskContext > ( ) ;
83- return new UsageTracker ( gitHubServiceProvider , usageService , packageSettings , joinableTaskContext ) ;
80+ internal static IUsageTracker CreateUsageTracker ( CompositionContainer compositionContainer , IPackageSettings packageSettings )
81+ {
82+ var gitHubServiceProvider = compositionContainer . GetExportedValue < IGitHubServiceProvider > ( ) ;
83+ var usageService = compositionContainer . GetExportedValue < IUsageService > ( ) ;
84+ var joinableTaskContext = compositionContainer . GetExportedValue < JoinableTaskContext > ( ) ;
85+ return new UsageTracker ( gitHubServiceProvider , usageService , packageSettings , joinableTaskContext ) ;
86+ }
8487 }
8588
8689 static CompositionContainer CreateOutOfProcExports ( )
@@ -117,8 +120,8 @@ static CompositionContainer CreateCompositionContainer(ExportProvider defaultExp
117120 compositionContainer . ComposeExportedValue < IGitHubServiceProvider > ( gitHubServiceProvider ) ;
118121 Services . UnitTestServiceProvider = gitHubServiceProvider ; // Use gitHubServiceProvider as global provider
119122
120- var loginManager = CreateLoginManager ( compositionContainer ) ;
121- compositionContainer . ComposeExportedValue < ILoginManager > ( loginManager ) ;
123+ var loginManager = LoginManagerFactory . CreateLoginManager ( compositionContainer ) ;
124+ compositionContainer . ComposeExportedValue ( loginManager ) ;
122125
123126 // Ensure GitHub.Resources.dll has been loaded and it visible to XAML
124127 EnsureLoaded ( typeof ( GitHub . Resources ) ) ;
@@ -132,22 +135,25 @@ static void EnsureLoaded(Type type)
132135 Assumes . NotNull ( type ) ;
133136 }
134137
135- static LoginManager CreateLoginManager ( CompositionContainer compositionContainer )
138+ class LoginManagerFactory
136139 {
137- var keychain = compositionContainer . GetExportedValue < IKeychain > ( ) ;
138- var lazy2Fa = new Lazy < ITwoFactorChallengeHandler > ( ( ) => compositionContainer . GetExportedValue < ITwoFactorChallengeHandler > ( ) ) ;
139- var oauthListener = compositionContainer . GetExportedValue < IOAuthCallbackListener > ( ) ;
140- var loginManager = new LoginManager (
141- keychain ,
142- lazy2Fa ,
143- oauthListener ,
144- ApiClientConfiguration . ClientId ,
145- ApiClientConfiguration . ClientSecret ,
146- ApiClientConfiguration . MinimumScopes ,
147- ApiClientConfiguration . RequestedScopes ,
148- ApiClientConfiguration . AuthorizationNote ,
149- ApiClientConfiguration . MachineFingerprint ) ;
150- return loginManager ;
140+ internal static ILoginManager CreateLoginManager ( CompositionContainer compositionContainer )
141+ {
142+ var keychain = compositionContainer . GetExportedValue < IKeychain > ( ) ;
143+ var lazy2Fa = new Lazy < ITwoFactorChallengeHandler > ( ( ) => compositionContainer . GetExportedValue < ITwoFactorChallengeHandler > ( ) ) ;
144+ var oauthListener = compositionContainer . GetExportedValue < IOAuthCallbackListener > ( ) ;
145+ var loginManager = new LoginManager (
146+ keychain ,
147+ lazy2Fa ,
148+ oauthListener ,
149+ ApiClientConfiguration . ClientId ,
150+ ApiClientConfiguration . ClientSecret ,
151+ ApiClientConfiguration . MinimumScopes ,
152+ ApiClientConfiguration . RequestedScopes ,
153+ ApiClientConfiguration . AuthorizationNote ,
154+ ApiClientConfiguration . MachineFingerprint ) ;
155+ return loginManager ;
156+ }
151157 }
152158
153159 static TypeCatalog GetCatalog ( Assembly assembly )
0 commit comments