diff app/src/main/java/com/five_ten_sg/connectbot/monitor/MonitorActivity.java @ 27:807f7e4eaebe

starting update to latest toolchain
author Carl Byington <carl@five-ten-sg.com>
date Thu, 08 Nov 2018 11:39:13 -0800
parents
children 0bc0b4798d9e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/src/main/java/com/five_ten_sg/connectbot/monitor/MonitorActivity.java	Thu Nov 08 11:39:13 2018 -0800
@@ -0,0 +1,106 @@
+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.Environment;
+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));
+        String external_dir = Environment.getExternalStorageDirectory().getAbsolutePath();
+        printer("");
+        printer(String.format("External directory is %s", external_dir));
+        printer("");
+        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();
+    }
+}