diff options
Diffstat (limited to 'src/com/mcserver/MCServerActivity.java')
-rw-r--r-- | src/com/mcserver/MCServerActivity.java | 267 |
1 files changed, 0 insertions, 267 deletions
diff --git a/src/com/mcserver/MCServerActivity.java b/src/com/mcserver/MCServerActivity.java deleted file mode 100644 index 2bdea0524..000000000 --- a/src/com/mcserver/MCServerActivity.java +++ /dev/null @@ -1,267 +0,0 @@ -package com.mcserver; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.Timer; -import java.util.TimerTask; - -import android.app.Activity; -import android.graphics.Color; -import android.os.Bundle; -import android.util.Log; -import android.view.KeyEvent; -import android.view.View; -import android.widget.ArrayAdapter; -import android.widget.Button; -import android.widget.ListView; -import android.widget.TextView; - -public class MCServerActivity extends Activity { - MainThread mThread = null; - Thread ServerStatusThread = null; - boolean mbExiting = false; - boolean mbEnabledLogging = false; - - ArrayList<String> mLogList = new ArrayList<String>(); - ArrayAdapter<String> mAdapter; - - /** Called when the activity is first created. */ - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.main); - - Log.e("MCServer", "p id: " + android.os.Process.myPid() ); - - - ((Button)findViewById(R.id.start_server)).setOnClickListener( new View.OnClickListener() { - public void onClick(View v) { - mbEnabledLogging = true; - if( mThread == null || mThread.isAlive() == false ) { - mThread = new MainThread( (MCServerActivity)v.getContext() ); - mThread.start(); - } - } - }); - - ((Button)findViewById(R.id.stop_server)).setOnClickListener( new View.OnClickListener() { - public void onClick(View v) { - mbEnabledLogging = true; - NativeCleanUp(); - } - }); - - - - ListView lv = (ListView)this.findViewById(R.id.listView1); - mAdapter = new ArrayAdapter<String>(this, - R.layout.list_item, - mLogList); - lv.setAdapter(mAdapter); - - - mLogList.add("---- LOG ----"); - - ServerStatusThread = new Thread( new Runnable() { - public void run() { - for(;;) - { - try { - runOnUiThread( new Runnable() { - public void run() { - UpdateServerStatus(); - } - }); - Thread.sleep(1000); - } catch (InterruptedException e) { - } - } - } - }); - ServerStatusThread.start(); - - - - - - - - Thread loggerThread = new Thread( new Runnable() { - public void run() { - Process process = null; - - try { - process = Runtime.getRuntime().exec("logcat -v raw *:s MCServer ");// Verbose filter - } catch (IOException e) { - } - - BufferedReader reader = null; - - try { - InputStreamReader isr = new InputStreamReader(process.getInputStream()); - reader = new BufferedReader( isr ); - - String line; - - while( mbExiting == false ) { - line = reader.readLine(); - if( mbEnabledLogging == true && line != null ) - { - AddToLog( line ); - } - } - - Log.i("MCServer", "Prepping thread for termination"); - reader.close(); - process.destroy(); - process = null; - reader = null; - } catch (IOException e) { - } - } - }); - loggerThread.start(); - - - - - - - ((TextView)findViewById(R.id.ip_address)).setText("Connect to: " + getLocalIpAddress()); - } - - - - public String getLocalIpAddress() { - try { - for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { - NetworkInterface intf = en.nextElement(); - for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { - InetAddress inetAddress = enumIpAddr.nextElement(); - if (!inetAddress.isLoopbackAddress()) { - return inetAddress.getHostAddress().toString(); - } - } - } - } catch (SocketException ex) { - Log.e("MCServer", ex.toString()); - } - return null; - } - - - - public void UpdateServerStatus() - { - if( NativeIsServerRunning() ) { - ((TextView)findViewById(R.id.server_status_text)).setText(R.string.mcserver_is_running); - ((TextView)findViewById(R.id.server_status_text)).setTextColor(Color.GREEN); - ((Button)findViewById(R.id.stop_server)).setEnabled(true); - ((Button)findViewById(R.id.start_server)).setEnabled(false); - } else { - ((TextView)findViewById(R.id.server_status_text)).setText(R.string.mcserver_is_not_running); - ((TextView)findViewById(R.id.server_status_text)).setTextColor(Color.RED); - ((Button)findViewById(R.id.stop_server)).setEnabled(false); - ((Button)findViewById(R.id.start_server)).setEnabled(true); - } - } - - - - - - public boolean onKeyDown(int keyCode, KeyEvent event) { - if(keyCode==KeyEvent.KEYCODE_BACK) - { - //android.os.Process.killProcess(android.os.Process.myPid()); - NativeCleanUp(); - return super.onKeyDown(keyCode, event); - } - return false; - } - - - - - public void onDestroy() { - mbExiting = true; - super.onDestroy(); - } - - - - - - public void AddToLog( final String logMessage ) { - final ListView lv = ((ListView)findViewById(R.id.listView1)); - lv.post(new Runnable() { - public void run() { - //final boolean bAutoscroll = lv.getLastVisiblePosition() >= mAdapter.getCount() - 1 ? true : false; - - mLogList.add(logMessage); - while( mLogList.size() > 100 ) // only allow 100 messages in the list, otherwise it might slow the GUI down - { - mLogList.remove(0); - } - mAdapter.notifyDataSetChanged(); - - - // Autoscroll detection is dodgy - //if( bAutoscroll ) - { - lv.setSelection(mAdapter.getCount() - 1); - } - } - }); - } - - - - - - public void Testtt() - { - //Log.d("MCServer", "in Testtt"); - } - - - - - - static { - System.loadLibrary("mcserver"); - } - - - public native void NativeOnCreate(); - public native void NativeCleanUp(); - public native boolean NativeIsServerRunning(); - -} - - -class MainThread extends Thread { - MCServerActivity mContext = null; - int numlogs = 0; - - MainThread( MCServerActivity aContext ) { - mContext = aContext; - } - - public void run() { - mContext.NativeOnCreate(); - } - -} - - - - - - |