Improved logging

pull/194/merge
M66B 4 years ago
parent 4c92f415cd
commit 1963da73ce

@ -571,24 +571,28 @@ public class Log {
Object v = data.get(key); Object v = data.get(key);
Object value = v; Object value = v;
int length = -1;
if (v != null && v.getClass().isArray()) { if (v != null && v.getClass().isArray()) {
int length = Array.getLength(v); length = Array.getLength(v);
if (length <= 10) { String[] elements = new String[Math.min(length, 10)];
String[] elements = new String[length]; for (int i = 0; i < elements.length; i++) {
for (int i = 0; i < length; i++) {
Object element = Array.get(v, i); Object element = Array.get(v, i);
if (element instanceof Long) if (element instanceof Long)
elements[i] = element.toString() + " (0x" + Long.toHexString((Long) element) + ")"; elements[i] = element + " (0x" + Long.toHexString((Long) element) + ")";
else else
elements[i] = (element == null ? null : printableString(element.toString())); elements[i] = (element == null ? "<null>" : printableString(element.toString()));
} }
value = TextUtils.join(",", elements); value = TextUtils.join(",", elements);
} else if (length > 10)
value = "[" + length + "]"; value += ", ...";
value = "[" + value + "]";
} else if (v instanceof Long) } else if (v instanceof Long)
value = v.toString() + " (0x" + Long.toHexString((Long) v) + ")"; value = v + " (0x" + Long.toHexString((Long) v) + ")";
else if (v instanceof Bundle)
value = "{" + TextUtils.join(" ", getExtras((Bundle) v)) + "}";
result.add(key + "=" + value + (value == null ? "" : " (" + v.getClass().getSimpleName() + ")")); result.add(key + "=" + value + (value == null ? "" :
" (" + v.getClass().getSimpleName() + (length < 0 ? "" : ":" + length) + ")"));
} }
} catch (BadParcelableException ex) { } catch (BadParcelableException ex) {
// android.os.BadParcelableException: ClassNotFoundException when unmarshalling: ... // android.os.BadParcelableException: ClassNotFoundException when unmarshalling: ...

Loading…
Cancel
Save