package o;

import android.content.Context;
import android.os.Handler;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ךּ
{
  private static final String ˊ = ךּ.class.getName();
  private static ExecutorService ˋ = Executors.newFixedThreadPool(5);
  private static HashMap<String, HashMap<String, ךּ.ˊ>> ˎ = new HashMap();

  public static void ˊ(Object paramObject)
  {
    ˊ(paramObject, false);
  }

  public static void ˊ(Object paramObject, boolean paramBoolean)
  {
    while (true)
    {
      int j;
      int m;
      synchronized (ˎ)
      {
        Class localClass = paramObject.getClass();
        Method[] arrayOfMethod1;
        if (!paramBoolean)
          arrayOfMethod1 = localClass.getDeclaredMethods();
        else
          arrayOfMethod1 = localClass.getMethods();
        Method[] arrayOfMethod2 = arrayOfMethod1;
        int i = arrayOfMethod2.length;
        j = 0;
        if (j < i)
        {
          Method localMethod = arrayOfMethod2[j];
          Annotation[] arrayOfAnnotation = localMethod.getDeclaredAnnotations();
          int k = arrayOfAnnotation.length;
          m = 0;
          if (m >= k)
            break label176;
          Annotation localAnnotation = arrayOfAnnotation[m];
          if (localAnnotation.annotationType().equals(ィ.class))
          {
            Class[] arrayOfClass = localMethod.getParameterTypes();
            ˊ(((ィ)localMethod.getAnnotation(localAnnotation.annotationType())).ˊ(), localMethod, paramObject, arrayOfClass.length, ((ィ)localMethod.getAnnotation(localAnnotation.annotationType())).ˋ());
          }
        }
        else
        {
          return;
        }
      }
      m++;
      continue;
      label176: j++;
    }
  }

  private static void ˊ(String paramString, Method paramMethod, Object paramObject, int paramInt1, int paramInt2)
  {
    ךּ.ˊ localˊ = new ךּ.ˊ(paramMethod, paramObject, paramInt1, paramInt2);
    if (ˎ.containsKey(paramString))
    {
      if (!((HashMap)ˎ.get(paramString)).containsKey(localˊ.ʻ))
        ((HashMap)ˎ.get(paramString)).put(localˊ.ʻ, localˊ);
    }
    else
    {
      HashMap localHashMap = new HashMap();
      localHashMap.put(localˊ.ʻ, localˊ);
      ˎ.put(paramString, localHashMap);
    }
  }

  public static void ˊ(String paramString, Object[] paramArrayOfObject)
  {
    ч.ˊ();
    new StringBuilder("Num params = ").append(paramArrayOfObject);
    ArrayList localArrayList = ˋ(paramString, paramArrayOfObject);
    int i = 0;
    if (localArrayList != null)
    {
      Iterator localIterator = localArrayList.iterator();
      while (localIterator.hasNext())
      {
        ךּ.ˊ localˊ = (ךּ.ˊ)localIterator.next();
        ךּ.if localif = new ךּ.if(localˊ, paramArrayOfObject);
        if ((localˊ.ˏ == null) || (localˊ.ᐝ == 2))
        {
          ˋ.execute(localif);
          i = 1;
        }
        else
        {
          new Handler(localˊ.ˏ.getMainLooper()).post(localif);
          i = 1;
        }
      }
    }
    if (i == 0)
      ч.ˊ();
  }

  private static List<ךּ.ˊ> ˋ(String paramString, Object[] paramArrayOfObject)
  {
    if (ˎ.containsKey(paramString))
    {
      ArrayList localArrayList = new ArrayList();
      Iterator localIterator = ((HashMap)ˎ.get(paramString)).values().iterator();
      while (localIterator.hasNext())
      {
        ךּ.ˊ localˊ = (ךּ.ˊ)localIterator.next();
        if (localˊ.ˎ == paramArrayOfObject.length)
          localArrayList.add(localˊ);
      }
      if (localArrayList.size() == 0)
        return null;
      return localArrayList;
    }
    return null;
  }

  public static void ˋ(Object paramObject)
  {
    while (true)
      synchronized (ˎ)
      {
        Iterator localIterator1 = ˎ.values().iterator();
        if (localIterator1.hasNext())
        {
          HashMap localHashMap2 = (HashMap)localIterator1.next();
          Iterator localIterator2 = localHashMap2.keySet().iterator();
          if (localIterator2.hasNext())
          {
            String str = (String)localIterator2.next();
            if (((ךּ.ˊ)localHashMap2.get(str)).ˊ.equals(paramObject))
            {
              localHashMap2.remove(str);
              ˋ(paramObject);
              return;
            }
          }
        }
        else
        {
          return;
        }
      }
  }
}

/* Location:           /Users/vikas/Documents/Mhacks_Real_app/classes-dex2jar.jar
 * Qualified Name:     o.Ô¨∫
 * JD-Core Version:    0.6.2
 */