diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/LogDisplayFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/LogDisplayFragment.java index ec7eee3ac..94d9a60c9 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/LogDisplayFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/LogDisplayFragment.java @@ -147,9 +147,75 @@ public class LogDisplayFragment extends ListFragment implements OnItemClickListe * @return the passed log entry in a readable format */ private String getPrintableLogEntry(OperationResult.LogEntryParcel entry) { - String printable = ""; + String subLogText=null; + if (entry instanceof SubLogEntryParcel) { + Log.d("ADI DisplayFragment",entry.toString()); - return entry.toString(); + OperationResult result = ((SubLogEntryParcel) entry).getSubResult(); + LogEntryParcel subEntry = result.getLog().getLast(); + if (subEntry != null) { + String subPadding=""; + for(int i=0;i 0 + && subEntry.mParameters[0] instanceof Integer) { + subLogText+=getResources().getQuantityString(subEntry.mType.getMsgId(), + (Integer) subEntry.mParameters[0], + subEntry.mParameters); + } else { + subLogText+=getResources().getString(subEntry.mType.getMsgId(), + subEntry.mParameters); + } + } + + } else { + Log.d("ADIExportLogDisplayFragment","NOTSUBLOG:"+entry.toString()); + } + + String logText = ""; + switch (entry.mType.mLevel) { + case DEBUG: logText="[DEBUG]"; break; + case INFO: logText="[INFO]"; break; + case WARN: logText="[WARN]"; break; + case ERROR: logText="[WARN]"; break; + case START: logText="[START]"; break; + case OK: logText="[OK]"; break; + case CANCELLED: logText="[CANCELLED]"; break; + } + + // special case: first parameter may be a quantity + if (entry.mParameters != null && entry.mParameters.length > 0 + && entry.mParameters[0] instanceof Integer) { + logText += getResources().getQuantityString(entry.mType.getMsgId(), + (Integer) entry.mParameters[0], + entry.mParameters); + } else { + logText += getResources().getString(entry.mType.getMsgId(), + entry.mParameters); + } + + String padding = ""; + for(int i =0;i