TextDirectionHeuristicsCompat.java 4.38 KB
package android.support.v4.text;

import java.nio.CharBuffer;
import java.util.Locale;

public final class TextDirectionHeuristicsCompat
{
  public static final TextDirectionHeuristicCompat ANYRTL_LTR = new e(a.a, false);
  public static final TextDirectionHeuristicCompat FIRSTSTRONG_LTR;
  public static final TextDirectionHeuristicCompat FIRSTSTRONG_RTL;
  public static final TextDirectionHeuristicCompat LOCALE = f.a;
  public static final TextDirectionHeuristicCompat LTR = new e(null, false);
  public static final TextDirectionHeuristicCompat RTL = new e(null, true);
  
  static
  {
    FIRSTSTRONG_LTR = new e(b.a, false);
    FIRSTSTRONG_RTL = new e(b.a, true);
  }
  
  static int a(int paramInt)
  {
    switch (paramInt)
    {
    default: 
      return 2;
    case 0: 
      return 1;
    }
    return 0;
  }
  
  static int b(int paramInt)
  {
    switch (paramInt)
    {
    default: 
      return 2;
    case 0: 
    case 14: 
    case 15: 
      return 1;
    }
    return 0;
  }
  
  static final class a
    implements TextDirectionHeuristicsCompat.c
  {
    public static final a a = new a(true);
    public static final a b = new a(false);
    private final boolean c;
    
    private a(boolean paramBoolean)
    {
      this.c = paramBoolean;
    }
    
    public final int a(CharSequence paramCharSequence, int paramInt1, int paramInt2)
    {
      int k = 1;
      int j = 0;
      int m;
      for (int i = paramInt1;; i = m)
      {
        m = i;
        if (m >= paramInt1 + paramInt2) {
          break;
        }
        switch (TextDirectionHeuristicsCompat.a(Character.getDirectionality(paramCharSequence.charAt(m))))
        {
        default: 
          i = j;
          m += 1;
          j = i;
        }
      }
      if (this.c) {
        i = 0;
      }
      do
      {
        do
        {
          return i;
          i = 1;
          break;
          i = k;
        } while (!this.c);
        i = 1;
        break;
        if (j == 0) {
          break label131;
        }
        i = k;
      } while (this.c);
      return 0;
      label131:
      return 2;
    }
  }
  
  static final class b
    implements TextDirectionHeuristicsCompat.c
  {
    public static final b a = new b();
    
    public final int a(CharSequence paramCharSequence, int paramInt1, int paramInt2)
    {
      int j = 2;
      int i = paramInt1;
      while ((i < paramInt1 + paramInt2) && (j == 2))
      {
        j = TextDirectionHeuristicsCompat.b(Character.getDirectionality(paramCharSequence.charAt(i)));
        i += 1;
      }
      return j;
    }
  }
  
  static abstract interface c
  {
    public abstract int a(CharSequence paramCharSequence, int paramInt1, int paramInt2);
  }
  
  static abstract class d
    implements TextDirectionHeuristicCompat
  {
    private final TextDirectionHeuristicsCompat.c a;
    
    public d(TextDirectionHeuristicsCompat.c paramc)
    {
      this.a = paramc;
    }
    
    protected abstract boolean a();
    
    public boolean isRtl(CharSequence paramCharSequence, int paramInt1, int paramInt2)
    {
      if ((paramCharSequence == null) || (paramInt1 < 0) || (paramInt2 < 0) || (paramCharSequence.length() - paramInt2 < paramInt1)) {
        throw new IllegalArgumentException();
      }
      if (this.a == null) {
        return a();
      }
      switch (this.a.a(paramCharSequence, paramInt1, paramInt2))
      {
      default: 
        return a();
      case 0: 
        return true;
      }
      return false;
    }
    
    public boolean isRtl(char[] paramArrayOfChar, int paramInt1, int paramInt2)
    {
      return isRtl(CharBuffer.wrap(paramArrayOfChar), paramInt1, paramInt2);
    }
  }
  
  static final class e
    extends TextDirectionHeuristicsCompat.d
  {
    private final boolean a;
    
    e(TextDirectionHeuristicsCompat.c paramc, boolean paramBoolean)
    {
      super();
      this.a = paramBoolean;
    }
    
    protected final boolean a()
    {
      return this.a;
    }
  }
  
  static final class f
    extends TextDirectionHeuristicsCompat.d
  {
    public static final f a = new f();
    
    public f()
    {
      super();
    }
    
    protected final boolean a()
    {
      return TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == 1;
    }
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/android/support/v4/text/TextDirectionHeuristicsCompat.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */