package com.google.zxing.datamatrix.encoder;

final class EdifactEncoder
  implements Encoder
{
  private static void encodeChar(char paramChar, StringBuilder paramStringBuilder)
  {
    if ((paramChar >= ' ') && (paramChar <= '?'))
    {
      paramStringBuilder.append(paramChar);
      return;
    }
    if ((paramChar >= '@') && (paramChar <= '^'))
    {
      paramStringBuilder.append((char)(paramChar - '@'));
      return;
    }
    HighLevelEncoder.illegalCharacter(paramChar);
  }

  private static String encodeToCodewords(CharSequence paramCharSequence, int paramInt)
  {
    int i = paramCharSequence.length() - paramInt;
    if (i == 0)
      throw new IllegalStateException("StringBuilder must not be empty");
    int j = paramCharSequence.charAt(paramInt);
    int k;
    if (i >= 2)
    {
      k = paramCharSequence.charAt(paramInt + 1);
      if (i < 3)
        break label192;
    }
    label192: for (int m = paramCharSequence.charAt(paramInt + 2); ; m = 0)
    {
      int n = 0;
      if (i >= 4)
        n = paramCharSequence.charAt(paramInt + 3);
      int i1 = n + ((j << 18) + (k << 12) + (m << 6));
      char c1 = (char)(0xFF & i1 >> 16);
      char c2 = (char)(0xFF & i1 >> 8);
      char c3 = (char)(i1 & 0xFF);
      StringBuilder localStringBuilder = new StringBuilder(3);
      localStringBuilder.append(c1);
      if (i >= 2)
        localStringBuilder.append(c2);
      if (i >= 3)
        localStringBuilder.append(c3);
      return localStringBuilder.toString();
      k = 0;
      break;
    }
  }

  private static void handleEOD(EncoderContext paramEncoderContext, CharSequence paramCharSequence)
  {
    int i = 1;
    int j;
    try
    {
      j = paramCharSequence.length();
      if (j == 0)
        return;
      if (j == i)
      {
        paramEncoderContext.updateSymbolInfo();
        int n = paramEncoderContext.getSymbolInfo().getDataCapacity() - paramEncoderContext.getCodewordCount();
        int i1 = paramEncoderContext.getRemainingCharacters();
        if ((i1 == 0) && (n <= 2))
          return;
      }
      if (j > 4)
        throw new IllegalStateException("Count must not exceed 4");
    }
    finally
    {
      paramEncoderContext.signalEncoderChange(0);
    }
    int k = j - 1;
    String str = encodeToCodewords(paramCharSequence, 0);
    int m;
    if (paramEncoderContext.hasMoreCharacters())
      m = 0;
    while (true)
    {
      if (k <= 2)
      {
        paramEncoderContext.updateSymbolInfo(k + paramEncoderContext.getCodewordCount());
        if (paramEncoderContext.getSymbolInfo().getDataCapacity() - paramEncoderContext.getCodewordCount() >= 3)
        {
          i = 0;
          paramEncoderContext.updateSymbolInfo(paramEncoderContext.getCodewordCount() + str.length());
        }
      }
      if (i != 0)
      {
        paramEncoderContext.resetSymbolInfo();
        paramEncoderContext.pos -= k;
        label186: paramEncoderContext.signalEncoderChange(0);
        return;
        m = i;
      }
      while ((m == 0) || (k > 2))
      {
        i = 0;
        break;
        paramEncoderContext.writeCodewords(str);
        break label186;
      }
    }
  }

  public void encode(EncoderContext paramEncoderContext)
  {
    StringBuilder localStringBuilder = new StringBuilder();
    if (!paramEncoderContext.hasMoreCharacters());
    while (true)
    {
      localStringBuilder.append('\037');
      handleEOD(paramEncoderContext, localStringBuilder);
      return;
      encodeChar(paramEncoderContext.getCurrentChar(), localStringBuilder);
      paramEncoderContext.pos = (1 + paramEncoderContext.pos);
      if (localStringBuilder.length() < 4)
        break;
      paramEncoderContext.writeCodewords(encodeToCodewords(localStringBuilder, 0));
      localStringBuilder.delete(0, 4);
      if (HighLevelEncoder.lookAheadTest(paramEncoderContext.getMessage(), paramEncoderContext.pos, getEncodingMode()) == getEncodingMode())
        break;
      paramEncoderContext.signalEncoderChange(0);
    }
  }

  public int getEncodingMode()
  {
    return 4;
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.google.zxing.datamatrix.encoder.EdifactEncoder
 * JD-Core Version:    0.6.2
 */