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

Commit de9e934

Browse files
Using CacheType to know cached data has never been populated
1 parent dc8cb17 commit de9e934

File tree

2 files changed

+11
-15
lines changed

2 files changed

+11
-15
lines changed

src/GitHub.Api/Git/Repository.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ public User(ICacheContainer cacheContainer)
407407
public void CheckUserChangedEvent(CacheUpdateEvent cacheUpdateEvent)
408408
{
409409
var managedCache = cacheContainer.GitUserCache;
410-
var raiseEvent = managedCache.LastUpdatedAt != cacheUpdateEvent.UpdatedTime;
410+
var raiseEvent = !cacheUpdateEvent.IsInitialized || managedCache.LastUpdatedAt != cacheUpdateEvent.UpdatedTime;
411411

412412
Logger.Trace("Check GitUserCache CacheUpdateEvent Current:{0} Check:{1} Result:{2}", managedCache.LastUpdatedAt,
413413
cacheUpdateEvent.UpdatedTime, raiseEvent);
@@ -502,6 +502,8 @@ public struct CacheUpdateEvent
502502

503503
public CacheUpdateEvent(CacheType type, DateTimeOffset when)
504504
{
505+
if (type == CacheType.None) throw new ArgumentOutOfRangeException(nameof(type));
506+
505507
cacheType = type;
506508
updatedTimeValue = when;
507509
updatedTimeString = when.ToString(Constants.Iso8601Format);
@@ -562,19 +564,17 @@ public DateTimeOffset UpdatedTime
562564
}
563565
else
564566
{
565-
UpdatedTime = DateTimeOffset.MinValue;
567+
updatedTimeValue = DateTimeOffset.MinValue;
568+
updatedTimeString = updatedTimeValue.Value.ToString(Constants.Iso8601Format);
566569
}
567570
}
568571

569572
return updatedTimeValue.Value;
570573
}
571-
set
572-
{
573-
updatedTimeValue = value;
574-
updatedTimeString = value.ToString(Constants.Iso8601Format);
575-
}
576574
}
577575

576+
public bool IsInitialized => cacheType != CacheType.None;
577+
578578
public string UpdatedTimeString => updatedTimeString;
579579
}
580580
}

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

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,10 @@ private void AttachHandlers()
9090
private void UserOnChanged(CacheUpdateEvent cacheUpdateEvent)
9191
{
9292
//Logger.Trace("UserOnChanged");
93-
94-
if (!lastCheckUserChangedEvent.Equals(cacheUpdateEvent))
95-
{
96-
lastCheckUserChangedEvent = cacheUpdateEvent;
97-
userHasChanges = true;
98-
isBusy = false;
99-
Redraw();
100-
}
93+
lastCheckUserChangedEvent = cacheUpdateEvent;
94+
userHasChanges = true;
95+
isBusy = false;
96+
Redraw();
10197
}
10298

10399
private void DetachHandlers()

0 commit comments

Comments
 (0)