MessageThreadUtil$MessageQueue.smali 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. .class Landroid/support/v7/util/MessageThreadUtil$MessageQueue;
  2. .super Ljava/lang/Object;
  3. .source ""
  4. # annotations
  5. .annotation system Ldalvik/annotation/EnclosingClass;
  6. value = Landroid/support/v7/util/MessageThreadUtil;
  7. .end annotation
  8. .annotation system Ldalvik/annotation/InnerClass;
  9. accessFlags = 0x8
  10. name = "MessageQueue"
  11. .end annotation
  12. # instance fields
  13. .field private mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  14. # direct methods
  15. .method constructor <init>()V
  16. .locals 0
  17. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  18. return-void
  19. .end method
  20. # virtual methods
  21. .method declared-synchronized next()Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  22. .locals 2
  23. monitor-enter p0
  24. :try_start_0
  25. iget-object v0, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  26. :try_end_0
  27. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  28. if-nez v0, :cond_0
  29. const/4 v0, 0x0
  30. monitor-exit p0
  31. return-object v0
  32. :cond_0
  33. :try_start_1
  34. iget-object v0, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  35. iget-object v1, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  36. invoke-static {v1}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->access$200(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  37. move-result-object v1
  38. iput-object v1, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  39. :try_end_1
  40. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  41. monitor-exit p0
  42. return-object v0
  43. :catchall_0
  44. move-exception v0
  45. monitor-exit p0
  46. throw v0
  47. .end method
  48. .method declared-synchronized removeMessages(I)V
  49. .locals 4
  50. monitor-enter p0
  51. :goto_0
  52. :try_start_0
  53. iget-object v0, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  54. if-eqz v0, :cond_0
  55. iget-object v0, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  56. iget v0, v0, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->what:I
  57. if-ne v0, p1, :cond_0
  58. iget-object v0, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  59. iget-object v1, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  60. invoke-static {v1}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->access$200(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  61. move-result-object v1
  62. iput-object v1, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  63. invoke-virtual {v0}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->recycle()V
  64. goto :goto_0
  65. :cond_0
  66. iget-object v0, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  67. if-eqz v0, :cond_2
  68. iget-object v0, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  69. invoke-static {v0}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->access$200(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  70. move-result-object v1
  71. :goto_1
  72. if-eqz v1, :cond_2
  73. invoke-static {v1}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->access$200(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  74. move-result-object v2
  75. iget v3, v1, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->what:I
  76. if-ne v3, p1, :cond_1
  77. invoke-static {v0, v2}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->access$202(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  78. invoke-virtual {v1}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->recycle()V
  79. :try_end_0
  80. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  81. goto :goto_2
  82. :cond_1
  83. move-object v0, v1
  84. :goto_2
  85. move-object v1, v2
  86. goto :goto_1
  87. :cond_2
  88. monitor-exit p0
  89. return-void
  90. :catchall_0
  91. move-exception p1
  92. monitor-exit p0
  93. goto :goto_4
  94. :goto_3
  95. throw p1
  96. :goto_4
  97. goto :goto_3
  98. .end method
  99. .method declared-synchronized sendMessage(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)V
  100. .locals 2
  101. monitor-enter p0
  102. :try_start_0
  103. iget-object v0, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  104. if-nez v0, :cond_0
  105. iput-object p1, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  106. :try_end_0
  107. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  108. monitor-exit p0
  109. return-void
  110. :cond_0
  111. :try_start_1
  112. iget-object v0, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  113. :goto_0
  114. invoke-static {v0}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->access$200(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  115. move-result-object v1
  116. if-eqz v1, :cond_1
  117. invoke-static {v0}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->access$200(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  118. move-result-object v0
  119. goto :goto_0
  120. :cond_1
  121. invoke-static {v0, p1}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->access$202(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  122. :try_end_1
  123. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  124. monitor-exit p0
  125. return-void
  126. :catchall_0
  127. move-exception p1
  128. monitor-exit p0
  129. goto :goto_2
  130. :goto_1
  131. throw p1
  132. :goto_2
  133. goto :goto_1
  134. .end method
  135. .method declared-synchronized sendMessageAtFrontOfQueue(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)V
  136. .locals 1
  137. monitor-enter p0
  138. :try_start_0
  139. iget-object v0, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  140. invoke-static {p1, v0}, Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;->access$202(Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;)Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  141. iput-object p1, p0, Landroid/support/v7/util/MessageThreadUtil$MessageQueue;->mRoot:Landroid/support/v7/util/MessageThreadUtil$SyncQueueItem;
  142. :try_end_0
  143. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  144. monitor-exit p0
  145. return-void
  146. :catchall_0
  147. move-exception p1
  148. monitor-exit p0
  149. throw p1
  150. .end method