package com.ikea.shared.util;

import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;
import java.util.EnumMap;
import java.util.Map;

public final class ZxingBarcodeManager
{
  private static final int BLACK = -16777216;
  private static final int WHITE = -1;

  public static Bitmap createBarcode(String paramString, BarcodeFormat paramBarcodeFormat, int paramInt1, int paramInt2, boolean paramBoolean)
  {
    if (paramString == null)
      return null;
    label512: label536: label542: label549: 
    while (true)
    {
      int i;
      int j;
      int k;
      int m;
      int n;
      int i1;
      int i4;
      int i5;
      int i7;
      int i6;
      int i8;
      int i10;
      try
      {
        String str1 = paramString.replace(" ", "").replace("-", "");
        String str2 = getEncoding(str1);
        EnumMap localEnumMap = null;
        if (str2 != null)
        {
          localEnumMap = new EnumMap(EncodeHintType.class);
          localEnumMap.put(EncodeHintType.CHARACTER_SET, str2);
        }
        MultiFormatWriter localMultiFormatWriter = new MultiFormatWriter();
        BitMatrix localBitMatrix;
        try
        {
          localBitMatrix = localMultiFormatWriter.encode(str1, paramBarcodeFormat, paramInt1, paramInt2, localEnumMap);
          i = -1 + localBitMatrix.getWidth();
          j = localBitMatrix.getWidth();
          k = -1 + localBitMatrix.getHeight();
          m = localBitMatrix.getHeight();
          n = 0;
          i1 = 0;
          if (!paramBoolean)
            break label436;
          n = getHorizontalTrimIndex(localBitMatrix, true);
          i = getHorizontalTrimIndex(localBitMatrix, false);
          j = 1 + (i - n);
          i1 = getVerticalTrimIndex(localBitMatrix, true);
          k = getVerticalTrimIndex(localBitMatrix, false);
          m = 1 + (k - i1);
        }
        catch (IllegalArgumentException localIllegalArgumentException)
        {
          L.D("Barcode (" + paramBarcodeFormat.toString() + ") could not be generated from " + str1 + ": " + localIllegalArgumentException.getMessage());
          return null;
        }
        catch (Exception localException2)
        {
          L.D("Barcode (" + paramBarcodeFormat.toString() + ") could not be generated from " + str1 + ": " + localException2.getMessage());
          return null;
        }
        int[] arrayOfInt = new int[j * m];
        i4 = i1;
        i5 = 0;
        break label512;
        if (i7 > i)
          break label542;
        int i9 = i6 + i8;
        if (!localBitMatrix.get(i7, i4))
          break label536;
        i10 = -16777216;
        label334: arrayOfInt[i9] = i10;
        i8++;
        i7++;
        continue;
        Bitmap.Config localConfig = Bitmap.Config.ARGB_8888;
        Bitmap localBitmap = Bitmap.createBitmap(j, m, localConfig);
        localBitmap.setPixels(arrayOfInt, 0, j, 0, 0, j, m);
        return localBitmap;
      }
      catch (Exception localException1)
      {
        L.E("Barcode (" + paramBarcodeFormat.toString() + ") could not be generated from " + paramString + ": " + localException1.getMessage());
        return null;
      }
      label436: if ((j >= 0) && (n >= 0))
      {
        int i2 = j - 1;
        if ((n <= i2) && (i >= 0) && (i - n >= 0));
      }
      else
      {
        return null;
      }
      if ((m >= 0) && (i1 >= 0))
      {
        int i3 = m - 1;
        if ((i1 <= i3) && (k >= 0) && (k - i1 >= 0));
      }
      else
      {
        return null;
        while (true)
        {
          if (i4 > k)
            break label549;
          i6 = i5 * j;
          i7 = n;
          i8 = 0;
          break;
          i10 = -1;
          break label334;
          i5++;
          i4++;
        }
      }
    }
  }

  private static int getCheckDigit(String paramString)
  {
    if (paramString == null);
    String str1;
    do
    {
      return -1;
      str1 = paramString.replace(" ", "").replace("-", "");
    }
    while (isNonNumeric(str1));
    int i = 0;
    int j = 1;
    int k = -1 + str1.length();
    if (k >= 0)
    {
      int m = Integer.parseInt(str1.substring(k, k + 1));
      if (j != 0)
      {
        m *= 2;
        if (m > 9)
          m -= 9;
      }
      i += m;
      if (j == 0);
      for (j = 1; ; j = 0)
      {
        k--;
        break;
      }
    }
    String str2 = String.valueOf(i * 9);
    return Integer.parseInt(str2.substring(-1 + str2.length(), str2.length()));
  }

  private static String getEncoding(CharSequence paramCharSequence)
  {
    for (int i = 0; i < paramCharSequence.length(); i++)
      if (paramCharSequence.charAt(i) > 'ÿ')
        return "UTF-8";
    return null;
  }

  private static int getHorizontalTrimIndex(BitMatrix paramBitMatrix, boolean paramBoolean)
  {
    if (paramBitMatrix == null)
    {
      k = -1;
      return k;
    }
    int i = paramBitMatrix.getWidth();
    int j = paramBitMatrix.getHeight();
    if (paramBoolean)
    {
      label59: for (k = 0; ; k++)
      {
        if (k >= i)
          break label65;
        for (int n = 0; ; n++)
        {
          if (n >= j)
            break label59;
          if (paramBitMatrix.get(k, n))
            break;
        }
      }
      label65: return -1;
    }
    label104: for (int k = i - 1; ; k--)
    {
      if (k <= -1)
        break label110;
      for (int m = 0; ; m++)
      {
        if (m >= j)
          break label104;
        if (paramBitMatrix.get(k, m))
          break;
      }
    }
    label110: return -1;
  }

  private static int getVerticalTrimIndex(BitMatrix paramBitMatrix, boolean paramBoolean)
  {
    if (paramBitMatrix == null)
    {
      k = -1;
      return k;
    }
    int i = paramBitMatrix.getWidth();
    int j = paramBitMatrix.getHeight();
    if (paramBoolean)
    {
      label59: for (k = 0; ; k++)
      {
        if (k >= j)
          break label65;
        for (int n = 0; ; n++)
        {
          if (n >= i)
            break label59;
          if (paramBitMatrix.get(n, k))
            break;
        }
      }
      label65: return -1;
    }
    label104: for (int k = j - 1; ; k--)
    {
      if (k <= -1)
        break label110;
      for (int m = 0; ; m++)
      {
        if (m >= i)
          break label104;
        if (paramBitMatrix.get(m, k))
          break;
      }
    }
    label110: return -1;
  }

  public static boolean isFamilyCardNumber(String paramString)
  {
    if (paramString == null);
    String str;
    do
    {
      return false;
      str = paramString.replace(" ", "").replace("-", "");
    }
    while ((isNonNumeric(str)) || (str.trim().length() != 19) || (!str.startsWith("627598")) || (str.charAt(6) != '0') || (!String.valueOf(getCheckDigit(str.substring(8, 17))).trim().equalsIgnoreCase(str.substring(17, 18))) || (!String.valueOf(getCheckDigit(str.substring(0, 18))).trim().equalsIgnoreCase(str.substring(18, 19))));
    return true;
  }

  private static boolean isNonNumeric(String paramString)
  {
    try
    {
      Double.parseDouble(paramString);
      return false;
    }
    catch (NumberFormatException localNumberFormatException)
    {
    }
    return true;
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.ikea.shared.util.ZxingBarcodeManager
 * JD-Core Version:    0.6.2
 */