-
Notifications
You must be signed in to change notification settings - Fork 32
/
GeneralUpdateDeamon.java
77 lines (62 loc) · 1.7 KB
/
GeneralUpdateDeamon.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.xeiam.tasks;
import android.os.AsyncTask;
import com.xeiam.xbtctrader.TraderActivity;
public class GeneralUpdateDeamon extends AsyncTask<String, Void, Boolean>
{
public static final int PERIOD = 2500;
public static String[] updateOrder = {"ticker", "orderbook", "ticker", "account", "ticker", "orders"};
TraderActivity a;
private boolean isActive = true;
public GeneralUpdateDeamon(TraderActivity mainActivity)
{
this.a = mainActivity;
}
@Override
protected Boolean doInBackground(String... params)
{
int idx = 0;
while (isActive)
{
String query = updateOrder[idx % updateOrder.length];
if (query.equals("ticker"))
{
TraderActivity.exchangeAccount.queryLastTicker();
}
else if (query.equals("orderbook"))
{
TraderActivity.exchangeAccount.queryOrderBook();
}
else if (query.equals("account"))
{
TraderActivity.exchangeAccount.queryRemoteAccountInfo();
}
else if (query.equals("orders"))
{
TraderActivity.exchangeAccount.queryOpenOrders();
}
sleep();
idx++;
}
return true;
}
public boolean isActive()
{
return isActive;
}
public void setActive(boolean isActive)
{
this.isActive = isActive;
}
private void sleep()
{
try
{
Thread.sleep(PERIOD);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}