annotate app/src/main/java/com/five_ten_sg/connectbot/monitor/MonitorActivity.java @ 31:0bc0b4798d9e

fix saystring(12) command for proper unicode and document it
author Carl Byington <carl@five-ten-sg.com>
date Sun, 28 Apr 2019 14:45:56 -0700
parents 807f7e4eaebe
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
1 package com.five_ten_sg.connectbot.monitor;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
2
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
3 import java.io.BufferedReader;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
4 import java.io.IOException;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
5 import java.io.InputStreamReader;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
6 import java.net.ServerSocket;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
7 import java.net.Socket;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
8
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
9 import android.app.Activity;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
10 import android.content.ComponentName;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
11 import android.content.Context;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
12 import android.content.Intent;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
13 import android.content.ServiceConnection;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
14 import android.net.wifi.WifiManager.WifiLock;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
15 import android.net.wifi.WifiManager;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
16 import android.os.Binder;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
17 import android.os.Bundle;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
18 import android.os.Environment;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
19 import android.os.Handler;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
20 import android.os.IBinder;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
21 import android.os.Message;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
22 import android.os.PowerManager;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
23 import android.util.Log;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
24 import android.widget.TextView;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
25
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
26 public class MonitorActivity extends Activity {
31
0bc0b4798d9e fix saystring(12) command for proper unicode and document it
Carl Byington <carl@five-ten-sg.com>
parents: 27
diff changeset
27 public static final String TAG = "ConnectBot.MonitorAct.";
27
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
28 public static final int MESSAGE_CODE_PRINT = 6000;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
29 private final int LINES = 20;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
30 private String[] texts = new String[LINES];
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
31 private int start = 0;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
32 private int count = 0;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
33 private TextView text = null;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
34 private MonitorService bound = null;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
35 private Handler handler = new Handler() {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
36 @Override
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
37 public void handleMessage (Message msg) {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
38 if (msg.what == MESSAGE_CODE_PRINT) {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
39 printer((String)msg.obj);
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
40 } else {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
41 super.handleMessage(msg);
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
42 }
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
43 }
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
44 };
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
45 private ServiceConnection connection = new ServiceConnection() {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
46 public void onServiceConnected(ComponentName className, IBinder service) {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
47 Log.i(TAG, "onServiceConnected()");
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
48 bound = ((MonitorService.MonitorBinder)service).getService();
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
49 bound.handler = handler;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
50 }
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
51 public void onServiceDisconnected(ComponentName className) {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
52 Log.i(TAG, "onServiceDisconnected()");
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
53 bound = null;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
54 }
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
55 };
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
56
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
57 @Override
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
58 public void onCreate(Bundle savedInstanceState) {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
59 super.onCreate(savedInstanceState);
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
60 setContentView(R.layout.main);
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
61 text = (TextView) findViewById(R.id.text2);
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
62 printer(getString(R.string.copyright));
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
63 String external_dir = Environment.getExternalStorageDirectory().getAbsolutePath();
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
64 printer("");
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
65 printer(String.format("External directory is %s", external_dir));
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
66 printer("");
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
67 Log.i(TAG, "binding to monitor service");
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
68 Intent intent = new Intent ("com.five_ten_sg.connectbot.monitor.MonitorService");
31
0bc0b4798d9e fix saystring(12) command for proper unicode and document it
Carl Byington <carl@five-ten-sg.com>
parents: 27
diff changeset
69 intent.setPackage("com.five_ten_sg.connectbot.monitor");
27
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
70 bindService(intent, connection, Context.BIND_AUTO_CREATE);
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
71 }
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
72
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
73 private void printer(String msg) {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
74 if (count < LINES) count++;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
75 else start = (start+1) % LINES;
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
76 texts[(start+count-1) % LINES] = msg + "\n";
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
77 String c = "";
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
78 for (int i=0; i<count; i++) c = c.concat(texts[(start+i) % LINES]);
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
79 text.setText(c);
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
80 }
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
81
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
82 @Override
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
83 protected void onStart() {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
84 super.onStart();
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
85 Log.i(TAG, "activity onStart()");
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
86 }
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
87
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
88 @Override
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
89 protected void onRestart() {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
90 super.onRestart();
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
91 Log.i(TAG, "activity onRestart()");
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
92 }
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
93
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
94 @Override
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
95 protected void onStop() {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
96 super.onStop();
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
97 Log.i(TAG, "activity onStop()");
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
98 }
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
99
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
100 @Override
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
101 protected void onDestroy() {
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
102 Log.i(TAG, "activity onDestroy()");
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
103 unbindService(connection);
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
104 super.onDestroy();
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
105 }
807f7e4eaebe starting update to latest toolchain
Carl Byington <carl@five-ten-sg.com>
parents:
diff changeset
106 }