From a83b44e102652704054388bca51cb6176f348ac8 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Thu, 27 Mar 2014 16:09:52 +0100 Subject: [PATCH] Add support for CustomSmackConfiguration class with DISABLED_SMACK_CLASSES String[] option. --- .../smack/SmackConfiguration.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/core/src/main/java/org/jivesoftware/smack/SmackConfiguration.java b/core/src/main/java/org/jivesoftware/smack/SmackConfiguration.java index 71d41a2c5..d6f035699 100644 --- a/core/src/main/java/org/jivesoftware/smack/SmackConfiguration.java +++ b/core/src/main/java/org/jivesoftware/smack/SmackConfiguration.java @@ -19,6 +19,7 @@ package org.jivesoftware.smack; import java.io.IOException; import java.io.InputStream; +import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -100,6 +101,24 @@ public final class SmackConfiguration { throw new IllegalStateException(e); } + try { + Class c = Class.forName("org.jivesoftware.smack.CustomSmackConfiguration"); + Field f = c.getField("DISABLED_SMACK_CLASSES"); + String[] sa = (String[]) f.get(null); + if (sa != null) + for (String s : sa) + disabledSmackClasses.add(s); + } + catch (ClassNotFoundException e1) { + } + catch (NoSuchFieldException e) { + } + catch (SecurityException e) { + } + catch (IllegalArgumentException e) { + } + catch (IllegalAccessException e) { + } InputStream configFileStream; try {