ConnectionPool$1.smali 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. .class Lokhttp3/ConnectionPool$1;
  2. .super Ljava/lang/Object;
  3. .source ""
  4. # interfaces
  5. .implements Ljava/lang/Runnable;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingClass;
  8. value = Lokhttp3/ConnectionPool;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0x0
  12. name = null
  13. .end annotation
  14. # instance fields
  15. .field final synthetic this$0:Lokhttp3/ConnectionPool;
  16. # direct methods
  17. .method constructor <init>(Lokhttp3/ConnectionPool;)V
  18. .locals 0
  19. iput-object p1, p0, Lokhttp3/ConnectionPool$1;->this$0:Lokhttp3/ConnectionPool;
  20. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  21. return-void
  22. .end method
  23. # virtual methods
  24. .method public run()V
  25. .locals 6
  26. :cond_0
  27. :goto_0
  28. iget-object v0, p0, Lokhttp3/ConnectionPool$1;->this$0:Lokhttp3/ConnectionPool;
  29. invoke-static {}, Ljava/lang/System;->nanoTime()J
  30. move-result-wide v1
  31. invoke-virtual {v0, v1, v2}, Lokhttp3/ConnectionPool;->cleanup(J)J
  32. move-result-wide v0
  33. const-wide/16 v2, -0x1
  34. cmp-long v4, v0, v2
  35. if-nez v4, :cond_1
  36. return-void
  37. :cond_1
  38. const-wide/16 v2, 0x0
  39. cmp-long v4, v0, v2
  40. if-lez v4, :cond_0
  41. const-wide/32 v2, 0xf4240
  42. div-long v4, v0, v2
  43. mul-long v2, v2, v4
  44. sub-long/2addr v0, v2
  45. iget-object v2, p0, Lokhttp3/ConnectionPool$1;->this$0:Lokhttp3/ConnectionPool;
  46. monitor-enter v2
  47. :try_start_0
  48. iget-object v3, p0, Lokhttp3/ConnectionPool$1;->this$0:Lokhttp3/ConnectionPool;
  49. long-to-int v1, v0
  50. invoke-virtual {v3, v4, v5, v1}, Ljava/lang/Object;->wait(JI)V
  51. :try_end_0
  52. .catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_0
  53. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  54. goto :goto_1
  55. :catchall_0
  56. move-exception v0
  57. goto :goto_2
  58. :catch_0
  59. :goto_1
  60. :try_start_1
  61. monitor-exit v2
  62. goto :goto_0
  63. :goto_2
  64. monitor-exit v2
  65. :try_end_1
  66. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  67. goto :goto_4
  68. :goto_3
  69. throw v0
  70. :goto_4
  71. goto :goto_3
  72. .end method