NotificationCompatJellybean$Builder.smali 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483
  1. .class public Landroid/support/v4/app/NotificationCompatJellybean$Builder;
  2. .super Ljava/lang/Object;
  3. .source "NotificationCompatJellybean.java"
  4. # interfaces
  5. .implements Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;
  6. .implements Landroid/support/v4/app/NotificationBuilderWithActions;
  7. # annotations
  8. .annotation system Ldalvik/annotation/EnclosingClass;
  9. value = Landroid/support/v4/app/NotificationCompatJellybean;
  10. .end annotation
  11. .annotation system Ldalvik/annotation/InnerClass;
  12. accessFlags = 0x9
  13. name = "Builder"
  14. .end annotation
  15. # instance fields
  16. .field private b:Landroid/app/Notification$Builder;
  17. .field private mActionExtrasList:Ljava/util/List;
  18. .annotation system Ldalvik/annotation/Signature;
  19. value = {
  20. "Ljava/util/List",
  21. "<",
  22. "Landroid/os/Bundle;",
  23. ">;"
  24. }
  25. .end annotation
  26. .end field
  27. .field private final mExtras:Landroid/os/Bundle;
  28. # direct methods
  29. .method public constructor <init>(Landroid/content/Context;Landroid/app/Notification;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/widget/RemoteViews;ILandroid/app/PendingIntent;Landroid/app/PendingIntent;Landroid/graphics/Bitmap;IIZZILjava/lang/CharSequence;ZLandroid/os/Bundle;Ljava/lang/String;ZLjava/lang/String;)V
  30. .locals 7
  31. .param p1, "context" # Landroid/content/Context;
  32. .param p2, "n" # Landroid/app/Notification;
  33. .param p3, "contentTitle" # Ljava/lang/CharSequence;
  34. .param p4, "contentText" # Ljava/lang/CharSequence;
  35. .param p5, "contentInfo" # Ljava/lang/CharSequence;
  36. .param p6, "tickerView" # Landroid/widget/RemoteViews;
  37. .param p7, "number" # I
  38. .param p8, "contentIntent" # Landroid/app/PendingIntent;
  39. .param p9, "fullScreenIntent" # Landroid/app/PendingIntent;
  40. .param p10, "largeIcon" # Landroid/graphics/Bitmap;
  41. .param p11, "progressMax" # I
  42. .param p12, "progress" # I
  43. .param p13, "progressIndeterminate" # Z
  44. .param p14, "useChronometer" # Z
  45. .param p15, "priority" # I
  46. .param p16, "subText" # Ljava/lang/CharSequence;
  47. .param p17, "localOnly" # Z
  48. .param p18, "extras" # Landroid/os/Bundle;
  49. .param p19, "groupKey" # Ljava/lang/String;
  50. .param p20, "groupSummary" # Z
  51. .param p21, "sortKey" # Ljava/lang/String;
  52. .prologue
  53. .line 76
  54. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  55. .line 68
  56. new-instance v3, Ljava/util/ArrayList;
  57. invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
  58. iput-object v3, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mActionExtrasList:Ljava/util/List;
  59. .line 77
  60. new-instance v3, Landroid/app/Notification$Builder;
  61. invoke-direct {v3, p1}, Landroid/app/Notification$Builder;-><init>(Landroid/content/Context;)V
  62. iget-wide v4, p2, Landroid/app/Notification;->when:J
  63. invoke-virtual {v3, v4, v5}, Landroid/app/Notification$Builder;->setWhen(J)Landroid/app/Notification$Builder;
  64. move-result-object v3
  65. iget v4, p2, Landroid/app/Notification;->icon:I
  66. iget v5, p2, Landroid/app/Notification;->iconLevel:I
  67. invoke-virtual {v3, v4, v5}, Landroid/app/Notification$Builder;->setSmallIcon(II)Landroid/app/Notification$Builder;
  68. move-result-object v3
  69. iget-object v4, p2, Landroid/app/Notification;->contentView:Landroid/widget/RemoteViews;
  70. invoke-virtual {v3, v4}, Landroid/app/Notification$Builder;->setContent(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;
  71. move-result-object v3
  72. iget-object v4, p2, Landroid/app/Notification;->tickerText:Ljava/lang/CharSequence;
  73. invoke-virtual {v3, v4, p6}, Landroid/app/Notification$Builder;->setTicker(Ljava/lang/CharSequence;Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;
  74. move-result-object v3
  75. iget-object v4, p2, Landroid/app/Notification;->sound:Landroid/net/Uri;
  76. iget v5, p2, Landroid/app/Notification;->audioStreamType:I
  77. invoke-virtual {v3, v4, v5}, Landroid/app/Notification$Builder;->setSound(Landroid/net/Uri;I)Landroid/app/Notification$Builder;
  78. move-result-object v3
  79. iget-object v4, p2, Landroid/app/Notification;->vibrate:[J
  80. invoke-virtual {v3, v4}, Landroid/app/Notification$Builder;->setVibrate([J)Landroid/app/Notification$Builder;
  81. move-result-object v3
  82. iget v4, p2, Landroid/app/Notification;->ledARGB:I
  83. iget v5, p2, Landroid/app/Notification;->ledOnMS:I
  84. iget v6, p2, Landroid/app/Notification;->ledOffMS:I
  85. invoke-virtual {v3, v4, v5, v6}, Landroid/app/Notification$Builder;->setLights(III)Landroid/app/Notification$Builder;
  86. move-result-object v4
  87. iget v3, p2, Landroid/app/Notification;->flags:I
  88. and-int/lit8 v3, v3, 0x2
  89. if-eqz v3, :cond_4
  90. const/4 v3, 0x1
  91. :goto_0
  92. invoke-virtual {v4, v3}, Landroid/app/Notification$Builder;->setOngoing(Z)Landroid/app/Notification$Builder;
  93. move-result-object v4
  94. iget v3, p2, Landroid/app/Notification;->flags:I
  95. and-int/lit8 v3, v3, 0x8
  96. if-eqz v3, :cond_5
  97. const/4 v3, 0x1
  98. :goto_1
  99. invoke-virtual {v4, v3}, Landroid/app/Notification$Builder;->setOnlyAlertOnce(Z)Landroid/app/Notification$Builder;
  100. move-result-object v4
  101. iget v3, p2, Landroid/app/Notification;->flags:I
  102. and-int/lit8 v3, v3, 0x10
  103. if-eqz v3, :cond_6
  104. const/4 v3, 0x1
  105. :goto_2
  106. invoke-virtual {v4, v3}, Landroid/app/Notification$Builder;->setAutoCancel(Z)Landroid/app/Notification$Builder;
  107. move-result-object v3
  108. iget v4, p2, Landroid/app/Notification;->defaults:I
  109. invoke-virtual {v3, v4}, Landroid/app/Notification$Builder;->setDefaults(I)Landroid/app/Notification$Builder;
  110. move-result-object v3
  111. invoke-virtual {v3, p3}, Landroid/app/Notification$Builder;->setContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
  112. move-result-object v3
  113. invoke-virtual {v3, p4}, Landroid/app/Notification$Builder;->setContentText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
  114. move-result-object v3
  115. move-object/from16 v0, p16
  116. invoke-virtual {v3, v0}, Landroid/app/Notification$Builder;->setSubText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
  117. move-result-object v3
  118. invoke-virtual {v3, p5}, Landroid/app/Notification$Builder;->setContentInfo(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
  119. move-result-object v3
  120. invoke-virtual {v3, p8}, Landroid/app/Notification$Builder;->setContentIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;
  121. move-result-object v3
  122. iget-object v4, p2, Landroid/app/Notification;->deleteIntent:Landroid/app/PendingIntent;
  123. invoke-virtual {v3, v4}, Landroid/app/Notification$Builder;->setDeleteIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;
  124. move-result-object v4
  125. iget v3, p2, Landroid/app/Notification;->flags:I
  126. and-int/lit16 v3, v3, 0x80
  127. if-eqz v3, :cond_7
  128. const/4 v3, 0x1
  129. :goto_3
  130. move-object/from16 v0, p9
  131. invoke-virtual {v4, v0, v3}, Landroid/app/Notification$Builder;->setFullScreenIntent(Landroid/app/PendingIntent;Z)Landroid/app/Notification$Builder;
  132. move-result-object v3
  133. move-object/from16 v0, p10
  134. invoke-virtual {v3, v0}, Landroid/app/Notification$Builder;->setLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$Builder;
  135. move-result-object v3
  136. invoke-virtual {v3, p7}, Landroid/app/Notification$Builder;->setNumber(I)Landroid/app/Notification$Builder;
  137. move-result-object v3
  138. move/from16 v0, p14
  139. invoke-virtual {v3, v0}, Landroid/app/Notification$Builder;->setUsesChronometer(Z)Landroid/app/Notification$Builder;
  140. move-result-object v3
  141. move/from16 v0, p15
  142. invoke-virtual {v3, v0}, Landroid/app/Notification$Builder;->setPriority(I)Landroid/app/Notification$Builder;
  143. move-result-object v3
  144. move/from16 v0, p11
  145. move/from16 v1, p12
  146. move/from16 v2, p13
  147. invoke-virtual {v3, v0, v1, v2}, Landroid/app/Notification$Builder;->setProgress(IIZ)Landroid/app/Notification$Builder;
  148. move-result-object v3
  149. iput-object v3, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->b:Landroid/app/Notification$Builder;
  150. .line 102
  151. new-instance v3, Landroid/os/Bundle;
  152. invoke-direct {v3}, Landroid/os/Bundle;-><init>()V
  153. iput-object v3, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mExtras:Landroid/os/Bundle;
  154. .line 103
  155. if-eqz p18, :cond_0
  156. .line 104
  157. iget-object v3, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mExtras:Landroid/os/Bundle;
  158. move-object/from16 v0, p18
  159. invoke-virtual {v3, v0}, Landroid/os/Bundle;->putAll(Landroid/os/Bundle;)V
  160. .line 106
  161. :cond_0
  162. if-eqz p17, :cond_1
  163. .line 107
  164. iget-object v3, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mExtras:Landroid/os/Bundle;
  165. const-string v4, "android.support.localOnly"
  166. const/4 v5, 0x1
  167. invoke-virtual {v3, v4, v5}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V
  168. .line 109
  169. :cond_1
  170. if-eqz p19, :cond_2
  171. .line 110
  172. iget-object v3, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mExtras:Landroid/os/Bundle;
  173. const-string v4, "android.support.groupKey"
  174. move-object/from16 v0, p19
  175. invoke-virtual {v3, v4, v0}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
  176. .line 111
  177. if-eqz p20, :cond_8
  178. .line 112
  179. iget-object v3, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mExtras:Landroid/os/Bundle;
  180. const-string v4, "android.support.isGroupSummary"
  181. const/4 v5, 0x1
  182. invoke-virtual {v3, v4, v5}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V
  183. .line 117
  184. :cond_2
  185. :goto_4
  186. if-eqz p21, :cond_3
  187. .line 118
  188. iget-object v3, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mExtras:Landroid/os/Bundle;
  189. const-string v4, "android.support.sortKey"
  190. move-object/from16 v0, p21
  191. invoke-virtual {v3, v4, v0}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
  192. .line 120
  193. :cond_3
  194. return-void
  195. .line 77
  196. :cond_4
  197. const/4 v3, 0x0
  198. goto/16 :goto_0
  199. :cond_5
  200. const/4 v3, 0x0
  201. goto/16 :goto_1
  202. :cond_6
  203. const/4 v3, 0x0
  204. goto/16 :goto_2
  205. :cond_7
  206. const/4 v3, 0x0
  207. goto :goto_3
  208. .line 114
  209. :cond_8
  210. iget-object v3, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mExtras:Landroid/os/Bundle;
  211. const-string v4, "android.support.useSideChannel"
  212. const/4 v5, 0x1
  213. invoke-virtual {v3, v4, v5}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V
  214. goto :goto_4
  215. .end method
  216. # virtual methods
  217. .method public addAction(Landroid/support/v4/app/NotificationCompatBase$Action;)V
  218. .locals 2
  219. .param p1, "action" # Landroid/support/v4/app/NotificationCompatBase$Action;
  220. .prologue
  221. .line 124
  222. iget-object v0, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mActionExtrasList:Ljava/util/List;
  223. iget-object v1, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->b:Landroid/app/Notification$Builder;
  224. invoke-static {v1, p1}, Landroid/support/v4/app/NotificationCompatJellybean;->writeActionAndGetExtras(Landroid/app/Notification$Builder;Landroid/support/v4/app/NotificationCompatBase$Action;)Landroid/os/Bundle;
  225. move-result-object v1
  226. invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
  227. .line 125
  228. return-void
  229. .end method
  230. .method public build()Landroid/app/Notification;
  231. .locals 8
  232. .prologue
  233. .line 133
  234. iget-object v6, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->b:Landroid/app/Notification$Builder;
  235. invoke-virtual {v6}, Landroid/app/Notification$Builder;->build()Landroid/app/Notification;
  236. move-result-object v5
  237. .line 136
  238. .local v5, "notif":Landroid/app/Notification;
  239. invoke-static {v5}, Landroid/support/v4/app/NotificationCompatJellybean;->getExtras(Landroid/app/Notification;)Landroid/os/Bundle;
  240. move-result-object v1
  241. .line 137
  242. .local v1, "extras":Landroid/os/Bundle;
  243. new-instance v4, Landroid/os/Bundle;
  244. iget-object v6, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mExtras:Landroid/os/Bundle;
  245. invoke-direct {v4, v6}, Landroid/os/Bundle;-><init>(Landroid/os/Bundle;)V
  246. .line 138
  247. .local v4, "mergeBundle":Landroid/os/Bundle;
  248. iget-object v6, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mExtras:Landroid/os/Bundle;
  249. invoke-virtual {v6}, Landroid/os/Bundle;->keySet()Ljava/util/Set;
  250. move-result-object v6
  251. invoke-interface {v6}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
  252. move-result-object v2
  253. .local v2, "i$":Ljava/util/Iterator;
  254. :cond_0
  255. :goto_0
  256. invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
  257. move-result v6
  258. if-eqz v6, :cond_1
  259. invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  260. move-result-object v3
  261. check-cast v3, Ljava/lang/String;
  262. .line 139
  263. .local v3, "key":Ljava/lang/String;
  264. invoke-virtual {v1, v3}, Landroid/os/Bundle;->containsKey(Ljava/lang/String;)Z
  265. move-result v6
  266. if-eqz v6, :cond_0
  267. .line 140
  268. invoke-virtual {v4, v3}, Landroid/os/Bundle;->remove(Ljava/lang/String;)V
  269. goto :goto_0
  270. .line 143
  271. .end local v3 # "key":Ljava/lang/String;
  272. :cond_1
  273. invoke-virtual {v1, v4}, Landroid/os/Bundle;->putAll(Landroid/os/Bundle;)V
  274. .line 144
  275. iget-object v6, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->mActionExtrasList:Ljava/util/List;
  276. invoke-static {v6}, Landroid/support/v4/app/NotificationCompatJellybean;->buildActionExtrasMap(Ljava/util/List;)Landroid/util/SparseArray;
  277. move-result-object v0
  278. .line 145
  279. .local v0, "actionExtrasMap":Landroid/util/SparseArray;, "Landroid/util/SparseArray<Landroid/os/Bundle;>;"
  280. if-eqz v0, :cond_2
  281. .line 147
  282. invoke-static {v5}, Landroid/support/v4/app/NotificationCompatJellybean;->getExtras(Landroid/app/Notification;)Landroid/os/Bundle;
  283. move-result-object v6
  284. const-string v7, "android.support.actionExtras"
  285. invoke-virtual {v6, v7, v0}, Landroid/os/Bundle;->putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V
  286. .line 149
  287. :cond_2
  288. return-object v5
  289. .end method
  290. .method public getBuilder()Landroid/app/Notification$Builder;
  291. .locals 1
  292. .prologue
  293. .line 129
  294. iget-object v0, p0, Landroid/support/v4/app/NotificationCompatJellybean$Builder;->b:Landroid/app/Notification$Builder;
  295. return-object v0
  296. .end method