diff options
author | faketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-08-19 01:42:27 +0200 |
---|---|---|
committer | faketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-08-19 01:42:27 +0200 |
commit | cc13cbbe3d3a95735ca037f7382ffbcc90e7a80d (patch) | |
tree | ad2a02af47948c0f92d381a9c9d33c7d925d5f61 | |
parent | Android: I'm probably using a lot of bad practices, but the app looks somewhat better now and polls the server status (diff) | |
download | cuberite-cc13cbbe3d3a95735ca037f7382ffbcc90e7a80d.tar cuberite-cc13cbbe3d3a95735ca037f7382ffbcc90e7a80d.tar.gz cuberite-cc13cbbe3d3a95735ca037f7382ffbcc90e7a80d.tar.bz2 cuberite-cc13cbbe3d3a95735ca037f7382ffbcc90e7a80d.tar.lz cuberite-cc13cbbe3d3a95735ca037f7382ffbcc90e7a80d.tar.xz cuberite-cc13cbbe3d3a95735ca037f7382ffbcc90e7a80d.tar.zst cuberite-cc13cbbe3d3a95735ca037f7382ffbcc90e7a80d.zip |
-rw-r--r-- | AndroidManifest.xml | 8 | ||||
-rw-r--r-- | gen/com/mcserver/R.java | 12 | ||||
-rw-r--r-- | res/layout/main.xml | 23 | ||||
-rw-r--r-- | source/cLog.cpp | 3 | ||||
-rw-r--r-- | src/com/mcserver/MCServerActivity.java | 76 |
5 files changed, 87 insertions, 35 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 69f71fcf4..d59d6e054 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -4,12 +4,12 @@ android:versionCode="1"
android:versionName="1.0" >
- <uses-permission android:name="android.permission.INTERNET"></uses-permission>
-
- <uses-sdk android:minSdkVersion="10" /> - <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> + <uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
+ <uses-sdk android:minSdkVersion="10" />
+
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
diff --git a/gen/com/mcserver/R.java b/gen/com/mcserver/R.java index ea4f4fc2a..489001bd4 100644 --- a/gen/com/mcserver/R.java +++ b/gen/com/mcserver/R.java @@ -14,12 +14,12 @@ public final class R { public static final int ic_launcher=0x7f020000;
}
public static final class id {
- public static final int ip_address=0x7f050005;
- public static final int server_status_text=0x7f050004;
- public static final int start_server=0x7f050002;
- public static final int stop_server=0x7f050003;
- public static final int textView1=0x7f050000;
- public static final int textView2=0x7f050001;
+ public static final int ip_address=0x7f050004;
+ public static final int server_status_text=0x7f050003;
+ public static final int start_server=0x7f050001;
+ public static final int stop_server=0x7f050002;
+ public static final int textView1=0x7f050005;
+ public static final int textView2=0x7f050000;
}
public static final class layout {
public static final int main=0x7f030000;
diff --git a/res/layout/main.xml b/res/layout/main.xml index b270bca03..c6fe79b09 100644 --- a/res/layout/main.xml +++ b/res/layout/main.xml @@ -6,42 +6,43 @@ android:orientation="vertical" >
<TextView
- android:id="@+id/textView1"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/hello" />
-
- <TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textAppearance="?android:attr/textAppearanceLarge" />
-
+
<Button
android:id="@+id/start_server"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/start" />
-
+
<Button
android:id="@+id/stop_server"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="true"
android:text="@string/stop" />
-
+
<TextView
android:id="@+id/server_status_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/mcserver_is_not_running"
- android:textAppearance="?android:attr/textAppearanceMedium" /> -
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
<TextView
android:id="@+id/ip_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/your_ip" />
+ <TextView
+ android:id="@+id/textView1"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="0.73"
+ android:text="@string/hello" />
+
</LinearLayout>
\ No newline at end of file diff --git a/source/cLog.cpp b/source/cLog.cpp index 57ad9b418..da95ee8cc 100644 --- a/source/cLog.cpp +++ b/source/cLog.cpp @@ -130,7 +130,8 @@ void cLog::Log(const char * a_Format, va_list argList) // Print to console: #if defined(ANDROID_NDK) - __android_log_vprint(ANDROID_LOG_ERROR,"MCServer", a_Format, argList); + //__android_log_vprint(ANDROID_LOG_ERROR,"MCServer", a_Format, argList); + __android_log_print(ANDROID_LOG_ERROR, "MCServer", "%s", Line.c_str() ); //CallJavaFunction_Void_String(g_JavaThread, "AddToLog", Line ); #else printf("%s", Line.c_str()); diff --git a/src/com/mcserver/MCServerActivity.java b/src/com/mcserver/MCServerActivity.java index f9bb363f4..f21c5f9d0 100644 --- a/src/com/mcserver/MCServerActivity.java +++ b/src/com/mcserver/MCServerActivity.java @@ -1,9 +1,14 @@ 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.Enumeration; +import java.util.Timer; +import java.util.TimerTask; import android.app.Activity; import android.graphics.Color; @@ -17,6 +22,7 @@ import android.widget.TextView; public class MCServerActivity extends Activity { MainThread mThread = null; Thread ServerStatusThread = null; + boolean mbExiting = false; /** Called when the activity is first created. */ @Override @@ -24,6 +30,9 @@ public class MCServerActivity extends Activity { 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) { if( mThread == null || mThread.isAlive() == false ) { @@ -61,6 +70,51 @@ public class MCServerActivity extends Activity { + + + + + Thread loggerThread = new Thread( new Runnable() { + public void run() { + Process process = null; + + SetText( "herpaderpa" ); + + try { + process = Runtime.getRuntime().exec("logcat -v raw *:s MCServer ");// Verbose filter + } catch (IOException e) { + } + + BufferedReader reader = null; + + try { + reader = new BufferedReader(new InputStreamReader(process.getInputStream())); + + String line; + + while( mbExiting == false ) { + line = reader.readLine(); + if( line != null ) + { + SetText( 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()); } @@ -118,6 +172,14 @@ public class MCServerActivity extends Activity { + public void onDestroy() { + mbExiting = true; + super.onDestroy(); + } + + + + public void AddToLog( String logMessage ) { @@ -128,7 +190,7 @@ public class MCServerActivity extends Activity { public void SetText( final String aText ) { - Log.d("MCServer", "in SetText " + aText); + //Log.d("MCServer", "in SetText " + aText); /* final MCServerActivity context = this; this.runOnUiThread(new Runnable() @@ -179,18 +241,6 @@ class MainThread extends Thread { MainThread( MCServerActivity aContext ) { mContext = aContext; } - - public void AddToLog( String logMessage ) { - mContext.SetText( logMessage ); - //Log.d("MCServer", "Add to log: " + logMessage); - } - - public void TestTest(){ - numlogs++; - //Log.d("MCServer", "in testtest" + numlogs); - mContext.Testtt(); - mContext.SetText("log no. " + numlogs); - } public void run() { mContext.NativeOnCreate(); |