Move updater to its own thread

This commit is contained in:
2019-04-08 09:34:10 -05:00
parent c156a3b926
commit 091ea32ccc
@@ -1,4 +1,5 @@
using System; using System;
using System.Threading;
using Xamarin.Forms; using Xamarin.Forms;
using SharpOSC; using SharpOSC;
namespace qController namespace qController
@@ -7,20 +8,25 @@ namespace qController
{ {
private bool active = true; private bool active = true;
private QController qController; private QController qController;
private Thread updateThread;
public QUpdater(QController controller) public QUpdater(QController controller)
{ {
qController = controller; qController = controller;
updateThread = new Thread(new ThreadStart(UpdateLoop));
} }
public void Start(){ public void Start(){
updateThread.Start();
}
public void UpdateLoop()
{
active = true; active = true;
Device.StartTimer(TimeSpan.FromSeconds(0.01), () => { Device.StartTimer(TimeSpan.FromSeconds(0.01), () => {
//qController.sendCommandUDP("/selectedCues");
UpdateSelected(); UpdateSelected();
UpdateLevels(); UpdateLevels();
return active; return active;
}); });
} }
public void UpdateSelected() public void UpdateSelected()
@@ -35,6 +41,7 @@ namespace qController
public void Kill(){ public void Kill(){
active = false; active = false;
updateThread.Abort();
} }
} }
} }