44using System . Linq ;
55using System . Reactive ;
66using System . Threading . Tasks ;
7+ using GitHub . Extensions ;
78using GitHub . Models ;
89using GitHub . Services ;
910using ReactiveUI ;
@@ -17,6 +18,7 @@ public class PullRequestAnnotationsViewModel : PanePageViewModelBase, IPullReque
1718 {
1819 readonly IPullRequestSessionManager sessionManager ;
1920 readonly IPullRequestEditorService pullRequestEditorService ;
21+ readonly IUsageTracker usageTracker ;
2022
2123 IPullRequestSession session ;
2224 string title ;
@@ -32,10 +34,15 @@ public class PullRequestAnnotationsViewModel : PanePageViewModelBase, IPullReque
3234 /// <param name="sessionManager">The pull request session manager.</param>
3335 /// <param name="pullRequestEditorService">The pull request editor service.</param>
3436 [ ImportingConstructor ]
35- public PullRequestAnnotationsViewModel ( IPullRequestSessionManager sessionManager , IPullRequestEditorService pullRequestEditorService )
37+ public PullRequestAnnotationsViewModel (
38+ IPullRequestSessionManager sessionManager ,
39+ IPullRequestEditorService pullRequestEditorService ,
40+ IUsageTracker usageTracker )
3641 {
3742 this . sessionManager = sessionManager ;
3843 this . pullRequestEditorService = pullRequestEditorService ;
44+ this . usageTracker = usageTracker ;
45+
3946 NavigateToPullRequest = ReactiveCommand . Create ( ( ) => {
4047 NavigateTo ( FormattableString . Invariant (
4148 $ "{ LocalRepository . Owner } /{ LocalRepository . Name } /pull/{ PullRequestNumber } ") ) ;
@@ -131,6 +138,8 @@ void Load(PullRequestDetailModel pullRequest)
131138
132139 try
133140 {
141+ var firstLoad = ( PullRequestTitle == null ) ;
142+
134143 PullRequestTitle = pullRequest . Title ;
135144
136145 var checkSuiteRun = pullRequest
@@ -158,6 +167,11 @@ void Load(PullRequestDetailModel pullRequest)
158167 . Cast < IPullRequestAnnotationItemViewModel > ( )
159168 . ToArray ( )
160169 ) ;
170+
171+ if ( firstLoad )
172+ {
173+ usageTracker . IncrementCounter ( x => x . NumberOfPullRequestOpenAnnotationsList ) . Forget ( ) ;
174+ }
161175 }
162176 finally
163177 {
0 commit comments