commit 7a1fcbeb61fdf547007d8fa68c79331f77aae027
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon Dec 2 23:09:26 2019 +0000

    fix a bug: in certain places when we use reflection, it needs to be getDeclaredMethod and not getMethod because the methods are not public!

diff --git a/src/main/java/org/distorted/library/effect/Effect.java b/src/main/java/org/distorted/library/effect/Effect.java
index 4370fa4..57f13ed 100644
--- a/src/main/java/org/distorted/library/effect/Effect.java
+++ b/src/main/java/org/distorted/library/effect/Effect.java
@@ -40,8 +40,8 @@ public abstract class Effect
   private final int mRegionDim;
   private final int mCenterDim;
 
-  ArrayList<EffectListener> mListeners =null;
-  int mNumListeners=0;  // ==mListeners.length(), but we only create mListeners if the first one gets added
+  private ArrayList<EffectListener> mListeners =null;
+  private int mNumListeners=0;  // ==mListeners.length(), but we only create mListeners if the first one gets added
 
   private static long mNextID = 0;
 
@@ -172,7 +172,7 @@ public abstract class Effect
  */
   public static void enableEffects(EffectType type)
     {
-    Method method=null;
+    Method method;
 
     for(EffectName name: EffectName.values())
       {
@@ -182,16 +182,18 @@ public abstract class Effect
 
         try
           {
-          method = cls.getMethod("enable");
+          method = cls.getMethod("enable");  // getMethod and NOT getDeclaredMethod because enable()
+                                             // is public
           }
         catch(NoSuchMethodException ex)
           {
           android.util.Log.e("Effect", "exception getting method: "+ex.getMessage());
+          method = null;
           }
 
         try
           {
-          method.invoke(null);
+          if( method!=null ) method.invoke(null);
           }
         catch(Exception ex)
           {
diff --git a/src/main/java/org/distorted/library/effect/PostprocessEffect.java b/src/main/java/org/distorted/library/effect/PostprocessEffect.java
index 66b12ca..8e0b754 100644
--- a/src/main/java/org/distorted/library/effect/PostprocessEffect.java
+++ b/src/main/java/org/distorted/library/effect/PostprocessEffect.java
@@ -197,7 +197,7 @@ public abstract class PostprocessEffect extends Effect implements InternalMaster
     mSources.clear();
     mNumSources = 0;
 
-    Method method=null;
+    Method method;
 
     for(EffectName name: EffectName.values())
       {
@@ -207,16 +207,17 @@ public abstract class PostprocessEffect extends Effect implements InternalMaster
 
         try
           {
-          method = cls.getMethod("destroyStatics");
+          method = cls.getDeclaredMethod("destroyStatics");  // destroyStatics not public, thus getDeclaredMethod
           }
         catch(NoSuchMethodException ex)
           {
-          android.util.Log.e("postprocess", "exception getting method: "+ex.getMessage());
+          android.util.Log.e("postprocess", cls.getSimpleName()+": exception getting method: "+ex.getMessage());
+          method = null;
           }
 
         try
           {
-          method.invoke(null);
+          if( method!=null ) method.invoke(null);
           }
         catch(Exception ex)
           {
