diff options
Diffstat (limited to 'app/src/main/java/com/wireguard/android/util/ExceptionLoggers.java')
-rw-r--r-- | app/src/main/java/com/wireguard/android/util/ExceptionLoggers.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/app/src/main/java/com/wireguard/android/util/ExceptionLoggers.java b/app/src/main/java/com/wireguard/android/util/ExceptionLoggers.java index dbc41ff1..cc7cf17e 100644 --- a/app/src/main/java/com/wireguard/android/util/ExceptionLoggers.java +++ b/app/src/main/java/com/wireguard/android/util/ExceptionLoggers.java @@ -6,8 +6,8 @@ package com.wireguard.android.util; +import android.support.annotation.NonNull; import android.util.Log; - import java9.util.concurrent.CompletionException; import java9.util.function.BiConsumer; @@ -29,11 +29,20 @@ public enum ExceptionLoggers implements BiConsumer<Object, Throwable> { } public static Throwable unwrap(final Throwable throwable) { - if (throwable instanceof CompletionException) + if (throwable instanceof CompletionException && throwable.getCause() != null) return throwable.getCause(); return throwable; } + @NonNull + public static String unwrapMessage(Throwable throwable) { + throwable = unwrap(throwable); + final String message = throwable.getMessage(); + if (message != null) + return message; + return throwable.getClass().getSimpleName(); + } + @Override public void accept(final Object result, final Throwable throwable) { if (throwable != null) |