package com.google.android.m4b.maps.bh;

import android.os.SystemClock;
import android.util.Pair;
import com.google.android.m4b.maps.bc.ad;
import com.google.android.m4b.maps.bc.af;
import com.google.android.m4b.maps.bc.az;
import com.google.android.m4b.maps.bc.ba;
import com.google.android.m4b.maps.bc.bf;
import com.google.android.m4b.maps.bc.bg;
import com.google.android.m4b.maps.bc.bo;
import com.google.android.m4b.maps.bc.o;
import com.google.android.m4b.maps.be.j;
import com.google.android.m4b.maps.be.j.a;
import com.google.android.m4b.maps.be.l;
import com.google.android.m4b.maps.be.m;
import com.google.android.m4b.maps.be.n;
import com.google.android.m4b.maps.bm.a.d;
import com.google.android.m4b.maps.bq.q;
import com.google.android.m4b.maps.bq.t;
import com.google.android.m4b.maps.bq.u;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import java.util.concurrent.atomic.AtomicInteger;

public final class c
{
  private static final q a = new u();
  private com.google.android.m4b.maps.bm.a b;
  private final j c;
  private volatile a.d d;
  private final com.google.android.m4b.maps.bk.a e;
  private final List<m> f;
  private bf g;
  private final com.google.android.m4b.maps.bk.f<ba, ba> h = new com.google.android.m4b.maps.bk.f(300);
  private int i = 0;
  private int j = 0;
  private final j.a k;
  private AtomicInteger l = new AtomicInteger(0);
  private final Set<a.d> m = new TreeSet();
  private final LinkedList<d> n;
  private Map<ba, Long> o = Collections.synchronizedMap(Maps.newHashMap());
  private Map<ba, Pair<b, Long>> p = Maps.newHashMap();
  private volatile int q = 0;
  private final a r;
  private b s;
  private final com.google.android.m4b.maps.bf.d t = new a((byte)0);
  private final com.google.android.m4b.maps.bf.d u = new b((byte)0);
  private final c v = new c((byte)0);
  private volatile long w;
  private com.google.android.m4b.maps.z.b x = com.google.android.m4b.maps.ak.e.e().b();
  private volatile com.google.android.m4b.maps.bo.e y;

  public c(bg parambg, a parama)
  {
    this(parambg, new a.d(parambg, null), parama, com.google.android.m4b.maps.bk.a.a);
  }

  public c(bg parambg, a.d paramd, a parama, com.google.android.m4b.maps.bk.a parama1)
  {
    this.d = paramd;
    this.b = null;
    this.e = parama1;
    this.f = new ArrayList();
    this.n = new LinkedList();
    if (l.a(parambg))
    {
      this.c = l.b(parambg);
      this.k = new j.a()
      {
        public final void a()
        {
          synchronized (c.a(c.this))
          {
            c.a(c.this).add(c.b(c.this));
            return;
          }
        }

        public final void a(az paramAnonymousaz)
        {
          if (paramAnonymousaz != null)
          {
            q localq = c.a(c.this, paramAnonymousaz.d(), 0, paramAnonymousaz);
            c.a(c.this, paramAnonymousaz.d(), localq, 0L);
          }
        }
      };
      this.c.a(this.k);
    }
    while (true)
    {
      this.r = parama;
      return;
      this.c = null;
      this.k = null;
    }
  }

  private q a(ba paramba, int paramInt, az paramaz)
  {
    Object localObject2;
    synchronized (this.h)
    {
      this.h.c(paramba, paramba);
      if (!this.g.a(paramba.j()))
      {
        localObject2 = null;
        return localObject2;
      }
    }
    if ((!this.f.isEmpty()) && (paramba.j() != null) && ((paramaz instanceof bo)));
    while (true)
    {
      com.google.android.m4b.maps.bo.e locale;
      synchronized (this.f)
      {
        Iterator localIterator = this.f.iterator();
        Object localObject4 = paramaz;
        if (localIterator.hasNext())
        {
          az localaz = ((m)localIterator.next()).a(paramba, true);
          if (localaz != null)
          {
            localObject4 = ad.a((bo)localObject4, (bo)localaz);
            continue;
          }
          ((bo)paramaz);
          continue;
        }
        paramaz = (az)localObject4;
        locale = this.y;
        if ((locale == null) || (paramInt != 0))
          break label270;
        if ((paramaz instanceof bo))
        {
          localObject2 = t.a(paramaz, this.e, locale);
          if (localObject2 == null)
          {
            if (paramInt != 2)
              break label268;
            localObject2 = a;
          }
          if (this.b == null)
            break;
          this.b.a(locale, this.d, paramba, (q)localObject2);
          return localObject2;
        }
      }
      if ((paramaz instanceof o))
      {
        localObject2 = com.google.android.m4b.maps.bq.f.a(paramaz, locale);
        continue;
        label268: return null;
      }
      else
      {
        label270: localObject2 = null;
      }
    }
  }

  private void a(ba paramba, boolean paramBoolean, com.google.android.m4b.maps.bf.d paramd)
  {
    while (true)
    {
      synchronized (this.h)
      {
        this.h.c(paramba);
        if (this.c != null)
        {
          if (paramBoolean)
            this.c.b(paramba, paramd);
        }
        else
        {
          if (paramba == n.d)
            break label176;
          synchronized (this.f)
          {
            if ((this.c == null) || (this.f.isEmpty()))
              break label177;
            localbo = (bo)this.c.a(paramba, true);
            Iterator localIterator = this.f.iterator();
            if (!localIterator.hasNext())
              break label173;
            ((m)localIterator.next()).a(paramba, localbo, this.v);
          }
        }
      }
      this.c.a(paramba, paramd);
      continue;
      label173: label176: return;
      label177: bo localbo = null;
    }
  }

  private boolean a(ba paramba, q paramq)
  {
    boolean bool1;
    if (paramq != null)
    {
      boolean bool2 = paramq.a(this.x);
      bool1 = false;
      if (!bool2);
    }
    else
    {
      if (this.o.put(paramba, Long.valueOf(SystemClock.elapsedRealtime())) == null)
        a(paramba, false, this.t);
      bool1 = true;
    }
    return bool1;
  }

  private q b(ba paramba, int paramInt, az paramaz)
  {
    if (paramaz == null)
      return null;
    if (((bo)paramaz).p() == 0)
    {
      if (((bo)paramaz).a() < 0L)
        return null;
      q localq = this.b.a(this.y, this.d, paramba, false);
      if ((localq != null) && (localq != a))
      {
        ((t)localq).b(((bo)paramaz).a());
        return null;
      }
    }
    synchronized (this.h)
    {
      if (this.h.a(paramba) == null)
      {
        this.j = (1 + this.j);
        return null;
      }
      this.i = (1 + this.i);
      az localaz = this.c.a(paramba, true);
      if (localaz != null)
        return a(paramba, paramInt, localaz);
    }
    return null;
  }

  public final bg a()
  {
    return this.c.h();
  }

  public final q a(ba paramba)
  {
    q localq1 = this.b.a(this.y, this.d, paramba, false);
    if (localq1 == a);
    q localq2;
    do
    {
      return null;
      if ((localq1 != null) && (!localq1.b(this.x)))
        break;
      localq2 = this.b.a(this.y, this.d, paramba.a(), false);
    }
    while (localq2 == a);
    if ((localq2 == null) || (localq2.b(this.x)))
    {
      this.l.incrementAndGet();
      return null;
    }
    return localq2;
    return localq1;
  }

  public final void a(long paramLong)
  {
    this.w = paramLong;
    if (this.b != null);
  }

  public final void a(com.google.android.m4b.maps.aw.f paramf, af paramaf, List<ba> paramList, Set<ba> paramSet1, Set<ba> paramSet2, boolean paramBoolean)
  {
    this.b.d(this.y, this.d);
    synchronized (this.r)
    {
      this.r.a(paramf, paramaf, paramList, paramSet1, null, paramBoolean);
      b localb = this.r.b();
      if (this.s == null)
        a(localb.a, localb.b, this.u);
      this.s = localb;
      return;
    }
  }

  public final void a(bf parambf)
  {
    this.g = parambf;
  }

  public final void a(bg parambg)
  {
    if (!(this.c instanceof n))
      throw new UnsupportedOperationException("Modifiers not supported on store '" + this.c.h() + "'");
    if (!parambg.A)
      throw new IllegalArgumentException("Only modifiers may be added, not " + parambg);
    TreeSet localTreeSet;
    if (l.a(parambg))
    {
      j localj = l.b(parambg);
      if (!(localj instanceof m))
        throw new UnsupportedOperationException("Modifier store '" + localj.h() + "' must be a vector modifier store");
      synchronized (this.f)
      {
        if (this.f.contains(localj))
          return;
        localj.a(this.k);
        this.f.add((m)localj);
        localTreeSet = new TreeSet();
        synchronized (this.f)
        {
          Iterator localIterator = this.f.iterator();
          if (!localIterator.hasNext())
            break label286;
          localTreeSet.add(((m)localIterator.next()).h());
        }
      }
    }
    throw new IllegalArgumentException("Unknown tile store " + parambg);
    label286: synchronized (this.m)
    {
      this.m.add(this.d);
      this.d = new a.d(this.c.h(), localTreeSet, this.e);
      return;
    }
  }

  public final void a(d paramd)
  {
    synchronized (this.n)
    {
      this.n.remove(paramd);
      this.n.add(paramd);
      return;
    }
  }

  public final void a(com.google.android.m4b.maps.bo.e parame)
  {
    Preconditions.checkNotNull(parame, "GLState should not be null");
    this.y = parame;
    com.google.android.m4b.maps.bm.a.a(new com.google.android.m4b.maps.z.b());
    this.b = com.google.android.m4b.maps.bm.a.a();
  }

  public final void a(List<q> paramList)
  {
    ArrayList localArrayList = Lists.newArrayListWithExpectedSize(paramList.size());
    Iterator localIterator = paramList.iterator();
    while (localIterator.hasNext())
    {
      q localq = (q)localIterator.next();
      if (localq != a)
        localArrayList.add(localq.b());
    }
    this.b.a(this.y, this.d, localArrayList);
  }

  public final void a(boolean paramBoolean)
  {
    if (this.b != null)
      this.b.a(paramBoolean);
  }

  public final int b()
  {
    return this.l.get();
  }

  public final void b(List<q> paramList)
  {
    ArrayList localArrayList = Lists.newArrayListWithExpectedSize(paramList.size());
    Iterator localIterator = paramList.iterator();
    while (localIterator.hasNext())
    {
      q localq = (q)localIterator.next();
      if (localq != a)
        localArrayList.add(localq.b());
    }
    this.b.b(this.y, this.d, localArrayList);
  }

  public final void c()
  {
    this.b.d(this.y, this.d);
  }

  public final void d()
  {
    if (com.google.android.m4b.maps.am.b.a)
      this.b.c(this.y, this.d);
  }

  public final void e()
  {
    this.r.a();
  }

  public final void f()
  {
    if (this.b != null)
      this.b.b();
  }

  public final boolean g()
  {
    if (!this.m.isEmpty())
    {
      synchronized (this.m)
      {
        Iterator localIterator = this.m.iterator();
        while (localIterator.hasNext())
        {
          a.d locald = (a.d)localIterator.next();
          if (this.b != null)
            this.b.a(this.y, locald);
        }
      }
      this.m.clear();
      return true;
    }
    return false;
  }

  public final void h()
  {
    if (this.b != null)
    {
      this.b.b(this.y, this.d);
      g();
    }
  }

  public final com.google.android.m4b.maps.z.b i()
  {
    return this.x;
  }

  final class a
    implements com.google.android.m4b.maps.bf.d
  {
    private a()
    {
    }

    public final void a(ba paramba, int paramInt, az paramaz)
    {
      if (paramInt == 3);
      q localq;
      do
      {
        return;
        localq = c.a(c.this, paramba, paramInt, paramaz);
      }
      while (localq == null);
      Long localLong = (Long)c.c(c.this).remove(paramba);
      if (localLong == null)
      {
        com.google.android.m4b.maps.al.d.a("TileFetcher", "Received an unknown tile " + paramba);
        return;
      }
      long l = SystemClock.elapsedRealtime() - localLong.longValue();
      c.a(c.this, paramba, localq, l);
    }
  }

  final class b
    implements com.google.android.m4b.maps.bf.d
  {
    private b()
    {
    }

    private q a(b paramb)
    {
      q localq = c.a(c.this, paramb.a);
      if ((localq != null) && (localq.a(c.d(c.this))))
      {
        c.a(c.this, paramb.a, localq);
        return localq;
      }
      if (localq == null)
      {
        Pair localPair = (Pair)c.e(c.this).get(paramb.a);
        if (localPair != null)
        {
          if (paramb.b)
          {
            c.e(c.this).remove(paramb.a);
            c.f(c.this);
          }
          while (true)
          {
            return c.j();
            c.e(c.this).put(paramb.a, Pair.create(paramb, localPair.second));
          }
        }
        synchronized (c.g(c.this))
        {
          if (c.g(c.this).a(paramb))
          {
            c.e(c.this).put(paramb.a, Pair.create(paramb, Long.valueOf(SystemClock.elapsedRealtime())));
            c.h(c.this);
            c.a(c.this, paramb.a, paramb.b, c.i(c.this));
          }
          return localq;
        }
      }
      return localq;
    }

    private void a(b paramb, boolean paramBoolean)
    {
      while (true)
      {
        paramb = c.g(c.this).a(paramb, paramBoolean);
        if (paramb == null)
          break;
        q localq = a(paramb);
        if (localq == null)
          break;
        if (localq != c.j())
          paramBoolean = true;
        else
          paramBoolean = false;
      }
    }

    public final void a(ba paramba, int paramInt, az paramaz)
    {
      boolean bool1 = true;
      if (paramba == j.d)
        synchronized (c.g(c.this))
        {
          b localb = c.j(c.this);
          c.a(c.this, null);
          a(localb, bool1);
          return;
        }
      Pair localPair = (Pair)c.e(c.this).get(paramba);
      if (localPair == null)
      {
        com.google.android.m4b.maps.al.d.a("TileFetcher", "Received an unknown tile " + paramba);
        return;
      }
      q localq1;
      int i;
      if (!c.g(c.this).a((b)localPair.first))
      {
        localq1 = null;
        i = 0;
      }
      while (true)
      {
        label132: boolean bool2 = bool1;
        bool1 = false;
        int j = i;
        q localq2 = localq1;
        for (int k = j; ; k = bool1)
        {
          if (bool2)
          {
            c.e(c.this).remove(paramba);
            c.f(c.this);
          }
          if (k != 0)
            a((b)localPair.first, bool1);
          if (localq2 == null)
            break;
          long l = SystemClock.elapsedRealtime() - ((Long)localPair.second).longValue();
          c.a(c.this, paramba, localq2, l);
          return;
          if (paramInt == 3)
          {
            boolean bool3 = ((b)localPair.first).b;
            i = bool1;
            bool1 = bool3;
            localq1 = null;
            break label132;
          }
          localq1 = c.a(c.this, paramba, paramInt, paramaz);
          if ((localq1 == null) || (localq1 == c.j()))
            break label304;
          localq2 = localq1;
          bool2 = bool1;
        }
        label304: i = bool1;
      }
    }
  }

  final class c
    implements com.google.android.m4b.maps.bf.d
  {
    private c()
    {
    }

    public final void a(ba paramba, int paramInt, az paramaz)
    {
      if (paramInt == 3);
      q localq;
      do
      {
        return;
        localq = c.b(c.this, paramba, paramInt, paramaz);
      }
      while (localq == null);
      c.a(c.this, paramaz.d(), localq, 0L);
    }
  }

  public static abstract interface d
  {
    public abstract void a(ba paramba, q paramq, boolean paramBoolean);
  }
}

/* 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.bh.c
 * JD-Core Version:    0.6.2
 */