Mercurial > 510ConnectbotMonitor
comparison src/com/five_ten_sg/connectbot/monitor/MonitorActivity.java @ 0:5564580fe160
initial version
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Mon, 05 May 2014 13:37:31 -0700 |
parents | |
children | f6a1aabf384f |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:5564580fe160 |
---|---|
1 package com.five_ten_sg.connectbot.monitor; | |
2 | |
3 import java.io.BufferedReader; | |
4 import java.io.IOException; | |
5 import java.io.InputStreamReader; | |
6 import java.net.ServerSocket; | |
7 import java.net.Socket; | |
8 | |
9 import android.app.Activity; | |
10 import android.content.ComponentName; | |
11 import android.content.Context; | |
12 import android.content.Intent; | |
13 import android.content.ServiceConnection; | |
14 import android.net.wifi.WifiManager.WifiLock; | |
15 import android.net.wifi.WifiManager; | |
16 import android.os.Binder; | |
17 import android.os.Bundle; | |
18 import android.os.Handler; | |
19 import android.os.IBinder; | |
20 import android.os.Message; | |
21 import android.os.PowerManager; | |
22 import android.util.Log; | |
23 import android.widget.TextView; | |
24 | |
25 public class MonitorActivity extends Activity { | |
26 public final static String TAG = "ConnectBot.MonitorActivity"; | |
27 | |
28 public static final int MESSAGE_CODE_PRINT = 6000; | |
29 private final int LINES = 20; | |
30 private String[] texts = new String[LINES]; | |
31 private int start = 0; | |
32 private int count = 0; | |
33 private TextView text = null; | |
34 private MonitorService bound = null; | |
35 private Handler handler = new Handler() { | |
36 @Override | |
37 public void handleMessage (Message msg) { | |
38 if (msg.what == MESSAGE_CODE_PRINT) { | |
39 String s = (String)msg.obj; | |
40 if (count < LINES) count++; | |
41 else start = (start+1) % LINES; | |
42 texts[(start+count-1) % LINES] = s + "\n"; | |
43 String c = ""; | |
44 for (int i=0; i<count; i++) c = c.concat(texts[(start+i) % LINES]); | |
45 text.setText(c); | |
46 } else { | |
47 super.handleMessage(msg); | |
48 } | |
49 } | |
50 }; | |
51 private ServiceConnection connection = new ServiceConnection() { | |
52 public void onServiceConnected(ComponentName className, IBinder service) { | |
53 Log.i(TAG, "onServiceConnected()"); | |
54 bound = ((MonitorService.MonitorBinder)service).getService(); | |
55 bound.handler = handler; | |
56 } | |
57 public void onServiceDisconnected(ComponentName className) { | |
58 Log.i(TAG, "onServiceDisconnected()"); | |
59 bound = null; | |
60 } | |
61 }; | |
62 | |
63 @Override | |
64 public void onCreate(Bundle savedInstanceState) { | |
65 super.onCreate(savedInstanceState); | |
66 setContentView(R.layout.main); | |
67 text = (TextView) findViewById(R.id.text2); | |
68 Log.i(TAG, "binding to monitor service"); | |
69 Intent intent = new Intent ("com.five_ten_sg.connectbot.monitor.MonitorService"); | |
70 bindService(intent, connection, Context.BIND_AUTO_CREATE); | |
71 } | |
72 | |
73 public void printer(String msg) { | |
74 handler.sendMessage(handler.obtainMessage(MonitorActivity.MESSAGE_CODE_PRINT, msg)); | |
75 } | |
76 | |
77 @Override | |
78 protected void onStart() { | |
79 super.onStart(); | |
80 printer("activity onStart()"); | |
81 Log.i(TAG, "activity onStart()"); | |
82 } | |
83 | |
84 @Override | |
85 protected void onRestart() { | |
86 super.onRestart(); | |
87 Log.i(TAG, "activity onRestart()"); | |
88 } | |
89 | |
90 @Override | |
91 protected void onStop() { | |
92 super.onStop(); | |
93 Log.i(TAG, "activity onStop()"); | |
94 } | |
95 | |
96 @Override | |
97 protected void onDestroy() { | |
98 Log.i(TAG, "activity onDestroy()"); | |
99 unbindService(connection); | |
100 super.onDestroy(); | |
101 } | |
102 } |