@@ -81,20 +81,25 @@ class SettingsView : Subview
81
81
[ SerializeField ] private bool isBusy ;
82
82
[ SerializeField ] private int lockedFileSelection = - 1 ;
83
83
[ SerializeField ] private bool hasRemote ;
84
- [ SerializeField ] private bool remoteHasChanged ;
84
+ [ SerializeField ] private bool metricsEnabled ;
85
+ [ NonSerialized ] private bool metricsHasChanged ;
86
+ [ NonSerialized ] private bool remoteHasChanged ;
85
87
[ NonSerialized ] private bool userDataHasChanged ;
86
88
87
89
[ SerializeField ] private string newGitName ;
88
90
[ SerializeField ] private string newGitEmail ;
89
91
[ SerializeField ] private string newRepositoryRemoteUrl ;
90
92
[ SerializeField ] private User cachedUser ;
91
93
94
+ [ NonSerialized ] private IUsageTracker usageTracker ;
95
+
92
96
public override void OnEnable ( )
93
97
{
94
98
base . OnEnable ( ) ;
95
99
AttachHandlers ( Repository ) ;
96
100
97
101
remoteHasChanged = true ;
102
+ metricsHasChanged = true ;
98
103
}
99
104
100
105
public override void OnDisable ( )
@@ -175,8 +180,20 @@ public override void OnGUI()
175
180
GUILayout . EndScrollView ( ) ;
176
181
}
177
182
183
+ public override void InitializeView ( IView parent )
184
+ {
185
+ base . InitializeView ( parent ) ;
186
+ usageTracker = Manager != null && Manager . UsageTracker != null ? Manager . UsageTracker : null ;
187
+ }
188
+
178
189
private void MaybeUpdateData ( )
179
190
{
191
+ if ( metricsHasChanged )
192
+ {
193
+ metricsEnabled = usageTracker != null && usageTracker . Enabled ;
194
+ metricsHasChanged = false ;
195
+ }
196
+
180
197
if ( lockedFiles == null )
181
198
lockedFiles = new List < GitLock > ( ) ;
182
199
@@ -752,13 +769,10 @@ private void OnInstallPathGUI()
752
769
753
770
private void OnPrivacyGui ( )
754
771
{
755
- var service = Manager != null && Manager . UsageTracker != null ? Manager . UsageTracker : null ;
756
-
757
772
GUILayout . Label ( PrivacyTitle , EditorStyles . boldLabel ) ;
758
773
759
- EditorGUI . BeginDisabledGroup ( isBusy || service == null ) ;
774
+ EditorGUI . BeginDisabledGroup ( isBusy || usageTracker == null ) ;
760
775
{
761
- var metricsEnabled = service != null ? service . Enabled : false ;
762
776
EditorGUI . BeginChangeCheck ( ) ;
763
777
{
764
778
metricsEnabled = GUILayout . Toggle ( metricsEnabled , MetricsOptInLabel ) ;
0 commit comments