From efcf29467003b4f0bf231766b88dabc9d9c9e6ee Mon Sep 17 00:00:00 2001
From: str4d <str4d@mail.i2p>
Date: Sun, 29 May 2016 05:02:47 +0000
Subject: [PATCH] Require that AndroidLogWriter is a subclass of LogWriter

---
 core/java/src/net/i2p/util/LogManager.java | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/core/java/src/net/i2p/util/LogManager.java b/core/java/src/net/i2p/util/LogManager.java
index 684d495b18..22229a0d40 100644
--- a/core/java/src/net/i2p/util/LogManager.java
+++ b/core/java/src/net/i2p/util/LogManager.java
@@ -167,9 +167,11 @@ public class LogManager implements Flushable {
             return;
         if (SystemVersion.isAndroid()) {
             try {
-                Class<?> clazz = Class.forName("net.i2p.util.AndroidLogWriter");
-                Constructor<?> ctor = clazz.getDeclaredConstructor(LogManager.class);
-                _writer = (LogWriter) ctor.newInstance(this);
+                Class<? extends LogWriter> clazz = Class.forName(
+                        "net.i2p.util.AndroidLogWriter"
+                    ).asSubclass(LogWriter.class);
+                Constructor<? extends LogWriter> ctor = clazz.getDeclaredConstructor(LogManager.class);
+                _writer = ctor.newInstance(this);
             } catch (ClassNotFoundException e) {
             } catch (InstantiationException e) {
             } catch (IllegalAccessException e) {
-- 
GitLab