Subversion Repositories Code-Repo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
90 Kevin 1
package ioio.debugger;
2
 
3
import android.graphics.Color;
4
import android.os.Handler;
5
import android.view.View;
6
import android.widget.TextView;
7
 
8
public class ViewWidgetToggleText implements ViewWidget {
9
 
10
	private View view;
11
	private Runnable run;
12
	private Thread thread;
13
	private Handler handler = new Handler();
14
	private int pin;
15
	private boolean toggle;
16
 
17
	public ViewWidgetToggleText() {
18
 
19
	}
20
 
21
	@Override
22
	public void stopThread() {
23
		thread.interrupt();
24
	}
25
 
26
	@Override
27
	public void startThread() {
28
		// Kill the thread if it is already running
29
		if (thread != null && thread.isAlive())
30
			thread.interrupt();
31
		// Start a new thread and run the passed Runnable
32
		thread = new Thread (run);
33
		thread.start();
34
	}
35
 
36
	@Override
37
	public View getView() {
38
		return view;
39
	}
40
 
41
	@Override
42
	public Thread getThread() {
43
		return thread;
44
	}
45
 
46
	@Override
47
	public void clearData() {
48
 
49
	}
50
 
51
	@Override
52
	public void setStopSignal() {
53
		handler.post(new Runnable() {
54
 
55
			@Override
56
			public void run() {
57
				TextView tv = (TextView)view.findViewById(R.id.layout_toggleText_status);
58
				tv.setTextColor(Color.RED);
59
			}
60
		});
61
	}
62
 
63
	@Override
64
	public void resetStopSignal() {
65
		handler.post(new Runnable() {
66
 
67
			@Override
68
			public void run() {
69
				TextView tv = (TextView)view.findViewById(R.id.layout_toggleText_status);
70
				tv.setTextColor(Color.WHITE);
71
			}
72
		});
73
	}
74
 
75
	@Override
76
	public void sendDataHistory() {
77
		Double[] data = new Double[1];
78
		if (toggle)
79
			data[0] = 3.3;
80
		else
81
			data[0] = 0.0;
82
		IOIODebuggerActivity.get_networkMgr().sendData(pin, data);
83
	}
84
 
85
	@Override
86
	public int getPin() {
87
		return pin;
88
	}
89
 
90
	public void setPin(int pin) {
91
		this.pin = pin;
92
	}
93
 
94
	public void updateText(final String str) {
95
		handler.post(new Runnable() {
96
 
97
			@Override
98
			public void run() {
99
				TextView tv = (TextView)view.findViewById(R.id.layout_toggleText_text);
100
				tv.setText(str);
101
			}
102
		});
103
	}
104
 
105
	public void updateStatus(final String str) {
106
		handler.post(new Runnable() {
107
 
108
			@Override
109
			public void run() {
110
				TextView tv = (TextView)view.findViewById(R.id.layout_toggleText_status);
111
				tv.setText(str);
112
			}
113
		});
114
	}
115
 
116
	public void setToggle(boolean b) {
117
		toggle = b;
118
	}
119
 
120
	public void setView(View view) {
121
		this.view = view;
122
	}
123
 
124
	public void setRunnable(Runnable r) {
125
		this.run = r;
126
	}
127
}