KeyEventCompat$BaseKeyEventVersionImpl.smali 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. .class Landroid/support/v4/view/KeyEventCompat$BaseKeyEventVersionImpl;
  2. .super Ljava/lang/Object;
  3. .source "KeyEventCompat.java"
  4. # interfaces
  5. .implements Landroid/support/v4/view/KeyEventCompat$KeyEventVersionImpl;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingClass;
  8. value = Landroid/support/v4/view/KeyEventCompat;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0x8
  12. name = "BaseKeyEventVersionImpl"
  13. .end annotation
  14. # static fields
  15. .field private static final META_ALL_MASK:I = 0xf7
  16. .field private static final META_MODIFIER_MASK:I = 0xf7
  17. # direct methods
  18. .method constructor <init>()V
  19. .locals 0
  20. .prologue
  21. .line 44
  22. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  23. return-void
  24. .end method
  25. .method private static metaStateFilterDirectionalModifiers(IIIII)I
  26. .locals 5
  27. .param p0, "metaState" # I
  28. .param p1, "modifiers" # I
  29. .param p2, "basic" # I
  30. .param p3, "left" # I
  31. .param p4, "right" # I
  32. .prologue
  33. const/4 v2, 0x1
  34. const/4 v3, 0x0
  35. .line 55
  36. and-int v4, p1, p2
  37. if-eqz v4, :cond_0
  38. move v1, v2
  39. .line 56
  40. .local v1, "wantBasic":Z
  41. :goto_0
  42. or-int v0, p3, p4
  43. .line 57
  44. .local v0, "directional":I
  45. and-int v4, p1, v0
  46. if-eqz v4, :cond_1
  47. .line 59
  48. .local v2, "wantLeftOrRight":Z
  49. :goto_1
  50. if-eqz v1, :cond_4
  51. .line 60
  52. if-eqz v2, :cond_2
  53. .line 61
  54. new-instance v3, Ljava/lang/IllegalArgumentException;
  55. const-string v4, "bad arguments"
  56. invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  57. throw v3
  58. .end local v0 # "directional":I
  59. .end local v1 # "wantBasic":Z
  60. .end local v2 # "wantLeftOrRight":Z
  61. :cond_0
  62. move v1, v3
  63. .line 55
  64. goto :goto_0
  65. .restart local v0 # "directional":I
  66. .restart local v1 # "wantBasic":Z
  67. :cond_1
  68. move v2, v3
  69. .line 57
  70. goto :goto_1
  71. .line 63
  72. .restart local v2 # "wantLeftOrRight":Z
  73. :cond_2
  74. xor-int/lit8 v3, v0, -0x1
  75. and-int/2addr p0, v3
  76. .line 67
  77. .end local p0 # "metaState":I
  78. :cond_3
  79. :goto_2
  80. return p0
  81. .line 64
  82. .restart local p0 # "metaState":I
  83. :cond_4
  84. if-eqz v2, :cond_3
  85. .line 65
  86. xor-int/lit8 v3, p2, -0x1
  87. and-int/2addr p0, v3
  88. goto :goto_2
  89. .end method
  90. # virtual methods
  91. .method public dispatch(Landroid/view/KeyEvent;Landroid/view/KeyEvent$Callback;Ljava/lang/Object;Ljava/lang/Object;)Z
  92. .locals 1
  93. .param p1, "event" # Landroid/view/KeyEvent;
  94. .param p2, "receiver" # Landroid/view/KeyEvent$Callback;
  95. .param p3, "state" # Ljava/lang/Object;
  96. .param p4, "target" # Ljava/lang/Object;
  97. .prologue
  98. .line 114
  99. invoke-virtual {p1, p2}, Landroid/view/KeyEvent;->dispatch(Landroid/view/KeyEvent$Callback;)Z
  100. move-result v0
  101. return v0
  102. .end method
  103. .method public getKeyDispatcherState(Landroid/view/View;)Ljava/lang/Object;
  104. .locals 1
  105. .param p1, "view" # Landroid/view/View;
  106. .prologue
  107. .line 108
  108. const/4 v0, 0x0
  109. return-object v0
  110. .end method
  111. .method public isTracking(Landroid/view/KeyEvent;)Z
  112. .locals 1
  113. .param p1, "event" # Landroid/view/KeyEvent;
  114. .prologue
  115. .line 103
  116. const/4 v0, 0x0
  117. return v0
  118. .end method
  119. .method public metaStateHasModifiers(II)Z
  120. .locals 4
  121. .param p1, "metaState" # I
  122. .param p2, "modifiers" # I
  123. .prologue
  124. const/4 v0, 0x1
  125. .line 84
  126. invoke-virtual {p0, p1}, Landroid/support/v4/view/KeyEventCompat$BaseKeyEventVersionImpl;->normalizeMetaState(I)I
  127. move-result v1
  128. and-int/lit16 p1, v1, 0xf7
  129. .line 85
  130. const/16 v1, 0x40
  131. const/16 v2, 0x80
  132. invoke-static {p1, p2, v0, v1, v2}, Landroid/support/v4/view/KeyEventCompat$BaseKeyEventVersionImpl;->metaStateFilterDirectionalModifiers(IIIII)I
  133. move-result p1
  134. .line 87
  135. const/4 v1, 0x2
  136. const/16 v2, 0x10
  137. const/16 v3, 0x20
  138. invoke-static {p1, p2, v1, v2, v3}, Landroid/support/v4/view/KeyEventCompat$BaseKeyEventVersionImpl;->metaStateFilterDirectionalModifiers(IIIII)I
  139. move-result p1
  140. .line 89
  141. if-ne p1, p2, :cond_0
  142. :goto_0
  143. return v0
  144. :cond_0
  145. const/4 v0, 0x0
  146. goto :goto_0
  147. .end method
  148. .method public metaStateHasNoModifiers(I)Z
  149. .locals 1
  150. .param p1, "metaState" # I
  151. .prologue
  152. .line 94
  153. invoke-virtual {p0, p1}, Landroid/support/v4/view/KeyEventCompat$BaseKeyEventVersionImpl;->normalizeMetaState(I)I
  154. move-result v0
  155. and-int/lit16 v0, v0, 0xf7
  156. if-nez v0, :cond_0
  157. const/4 v0, 0x1
  158. :goto_0
  159. return v0
  160. :cond_0
  161. const/4 v0, 0x0
  162. goto :goto_0
  163. .end method
  164. .method public normalizeMetaState(I)I
  165. .locals 1
  166. .param p1, "metaState" # I
  167. .prologue
  168. .line 73
  169. and-int/lit16 v0, p1, 0xc0
  170. if-eqz v0, :cond_0
  171. .line 74
  172. or-int/lit8 p1, p1, 0x1
  173. .line 76
  174. :cond_0
  175. and-int/lit8 v0, p1, 0x30
  176. if-eqz v0, :cond_1
  177. .line 77
  178. or-int/lit8 p1, p1, 0x2
  179. .line 79
  180. :cond_1
  181. and-int/lit16 v0, p1, 0xf7
  182. return v0
  183. .end method
  184. .method public startTracking(Landroid/view/KeyEvent;)V
  185. .locals 0
  186. .param p1, "event" # Landroid/view/KeyEvent;
  187. .prologue
  188. .line 99
  189. return-void
  190. .end method