package com.google.android.m4b.maps.e;

import android.content.Context;
import android.os.Bundle;
import android.os.DeadObjectException;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.util.Log;
import com.google.android.m4b.maps.d.b.a;
import com.google.android.m4b.maps.g.b;
import com.google.android.m4b.maps.g.l;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

final class d
  implements c
{
  final Handler a;
  final Set<c<?>> b = Collections.newSetFromMap(new ConcurrentHashMap());
  private final Lock c = new ReentrantLock();
  private final Condition d = this.c.newCondition();
  private final com.google.android.m4b.maps.g.d e = new com.google.android.m4b.maps.g.d(paramLooper, this.s);
  private Queue<c<?>> f = new LinkedList();
  private com.google.android.m4b.maps.d.a g;
  private int h;
  private int i = 4;
  private int j = 0;
  private boolean k = false;
  private int l;
  private long m = 5000L;
  private final Bundle n = new Bundle();
  private final Map<a.c<?>, a.a> o = new HashMap();
  private boolean p;
  private final a q = new a()
  {
  };
  private c.b r = new c.b()
  {
    public final void a(int paramAnonymousInt)
    {
      d.a(d.this).lock();
      while (true)
      {
        try
        {
          d.a(d.this, paramAnonymousInt);
          switch (paramAnonymousInt)
          {
          default:
            return;
          case 2:
            d.this.a();
            continue;
          case 1:
          }
        }
        finally
        {
          d.a(d.this).unlock();
        }
        boolean bool = d.e(d.this);
        if (bool)
        {
          d.a(d.this).unlock();
          return;
        }
        d.b(d.this, 2);
        d.this.a.sendMessageDelayed(d.this.a.obtainMessage(1), d.f(d.this));
      }
    }

    public final void a(Bundle paramAnonymousBundle)
    {
      d.a(d.this).lock();
      try
      {
        if (d.b(d.this) == 1)
        {
          if (paramAnonymousBundle != null)
            d.c(d.this).putAll(paramAnonymousBundle);
          d.d(d.this);
        }
        return;
      }
      finally
      {
        d.a(d.this).unlock();
      }
    }
  };
  private final com.google.android.m4b.maps.g.d.b s = new com.google.android.m4b.maps.g.d.b()
  {
    public final boolean a_()
    {
      return d.g(d.this);
    }

    public final boolean c()
    {
      return d.this.c();
    }
  };

  public d(Context paramContext, Looper paramLooper, b paramb, Map paramMap, Fragment paramFragment, Set paramSet1, Set paramSet2)
  {
    this.a = new b(paramLooper);
    Iterator localIterator1 = paramSet1.iterator();
    while (localIterator1.hasNext())
    {
      c.b localb1 = (c.b)localIterator1.next();
      this.e.a(localb1);
    }
    Iterator localIterator2 = paramSet2.iterator();
    while (localIterator2.hasNext())
    {
      b.a locala1 = (b.a)localIterator2.next();
      this.e.a(locala1);
    }
    Iterator localIterator3 = paramMap.keySet().iterator();
    while (localIterator3.hasNext())
    {
      a locala = (a)localIterator3.next();
      final a.b localb = locala.a();
      Object localObject = paramMap.get(locala);
      this.o.put(locala.c(), localb.a(paramContext, paramLooper, paramb, localObject, this.r, new b.a()
      {
        public final void a(com.google.android.m4b.maps.d.a paramAnonymousa)
        {
          d.a(d.this).lock();
          try
          {
            if ((d.h(d.this) == null) || (2147483647 < d.i(d.this)))
            {
              d.a(d.this, paramAnonymousa);
              d locald = d.this;
              d.c(locald, 2147483647);
            }
            d.d(d.this);
            return;
          }
          finally
          {
            d.a(d.this).unlock();
          }
        }
      }));
    }
    Collections.unmodifiableList(paramb.a());
  }

  private void a(int paramInt)
  {
    this.c.lock();
    try
    {
      if (this.i == 3)
        break label312;
      if (paramInt != -1)
        break label175;
      if (d())
      {
        Iterator localIterator3 = this.f.iterator();
        while (localIterator3.hasNext())
        {
          ((c)localIterator3.next()).a();
          localIterator3.remove();
        }
      }
    }
    finally
    {
      this.c.unlock();
    }
    this.f.clear();
    Iterator localIterator1 = this.b.iterator();
    while (localIterator1.hasNext())
      ((c)localIterator1.next()).a();
    this.b.clear();
    if ((this.g == null) && (!this.f.isEmpty()))
    {
      this.k = true;
      this.c.unlock();
      return;
    }
    label175: boolean bool1 = d();
    boolean bool2 = c();
    this.i = 3;
    if (bool1)
    {
      if (paramInt == -1)
        this.g = null;
      this.d.signalAll();
    }
    this.p = false;
    Iterator localIterator2 = this.o.values().iterator();
    while (localIterator2.hasNext())
    {
      a.a locala = (a.a)localIterator2.next();
      if (locala.c())
        locala.b();
    }
    this.p = true;
    this.i = 4;
    if (bool2)
    {
      if (paramInt != -1)
        this.e.a(paramInt);
      this.p = false;
    }
    label312: this.c.unlock();
  }

  private <A extends a.a> void a(c<A> paramc)
  {
    boolean bool1 = true;
    this.c.lock();
    while (true)
    {
      try
      {
        if (!c())
        {
          if (f())
          {
            break label178;
            l.a(bool2, "GoogleApiClient is not connected yet.");
            if (paramc.b() != null)
            {
              l.b(bool1, "This task can not be executed or enqueued (it's probably a Batch or malformed)");
              this.b.add(paramc);
              paramc.a(this.q);
              if (!f())
                continue;
              paramc.b(new j(8));
            }
          }
          else
          {
            bool2 = false;
            continue;
          }
          bool1 = false;
          continue;
          a.c localc = paramc.b();
          a.a locala = (a.a)this.o.get(localc);
          l.a(locala, "Appropriate Api was not requested.");
          paramc.a(locala);
          return;
        }
      }
      finally
      {
        this.c.unlock();
      }
      label178: boolean bool2 = bool1;
    }
  }

  private void e()
  {
    boolean bool1;
    if ((c()) || (f()))
      bool1 = true;
    while (true)
    {
      l.a(bool1, "GoogleApiClient is not connected yet.");
      this.c.lock();
      try
      {
        while (true)
        {
          boolean bool2 = this.f.isEmpty();
          if (bool2)
            break;
          try
          {
            a((c)this.f.remove());
          }
          catch (DeadObjectException localDeadObjectException)
          {
          }
        }
        bool1 = false;
        continue;
        return;
      }
      finally
      {
        this.c.unlock();
      }
    }
  }

  private boolean f()
  {
    this.c.lock();
    try
    {
      int i1 = this.j;
      if (i1 != 0)
      {
        bool = true;
        return bool;
      }
      boolean bool = false;
    }
    finally
    {
      this.c.unlock();
    }
  }

  private void g()
  {
    this.c.lock();
    try
    {
      this.j = 0;
      this.a.removeMessages(1);
      return;
    }
    finally
    {
      this.c.unlock();
    }
  }

  public final <A extends a.a, T extends b.b<? extends g, A>> T a(T paramT)
  {
    boolean bool;
    if ((c()) || (f()))
      bool = true;
    while (true)
    {
      l.a(bool, "GoogleApiClient is not connected yet.");
      e();
      try
      {
        a(paramT);
        return paramT;
        bool = false;
      }
      catch (DeadObjectException localDeadObjectException)
      {
        a(1);
      }
    }
    return paramT;
  }

  public final void a()
  {
    this.c.lock();
    try
    {
      this.k = false;
      if (!c())
      {
        boolean bool = d();
        if (!bool);
      }
      else
      {
        return;
      }
      this.p = true;
      this.g = null;
      this.i = 1;
      this.n.clear();
      this.l = this.o.size();
      Iterator localIterator = this.o.values().iterator();
      while (localIterator.hasNext())
        ((a.a)localIterator.next()).a();
    }
    finally
    {
      this.c.unlock();
    }
    this.c.unlock();
  }

  public final void b()
  {
    g();
    a(-1);
  }

  public final boolean c()
  {
    this.c.lock();
    try
    {
      int i1 = this.i;
      if (i1 == 2)
      {
        bool = true;
        return bool;
      }
      boolean bool = false;
    }
    finally
    {
      this.c.unlock();
    }
  }

  public final boolean d()
  {
    int i1 = 1;
    this.c.lock();
    try
    {
      int i2 = this.i;
      if (i2 == i1)
        return i1;
      i1 = 0;
    }
    finally
    {
      this.c.unlock();
    }
  }

  static abstract interface a
  {
  }

  final class b extends Handler
  {
    b(Looper arg2)
    {
      super();
    }

    public final void handleMessage(Message paramMessage)
    {
      if (paramMessage.what == 1)
      {
        d.a(d.this).lock();
        try
        {
          if ((!d.this.c()) && (!d.this.d()))
            d.this.a();
          return;
        }
        finally
        {
          d.a(d.this).unlock();
        }
      }
      Log.wtf("GoogleApiClientImpl", "Don't know how to handle this message.");
    }
  }

  static abstract interface c<A extends a.a>
  {
    public abstract void a();

    public abstract void a(A paramA);

    public abstract void a(d.a parama);

    public abstract a.c<A> b();

    public abstract void b(j paramj);
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.google.android.m4b.maps.e.d
 * JD-Core Version:    0.6.2
 */