aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/app/src/main/java/com/wireguard/android/util/ExceptionLoggers.java
diff options
context:
space:
mode:
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.java13
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)