Mercurial > 510ConnectbotMonitor
view src/com/five_ten_sg/connectbot/monitor/MonitorActivity.java @ 16:a481d8fb5571 stable-1.0.2
add switch session command to the TE
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Tue, 01 Jul 2014 19:08:47 -0700 |
parents | 2be5bca648ab |
children | 665324c9716e |
line wrap: on
line source
package com.five_ten_sg.connectbot.monitor; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.net.wifi.WifiManager.WifiLock; import android.net.wifi.WifiManager; import android.os.Binder; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Message; import android.os.PowerManager; import android.util.Log; import android.widget.TextView; public class MonitorActivity extends Activity { public final static String TAG = "ConnectBot.MonitorActivity"; public static final int MESSAGE_CODE_PRINT = 6000; private final int LINES = 20; private String[] texts = new String[LINES]; private int start = 0; private int count = 0; private TextView text = null; private MonitorService bound = null; private Handler handler = new Handler() { @Override public void handleMessage (Message msg) { if (msg.what == MESSAGE_CODE_PRINT) { printer((String)msg.obj); } else { super.handleMessage(msg); } } }; private ServiceConnection connection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) { Log.i(TAG, "onServiceConnected()"); bound = ((MonitorService.MonitorBinder)service).getService(); bound.handler = handler; } public void onServiceDisconnected(ComponentName className) { Log.i(TAG, "onServiceDisconnected()"); bound = null; } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); text = (TextView) findViewById(R.id.text2); printer(getString(R.string.copyright)); Log.i(TAG, "binding to monitor service"); Intent intent = new Intent ("com.five_ten_sg.connectbot.monitor.MonitorService"); bindService(intent, connection, Context.BIND_AUTO_CREATE); } private void printer(String msg) { if (count < LINES) count++; else start = (start+1) % LINES; texts[(start+count-1) % LINES] = msg + "\n"; String c = ""; for (int i=0; i<count; i++) c = c.concat(texts[(start+i) % LINES]); text.setText(c); } @Override protected void onStart() { super.onStart(); Log.i(TAG, "activity onStart()"); } @Override protected void onRestart() { super.onRestart(); Log.i(TAG, "activity onRestart()"); } @Override protected void onStop() { super.onStop(); Log.i(TAG, "activity onStop()"); } @Override protected void onDestroy() { Log.i(TAG, "activity onDestroy()"); unbindService(connection); super.onDestroy(); } }