private static final int STRING_BUFFER_LENGTH = 10000;
- public static final int FILTER_NONE = 0x0;
- public static final int FILTER_PID = 0x1;
- public static final int FILTER_TAG = 0x2;
- public static final int FILTER_MSG = 0x4;
+ public static final int FILTER_NONE = -1;
+ public static final int FILTER_PID = 0x0;
+ public static final int FILTER_TAG = 0x1;
+ public static final int FILTER_MSG = 0x2;
+ private int filterMode = FILTER_NONE;
public static final int LEVEL_ALL = 0x1F;
public static final int LEVEL_VERBOSE = 0x1;
public static final int LEVEL_WARNING = 0x8;
public static final int LEVEL_ERROR = 0x16;
- private int filterMode = FILTER_NONE;
/**
* Single level log level as defined in Log.mLevelChar. Only valid if mMode
* is MODE_LEVEL
private String pidFilterString = null;
private String tagFilterString = null;
private String msgFilterString = null;
+ private String tableFilter = null;
private String filterName = null;
private IDevice filterDevice = null;
private LogTabOuputReceiver logger = null;
{
if (Integer.toString(logMessage.data.pid).contains(
filter))
- return true;
+ if( tableAccept(logMessage))
+ return true;
}
}
for( String filter : tagFilter ){
if (logMessage.data.tag.toLowerCase().contains(
filter.toLowerCase()))
- return true;
+ if( tableAccept(logMessage))
+ return true;
}
}
for( String filter : msgFilter){
if (logMessage.msg.toLowerCase().contains(
filter.toLowerCase()))
- return true;
+ if( tableAccept(logMessage))
+ return true;
}
}
return false;
}
- return true;
+ if( tableAccept(logMessage))
+ return true;
+ else
+ return false;
}
/**
flush();
}
- public void tableRefill(int index, String tableFilter) {
+ public void tableRefill(int index, String filter) {
+
+
+ tableFilter = filter;
+ filterMode = index;
+
newMessages.clear();
lastMessageInfo = null;
if (table.isDisposed() == false)
synchronized (tableMessages) {
for (LogMessage logMsg : tableMessages) {
- if (tableAccept(logMsg, index, tableFilter)) {
+ if (tableAccept( logMsg )) {
newMessages.add(logMsg);
}
}
}
-
flush();
}
- boolean tableAccept(LogMessage logMessage, int index, String tableFilter) {
+ boolean tableAccept(LogMessage logMessage) {
if (logMessage == null)
return false;
- switch(index){
+ if( tableFilter == null || tableFilter.length() == 0)
+ return true;
+
+ switch(filterMode){
case 0:
- if (tableFilter != null) {
+ {
String[] filter = tableFilter.split("[\\s\t,]");
for (int i = 0; i < filter.length; i++) {
if (Integer.toString(logMessage.data.pid).contains(
}
break;
case 1:
- if (tableFilter != null) {
+ {
String[] filter = tableFilter.split("[\\s\t,]");
for (int i = 0; i < filter.length; i++) {
if (logMessage.data.tag.toLowerCase().contains(
- filter[i]))
+ filter[i].toLowerCase()))
return true;
}
}
break;
case 2:
- if (tableFilter != null) {
+ {
String[] filter = tableFilter.split("[\\s\t,]");
for (int i = 0; i < filter.length; i++) {
if (logMessage.msg.toLowerCase().contains(
- filter[i]))
+ filter[i].toLowerCase()))
return true;
}
}