Skip to content

Commit 42eeb29

Browse files
authored
Internet availability checks (#226)
1 parent f081bd0 commit 42eeb29

File tree

4 files changed

+14
-5
lines changed

4 files changed

+14
-5
lines changed

Runtime/BacktraceDatabase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ internal void Update()
236236
}
237237
if (_breadcrumbs != null)
238238
{
239-
_breadcrumbs.Update();
239+
_breadcrumbs.Update(Time.unscaledTime);
240240
}
241241
LastFrameTime = Time.unscaledTime;
242242
if (!DatabaseSettings.AutoSendMode)

Runtime/Model/Breadcrumbs/BacktraceBreadcrumbs.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,9 @@ public double BreadcrumbId()
191191
return LogManager.BreadcrumbId();
192192
}
193193

194-
public void Update()
194+
public void Update(float time)
195195
{
196-
EventHandler.Update();
196+
EventHandler.Update(time);
197197
}
198198

199199
public static bool CanStoreBreadcrumbs(UnityEngineLogLevel logLevel, BacktraceBreadcrumbType backtraceBreadcrumbsLevel)

Runtime/Model/Breadcrumbs/BacktraceBreadcrumbsEventHandler.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ internal sealed class BacktraceBreadcrumbsEventHandler
1313
private BacktraceBreadcrumbType _registeredLevel;
1414
private NetworkReachability _networkStatus = NetworkReachability.NotReachable;
1515
private Thread _thread;
16+
private float _lastUpdateTime = 0;
17+
18+
// time in seconds between internet availability checks
19+
private float INTERNET_AVAILABILITY_CHECK_INTERVAL_SEC = 30;
1620
public BacktraceBreadcrumbsEventHandler(BacktraceBreadcrumbs breadcrumbs)
1721
{
1822
_thread = Thread.CurrentThread;
@@ -151,8 +155,13 @@ private void LogNewNetworkStatus(NetworkReachability status)
151155
Log(string.Format("Network:{0}", status), LogType.Log, BreadcrumbLevel.System);
152156
}
153157

154-
internal void Update()
158+
internal void Update(float time)
155159
{
160+
if (time - _lastUpdateTime < INTERNET_AVAILABILITY_CHECK_INTERVAL_SEC && _lastUpdateTime != 0)
161+
{
162+
return;
163+
}
164+
_lastUpdateTime = time;
156165
if (_registeredLevel.HasFlag(BacktraceBreadcrumbType.System) && Application.internetReachability != _networkStatus)
157166
{
158167
LogNewNetworkStatus(Application.internetReachability);

Runtime/Model/Breadcrumbs/IBacktraceBreadcrumbs.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public interface IBacktraceBreadcrumbs
2929
string GetBreadcrumbLogPath();
3030
double BreadcrumbId();
3131
void UnregisterEvents();
32-
void Update();
32+
void Update(float time);
3333
string Archive();
3434
}
3535
}

0 commit comments

Comments
 (0)