async Task InitializeStatusBar() { var usageTracker = (IUsageTracker) await GetServiceAsync(typeof(IUsageTracker)); var serviceProvider = (IGitHubServiceProvider) await GetServiceAsync(typeof(IGitHubServiceProvider)); var barManager = new PullRequestStatusBarManager(usageTracker, serviceProvider); await JoinableTaskFactory.SwitchToMainThreadAsync(); barManager.StartShowingStatus(); }
/// <summary> /// Initialize the PR status UI on Visual Studio's status bar. /// </summary> protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress) { var usageTracker = (IUsageTracker) await GetServiceAsync(typeof(IUsageTracker)); var serviceProvider = (IGitHubServiceProvider) await GetServiceAsync(typeof(IGitHubServiceProvider)); var barManager = new PullRequestStatusBarManager(usageTracker, serviceProvider); await ThreadingHelper.SwitchToMainThreadAsync(); barManager.StartShowingStatus(); }
/// <summary> /// Initialize the PR status UI on Visual Studio's status bar. /// </summary> protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress) { var usageTracker = (IUsageTracker) await GetServiceAsync(typeof(IUsageTracker)); var serviceProvider = (IGitHubServiceProvider) await GetServiceAsync(typeof(IGitHubServiceProvider)); var barManager = new PullRequestStatusBarManager(usageTracker, serviceProvider); // await ThreadingHelper.SwitchToMainThreadAsync() won't return until after a solution // has been loaded. We're using the following instead as a workaround. await ThreadingHelper.MainThreadDispatcher.InvokeAsync(() => barManager.StartShowingStatus()); }