Revision: 3f0c545d0c8e
Author: chemik@starky
Date: Fri Jun 3 05:56:14 2011
Log: Added optional custom filter for log messages.
http://code.google.com/p/logcatudp/source/detail?r=3f0c545d0c8e
Revision: d64c41717532
Author: chemik@starky
Date: Fri Jun 3 05:57:00 2011
Log: Added tag 0.3 for changeset 3f0c545d0c8e
http://code.google.com/p/logcatudp/source/detail?r=d64c41717532
==============================================================================
Revision: 3f0c545d0c8e
Author: chemik@starky
Date: Fri Jun 3 05:56:14 2011
Log: Added optional custom filter for log messages.
http://code.google.com/p/logcatudp/source/detail?r=3f0c545d0c8e
Added:
/NEWS
Modified:
/AndroidManifest.xml
/gen/sk/madzik/android/logcatudp/R.java
/res/layout/main.xml
/res/values/strings.xml
/src/sk/madzik/android/logcatudp/LogcatThread.java
/src/sk/madzik/android/logcatudp/LogcatUdpCfg.java
/src/sk/madzik/android/logcatudp/LogcatUdpService.java
=======================================
--- /dev/null
+++ /NEWS Fri Jun 3 05:56:14 2011
@@ -0,0 +1,5 @@
+Version 0.3:
+Added optional custom filter for log messages (eg. "*:e LogcatUdpCfg:d
LogcatThread:d").
+
+Version 0.2:
+Initial version.
=======================================
--- /AndroidManifest.xml Wed May 25 05:19:53 2011
+++ /AndroidManifest.xml Fri Jun 3 05:56:14 2011
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sk.madzik.android.logcatudp"
- android:versionCode="2"
- android:versionName="0.2">
+ android:versionCode="3"
+ android:versionName="0.3">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
=======================================
--- /gen/sk/madzik/android/logcatudp/R.java Tue Nov 23 11:17:41 2010
+++ /gen/sk/madzik/android/logcatudp/R.java Fri Jun 3 05:56:14 2011
@@ -15,15 +15,20 @@
public static final int ic_stat_notif=0x7f020001;
}
public static final class id {
- public static final int activateServiceBtn=0x7f050007;
- public static final int chkAutoStart=0x7f050006;
- public static final int chkSendIds=0x7f050000;
- public static final int deactivateServiceBtn=0x7f050008;
- public static final int lblID=0x7f050001;
- public static final int lblServerPort=0x7f050003;
- public static final int txtID=0x7f050002;
- public static final int txtPort=0x7f050005;
- public static final int txtServer=0x7f050004;
+ public static final int activateServiceBtn=0x7f05000c;
+ public static final int chkAutoStart=0x7f05000b;
+ public static final int chkSendIds=0x7f050002;
+ public static final int chkUseFilter=0x7f050008;
+ public static final int deactivateServiceBtn=0x7f05000d;
+ public static final int layMain=0x7f050000;
+ public static final int lblFilter=0x7f050009;
+ public static final int lblID=0x7f050003;
+ public static final int lblServerPort=0x7f050005;
+ public static final int scrollview=0x7f050001;
+ public static final int txtFilter=0x7f05000a;
+ public static final int txtID=0x7f050004;
+ public static final int txtPort=0x7f050007;
+ public static final int txtServer=0x7f050006;
}
public static final class layout {
public static final int main=0x7f030000;
@@ -33,6 +38,7 @@
public static final int app_name=0x7f040000;
public static final int autostart=0x7f040004;
public static final int deactivate_service=0x7f040006;
+ public static final int filter=0x7f04000d;
public static final int id=0x7f040002;
public static final int mnuClear=0x7f040009;
public static final int mnuClose=0x7f040008;
@@ -41,5 +47,6 @@
public static final int notif_text=0x7f04000a;
public static final int send_ids=0x7f040001;
public static final int server_port=0x7f040003;
+ public static final int usefilter=0x7f04000c;
}
}
=======================================
--- /res/layout/main.xml Tue Oct 26 14:27:21 2010
+++ /res/layout/main.xml Fri Jun 3 05:56:14 2011
@@ -3,67 +3,97 @@
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
- >
- <CheckBox android:text="@string/send_ids"
- android:id="@+id/chkSendIds"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- <TextView android:text="@string/id"
- android:id="@+id/lblID"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
- <EditText android:text=""
- android:id="@+id/txtID"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1" />
- </LinearLayout>
- <TextView android:text="@string/server_port"
- android:id="@+id/lblServerPort"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
- <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
- <EditText android:text=""
- android:id="@+id/txtServer"
- android:layout_weight="1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:inputType="textUri" />
- <EditText android:text=""
- android:id="@+id/txtPort"
- android:layout_weight="1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:inputType="numberDecimal" />
- </LinearLayout>
- <CheckBox
+ android:id="@+id/layMain"
+ android:isScrollContainer="true">
+ <ScrollView
+ android:id="@+id/scrollview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:id="@+id/chkAutoStart"
- android:visible="false"
- android:text="@string/autostart" />
- <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
- <Button
- android:id="@+id/activateServiceBtn"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="@string/activate_service" />
- <Button
- android:id="@+id/deactivateServiceBtn"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="@string/deactivate_service" />
- </LinearLayout>
+ android:layout_weight="1">
+ <LinearLayout android:orientation="vertical"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent">
+ <CheckBox android:text="@string/send_ids"
+ android:id="@+id/chkSendIds"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ <TextView android:text="@string/id"
+ android:id="@+id/lblID"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content">
+ <EditText android:text=""
+ android:id="@+id/txtID"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1" />
+ </LinearLayout>
+ <TextView android:text="@string/server_port"
+ android:id="@+id/lblServerPort"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content">
+ <EditText android:text=""
+ android:id="@+id/txtServer"
+ android:layout_weight="1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:inputType="textUri" />
+ <EditText android:text=""
+ android:id="@+id/txtPort"
+ android:layout_weight="1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:inputType="numberDecimal" />
+ </LinearLayout>
+ <CheckBox android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:id="@+id/chkUseFilter"
+ android:visible="false"
+ android:text="@string/usefilter" />
+ <TextView android:text="@string/filter"
+ android:id="@+id/lblFilter"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content">
+ <EditText android:text=""
+ android:id="@+id/txtFilter"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1" />
+ </LinearLayout>
+ <CheckBox
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:id="@+id/chkAutoStart"
+ android:visible="false"
+ android:text="@string/autostart" />
+ <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content">
+ <Button
+ android:id="@+id/activateServiceBtn"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/activate_service" />
+ <Button
+ android:id="@+id/deactivateServiceBtn"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/deactivate_service" />
+ </LinearLayout>
+ </LinearLayout>
+ </ScrollView>
</LinearLayout>
=======================================
--- /res/values/strings.xml Fri Oct 29 09:57:46 2010
+++ /res/values/strings.xml Fri Jun 3 05:56:14 2011
@@ -13,4 +13,6 @@
<string name="mnuClear">Clear log</string>
<string name="notif_text">LogcatUDP service running</string>
<string name="notif_message">Configure Logcat to UDP, restart or stop
sending.</string>
+<string name="usefilter">Filter log messages</string>
+<string name="filter">Filter tags (<tag>[:priority])</string>
</resources>
=======================================
--- /src/sk/madzik/android/logcatudp/LogcatThread.java Tue Oct 26 14:34:53
2010
+++ /src/sk/madzik/android/logcatudp/LogcatThread.java Fri Jun 3 05:56:14
2011
@@ -27,7 +27,11 @@
public void run() {
Log.d(TAG, "started");
try {
- Process process = Runtime.getRuntime().exec( "logcat" );
+ String procString = "logcat";
+ if ( mConfig.mUseFilter && mConfig.mFilter.trim().length()>0 ) {
+ procString += " *:s " + mConfig.mFilter;
+ }
+ Process process = Runtime.getRuntime().exec( procString );
BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(process.getInputStream()));
String logLine;
while ( (logLine = bufferedReader.readLine()) != null ) {
=======================================
--- /src/sk/madzik/android/logcatudp/LogcatUdpCfg.java Tue Oct 26 14:34:53
2010
+++ /src/sk/madzik/android/logcatudp/LogcatUdpCfg.java Fri Jun 3 05:56:14
2011
@@ -37,6 +37,8 @@
private EditText txtDevId;
private EditText txtServer;
private EditText txtPort;
+ private CheckBox chkUseFilter;
+ private EditText txtFilter;
private CheckBox chkAutoStart;
private Button btnActivateService;
@@ -50,18 +52,22 @@
public static final String DEST_SERVER = "DestServer";
public static final String DEST_PORT = "DestPort";
public static final String AUTO_START = "AutoStart";
+ public static final String USE_FILTER = "UseFilter";
+ public static final String FILTER_TEXT = "FilterText";
}
@Override
public void onCreate(Bundle savedInstanceState) {
Log.d(TAG, "started");
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
chkSendIds = (CheckBox)findViewById(R.id.chkSendIds);
txtDevId = (EditText)findViewById(R.id.txtID);
txtServer = (EditText)findViewById(R.id.txtServer);
txtPort = (EditText)findViewById(R.id.txtPort);
+ chkUseFilter = (CheckBox)findViewById(R.id.chkUseFilter);
+ txtFilter = (EditText)findViewById(R.id.txtFilter);
chkAutoStart = (CheckBox)findViewById(R.id.chkAutoStart);
mSettings = getSharedPreferences(Preferences.PREFS_NAME, MODE_PRIVATE);
@@ -91,6 +97,24 @@
txtPort.setText(""+mSettings.getInt(Preferences.DEST_PORT, DEF_PORT));
chkAutoStart.setChecked(mSettings.getBoolean(Preferences.AUTO_START,
true));
+ // set Filter log (un)checked
+ chkUseFilter.setChecked( mSettings.getBoolean(Preferences.USE_FILTER,
false) );
+ // enable/disable Filter editbox
+ if ( ! chkUseFilter.isChecked() ) {
+ findViewById(R.id.lblFilter).setVisibility(View.GONE);
+ txtFilter.setVisibility(View.GONE);
+ }
+ chkUseFilter.setOnCheckedChangeListener( new
CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
+ findViewById(R.id.lblFilter).setVisibility( (isChecked ?
View.VISIBLE : View.GONE) );
+ txtFilter.setVisibility( (isChecked ? View.VISIBLE : View.GONE) );
+ }
+ });
+
+ // set text in filter editbox
+ txtFilter.setText(""+mSettings.getString(Preferences.FILTER_TEXT, ""));
+
btnActivateService = (Button)findViewById(R.id.activateServiceBtn);
btnActivateService.setOnClickListener(new OnClickListener() {
@Override
@@ -182,7 +206,9 @@
boolean sendIds = chkSendIds.isChecked();
- String devId = txtDevId.getText().toString();
+ String devId = "";
+ if ( sendIds )
+ devId = txtDevId.getText().toString();
String destServer = txtServer.getText().toString();
int destPort = 0;
boolean error = false;
@@ -193,6 +219,11 @@
Toast.makeText(this, "Port is not a valid integer!",
Toast.LENGTH_SHORT).show();
error = true;
}
+
+ boolean useFilter = chkUseFilter.isChecked();
+ String filterText = "";
+ if ( useFilter )
+ filterText = txtFilter.getText().toString();
boolean autoStart = chkAutoStart.isChecked();
@@ -203,9 +234,13 @@
startserv = true;
}*/
editor.putBoolean(Preferences.SEND_IDS, sendIds);
- editor.putString(Preferences.DEV_ID, devId);
+ if ( sendIds )
+ editor.putString(Preferences.DEV_ID, devId);
editor.putString(Preferences.DEST_SERVER, destServer);
editor.putInt(Preferences.DEST_PORT, destPort);
+ editor.putBoolean(Preferences.USE_FILTER, useFilter);
+ if ( useFilter )
+ editor.putString(Preferences.FILTER_TEXT, filterText);
editor.putBoolean(Preferences.AUTO_START, autoStart);
editor.commit();
Toast.makeText(this, "Settings saved", Toast.LENGTH_SHORT).show();
=======================================
--- /src/sk/madzik/android/logcatudp/LogcatUdpService.java Tue Nov 23
11:17:41 2010
+++ /src/sk/madzik/android/logcatudp/LogcatUdpService.java Fri Jun 3
05:56:14 2011
@@ -24,6 +24,8 @@
String mDevId;
String mDestServer;
int mDestPort;
+ boolean mUseFilter;
+ String mFilter;
}
private Config mConfig = null;
@@ -48,6 +50,8 @@
mConfig.mDevId = settings.getString(LogcatUdpCfg.Preferences.DEV_ID,
android_ID);
mConfig.mDestServer =
settings.getString(LogcatUdpCfg.Preferences.DEST_SERVER,
LogcatUdpCfg.DEF_SERVER);
mConfig.mDestPort = settings.getInt(LogcatUdpCfg.Preferences.DEST_PORT,
LogcatUdpCfg.DEF_PORT);
+ mConfig.mUseFilter =
settings.getBoolean(LogcatUdpCfg.Preferences.USE_FILTER, false);
+ mConfig.mFilter =
settings.getString(LogcatUdpCfg.Preferences.FILTER_TEXT, "");
// status bar notification icon manager
mNotificationManager = (NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
==============================================================================
Revision: d64c41717532
Author: chemik@starky
Date: Fri Jun 3 05:57:00 2011
Log: Added tag 0.3 for changeset 3f0c545d0c8e
http://code.google.com/p/logcatudp/source/detail?r=d64c41717532
Added:
/.hgtags
=======================================
--- /dev/null
+++ /.hgtags Fri Jun 3 05:57:00 2011
@@ -0,0 +1,1 @@
+3f0c545d0c8e2ed88855060ef740f8f181aacd6d 0.3