ICUCompatApi23.smali 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. .class Landroid/support/v4/text/ICUCompatApi23;
  2. .super Ljava/lang/Object;
  3. .source "ICUCompatApi23.java"
  4. # static fields
  5. .field private static final TAG:Ljava/lang/String; = "ICUCompatIcs"
  6. .field private static sAddLikelySubtagsMethod:Ljava/lang/reflect/Method;
  7. # direct methods
  8. .method static constructor <clinit>()V
  9. .locals 6
  10. .prologue
  11. .line 34
  12. :try_start_0
  13. const-string v2, "libcore.icu.ICU"
  14. invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
  15. move-result-object v0
  16. .line 35
  17. .local v0, "clazz":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
  18. const-string v2, "addLikelySubtags"
  19. const/4 v3, 0x1
  20. new-array v3, v3, [Ljava/lang/Class;
  21. const/4 v4, 0x0
  22. const-class v5, Ljava/util/Locale;
  23. aput-object v5, v3, v4
  24. invoke-virtual {v0, v2, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
  25. move-result-object v2
  26. sput-object v2, Landroid/support/v4/text/ICUCompatApi23;->sAddLikelySubtagsMethod:Ljava/lang/reflect/Method;
  27. :try_end_0
  28. .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
  29. .line 40
  30. return-void
  31. .line 37
  32. :catch_0
  33. move-exception v1
  34. .line 38
  35. .local v1, "e":Ljava/lang/Exception;
  36. new-instance v2, Ljava/lang/IllegalStateException;
  37. invoke-direct {v2, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/Throwable;)V
  38. throw v2
  39. .end method
  40. .method constructor <init>()V
  41. .locals 0
  42. .prologue
  43. .line 25
  44. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  45. return-void
  46. .end method
  47. .method public static maximizeAndGetScript(Ljava/util/Locale;)Ljava/lang/String;
  48. .locals 4
  49. .param p0, "locale" # Ljava/util/Locale;
  50. .prologue
  51. .line 45
  52. const/4 v2, 0x1
  53. :try_start_0
  54. new-array v0, v2, [Ljava/lang/Object;
  55. const/4 v2, 0x0
  56. aput-object p0, v0, v2
  57. .line 46
  58. .local v0, "args":[Ljava/lang/Object;
  59. sget-object v2, Landroid/support/v4/text/ICUCompatApi23;->sAddLikelySubtagsMethod:Ljava/lang/reflect/Method;
  60. const/4 v3, 0x0
  61. invoke-virtual {v2, v3, v0}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
  62. move-result-object v2
  63. check-cast v2, Ljava/util/Locale;
  64. invoke-virtual {v2}, Ljava/util/Locale;->getScript()Ljava/lang/String;
  65. :try_end_0
  66. .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_0
  67. .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_1
  68. move-result-object v2
  69. .line 53
  70. .end local v0 # "args":[Ljava/lang/Object;
  71. :goto_0
  72. return-object v2
  73. .line 47
  74. :catch_0
  75. move-exception v1
  76. .line 48
  77. .local v1, "e":Ljava/lang/reflect/InvocationTargetException;
  78. const-string v2, "ICUCompatIcs"
  79. invoke-static {v2, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/Throwable;)I
  80. .line 53
  81. .end local v1 # "e":Ljava/lang/reflect/InvocationTargetException;
  82. :goto_1
  83. invoke-virtual {p0}, Ljava/util/Locale;->getScript()Ljava/lang/String;
  84. move-result-object v2
  85. goto :goto_0
  86. .line 49
  87. :catch_1
  88. move-exception v1
  89. .line 50
  90. .local v1, "e":Ljava/lang/IllegalAccessException;
  91. const-string v2, "ICUCompatIcs"
  92. invoke-static {v2, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/Throwable;)I
  93. goto :goto_1
  94. .end method