NavUtils$NavUtilsImplBase.smali 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. .class Landroid/support/v4/app/NavUtils$NavUtilsImplBase;
  2. .super Ljava/lang/Object;
  3. .source "NavUtils.java"
  4. # interfaces
  5. .implements Landroid/support/v4/app/NavUtils$NavUtilsImpl;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingClass;
  8. value = Landroid/support/v4/app/NavUtils;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0x8
  12. name = "NavUtilsImplBase"
  13. .end annotation
  14. # direct methods
  15. .method constructor <init>()V
  16. .locals 0
  17. .prologue
  18. .line 49
  19. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  20. return-void
  21. .end method
  22. # virtual methods
  23. .method public getParentActivityIntent(Landroid/app/Activity;)Landroid/content/Intent;
  24. .locals 8
  25. .param p1, "activity" # Landroid/app/Activity;
  26. .prologue
  27. const/4 v2, 0x0
  28. .line 53
  29. invoke-static {p1}, Landroid/support/v4/app/NavUtils;->getParentActivityName(Landroid/app/Activity;)Ljava/lang/String;
  30. move-result-object v3
  31. .line 54
  32. .local v3, "parentName":Ljava/lang/String;
  33. if-nez v3, :cond_0
  34. .line 67
  35. :goto_0
  36. return-object v2
  37. .line 57
  38. :cond_0
  39. new-instance v4, Landroid/content/ComponentName;
  40. invoke-direct {v4, p1, v3}, Landroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/String;)V
  41. .line 59
  42. .local v4, "target":Landroid/content/ComponentName;
  43. :try_start_0
  44. invoke-static {p1, v4}, Landroid/support/v4/app/NavUtils;->getParentActivityName(Landroid/content/Context;Landroid/content/ComponentName;)Ljava/lang/String;
  45. move-result-object v1
  46. .line 60
  47. .local v1, "grandparent":Ljava/lang/String;
  48. if-nez v1, :cond_1
  49. invoke-static {v4}, Landroid/support/v4/content/IntentCompat;->makeMainActivity(Landroid/content/ComponentName;)Landroid/content/Intent;
  50. move-result-object v2
  51. .line 63
  52. .local v2, "parentIntent":Landroid/content/Intent;
  53. :goto_1
  54. goto :goto_0
  55. .line 60
  56. .end local v2 # "parentIntent":Landroid/content/Intent;
  57. :cond_1
  58. new-instance v5, Landroid/content/Intent;
  59. invoke-direct {v5}, Landroid/content/Intent;-><init>()V
  60. invoke-virtual {v5, v4}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
  61. :try_end_0
  62. .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
  63. move-result-object v2
  64. goto :goto_1
  65. .line 64
  66. .end local v1 # "grandparent":Ljava/lang/String;
  67. :catch_0
  68. move-exception v0
  69. .line 65
  70. .local v0, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
  71. const-string v5, "NavUtils"
  72. new-instance v6, Ljava/lang/StringBuilder;
  73. invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
  74. const-string v7, "getParentActivityIntent: bad parentActivityName \'"
  75. invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  76. move-result-object v6
  77. invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  78. move-result-object v6
  79. const-string v7, "\' in manifest"
  80. invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  81. move-result-object v6
  82. invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  83. move-result-object v6
  84. invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  85. goto :goto_0
  86. .end method
  87. .method public getParentActivityName(Landroid/content/Context;Landroid/content/pm/ActivityInfo;)Ljava/lang/String;
  88. .locals 4
  89. .param p1, "context" # Landroid/content/Context;
  90. .param p2, "info" # Landroid/content/pm/ActivityInfo;
  91. .prologue
  92. const/4 v1, 0x0
  93. .line 86
  94. iget-object v2, p2, Landroid/content/pm/ActivityInfo;->metaData:Landroid/os/Bundle;
  95. if-nez v2, :cond_1
  96. move-object v0, v1
  97. .line 92
  98. :cond_0
  99. :goto_0
  100. return-object v0
  101. .line 87
  102. :cond_1
  103. iget-object v2, p2, Landroid/content/pm/ActivityInfo;->metaData:Landroid/os/Bundle;
  104. const-string v3, "android.support.PARENT_ACTIVITY"
  105. invoke-virtual {v2, v3}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
  106. move-result-object v0
  107. .line 88
  108. .local v0, "parentActivity":Ljava/lang/String;
  109. if-nez v0, :cond_2
  110. move-object v0, v1
  111. goto :goto_0
  112. .line 89
  113. :cond_2
  114. const/4 v1, 0x0
  115. invoke-virtual {v0, v1}, Ljava/lang/String;->charAt(I)C
  116. move-result v1
  117. const/16 v2, 0x2e
  118. if-ne v1, v2, :cond_0
  119. .line 90
  120. new-instance v1, Ljava/lang/StringBuilder;
  121. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  122. invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
  123. move-result-object v2
  124. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  125. move-result-object v1
  126. invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  127. move-result-object v1
  128. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  129. move-result-object v0
  130. goto :goto_0
  131. .end method
  132. .method public navigateUpTo(Landroid/app/Activity;Landroid/content/Intent;)V
  133. .locals 1
  134. .param p1, "activity" # Landroid/app/Activity;
  135. .param p2, "upIntent" # Landroid/content/Intent;
  136. .prologue
  137. .line 79
  138. const/high16 v0, 0x4000000
  139. invoke-virtual {p2, v0}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
  140. .line 80
  141. invoke-virtual {p1, p2}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V
  142. .line 81
  143. invoke-virtual {p1}, Landroid/app/Activity;->finish()V
  144. .line 82
  145. return-void
  146. .end method
  147. .method public shouldUpRecreateTask(Landroid/app/Activity;Landroid/content/Intent;)Z
  148. .locals 2
  149. .param p1, "activity" # Landroid/app/Activity;
  150. .param p2, "targetIntent" # Landroid/content/Intent;
  151. .prologue
  152. .line 73
  153. invoke-virtual {p1}, Landroid/app/Activity;->getIntent()Landroid/content/Intent;
  154. move-result-object v1
  155. invoke-virtual {v1}, Landroid/content/Intent;->getAction()Ljava/lang/String;
  156. move-result-object v0
  157. .line 74
  158. .local v0, "action":Ljava/lang/String;
  159. if-eqz v0, :cond_0
  160. const-string v1, "android.intent.action.MAIN"
  161. invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  162. move-result v1
  163. if-nez v1, :cond_0
  164. const/4 v1, 0x1
  165. :goto_0
  166. return v1
  167. :cond_0
  168. const/4 v1, 0x0
  169. goto :goto_0
  170. .end method