Mercurial > 510ConnectbotMonitor
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 |
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 } |