Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit f86e290

Browse files
Updating SettingsView to get metrics enabled state in MaybeUpdateData
1 parent c9b9bbb commit f86e290

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/SettingsView.cs

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,20 +81,25 @@ class SettingsView : Subview
8181
[SerializeField] private bool isBusy;
8282
[SerializeField] private int lockedFileSelection = -1;
8383
[SerializeField] private bool hasRemote;
84-
[SerializeField] private bool remoteHasChanged;
84+
[SerializeField] private bool metricsEnabled;
85+
[NonSerialized] private bool metricsHasChanged;
86+
[NonSerialized] private bool remoteHasChanged;
8587
[NonSerialized] private bool userDataHasChanged;
8688

8789
[SerializeField] private string newGitName;
8890
[SerializeField] private string newGitEmail;
8991
[SerializeField] private string newRepositoryRemoteUrl;
9092
[SerializeField] private User cachedUser;
9193

94+
[NonSerialized] private IUsageTracker usageTracker;
95+
9296
public override void OnEnable()
9397
{
9498
base.OnEnable();
9599
AttachHandlers(Repository);
96100

97101
remoteHasChanged = true;
102+
metricsHasChanged = true;
98103
}
99104

100105
public override void OnDisable()
@@ -175,8 +180,20 @@ public override void OnGUI()
175180
GUILayout.EndScrollView();
176181
}
177182

183+
public override void InitializeView(IView parent)
184+
{
185+
base.InitializeView(parent);
186+
usageTracker = Manager != null && Manager.UsageTracker != null ? Manager.UsageTracker : null;
187+
}
188+
178189
private void MaybeUpdateData()
179190
{
191+
if (metricsHasChanged)
192+
{
193+
metricsEnabled = usageTracker != null && usageTracker.Enabled;
194+
metricsHasChanged = false;
195+
}
196+
180197
if (lockedFiles == null)
181198
lockedFiles = new List<GitLock>();
182199

@@ -752,13 +769,10 @@ private void OnInstallPathGUI()
752769

753770
private void OnPrivacyGui()
754771
{
755-
var service = Manager != null && Manager.UsageTracker != null ? Manager.UsageTracker : null;
756-
757772
GUILayout.Label(PrivacyTitle, EditorStyles.boldLabel);
758773

759-
EditorGUI.BeginDisabledGroup(isBusy || service == null);
774+
EditorGUI.BeginDisabledGroup(isBusy || usageTracker == null);
760775
{
761-
var metricsEnabled = service != null ? service.Enabled : false;
762776
EditorGUI.BeginChangeCheck();
763777
{
764778
metricsEnabled = GUILayout.Toggle(metricsEnabled, MetricsOptInLabel);

0 commit comments

Comments
 (0)