TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl.smali 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. .class abstract Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl;
  2. .super Ljava/lang/Object;
  3. .source "TextDirectionHeuristicsCompat.java"
  4. # interfaces
  5. .implements Landroid/support/v4/text/TextDirectionHeuristicCompat;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingClass;
  8. value = Landroid/support/v4/text/TextDirectionHeuristicsCompat;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0x40a
  12. name = "TextDirectionHeuristicImpl"
  13. .end annotation
  14. # instance fields
  15. .field private final mAlgorithm:Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionAlgorithm;
  16. # direct methods
  17. .method public constructor <init>(Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionAlgorithm;)V
  18. .locals 0
  19. .param p1, "algorithm" # Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionAlgorithm;
  20. .prologue
  21. .line 114
  22. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  23. .line 115
  24. iput-object p1, p0, Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl;->mAlgorithm:Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionAlgorithm;
  25. .line 116
  26. return-void
  27. .end method
  28. .method private doCheck(Ljava/lang/CharSequence;II)Z
  29. .locals 1
  30. .param p1, "cs" # Ljava/lang/CharSequence;
  31. .param p2, "start" # I
  32. .param p3, "count" # I
  33. .prologue
  34. .line 140
  35. iget-object v0, p0, Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl;->mAlgorithm:Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionAlgorithm;
  36. invoke-interface {v0, p1, p2, p3}, Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionAlgorithm;->checkRtl(Ljava/lang/CharSequence;II)I
  37. move-result v0
  38. packed-switch v0, :pswitch_data_0
  39. .line 146
  40. invoke-virtual {p0}, Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl;->defaultIsRtl()Z
  41. move-result v0
  42. :goto_0
  43. return v0
  44. .line 142
  45. :pswitch_0
  46. const/4 v0, 0x1
  47. goto :goto_0
  48. .line 144
  49. :pswitch_1
  50. const/4 v0, 0x0
  51. goto :goto_0
  52. .line 140
  53. :pswitch_data_0
  54. .packed-switch 0x0
  55. :pswitch_0
  56. :pswitch_1
  57. .end packed-switch
  58. .end method
  59. # virtual methods
  60. .method protected abstract defaultIsRtl()Z
  61. .end method
  62. .method public isRtl(Ljava/lang/CharSequence;II)Z
  63. .locals 1
  64. .param p1, "cs" # Ljava/lang/CharSequence;
  65. .param p2, "start" # I
  66. .param p3, "count" # I
  67. .prologue
  68. .line 130
  69. if-eqz p1, :cond_0
  70. if-ltz p2, :cond_0
  71. if-ltz p3, :cond_0
  72. invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
  73. move-result v0
  74. sub-int/2addr v0, p3
  75. if-ge v0, p2, :cond_1
  76. .line 131
  77. :cond_0
  78. new-instance v0, Ljava/lang/IllegalArgumentException;
  79. invoke-direct {v0}, Ljava/lang/IllegalArgumentException;-><init>()V
  80. throw v0
  81. .line 133
  82. :cond_1
  83. iget-object v0, p0, Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl;->mAlgorithm:Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionAlgorithm;
  84. if-nez v0, :cond_2
  85. .line 134
  86. invoke-virtual {p0}, Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl;->defaultIsRtl()Z
  87. move-result v0
  88. .line 136
  89. :goto_0
  90. return v0
  91. :cond_2
  92. invoke-direct {p0, p1, p2, p3}, Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl;->doCheck(Ljava/lang/CharSequence;II)Z
  93. move-result v0
  94. goto :goto_0
  95. .end method
  96. .method public isRtl([CII)Z
  97. .locals 1
  98. .param p1, "array" # [C
  99. .param p2, "start" # I
  100. .param p3, "count" # I
  101. .prologue
  102. .line 125
  103. invoke-static {p1}, Ljava/nio/CharBuffer;->wrap([C)Ljava/nio/CharBuffer;
  104. move-result-object v0
  105. invoke-virtual {p0, v0, p2, p3}, Landroid/support/v4/text/TextDirectionHeuristicsCompat$TextDirectionHeuristicImpl;->isRtl(Ljava/lang/CharSequence;II)Z
  106. move-result v0
  107. return v0
  108. .end method