DebugUtils.smali 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. .class public Landroid/support/v4/util/DebugUtils;
  2. .super Ljava/lang/Object;
  3. .source "DebugUtils.java"
  4. # direct methods
  5. .method public constructor <init>()V
  6. .locals 0
  7. .prologue
  8. .line 25
  9. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  10. return-void
  11. .end method
  12. .method public static buildShortClassTag(Ljava/lang/Object;Ljava/lang/StringBuilder;)V
  13. .locals 3
  14. .param p0, "cls" # Ljava/lang/Object;
  15. .param p1, "out" # Ljava/lang/StringBuilder;
  16. .prologue
  17. .line 28
  18. if-nez p0, :cond_0
  19. .line 29
  20. const-string v2, "null"
  21. invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  22. .line 43
  23. :goto_0
  24. return-void
  25. .line 31
  26. :cond_0
  27. invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
  28. move-result-object v2
  29. invoke-virtual {v2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
  30. move-result-object v1
  31. .line 32
  32. .local v1, "simpleName":Ljava/lang/String;
  33. if-eqz v1, :cond_1
  34. invoke-virtual {v1}, Ljava/lang/String;->length()I
  35. move-result v2
  36. if-gtz v2, :cond_2
  37. .line 33
  38. :cond_1
  39. invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
  40. move-result-object v2
  41. invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
  42. move-result-object v1
  43. .line 34
  44. const/16 v2, 0x2e
  45. invoke-virtual {v1, v2}, Ljava/lang/String;->lastIndexOf(I)I
  46. move-result v0
  47. .line 35
  48. .local v0, "end":I
  49. if-lez v0, :cond_2
  50. .line 36
  51. add-int/lit8 v2, v0, 0x1
  52. invoke-virtual {v1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
  53. move-result-object v1
  54. .line 39
  55. .end local v0 # "end":I
  56. :cond_2
  57. invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  58. .line 40
  59. const/16 v2, 0x7b
  60. invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
  61. .line 41
  62. invoke-static {p0}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
  63. move-result v2
  64. invoke-static {v2}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  65. move-result-object v2
  66. invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  67. goto :goto_0
  68. .end method