String collectCSVLogContent() { StringBuffer sb = new StringBuffer(); ListAdapter adapter = getListView().getAdapter(); int cnt = adapter.getCount(); if (dmesgMode) { sb.append("LEVEL,TIME,MSG\n"); // $NON-NLS-1$ for (int i = 0; i < cnt; i++) { LogItem log = (LogItem) adapter.getItem(i); if (log.msgList == null) { sb.append(log.level).append(','); if (log.time != null) { sb.append(SysInfoManager.escapeCsv(log.time)); } sb.append(',').append(SysInfoManager.escapeCsv(log.msg)).append('\n'); } else { for (int k = 0, size = log.msgList.size(); k < size; k++) { sb.append(log.level).append(','); if (log.time != null) { sb.append(SysInfoManager.escapeCsv(log.time)); } sb.append(',').append(SysInfoManager.escapeCsv(log.msgList.get(k))).append('\n'); } } } } else { sb.append("TIME,LEVEL,TAG,PID,MSG\n"); // $NON-NLS-1$ for (int i = 0; i < cnt; i++) { LogItem log = (LogItem) adapter.getItem(i); if (log.msgList == null) { sb.append(SysInfoManager.escapeCsv(log.time)) .append(',') .append(log.level) .append(',') .append(SysInfoManager.escapeCsv(log.tag)) .append(',') .append(log.pid) .append(',') .append(SysInfoManager.escapeCsv(log.msg)) .append('\n'); } else { for (int k = 0, size = log.msgList.size(); k < size; k++) { sb.append(SysInfoManager.escapeCsv(log.time)) .append(',') .append(log.level) .append(',') .append(SysInfoManager.escapeCsv(log.tag)) .append(',') .append(log.pid) .append(',') .append(SysInfoManager.escapeCsv(log.msgList.get(k))) .append('\n'); } } } } return sb.toString(); }