package com.google.android.m4b.maps.bo;

import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.opengl.GLUtils;
import android.util.DisplayMetrics;
import com.google.android.m4b.maps.al.d;
import com.google.android.m4b.maps.bk.f;
import com.google.android.m4b.maps.bt.k;
import com.google.android.m4b.maps.bt.r;
import javax.microedition.khronos.opengles.GL10;

public final class l extends r
{
  private boolean d;
  private int e;
  private final int[] f = new int[1];
  private boolean g = false;
  private boolean h = false;
  private boolean i = false;
  private boolean j = true;
  private float k;
  private float l;
  private final long m;
  private int n;
  private int o = 0;
  private boolean p = false;

  public l(e parame)
  {
    this.m = e.a(parame);
    this.f[0] = 0;
    this.n = 1;
  }

  public l(e parame, boolean paramBoolean)
  {
    this(parame);
    this.p = paramBoolean;
  }

  public static int a(int paramInt1, int paramInt2)
  {
    while (paramInt2 < paramInt1)
      paramInt2 <<= 1;
    return paramInt2;
  }

  private static Bitmap a(Bitmap paramBitmap, Bitmap.Config paramConfig, h paramh)
  {
    int i1 = paramBitmap.getWidth();
    int i2 = paramBitmap.getHeight();
    int i3 = a(i1, 1);
    int i4 = a(i2, 1);
    Bitmap localBitmap = paramh.a(i3, i4, paramConfig);
    localBitmap.eraseColor(0);
    Canvas localCanvas = new Canvas(localBitmap);
    Paint localPaint = new Paint();
    localCanvas.drawBitmap(paramBitmap, 0.0F, 0.0F, localPaint);
    if (i3 > i1)
      localCanvas.drawBitmap(paramBitmap, new Rect(i1 - 1, 0, i1, i2), new Rect(i1, 0, i1 + 1, i2), localPaint);
    if (i4 > i2)
      localCanvas.drawBitmap(paramBitmap, new Rect(0, i2 - 1, i1, i2), new Rect(0, i2, i1, i2 + 1), localPaint);
    if ((i3 > i1) && (i4 > i2))
      localCanvas.drawBitmap(paramBitmap, new Rect(i1 - 1, i2 - 1, i1, i2), new Rect(i1, i2, i1 + 1, i2 + 1), localPaint);
    return localBitmap;
  }

  private void a(Bitmap paramBitmap, int paramInt1, int paramInt2, boolean paramBoolean1, boolean paramBoolean2, boolean paramBoolean3)
  {
    if ((paramBoolean2) && (paramBoolean3))
      try
      {
        throw new IllegalArgumentException("Cannot have both isMipMap and autoGenerateMipMap be true.");
      }
      finally
      {
      }
    e locale = k();
    GL10 localGL10 = locale.a;
    int i1;
    int i2;
    int i3;
    int i14;
    label167: int i12;
    label227: int i13;
    if ((paramBoolean3) && (locale.b))
    {
      i1 = 1;
      if (paramBitmap == null)
      {
        this.e = paramInt2;
        i2 = a(paramInt1, 1);
      }
      for (i3 = a(paramInt2, 1); ; i3 = paramBitmap.getHeight())
      {
        int i4 = locale.C();
        if ((i2 <= i4) && (i3 <= i4))
          break;
        throw new IllegalArgumentException("Textures with dimensions" + i2 + "x" + i3 + " are larger than  the maximum supported size " + i4 + "x" + i4);
        if (!paramBoolean2)
          break label962;
        i14 = paramInt2 / 2;
        this.e = i14;
        i2 = paramBitmap.getWidth();
      }
      this.k = (paramInt1 / i2);
      this.l = (paramInt2 / i3);
      label239: int i8;
      int i9;
      int i10;
      label302: Bitmap localBitmap;
      if (this.p)
      {
        if (!this.g)
          break label968;
        i12 = 10497;
        if (!this.h)
          break label975;
        i13 = 10497;
        b(i12, i13);
        if (this.i)
          if ((paramBoolean2) || (i1 != 0))
            if (this.j)
            {
              c(9987, 9729);
              if (paramBitmap == null)
                break label890;
              if (!paramBoolean2)
                break label775;
              i8 = 0;
              i9 = 0;
              i10 = paramBitmap.getWidth();
              if (i10 <= 0)
                break label982;
              Canvas localCanvas = new Canvas();
              Rect localRect1 = new Rect(0, i9, i10, i10 + i9);
              Rect localRect2 = new Rect(0, 0, i10, i10);
              if (!paramBoolean1)
                break label713;
              localBitmap = locale.l().a(i10, i10, Bitmap.Config.ALPHA_8);
              label372: localCanvas.setBitmap(localBitmap);
              localCanvas.drawBitmap(paramBitmap, localRect1, localRect2, null);
              if (!this.p)
                break label733;
              a(new k(localBitmap), true);
              i10 = 0;
            }
      }
      while (true)
      {
        i9 += i10;
        i10 /= 2;
        break label302;
        c(9985, 9729);
        break;
        c(9729, 9729);
        break;
        c(9728, 9728);
        break;
        if (this.f[0] == 0)
          localGL10.glGenTextures(1, this.f, 0);
        localGL10.glBindTexture(3553, this.f[0]);
        if (this.g)
        {
          localGL10.glTexParameterf(3553, 10242, 10497.0F);
          label529: if (!this.h)
            break label626;
          localGL10.glTexParameterf(3553, 10243, 10497.0F);
          label551: if (!this.i)
            break label680;
          if ((!paramBoolean2) && (i1 == 0))
            break label662;
          if (!this.j)
            break label644;
          localGL10.glTexParameterf(3553, 10241, 9987.0F);
        }
        while (true)
        {
          localGL10.glTexParameterf(3553, 10240, 9729.0F);
          break;
          localGL10.glTexParameterf(3553, 10242, 33071.0F);
          break label529;
          label626: localGL10.glTexParameterf(3553, 10243, 33071.0F);
          break label551;
          label644: localGL10.glTexParameterf(3553, 10241, 9985.0F);
          continue;
          label662: localGL10.glTexParameterf(3553, 10241, 9729.0F);
        }
        label680: localGL10.glTexParameterf(3553, 10241, 9728.0F);
        localGL10.glTexParameterf(3553, 10240, 9728.0F);
        break;
        label713: localBitmap = locale.l().a(i10, i10, Bitmap.Config.ARGB_8888);
        break label372;
        label733: localGL10.glTexParameterf(3553, 33169, 0.0F);
        int i11 = i8 + 1;
        GLUtils.texImage2D(3553, i8, localBitmap, 0);
        localBitmap.recycle();
        i8 = i11;
      }
      label775: if (i1 != 0)
        if (this.p)
        {
          a(new k(paramBitmap), true);
          break label982;
        }
    }
    while (true)
    {
      label803: this.o = i7;
      return;
      localGL10.glTexParameterx(3553, 33169, 1);
      GLUtils.texImage2D(3553, 0, paramBitmap, 0);
      break label982;
      if (this.p)
      {
        a(new k(paramBitmap), false);
      }
      else
      {
        localGL10.glTexParameterf(3553, 33169, 0.0F);
        GLUtils.texImage2D(3553, 0, paramBitmap, 0);
        break label982;
        label890: localGL10.glFinish();
        localGL10.glTexParameterf(3553, 33169, 0.0F);
        localGL10.glCopyTexImage2D(3553, 0, 6407, 0, 0, i2, i3, 0);
      }
      label962: label968: label975: label982: 
      while (paramBitmap != null)
      {
        int i5 = paramBitmap.getRowBytes();
        int i6 = paramBitmap.getHeight();
        i7 = i5 * i6;
        break label803;
        i1 = 0;
        break;
        i14 = paramInt2;
        break label167;
        i12 = 33071;
        break label227;
        i13 = 33071;
        break label239;
      }
      int i7 = 3 * (i2 * i3);
    }
  }

  private static boolean c(Bitmap paramBitmap)
  {
    int i1 = paramBitmap.getWidth();
    int i2 = paramBitmap.getHeight();
    return ((i1 & i1 - 1) == 0) && ((i2 & i2 - 1) == 0);
  }

  private static Bitmap e(Resources paramResources, int paramInt)
  {
    DisplayMetrics localDisplayMetrics = paramResources.getDisplayMetrics();
    BitmapFactory.Options localOptions = new BitmapFactory.Options();
    localOptions.inDensity = localDisplayMetrics.densityDpi;
    localOptions.inTargetDensity = localDisplayMetrics.densityDpi;
    return BitmapFactory.decodeResource(paramResources, paramInt, localOptions);
  }

  private e k()
  {
    e locale = e.b(this.m);
    if (locale == null)
      throw new IllegalStateException("Texture is out of date.");
    return locale;
  }

  public final GL10 a()
  {
    return k().a;
  }

  public final void a(Resources paramResources, int paramInt)
  {
    Bitmap localBitmap = e(paramResources, paramInt);
    a(localBitmap, localBitmap.getWidth(), localBitmap.getHeight());
    if ((!this.d) && (!this.p))
      localBitmap.recycle();
  }

  public final void a(Bitmap paramBitmap)
  {
    int i1 = paramBitmap.getWidth();
    int i2 = paramBitmap.getHeight();
    Bitmap localBitmap;
    if (!c(paramBitmap))
      localBitmap = a(paramBitmap, Bitmap.Config.ARGB_8888, k().l());
    for (int i3 = 1; ; i3 = 0)
    {
      a(localBitmap, i1, i2, false, false, true);
      if ((i3 != 0) && (!this.d) && (!this.p))
        localBitmap.recycle();
      return;
      localBitmap = paramBitmap;
    }
  }

  public final void a(Bitmap paramBitmap, int paramInt1, int paramInt2)
  {
    Bitmap localBitmap;
    if (!c(paramBitmap))
      localBitmap = a(paramBitmap, Bitmap.Config.ARGB_8888, k().l());
    for (int i1 = 1; ; i1 = 0)
    {
      a(localBitmap, paramInt1, paramInt2, false, false, false);
      if ((i1 != 0) && (!this.d) && (!this.p))
        localBitmap.recycle();
      return;
      localBitmap = paramBitmap;
    }
  }

  public final void a(GL10 paramGL10)
  {
    if (paramGL10 != k().a)
      throw new IllegalStateException("Attempted to bind texture into an OpenGL context other than the one it was created from.");
    if (this.f[0] != 0)
      paramGL10.glBindTexture(3553, this.f[0]);
  }

  public final void a(boolean paramBoolean)
  {
    this.g = paramBoolean;
  }

  public final float b()
  {
    return this.k;
  }

  public final void b(Resources paramResources, int paramInt)
  {
    Bitmap localBitmap = e(paramResources, paramInt);
    a(localBitmap, localBitmap.getWidth(), localBitmap.getHeight(), false, true, false);
    if ((!this.d) && (!this.p))
      localBitmap.recycle();
  }

  public final void b(Bitmap paramBitmap)
  {
    a(paramBitmap, paramBitmap.getWidth(), paramBitmap.getHeight());
  }

  public final void b(boolean paramBoolean)
  {
    this.h = paramBoolean;
  }

  public final float c()
  {
    return this.l;
  }

  public final void c(Resources paramResources, int paramInt)
  {
    Bitmap localBitmap1 = e(paramResources, paramInt);
    int i1 = localBitmap1.getWidth();
    int i2 = localBitmap1.getHeight();
    int i3;
    Bitmap localBitmap2;
    if (!c(localBitmap1))
    {
      Bitmap localBitmap3 = a(localBitmap1, Bitmap.Config.ALPHA_8, k().l());
      i3 = 1;
      localBitmap2 = localBitmap3;
    }
    while (true)
    {
      a(localBitmap2.extractAlpha(), i1, i2, true, false, false);
      if ((i3 != 0) && (!this.d) && (!this.p))
        localBitmap2.recycle();
      if ((!this.d) && (!this.p))
        localBitmap1.recycle();
      return;
      localBitmap2 = localBitmap1;
      i3 = 0;
    }
  }

  public final void c(boolean paramBoolean)
  {
    this.i = paramBoolean;
  }

  public final int d()
  {
    return this.e;
  }

  public final void d(Resources paramResources, int paramInt)
  {
    Bitmap localBitmap = e(paramResources, paramInt);
    a(localBitmap, localBitmap.getWidth(), localBitmap.getHeight(), true, true, false);
    if ((!this.d) && (!this.p))
      localBitmap.recycle();
  }

  public final void d(boolean paramBoolean)
  {
    this.j = paramBoolean;
  }

  public final void e()
  {
    try
    {
      this.n = (1 + this.n);
      return;
    }
    finally
    {
      localObject = finally;
      throw localObject;
    }
  }

  public final void f()
  {
    try
    {
      if (this.n <= 0)
        d.b("Texture", "releaseRef called on Texture with " + this.n + " references!");
      while (true)
      {
        return;
        e locale = e.b(this.m);
        int i1 = -1 + this.n;
        this.n = i1;
        if ((i1 == 0) && (this.f[0] != 0))
        {
          if (locale != null)
            locale.c(this.f[0]);
          this.o = 0;
        }
      }
    }
    finally
    {
    }
  }

  public final int g()
  {
    return this.n;
  }

  public final int h()
  {
    return this.o;
  }

  public static final class a<K> extends f<K, l>
  {
    public a(int paramInt)
    {
      super();
    }
  }
}

/* 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.bo.l
 * JD-Core Version:    0.6.2
 */