package com.google.android.m4b.maps.bl;

import android.content.res.Resources;
import android.graphics.Bitmap;
import android.opengl.GLU;
import android.os.Process;
import android.os.SystemClock;
import android.util.DisplayMetrics;
import android.util.FloatMath;
import android.widget.TextView;
import com.google.android.m4b.maps.bc.bg;
import com.google.android.m4b.maps.bc.bp;
import com.google.android.m4b.maps.bn.e.a;
import com.google.android.m4b.maps.bo.m;
import com.google.android.m4b.maps.bp.f;
import com.google.android.m4b.maps.bq.l;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.WeakHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import javax.microedition.khronos.opengles.GL10;

public final class ai
  implements y.l, e.a
{
  public static volatile boolean a = false;
  public static final ThreadLocal<com.google.android.m4b.maps.bo.i> b = new ThreadLocal()
  {
  };
  private static final int[] c = { 60672, 59904, 57856, 65536 };
  private static final int[] d = { 32768, 32768, 32768, 65536 };
  private static final int[] e = { 32768, 32768, 32768, 65536 };
  private static final int[] f = { 0, 0, 0, 0 };
  private static final Comparator<r> i = new Comparator()
  {
  };
  private final com.google.android.m4b.maps.br.b A;
  private com.google.android.m4b.maps.br.c B;
  private final HashSet<String> C = new HashSet();
  private final HashSet<String> D = new HashSet();
  private final int[] E = new int[1];
  private final List<com.google.android.m4b.maps.bq.h> F = new ArrayList();
  private long G = 0L;
  private boolean H;
  private final al.a I = new al.a()
  {
    public final boolean a()
    {
      if (ai.a(ai.this) != null);
      synchronized (ai.this)
      {
        ai.a(ai.this, true);
        return true;
      }
    }
  };
  private boolean J;
  private Bitmap K;
  private boolean L;
  private float M;
  private long N;
  private volatile i O = i.a;
  private final List<b> P = new CopyOnWriteArrayList();
  private final List Q = Lists.newArrayList();
  private af R;
  private volatile af S;
  private volatile boolean T;
  private long U;
  private int V;
  private volatile al W;
  private boolean X;
  private volatile float Y;
  private final Object Z = new Object();
  private boolean aa = false;
  private volatile int ab = 0;
  private boolean ac = false;
  private int ad = 2147483647;
  private long ae = 0L;
  private Map<r, List<ag>> af = new WeakHashMap();
  private List<ag> ag = Lists.newArrayList();
  private boolean ah = true;
  private boolean ai;
  private final com.google.android.m4b.maps.bt.g aj;
  private volatile long ak = -1L;
  private final Object al = new Object();
  private volatile com.google.android.m4b.maps.bs.c g = com.google.android.m4b.maps.bs.c.s;
  private volatile com.google.android.m4b.maps.bn.c h;
  private com.google.android.m4b.maps.bo.e j;
  private volatile int k;
  private volatile int l = 1;
  private final LinkedList<r> m;
  private final ArrayList<b> n;
  private final ArrayList<al> o;
  private final ArrayList<bg> p;
  private final com.google.android.m4b.maps.bn.b q;
  private final n r;
  private final com.google.android.m4b.maps.bo.h s;
  private final Resources t;
  private final float u;
  private com.google.android.m4b.maps.bs.e v;
  private final ab w;
  private final ab x;
  private final h y;
  private final o z;

  public ai(n paramn, Resources paramResources, com.google.android.m4b.maps.bn.b paramb, al paramal, com.google.android.m4b.maps.bt.g paramg, com.google.android.m4b.maps.bt.j paramj, TextView paramTextView)
  {
    this.r = paramn;
    this.s = new com.google.android.m4b.maps.bo.h(this);
    this.t = paramResources;
    this.u = paramResources.getDisplayMetrics().density;
    l.a(this.u);
    com.google.android.m4b.maps.bq.j.a(this.u);
    this.q = paramb;
    this.m = new LinkedList();
    this.n = new ArrayList();
    this.W = paramal;
    this.o = new ArrayList();
    this.o.add(this.W);
    this.p = new ArrayList();
    this.z = new o(paramResources);
    this.w = new ab(2, this.z);
    this.x = new ab(1, this.z);
    this.y = new h();
    this.A = new com.google.android.m4b.maps.br.b();
    c(this.W);
    c(this.w);
    c(this.z);
    c(this.A);
    c(this.y);
    u localu = new u(r.a.d);
    localu.a(i.c, -2147483648);
    c(localu);
    c(new t());
    if (ao.a());
    for (this.B = new com.google.android.m4b.maps.br.c(paramResources, paramTextView); ; this.B = null)
    {
      this.W.a(this.I);
      this.W.b(true);
      this.N = SystemClock.uptimeMillis();
      this.aj = null;
      return;
    }
  }

  @VisibleForTesting
  private void a(a parama, boolean paramBoolean)
  {
    label387: label391: for (int i1 = 0; ; i1++)
    {
      HashSet localHashSet;
      while (true)
      {
        ag localag2;
        synchronized (this.m)
        {
          if ((!this.ah) && (!paramBoolean))
            return;
          boolean bool = this.ah;
          this.ah = false;
          r[] arrayOfr1 = parama.a();
          int i2 = arrayOfr1.length;
          int i3 = 0;
          if (i3 < i2)
          {
            r localr1 = arrayOfr1[i3];
            Object localObject2 = (List)this.af.get(localr1);
            if (localObject2 == null)
            {
              localObject2 = Lists.newArrayList();
              this.af.put(localr1, localObject2);
              bool = true;
            }
            bool |= localr1.b((List)localObject2);
            i3++;
            continue;
          }
          if (!bool)
            break label387;
          this.ag.clear();
          r[] arrayOfr2 = parama.a();
          int i4 = arrayOfr2.length;
          if (i1 < i4)
          {
            r localr2 = arrayOfr2[i1];
            List localList = (List)this.af.get(localr2);
            if (localList == null)
              break label391;
            this.ag.addAll(localList);
            break label391;
          }
          Collections.sort(this.ag);
          localHashSet = Sets.newHashSet();
          Iterator localIterator1 = this.ag.iterator();
          if (!localIterator1.hasNext())
            break;
          localag2 = (ag)localIterator1.next();
          if (!localHashSet.contains(localag2.a()))
          {
            localag2.a(true);
            localHashSet.add(localag2.a());
          }
        }
        localag2.a(false);
      }
      localHashSet.clear();
      Iterator localIterator2 = Lists.reverse(this.ag).iterator();
      while (localIterator2.hasNext())
      {
        ag localag1 = (ag)localIterator2.next();
        if (!localHashSet.contains(localag1.a()))
        {
          localag1.b(true);
          localHashSet.add(localag1.a());
        }
        else
        {
          localag1.b(false);
        }
      }
      return;
    }
  }

  private void a(com.google.android.m4b.maps.bn.b paramb)
  {
    int i1 = paramb.e();
    int i2 = paramb.f();
    if ((i1 > 0) && (i2 > 0))
    {
      GL10 localGL10 = this.j.x();
      localGL10.glMatrixMode(5889);
      localGL10.glLoadIdentity();
      localGL10.glViewport(0, 0, i1, i2);
      localGL10.glMultMatrixf(paramb.t(), 0);
      localGL10.glEnable(3089);
      localGL10.glScissor(0, 0, i1, i2);
    }
  }

  private void a(com.google.android.m4b.maps.bn.b paramb, int paramInt, boolean paramBoolean1, boolean paramBoolean2)
  {
    a locala = l();
    this.j.B();
    i locali = this.O;
    if (paramb.h() != this.M)
    {
      a(paramb);
      this.M = paramb.h();
    }
    GL10 localGL10 = this.j.x();
    localGL10.glMatrixMode(5888);
    localGL10.glLoadIdentity();
    localGL10.glMultMatrixf(paramb.s(), 0);
    for (int i1 = 0; i1 < locala.a().length; i1++)
      locala.a()[i1].a(paramInt);
    if (paramBoolean1)
    {
      for (int i14 = 0; i14 < locala.a().length; i14++)
        locala.a()[i14].a(paramb, this.j);
      this.F.clear();
      this.y.a(this.F);
    }
    al[] arrayOfal2;
    int i9;
    if ((locali != i.f) && (locali != i.e))
    {
      arrayOfal2 = locala.b();
      if ((this.R != null) && ((paramInt & 0x2) == 0))
        break label400;
      i9 = 1;
      this.v.a(paramInt);
      if (i9 == 0)
        break label406;
      this.v.a(paramb.v());
      this.L = true;
      label253: if (this.R == null);
    }
    if (this.B != null);
    while (true)
    {
      int i5;
      try
      {
        boolean bool2 = this.H;
        this.H = false;
        if (bool2)
        {
          this.C.clear();
          this.D.clear();
          this.E[0] = -1;
          i5 = this.E[0];
          al[] arrayOfal1 = locala.b();
          int i6 = arrayOfal1.length;
          int i7 = 0;
          if (i7 < i6)
          {
            arrayOfal1[i7].a(paramb, locali, this.C, this.D, this.E);
            if (this.E[0] <= i5)
              break label1024;
            i8 = this.E[0];
            i7++;
            i5 = i8;
            continue;
            label400: i9 = 0;
            break;
            label406: if ((!paramBoolean1) && (!this.L))
            {
              this.v.b(20);
              break label253;
            }
            ae localae = new ae();
            HashSet localHashSet1 = new HashSet();
            bp localbp1 = paramb.v();
            int i10;
            int i11;
            HashSet localHashSet2;
            HashMap localHashMap;
            if ((paramb.k() == 0.0F) && (paramb.j() == 0.0F))
            {
              i10 = 1;
              if (i10 != 0)
              {
                localbp2 = null;
                i11 = 0;
                localHashSet2 = Sets.newHashSet();
                localHashMap = Maps.newHashMap();
                int i12 = arrayOfal2.length;
                int i13 = 0;
                if (i13 >= i12)
                  continue;
                al localal = arrayOfal2[i13];
                if (localal.k())
                {
                  i11 = Math.max(i11, localal.a(localbp2, localae, localHashSet1));
                  localal.a(localHashSet2, localHashMap);
                }
                i13++;
                continue;
              }
            }
            else
            {
              i10 = 0;
              continue;
            }
            bp localbp2 = localbp1;
            continue;
            this.v.a(paramb, localbp1, i11, null, localae, localHashSet1, localHashSet2, localHashMap, 20, this.W.n());
            this.L = false;
          }
        }
      }
      finally
      {
      }
      if ((paramBoolean1) || (paramInt != 0));
      for (boolean bool1 = true; ; bool1 = false)
      {
        a(locala, bool1);
        j localj = new j(locali, 0);
        this.j.m();
        this.j.r();
        this.ai = true;
        Iterator localIterator = this.ag.iterator();
        while (localIterator.hasNext())
        {
          ag localag = (ag)localIterator.next();
          localj.a(localag);
          r localr = localag.a();
          if (this.R != null);
          this.j.z();
          localr.a(this.j, paramb, localj);
          this.j.A();
          this.ai = (localr.g_() & this.ai);
          if (this.R == null);
        }
      }
      this.j.B();
      int i2 = this.j.x().glGetError();
      if (i2 != 0)
      {
        StringBuilder localStringBuilder = new StringBuilder();
        if (i2 == 1285)
        {
          long l1 = SystemClock.uptimeMillis() - this.U;
          localStringBuilder.append("\nTime in current GL context: ").append(l1).append("\n");
          localStringBuilder.append(com.google.android.m4b.maps.bm.a.a().c());
          this.T = true;
        }
        com.google.android.m4b.maps.al.d.c("Renderer", "GL Error: " + i2 + " " + GLU.gluErrorString(i2) + localStringBuilder);
        com.google.android.m4b.maps.al.d.a("Renderer", "drawFrameInternal GL ERROR: " + i2 + localStringBuilder);
      }
      if (i2 == 1285)
      {
        r[] arrayOfr = locala.a();
        int i3 = arrayOfr.length;
        for (int i4 = 0; i4 < i3; i4++)
          arrayOfr[i4].f_();
      }
      this.T = false;
      return;
      label1024: int i8 = i5;
    }
  }

  public static int[] a(i parami)
  {
    switch (4.a[parami.ordinal()])
    {
    default:
      return f;
    case 1:
      return c;
    case 2:
      return c;
    case 3:
      return c;
    case 4:
      return d;
    case 5:
    }
    return e;
  }

  private void c(r paramr)
  {
    this.ah = true;
    this.m.add(paramr);
  }

  private void d(boolean paramBoolean)
  {
    try
    {
      Iterator localIterator = this.Q.iterator();
      while (localIterator.hasNext())
        localIterator.next();
    }
    finally
    {
    }
  }

  private void i()
  {
    if (this.k < 0)
      return;
    if (this.X);
    for (int i1 = 10; ; i1 = this.l)
      try
      {
        Process.setThreadPriority(this.k, i1);
        return;
      }
      catch (RuntimeException localRuntimeException)
      {
        com.google.android.m4b.maps.al.d.a("Renderer", "Could not set thread priority: " + localRuntimeException);
        return;
      }
  }

  private int j()
  {
    Iterator localIterator = this.P.iterator();
    Object localObject1 = null;
    int i1 = 0;
    b localb1;
    int i2;
    if (localIterator.hasNext())
    {
      localb1 = (b)localIterator.next();
      i2 = localb1.a(this.q);
      if ((i2 == 0) || (localb1.e() == null))
        break label164;
    }
    label164: for (Object localObject2 = localb1.e(); ; localObject2 = localObject1)
    {
      i1 |= i2;
      localObject1 = localObject2;
      break;
      if (i1 != 0)
      {
        if ((localObject1 != null) && (!localObject1.equals(this.h)))
        {
          this.W.a(localObject1);
          this.h = localObject1;
        }
        this.r.a(false, false);
      }
      while (true)
      {
        com.google.android.m4b.maps.bn.b localb = this.q;
        boolean bool = false;
        if (i1 != 0)
          bool = true;
        localb.a(bool);
        return i1;
        this.W.a(null);
        this.h = null;
      }
    }
  }

  private Bitmap k()
  {
    try
    {
      this.J = true;
      while (true)
      {
        boolean bool = this.J;
        if (!bool)
          break;
        try
        {
          wait();
        }
        catch (InterruptedException localInterruptedException)
        {
        }
      }
      Bitmap localBitmap = this.K;
      this.K = null;
      return localBitmap;
    }
    finally
    {
    }
  }

  private a l()
  {
    synchronized (this.m)
    {
      if (this.ac)
        break label638;
      Iterator localIterator3 = this.m.iterator();
      if (localIterator3.hasNext())
        ((r)localIterator3.next()).a(this.j, this.r);
    }
    this.ac = true;
    break label638;
    int i3;
    b localb;
    if (i3 < this.n.size())
    {
      this.ah = true;
      localb = (b)this.n.get(i3);
    }
    int i8;
    int i1;
    label279: int i7;
    int i4;
    int i5;
    int i6;
    label382: Iterator localIterator1;
    switch (4.b[localb.b.ordinal()])
    {
    case 1:
      if (!this.m.contains(localb.a))
      {
        localb.a.a(null);
        if ((localb.a instanceof al))
        {
          al localal = (al)localb.a;
          localal.a(this.I);
          this.o.add(localal);
          if (localal.d().ordinal() < this.ad);
          for (i8 = 1; localal.l(); i8 = i1)
          {
            Iterator localIterator2 = this.p.iterator();
            while (localIterator2.hasNext())
              localal.a((bg)localIterator2.next());
            localal.b(false);
          }
          c(localb.a);
          b localb2 = localb.a.m();
          if (localb2 != null)
            a(localb2);
          localb.a.a(this.j, this.r);
          i4 = i7;
          i5 = 1;
        }
      }
      break;
    case 2:
      if (this.m.remove(localb.a))
        if ((localb.a instanceof al))
          if (localb.a.d().ordinal() == this.ad)
          {
            i6 = 1;
            this.o.remove(localb.a);
            this.af.remove(localb.a);
            localb.a.a(this.j);
            b localb1 = localb.a.m();
            if (localb1 == null)
              break label676;
            this.P.remove(localb1);
          }
      break;
    case 3:
      label395: this.W = ((al)localb.a);
      break label649;
      this.n.clear();
      if (i1 != 0)
      {
        this.ad = 2147483647;
        localIterator1 = this.o.iterator();
      }
      break;
    }
    Object localObject3;
    for (Object localObject2 = null; ; localObject2 = localObject3)
    {
      if (localIterator1.hasNext())
      {
        localObject3 = (al)localIterator1.next();
        ((al)localObject3).b(false);
        if (((al)localObject3).d().ordinal() < this.ad)
        {
          this.ad = ((al)localObject3).d().ordinal();
          continue;
        }
      }
      else
      {
        if (localObject2 != null)
          localObject2.b(true);
        if ((i2 != 0) && (this.m.size() > 1))
          Collections.sort(this.m, i);
        a locala = new a(this.m, this.o);
        return locala;
      }
      localObject3 = localObject2;
      continue;
      i6 = i1;
      break label382;
      i6 = i1;
      break label395;
      i7 = i1;
      break label279;
      label638: i1 = 0;
      int i2 = 0;
      i3 = 0;
      break;
      label649: i4 = i1;
      for (i5 = i2; ; i5 = i2)
      {
        i3++;
        i2 = i5;
        i1 = i4;
        break;
        i7 = i8;
        break label279;
        label676: i4 = i6;
      }
    }
  }

  private void m()
  {
    while (true)
    {
      try
      {
        int i1 = this.V;
        this.V = 0;
        if (i1 == 0)
          return;
        if (i1 == 2)
        {
          bool = true;
          this.v.a(bool);
          synchronized (this.m)
          {
            Iterator localIterator = this.m.iterator();
            if (!localIterator.hasNext())
              break;
            ((r)localIterator.next()).a(bool);
          }
        }
      }
      finally
      {
      }
      boolean bool = false;
    }
  }

  public final float a(com.google.android.m4b.maps.bc.af paramaf)
  {
    synchronized (this.m)
    {
      Iterator localIterator = this.o.iterator();
      for (float f1 = 21.0F; localIterator.hasNext(); f1 = Math.min(f1, ((al)localIterator.next()).a(paramaf)));
      return f1;
    }
  }

  public final Bitmap a(Bitmap paramBitmap)
  {
    try
    {
      this.K = paramBitmap;
      Bitmap localBitmap = k();
      return localBitmap;
    }
    finally
    {
      localObject = finally;
      throw localObject;
    }
  }

  public final q a(r.a parama)
  {
    return new q(parama, this.z);
  }

  public final void a()
  {
    com.google.android.m4b.maps.bm.a locala = com.google.android.m4b.maps.bm.a.a();
    if (locala != null)
      locala.a(this.j);
  }

  public final void a(af paramaf)
  {
    this.S = paramaf;
  }

  public final void a(al paramal)
  {
    synchronized (this.m)
    {
      b localb1 = new b(ai.b.a.a, paramal);
      this.n.add(localb1);
      b localb2 = new b(ai.b.a.c, paramal);
      this.n.add(localb2);
      b localb3 = new b(ai.b.a.b, this.W);
      this.n.add(localb3);
      if (this.v != null)
        this.v.b();
      this.r.a(true, false);
      return;
    }
  }

  public final void a(b paramb)
  {
    this.P.add(paramb);
  }

  public final void a(c paramc, e parame)
  {
    this.z.a(paramc, parame);
  }

  public final void a(r paramr)
  {
    synchronized (this.m)
    {
      b localb = new b(ai.b.a.a, paramr);
      this.n.add(localb);
      this.r.a(true, false);
      return;
    }
  }

  public final void a(com.google.android.m4b.maps.bs.c paramc)
  {
    if (paramc != this.g)
    {
      this.g = paramc;
      if (this.v != null)
      {
        this.v.a(paramc);
        this.r.a(true, false);
      }
    }
  }

  public final void a(GL10 paramGL10)
  {
    com.google.android.m4b.maps.au.a.a();
    this.k = Process.myTid();
    i();
    com.google.android.m4b.maps.am.b.a(paramGL10.glGetString(7937));
    synchronized (this.m)
    {
      Iterator localIterator = this.m.iterator();
      if (localIterator.hasNext())
        ((r)localIterator.next()).a(null);
    }
    this.ac = false;
    if ((this.j != null) && (this.j.x() != paramGL10))
    {
      if (this.v != null)
        this.v.a();
      if (this.j != null)
      {
        this.j.E().a();
        this.j.a().a();
        this.j.B();
        com.google.android.m4b.maps.bo.e locale = this.j;
        locale.g.c(locale);
        locale.d.c(locale);
        locale.c.c(locale);
        locale.i.c(locale);
        locale.e.c(locale);
        locale.h.c(locale);
        locale.f.c(locale);
      }
      this.j = null;
    }
    if (this.j == null)
    {
      this.U = SystemClock.uptimeMillis();
      this.j = new com.google.android.m4b.maps.bo.e(paramGL10, this.s, this.r, this.aj, this.t);
      this.j.y().b(this.X);
      l.a(this.j.D());
      this.v = new com.google.android.m4b.maps.bs.e(this.g, this.j, this.t);
      this.w.a(this.v);
      this.x.a(this.v);
    }
    this.r.c(true);
    this.L = true;
    if (this.aa)
      this.ab = 2;
    this.aa = true;
    com.google.android.m4b.maps.au.a.b();
  }

  public final void a(GL10 paramGL10, int paramInt1, int paramInt2)
  {
    if ((this.j.x() != paramGL10) && (!(this.j.x() instanceof com.google.android.m4b.maps.bo.d)))
    {
      IllegalStateException localIllegalStateException = new IllegalStateException("GL object has changed since onSurfaceCreated");
      com.google.android.m4b.maps.ak.k.a("DA:Renderer", localIllegalStateException);
      com.google.android.m4b.maps.al.d.a("OpenGL error during initialization.", localIllegalStateException);
    }
    if ((paramInt1 <= 0) || (paramInt2 <= 0))
      return;
    this.q.a(paramInt1, paramInt2, this.u);
    a(this.q);
    this.M = this.q.h();
    float f1 = this.u;
    this.Y = Math.max(2.0F, FloatMath.ceil(com.google.android.m4b.maps.bn.b.a(1.0F + FloatMath.ceil((int)Math.ceil(Math.hypot(paramInt1, paramInt2)) / (f1 * 256.0F)))));
    this.r.a(true, false);
  }

  public final void a(boolean paramBoolean)
  {
    try
    {
      this.X = paramBoolean;
      if (this.j != null)
      {
        this.j.y().b(paramBoolean);
        if (!paramBoolean)
          this.j.y().c();
      }
      i();
      return;
    }
    finally
    {
    }
  }

  public final ac b(boolean paramBoolean)
  {
    return new ac(this.t, this.z, paramBoolean);
  }

  public final ArrayList<r> b()
  {
    ArrayList localArrayList = new ArrayList(this.m.size());
    synchronized (this.m)
    {
      localArrayList.addAll(this.m);
      return localArrayList;
    }
  }

  public final void b(i parami)
  {
    if (parami != this.O)
      this.O = parami;
    try
    {
      this.H = true;
      if (this.v != null)
      {
        this.v.b();
        this.r.a(true, false);
      }
      return;
    }
    finally
    {
    }
  }

  public final void b(r paramr)
  {
    synchronized (this.m)
    {
      b localb = new b(ai.b.a.b, paramr);
      this.n.add(localb);
      this.r.a(true, false);
      return;
    }
  }

  // ERROR //
  public final void b(GL10 paramGL10)
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   4: invokevirtual 438	com/google/android/m4b/maps/bo/e:x	()Ljavax/microedition/khronos/opengles/GL10;
    //   7: aload_1
    //   8: if_acmpeq +44 -> 52
    //   11: aload_0
    //   12: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   15: invokevirtual 438	com/google/android/m4b/maps/bo/e:x	()Ljavax/microedition/khronos/opengles/GL10;
    //   18: instanceof 883
    //   21: ifne +31 -> 52
    //   24: new 885	java/lang/IllegalStateException
    //   27: dup
    //   28: ldc_w 887
    //   31: invokespecial 888	java/lang/IllegalStateException:<init>	(Ljava/lang/String;)V
    //   34: astore 31
    //   36: ldc_w 890
    //   39: aload 31
    //   41: invokestatic 895	com/google/android/m4b/maps/ak/k:a	(Ljava/lang/String;Ljava/lang/Throwable;)V
    //   44: ldc_w 897
    //   47: aload 31
    //   49: invokestatic 898	com/google/android/m4b/maps/al/d:a	(Ljava/lang/String;Ljava/lang/Throwable;)V
    //   52: aload_0
    //   53: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   56: astore_2
    //   57: invokestatic 938	com/google/android/m4b/maps/al/b:a	()Lcom/google/android/m4b/maps/al/b;
    //   60: pop
    //   61: aload_2
    //   62: invokestatic 940	com/google/android/m4b/maps/al/b:e	()Z
    //   65: invokevirtual 941	com/google/android/m4b/maps/bo/e:a	(Z)V
    //   68: aload_0
    //   69: getfield 220	com/google/android/m4b/maps/bl/ai:O	Lcom/google/android/m4b/maps/bl/i;
    //   72: astore 4
    //   74: aload_0
    //   75: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   78: invokevirtual 438	com/google/android/m4b/maps/bo/e:x	()Ljavax/microedition/khronos/opengles/GL10;
    //   81: astore 5
    //   83: aload 4
    //   85: invokestatic 943	com/google/android/m4b/maps/bl/ai:a	(Lcom/google/android/m4b/maps/bl/i;)[I
    //   88: astore 6
    //   90: aload 5
    //   92: aload 6
    //   94: iconst_0
    //   95: iaload
    //   96: aload 6
    //   98: iconst_1
    //   99: iaload
    //   100: aload 6
    //   102: iconst_2
    //   103: iaload
    //   104: aload 6
    //   106: iconst_3
    //   107: iaload
    //   108: invokeinterface 946 5 0
    //   113: sipush 16384
    //   116: istore 7
    //   118: aload_0
    //   119: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   122: invokevirtual 948	com/google/android/m4b/maps/bo/e:h	()Z
    //   125: ifeq +15 -> 140
    //   128: sipush 16640
    //   131: istore 7
    //   133: aload_0
    //   134: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   137: invokevirtual 949	com/google/android/m4b/maps/bo/e:i	()V
    //   140: aload_0
    //   141: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   144: invokevirtual 951	com/google/android/m4b/maps/bo/e:j	()Z
    //   147: ifeq +26 -> 173
    //   150: aload 5
    //   152: iconst_0
    //   153: invokeinterface 954 2 0
    //   158: iload 7
    //   160: sipush 1024
    //   163: ior
    //   164: istore 7
    //   166: aload_0
    //   167: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   170: invokevirtual 956	com/google/android/m4b/maps/bo/e:k	()V
    //   173: aload 5
    //   175: iload 7
    //   177: invokeinterface 959 2 0
    //   182: aload_0
    //   183: getfield 186	com/google/android/m4b/maps/bl/ai:ab	I
    //   186: ifle +23 -> 209
    //   189: aload_0
    //   190: iconst_m1
    //   191: aload_0
    //   192: getfield 186	com/google/android/m4b/maps/bl/ai:ab	I
    //   195: iadd
    //   196: putfield 186	com/google/android/m4b/maps/bl/ai:ab	I
    //   199: aload_0
    //   200: getfield 222	com/google/android/m4b/maps/bl/ai:r	Lcom/google/android/m4b/maps/bl/n;
    //   203: iconst_1
    //   204: iconst_1
    //   205: invokevirtual 689	com/google/android/m4b/maps/bl/n:a	(ZZ)V
    //   208: return
    //   209: aload_0
    //   210: getfield 206	com/google/android/m4b/maps/bl/ai:ak	J
    //   213: ldc2_w 203
    //   216: lcmp
    //   217: ifeq +40 -> 257
    //   220: aload_0
    //   221: getfield 208	com/google/android/m4b/maps/bl/ai:al	Ljava/lang/Object;
    //   224: astore 29
    //   226: aload 29
    //   228: monitorenter
    //   229: aload_0
    //   230: getfield 206	com/google/android/m4b/maps/bl/ai:ak	J
    //   233: invokestatic 964	java/lang/System:currentTimeMillis	()J
    //   236: lcmp
    //   237: ifge +10 -> 247
    //   240: aload_0
    //   241: ldc2_w 203
    //   244: putfield 206	com/google/android/m4b/maps/bl/ai:ak	J
    //   247: aload 29
    //   249: monitorexit
    //   250: aload_0
    //   251: getfield 222	com/google/android/m4b/maps/bl/ai:r	Lcom/google/android/m4b/maps/bl/n;
    //   254: invokevirtual 966	com/google/android/m4b/maps/bl/n:d	()V
    //   257: invokestatic 970	com/google/android/m4b/maps/bk/i:d	()Z
    //   260: ifne +21 -> 281
    //   263: aload_0
    //   264: getfield 222	com/google/android/m4b/maps/bl/ai:r	Lcom/google/android/m4b/maps/bl/n;
    //   267: iconst_0
    //   268: iconst_0
    //   269: invokevirtual 689	com/google/android/m4b/maps/bl/n:a	(ZZ)V
    //   272: return
    //   273: astore 30
    //   275: aload 29
    //   277: monitorexit
    //   278: aload 30
    //   280: athrow
    //   281: aload_0
    //   282: invokespecial 972	com/google/android/m4b/maps/bl/ai:j	()I
    //   285: istore 8
    //   287: iload 8
    //   289: iconst_2
    //   290: iand
    //   291: ifne +13 -> 304
    //   294: aload_0
    //   295: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   298: invokevirtual 973	com/google/android/m4b/maps/bo/e:d	()Z
    //   301: ifeq +437 -> 738
    //   304: iconst_1
    //   305: istore 9
    //   307: aload_0
    //   308: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   311: invokevirtual 867	com/google/android/m4b/maps/bo/e:y	()Lcom/google/android/m4b/maps/bl/n;
    //   314: iload 9
    //   316: invokevirtual 974	com/google/android/m4b/maps/bl/n:a	(Z)V
    //   319: aload_0
    //   320: getfield 222	com/google/android/m4b/maps/bl/ai:r	Lcom/google/android/m4b/maps/bl/n;
    //   323: invokevirtual 976	com/google/android/m4b/maps/bl/n:g	()Z
    //   326: istore 10
    //   328: aload_0
    //   329: getfield 252	com/google/android/m4b/maps/bl/ai:q	Lcom/google/android/m4b/maps/bn/b;
    //   332: invokevirtual 978	com/google/android/m4b/maps/bn/b:a	()J
    //   335: aload_0
    //   336: getfield 160	com/google/android/m4b/maps/bl/ai:G	J
    //   339: lcmp
    //   340: ifeq +404 -> 744
    //   343: iconst_1
    //   344: istore 11
    //   346: iload 11
    //   348: ifeq +503 -> 851
    //   351: aload_0
    //   352: aload_0
    //   353: getfield 252	com/google/android/m4b/maps/bl/ai:q	Lcom/google/android/m4b/maps/bn/b;
    //   356: invokevirtual 978	com/google/android/m4b/maps/bn/b:a	()J
    //   359: putfield 160	com/google/android/m4b/maps/bl/ai:G	J
    //   362: iconst_1
    //   363: istore 12
    //   365: aload_0
    //   366: iload 11
    //   368: invokespecial 980	com/google/android/m4b/maps/bl/ai:d	(Z)V
    //   371: aload_0
    //   372: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   375: invokevirtual 982	com/google/android/m4b/maps/bo/e:f	()V
    //   378: aload_0
    //   379: invokespecial 983	com/google/android/m4b/maps/bl/ai:m	()V
    //   382: aload_0
    //   383: aload_0
    //   384: getfield 786	com/google/android/m4b/maps/bl/ai:S	Lcom/google/android/m4b/maps/bl/af;
    //   387: putfield 495	com/google/android/m4b/maps/bl/ai:R	Lcom/google/android/m4b/maps/bl/af;
    //   390: aload_0
    //   391: getfield 495	com/google/android/m4b/maps/bl/ai:R	Lcom/google/android/m4b/maps/bl/af;
    //   394: ifnull +18 -> 412
    //   397: aload_0
    //   398: getfield 495	com/google/android/m4b/maps/bl/ai:R	Lcom/google/android/m4b/maps/bl/af;
    //   401: aload_0
    //   402: invokevirtual 987	com/google/android/m4b/maps/bl/af:a	(Lcom/google/android/m4b/maps/bl/ai;)V
    //   405: aload_0
    //   406: getfield 495	com/google/android/m4b/maps/bl/ai:R	Lcom/google/android/m4b/maps/bl/af;
    //   409: invokevirtual 988	com/google/android/m4b/maps/bl/af:d	()V
    //   412: aload_0
    //   413: getfield 252	com/google/android/m4b/maps/bl/ai:q	Lcom/google/android/m4b/maps/bn/b;
    //   416: invokevirtual 990	com/google/android/m4b/maps/bn/b:i	()F
    //   419: fconst_1
    //   420: fcmpl
    //   421: ifle +23 -> 444
    //   424: aload_0
    //   425: aload_0
    //   426: getfield 252	com/google/android/m4b/maps/bl/ai:q	Lcom/google/android/m4b/maps/bn/b;
    //   429: iload 8
    //   431: iload 12
    //   433: iconst_1
    //   434: invokespecial 992	com/google/android/m4b/maps/bl/ai:a	(Lcom/google/android/m4b/maps/bn/b;IZZ)V
    //   437: aload_0
    //   438: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   441: invokevirtual 994	com/google/android/m4b/maps/bo/e:g	()V
    //   444: aload_0
    //   445: getfield 222	com/google/android/m4b/maps/bl/ai:r	Lcom/google/android/m4b/maps/bl/n;
    //   448: invokevirtual 995	com/google/android/m4b/maps/bl/n:h	()Z
    //   451: ifeq +299 -> 750
    //   454: iload 8
    //   456: iconst_2
    //   457: iand
    //   458: ifeq +292 -> 750
    //   461: iconst_1
    //   462: istore 13
    //   464: aload_0
    //   465: getfield 564	com/google/android/m4b/maps/bl/ai:ai	Z
    //   468: ifeq +288 -> 756
    //   471: aload_0
    //   472: getfield 497	com/google/android/m4b/maps/bl/ai:v	Lcom/google/android/m4b/maps/bs/e;
    //   475: invokevirtual 997	com/google/android/m4b/maps/bs/e:c	()Z
    //   478: ifne +278 -> 756
    //   481: aload_0
    //   482: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   485: invokevirtual 973	com/google/android/m4b/maps/bo/e:d	()Z
    //   488: ifne +268 -> 756
    //   491: iload 13
    //   493: ifne +263 -> 756
    //   496: iconst_1
    //   497: istore 14
    //   499: aload_0
    //   500: getfield 495	com/google/android/m4b/maps/bl/ai:R	Lcom/google/android/m4b/maps/bl/af;
    //   503: ifnull +31 -> 534
    //   506: aload_0
    //   507: getfield 495	com/google/android/m4b/maps/bl/ai:R	Lcom/google/android/m4b/maps/bl/af;
    //   510: iload 14
    //   512: invokevirtual 998	com/google/android/m4b/maps/bl/af:b	(Z)V
    //   515: aload_0
    //   516: getfield 495	com/google/android/m4b/maps/bl/ai:R	Lcom/google/android/m4b/maps/bl/af;
    //   519: invokevirtual 999	com/google/android/m4b/maps/bl/af:e	()Z
    //   522: ifeq +12 -> 534
    //   525: aload_0
    //   526: getfield 222	com/google/android/m4b/maps/bl/ai:r	Lcom/google/android/m4b/maps/bl/n;
    //   529: iconst_0
    //   530: iconst_0
    //   531: invokevirtual 689	com/google/android/m4b/maps/bl/n:a	(ZZ)V
    //   534: aload_0
    //   535: monitorenter
    //   536: aload_0
    //   537: getfield 695	com/google/android/m4b/maps/bl/ai:J	Z
    //   540: istore 16
    //   542: aload_0
    //   543: monitorexit
    //   544: iload 16
    //   546: ifeq +162 -> 708
    //   549: aload_0
    //   550: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   553: invokevirtual 438	com/google/android/m4b/maps/bo/e:x	()Ljavax/microedition/khronos/opengles/GL10;
    //   556: astore 19
    //   558: aload_0
    //   559: getfield 252	com/google/android/m4b/maps/bl/ai:q	Lcom/google/android/m4b/maps/bn/b;
    //   562: invokevirtual 429	com/google/android/m4b/maps/bn/b:e	()I
    //   565: istore 20
    //   567: aload_0
    //   568: getfield 252	com/google/android/m4b/maps/bl/ai:q	Lcom/google/android/m4b/maps/bn/b;
    //   571: invokevirtual 431	com/google/android/m4b/maps/bn/b:f	()I
    //   574: istore 21
    //   576: aload_0
    //   577: getfield 700	com/google/android/m4b/maps/bl/ai:K	Landroid/graphics/Bitmap;
    //   580: astore 22
    //   582: aload 22
    //   584: ifnull +23 -> 607
    //   587: aload 22
    //   589: invokevirtual 1004	android/graphics/Bitmap:getWidth	()I
    //   592: iload 20
    //   594: if_icmpne +13 -> 607
    //   597: aload 22
    //   599: invokevirtual 1007	android/graphics/Bitmap:getHeight	()I
    //   602: iload 21
    //   604: if_icmpeq +240 -> 844
    //   607: aload_0
    //   608: getfield 227	com/google/android/m4b/maps/bl/ai:s	Lcom/google/android/m4b/maps/bo/h;
    //   611: iload 20
    //   613: iload 21
    //   615: getstatic 1013	android/graphics/Bitmap$Config:ARGB_8888	Landroid/graphics/Bitmap$Config;
    //   618: invokevirtual 1016	com/google/android/m4b/maps/bo/h:a	(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
    //   621: astore 23
    //   623: aload 23
    //   625: invokestatic 1022	android/opengl/GLUtils:getInternalFormat	(Landroid/graphics/Bitmap;)I
    //   628: istore 24
    //   630: aload 23
    //   632: invokestatic 1025	android/opengl/GLUtils:getType	(Landroid/graphics/Bitmap;)I
    //   635: istore 25
    //   637: iload 20
    //   639: iload 21
    //   641: imul
    //   642: invokestatic 1031	java/nio/IntBuffer:allocate	(I)Ljava/nio/IntBuffer;
    //   645: astore 26
    //   647: aload 19
    //   649: iconst_0
    //   650: iconst_0
    //   651: iload 20
    //   653: iload 21
    //   655: iload 24
    //   657: iload 25
    //   659: aload 26
    //   661: invokeinterface 1035 8 0
    //   666: aload 26
    //   668: invokevirtual 1039	java/nio/IntBuffer:array	()[I
    //   671: astore 27
    //   673: aload 23
    //   675: aload 27
    //   677: iconst_0
    //   678: iload 20
    //   680: iconst_0
    //   681: iconst_0
    //   682: iload 20
    //   684: iload 21
    //   686: invokevirtual 1043	android/graphics/Bitmap:setPixels	([IIIIIII)V
    //   689: aload_0
    //   690: monitorenter
    //   691: aload_0
    //   692: aload 23
    //   694: putfield 700	com/google/android/m4b/maps/bl/ai:K	Landroid/graphics/Bitmap;
    //   697: aload_0
    //   698: iconst_0
    //   699: putfield 695	com/google/android/m4b/maps/bl/ai:J	Z
    //   702: aload_0
    //   703: invokevirtual 1046	java/lang/Object:notifyAll	()V
    //   706: aload_0
    //   707: monitorexit
    //   708: aload_0
    //   709: getfield 497	com/google/android/m4b/maps/bl/ai:v	Lcom/google/android/m4b/maps/bs/e;
    //   712: invokevirtual 997	com/google/android/m4b/maps/bs/e:c	()Z
    //   715: ifne +13 -> 728
    //   718: aload_0
    //   719: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   722: invokevirtual 973	com/google/android/m4b/maps/bo/e:d	()Z
    //   725: ifeq +51 -> 776
    //   728: aload_0
    //   729: getfield 222	com/google/android/m4b/maps/bl/ai:r	Lcom/google/android/m4b/maps/bl/n;
    //   732: iconst_0
    //   733: iconst_0
    //   734: invokevirtual 689	com/google/android/m4b/maps/bl/n:a	(ZZ)V
    //   737: return
    //   738: iconst_0
    //   739: istore 9
    //   741: goto -434 -> 307
    //   744: iconst_0
    //   745: istore 11
    //   747: goto -401 -> 346
    //   750: iconst_0
    //   751: istore 13
    //   753: goto -289 -> 464
    //   756: iconst_0
    //   757: istore 14
    //   759: goto -260 -> 499
    //   762: astore 15
    //   764: aload_0
    //   765: monitorexit
    //   766: aload 15
    //   768: athrow
    //   769: astore 28
    //   771: aload_0
    //   772: monitorexit
    //   773: aload 28
    //   775: athrow
    //   776: getstatic 1051	android/os/Build$VERSION:SDK_INT	I
    //   779: bipush 9
    //   781: if_icmpge +41 -> 822
    //   784: iload 12
    //   786: ifne +36 -> 822
    //   789: iload 8
    //   791: ifne +31 -> 822
    //   794: invokestatic 343	android/os/SystemClock:uptimeMillis	()J
    //   797: lstore 17
    //   799: lload 17
    //   801: aload_0
    //   802: getfield 345	com/google/android/m4b/maps/bl/ai:N	J
    //   805: lsub
    //   806: ldc2_w 1052
    //   809: lcmp
    //   810: ifle +12 -> 822
    //   813: invokestatic 1056	java/lang/System:gc	()V
    //   816: aload_0
    //   817: lload 17
    //   819: putfield 345	com/google/android/m4b/maps/bl/ai:N	J
    //   822: aload_0
    //   823: getfield 433	com/google/android/m4b/maps/bl/ai:j	Lcom/google/android/m4b/maps/bo/e;
    //   826: invokevirtual 1058	com/google/android/m4b/maps/bo/e:c	()J
    //   829: lconst_0
    //   830: lcmp
    //   831: iflt -623 -> 208
    //   834: aload_0
    //   835: getfield 222	com/google/android/m4b/maps/bl/ai:r	Lcom/google/android/m4b/maps/bl/n;
    //   838: iconst_0
    //   839: iconst_0
    //   840: invokevirtual 689	com/google/android/m4b/maps/bl/n:a	(ZZ)V
    //   843: return
    //   844: aload 22
    //   846: astore 23
    //   848: goto -225 -> 623
    //   851: iload 10
    //   853: istore 12
    //   855: goto -490 -> 365
    //
    // Exception table:
    //   from	to	target	type
    //   229	247	273	finally
    //   247	250	273	finally
    //   536	544	762	finally
    //   691	708	769	finally
  }

  public final float c()
  {
    return this.Y;
  }

  public final void c(boolean paramBoolean)
  {
    int i1;
    if (paramBoolean)
      i1 = 2;
    try
    {
      this.V = i1;
      return;
      i1 = 1;
    }
    finally
    {
    }
  }

  public final void d()
  {
    this.z.f();
  }

  public final o e()
  {
    return this.z;
  }

  public final com.google.android.m4b.maps.br.b f()
  {
    return this.A;
  }

  public final al g()
  {
    return this.W;
  }

  public final com.google.android.m4b.maps.bo.e h()
  {
    return this.j;
  }

  @VisibleForTesting
  static final class a
  {
    private final r[] a;
    private final al[] b;

    public a(List<r> paramList, List<al> paramList1)
    {
      this.a = ((r[])paramList.toArray(new r[paramList.size()]));
      this.b = ((al[])paramList1.toArray(new al[paramList1.size()]));
    }

    public final r[] a()
    {
      return this.a;
    }

    public final al[] b()
    {
      return this.b;
    }
  }

  static final class b
  {
    r a;
    a b;

    b(a parama, r paramr)
    {
      this.b = parama;
      this.a = paramr;
    }

    public static enum a
    {
      static
      {
        a[] arrayOfa = new a[3];
        arrayOfa[0] = a;
        arrayOfa[1] = b;
        arrayOfa[2] = c;
      }
    }
  }
}

/* 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.bl.ai
 * JD-Core Version:    0.6.2
 */