AsyncTimeout$Watchdog.smali 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. .class final Lokio/AsyncTimeout$Watchdog;
  2. .super Ljava/lang/Thread;
  3. .source ""
  4. # annotations
  5. .annotation system Ldalvik/annotation/EnclosingClass;
  6. value = Lokio/AsyncTimeout;
  7. .end annotation
  8. .annotation system Ldalvik/annotation/InnerClass;
  9. accessFlags = 0x1a
  10. name = "Watchdog"
  11. .end annotation
  12. # direct methods
  13. .method constructor <init>()V
  14. .locals 1
  15. const-string v0, "Okio Watchdog"
  16. invoke-direct {p0, v0}, Ljava/lang/Thread;-><init>(Ljava/lang/String;)V
  17. const/4 v0, 0x1
  18. invoke-virtual {p0, v0}, Ljava/lang/Thread;->setDaemon(Z)V
  19. return-void
  20. .end method
  21. # virtual methods
  22. .method public run()V
  23. .locals 3
  24. :catch_0
  25. :goto_0
  26. :try_start_0
  27. const-class v0, Lokio/AsyncTimeout;
  28. monitor-enter v0
  29. :try_end_0
  30. .catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0
  31. :try_start_1
  32. invoke-static {}, Lokio/AsyncTimeout;->awaitTimeout()Lokio/AsyncTimeout;
  33. move-result-object v1
  34. if-nez v1, :cond_0
  35. monitor-exit v0
  36. goto :goto_0
  37. :cond_0
  38. sget-object v2, Lokio/AsyncTimeout;->head:Lokio/AsyncTimeout;
  39. if-ne v1, v2, :cond_1
  40. const/4 v1, 0x0
  41. sput-object v1, Lokio/AsyncTimeout;->head:Lokio/AsyncTimeout;
  42. monitor-exit v0
  43. return-void
  44. :cond_1
  45. monitor-exit v0
  46. :try_end_1
  47. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  48. :try_start_2
  49. invoke-virtual {v1}, Lokio/AsyncTimeout;->timedOut()V
  50. :try_end_2
  51. .catch Ljava/lang/InterruptedException; {:try_start_2 .. :try_end_2} :catch_0
  52. goto :goto_0
  53. :catchall_0
  54. move-exception v1
  55. :try_start_3
  56. monitor-exit v0
  57. :try_end_3
  58. .catchall {:try_start_3 .. :try_end_3} :catchall_0
  59. :try_start_4
  60. goto :goto_2
  61. :try_end_4
  62. .catch Ljava/lang/InterruptedException; {:try_start_4 .. :try_end_4} :catch_0
  63. :goto_1
  64. throw v1
  65. :goto_2
  66. goto :goto_1
  67. .end method