Android: Showing last MCServer related logcat message

git-svn-id: http://mc-server.googlecode.com/svn/trunk@753 0a769ca7-a7f5-676a-18bf-c427514a06d6
master
faketruth 2012-08-18 23:42:27 +00:00
parent b6138129e6
commit cc13cbbe3d
5 changed files with 87 additions and 35 deletions

View File

@ -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" >

View File

@ -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;

View File

@ -5,43 +5,44 @@
android:gravity="center_horizontal"
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>

View File

@ -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());

View File

@ -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();