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 }