NotificationCompatJellybean.smali 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361
  1. .class Landroid/support/v4/app/NotificationCompatJellybean;
  2. .super Ljava/lang/Object;
  3. .source "NotificationCompatJellybean.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/MemberClasses;
  6. value = {
  7. Landroid/support/v4/app/NotificationCompatJellybean$Builder;
  8. }
  9. .end annotation
  10. # static fields
  11. .field static final EXTRA_ACTION_EXTRAS:Ljava/lang/String; = "android.support.actionExtras"
  12. .field static final EXTRA_GROUP_KEY:Ljava/lang/String; = "android.support.groupKey"
  13. .field static final EXTRA_GROUP_SUMMARY:Ljava/lang/String; = "android.support.isGroupSummary"
  14. .field static final EXTRA_LOCAL_ONLY:Ljava/lang/String; = "android.support.localOnly"
  15. .field static final EXTRA_REMOTE_INPUTS:Ljava/lang/String; = "android.support.remoteInputs"
  16. .field static final EXTRA_SORT_KEY:Ljava/lang/String; = "android.support.sortKey"
  17. .field static final EXTRA_USE_SIDE_CHANNEL:Ljava/lang/String; = "android.support.useSideChannel"
  18. .field private static final KEY_ACTION_INTENT:Ljava/lang/String; = "actionIntent"
  19. .field private static final KEY_EXTRAS:Ljava/lang/String; = "extras"
  20. .field private static final KEY_ICON:Ljava/lang/String; = "icon"
  21. .field private static final KEY_REMOTE_INPUTS:Ljava/lang/String; = "remoteInputs"
  22. .field private static final KEY_TITLE:Ljava/lang/String; = "title"
  23. .field public static final TAG:Ljava/lang/String; = "NotificationCompat"
  24. .field private static sActionClass:Ljava/lang/Class;
  25. .annotation system Ldalvik/annotation/Signature;
  26. value = {
  27. "Ljava/lang/Class",
  28. "<*>;"
  29. }
  30. .end annotation
  31. .end field
  32. .field private static sActionIconField:Ljava/lang/reflect/Field;
  33. .field private static sActionIntentField:Ljava/lang/reflect/Field;
  34. .field private static sActionTitleField:Ljava/lang/reflect/Field;
  35. .field private static sActionsAccessFailed:Z
  36. .field private static sActionsField:Ljava/lang/reflect/Field;
  37. .field private static final sActionsLock:Ljava/lang/Object;
  38. .field private static sExtrasField:Ljava/lang/reflect/Field;
  39. .field private static sExtrasFieldAccessFailed:Z
  40. .field private static final sExtrasLock:Ljava/lang/Object;
  41. # direct methods
  42. .method static constructor <clinit>()V
  43. .locals 1
  44. .prologue
  45. .line 52
  46. new-instance v0, Ljava/lang/Object;
  47. invoke-direct {v0}, Ljava/lang/Object;-><init>()V
  48. sput-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasLock:Ljava/lang/Object;
  49. .line 56
  50. new-instance v0, Ljava/lang/Object;
  51. invoke-direct {v0}, Ljava/lang/Object;-><init>()V
  52. sput-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsLock:Ljava/lang/Object;
  53. return-void
  54. .end method
  55. .method constructor <init>()V
  56. .locals 0
  57. .prologue
  58. .line 33
  59. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  60. .line 64
  61. return-void
  62. .end method
  63. .method public static addBigPictureStyle(Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;Ljava/lang/CharSequence;ZLjava/lang/CharSequence;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Z)V
  64. .locals 3
  65. .param p0, "b" # Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;
  66. .param p1, "bigContentTitle" # Ljava/lang/CharSequence;
  67. .param p2, "useSummary" # Z
  68. .param p3, "summaryText" # Ljava/lang/CharSequence;
  69. .param p4, "bigPicture" # Landroid/graphics/Bitmap;
  70. .param p5, "bigLargeIcon" # Landroid/graphics/Bitmap;
  71. .param p6, "bigLargeIconSet" # Z
  72. .prologue
  73. .line 168
  74. new-instance v1, Landroid/app/Notification$BigPictureStyle;
  75. invoke-interface {p0}, Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;->getBuilder()Landroid/app/Notification$Builder;
  76. move-result-object v2
  77. invoke-direct {v1, v2}, Landroid/app/Notification$BigPictureStyle;-><init>(Landroid/app/Notification$Builder;)V
  78. invoke-virtual {v1, p1}, Landroid/app/Notification$BigPictureStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;
  79. move-result-object v1
  80. invoke-virtual {v1, p4}, Landroid/app/Notification$BigPictureStyle;->bigPicture(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;
  81. move-result-object v0
  82. .line 171
  83. .local v0, "style":Landroid/app/Notification$BigPictureStyle;
  84. if-eqz p6, :cond_0
  85. .line 172
  86. invoke-virtual {v0, p5}, Landroid/app/Notification$BigPictureStyle;->bigLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;
  87. .line 174
  88. :cond_0
  89. if-eqz p2, :cond_1
  90. .line 175
  91. invoke-virtual {v0, p3}, Landroid/app/Notification$BigPictureStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;
  92. .line 177
  93. :cond_1
  94. return-void
  95. .end method
  96. .method public static addBigTextStyle(Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;Ljava/lang/CharSequence;ZLjava/lang/CharSequence;Ljava/lang/CharSequence;)V
  97. .locals 3
  98. .param p0, "b" # Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;
  99. .param p1, "bigContentTitle" # Ljava/lang/CharSequence;
  100. .param p2, "useSummary" # Z
  101. .param p3, "summaryText" # Ljava/lang/CharSequence;
  102. .param p4, "bigText" # Ljava/lang/CharSequence;
  103. .prologue
  104. .line 156
  105. new-instance v1, Landroid/app/Notification$BigTextStyle;
  106. invoke-interface {p0}, Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;->getBuilder()Landroid/app/Notification$Builder;
  107. move-result-object v2
  108. invoke-direct {v1, v2}, Landroid/app/Notification$BigTextStyle;-><init>(Landroid/app/Notification$Builder;)V
  109. invoke-virtual {v1, p1}, Landroid/app/Notification$BigTextStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
  110. move-result-object v1
  111. invoke-virtual {v1, p4}, Landroid/app/Notification$BigTextStyle;->bigText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
  112. move-result-object v0
  113. .line 159
  114. .local v0, "style":Landroid/app/Notification$BigTextStyle;
  115. if-eqz p2, :cond_0
  116. .line 160
  117. invoke-virtual {v0, p3}, Landroid/app/Notification$BigTextStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
  118. .line 162
  119. :cond_0
  120. return-void
  121. .end method
  122. .method public static addInboxStyle(Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;Ljava/lang/CharSequence;ZLjava/lang/CharSequence;Ljava/util/ArrayList;)V
  123. .locals 5
  124. .param p0, "b" # Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;
  125. .param p1, "bigContentTitle" # Ljava/lang/CharSequence;
  126. .param p2, "useSummary" # Z
  127. .param p3, "summaryText" # Ljava/lang/CharSequence;
  128. .annotation system Ldalvik/annotation/Signature;
  129. value = {
  130. "(",
  131. "Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;",
  132. "Ljava/lang/CharSequence;",
  133. "Z",
  134. "Ljava/lang/CharSequence;",
  135. "Ljava/util/ArrayList",
  136. "<",
  137. "Ljava/lang/CharSequence;",
  138. ">;)V"
  139. }
  140. .end annotation
  141. .prologue
  142. .line 182
  143. .local p4, "texts":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/CharSequence;>;"
  144. new-instance v3, Landroid/app/Notification$InboxStyle;
  145. invoke-interface {p0}, Landroid/support/v4/app/NotificationBuilderWithBuilderAccessor;->getBuilder()Landroid/app/Notification$Builder;
  146. move-result-object v4
  147. invoke-direct {v3, v4}, Landroid/app/Notification$InboxStyle;-><init>(Landroid/app/Notification$Builder;)V
  148. invoke-virtual {v3, p1}, Landroid/app/Notification$InboxStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;
  149. move-result-object v1
  150. .line 184
  151. .local v1, "style":Landroid/app/Notification$InboxStyle;
  152. if-eqz p2, :cond_0
  153. .line 185
  154. invoke-virtual {v1, p3}, Landroid/app/Notification$InboxStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;
  155. .line 187
  156. :cond_0
  157. invoke-virtual {p4}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
  158. move-result-object v0
  159. .local v0, "i$":Ljava/util/Iterator;
  160. :goto_0
  161. invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
  162. move-result v3
  163. if-eqz v3, :cond_1
  164. invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  165. move-result-object v2
  166. check-cast v2, Ljava/lang/CharSequence;
  167. .line 188
  168. .local v2, "text":Ljava/lang/CharSequence;
  169. invoke-virtual {v1, v2}, Landroid/app/Notification$InboxStyle;->addLine(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;
  170. goto :goto_0
  171. .line 190
  172. .end local v2 # "text":Ljava/lang/CharSequence;
  173. :cond_1
  174. return-void
  175. .end method
  176. .method public static buildActionExtrasMap(Ljava/util/List;)Landroid/util/SparseArray;
  177. .locals 4
  178. .annotation system Ldalvik/annotation/Signature;
  179. value = {
  180. "(",
  181. "Ljava/util/List",
  182. "<",
  183. "Landroid/os/Bundle;",
  184. ">;)",
  185. "Landroid/util/SparseArray",
  186. "<",
  187. "Landroid/os/Bundle;",
  188. ">;"
  189. }
  190. .end annotation
  191. .prologue
  192. .line 194
  193. .local p0, "actionExtrasList":Ljava/util/List;, "Ljava/util/List<Landroid/os/Bundle;>;"
  194. const/4 v1, 0x0
  195. .line 195
  196. .local v1, "actionExtrasMap":Landroid/util/SparseArray;, "Landroid/util/SparseArray<Landroid/os/Bundle;>;"
  197. const/4 v3, 0x0
  198. .local v3, "i":I
  199. invoke-interface {p0}, Ljava/util/List;->size()I
  200. move-result v2
  201. .local v2, "count":I
  202. :goto_0
  203. if-ge v3, v2, :cond_2
  204. .line 196
  205. invoke-interface {p0, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
  206. move-result-object v0
  207. check-cast v0, Landroid/os/Bundle;
  208. .line 197
  209. .local v0, "actionExtras":Landroid/os/Bundle;
  210. if-eqz v0, :cond_1
  211. .line 198
  212. if-nez v1, :cond_0
  213. .line 199
  214. new-instance v1, Landroid/util/SparseArray;
  215. .end local v1 # "actionExtrasMap":Landroid/util/SparseArray;, "Landroid/util/SparseArray<Landroid/os/Bundle;>;"
  216. invoke-direct {v1}, Landroid/util/SparseArray;-><init>()V
  217. .line 201
  218. .restart local v1 # "actionExtrasMap":Landroid/util/SparseArray;, "Landroid/util/SparseArray<Landroid/os/Bundle;>;"
  219. :cond_0
  220. invoke-virtual {v1, v3, v0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
  221. .line 195
  222. :cond_1
  223. add-int/lit8 v3, v3, 0x1
  224. goto :goto_0
  225. .line 204
  226. .end local v0 # "actionExtras":Landroid/os/Bundle;
  227. :cond_2
  228. return-object v1
  229. .end method
  230. .method private static ensureActionReflectionReadyLocked()Z
  231. .locals 5
  232. .prologue
  233. const/4 v2, 0x0
  234. const/4 v1, 0x1
  235. .line 318
  236. sget-boolean v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
  237. if-eqz v3, :cond_0
  238. .line 337
  239. :goto_0
  240. return v2
  241. .line 322
  242. :cond_0
  243. :try_start_0
  244. sget-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsField:Ljava/lang/reflect/Field;
  245. if-nez v3, :cond_1
  246. .line 323
  247. const-string v3, "android.app.Notification$Action"
  248. invoke-static {v3}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
  249. move-result-object v3
  250. sput-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionClass:Ljava/lang/Class;
  251. .line 324
  252. sget-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionClass:Ljava/lang/Class;
  253. const-string v4, "icon"
  254. invoke-virtual {v3, v4}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
  255. move-result-object v3
  256. sput-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionIconField:Ljava/lang/reflect/Field;
  257. .line 325
  258. sget-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionClass:Ljava/lang/Class;
  259. const-string v4, "title"
  260. invoke-virtual {v3, v4}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
  261. move-result-object v3
  262. sput-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionTitleField:Ljava/lang/reflect/Field;
  263. .line 326
  264. sget-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionClass:Ljava/lang/Class;
  265. const-string v4, "actionIntent"
  266. invoke-virtual {v3, v4}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
  267. move-result-object v3
  268. sput-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionIntentField:Ljava/lang/reflect/Field;
  269. .line 327
  270. const-class v3, Landroid/app/Notification;
  271. const-string v4, "actions"
  272. invoke-virtual {v3, v4}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
  273. move-result-object v3
  274. sput-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsField:Ljava/lang/reflect/Field;
  275. .line 328
  276. sget-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsField:Ljava/lang/reflect/Field;
  277. const/4 v4, 0x1
  278. invoke-virtual {v3, v4}, Ljava/lang/reflect/Field;->setAccessible(Z)V
  279. :try_end_0
  280. .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
  281. .catch Ljava/lang/NoSuchFieldException; {:try_start_0 .. :try_end_0} :catch_1
  282. .line 337
  283. :cond_1
  284. :goto_1
  285. sget-boolean v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
  286. if-nez v3, :cond_2
  287. :goto_2
  288. move v2, v1
  289. goto :goto_0
  290. .line 330
  291. :catch_0
  292. move-exception v0
  293. .line 331
  294. .local v0, "e":Ljava/lang/ClassNotFoundException;
  295. const-string v3, "NotificationCompat"
  296. const-string v4, "Unable to access notification actions"
  297. invoke-static {v3, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  298. .line 332
  299. sput-boolean v1, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
  300. goto :goto_1
  301. .line 333
  302. .end local v0 # "e":Ljava/lang/ClassNotFoundException;
  303. :catch_1
  304. move-exception v0
  305. .line 334
  306. .local v0, "e":Ljava/lang/NoSuchFieldException;
  307. const-string v3, "NotificationCompat"
  308. const-string v4, "Unable to access notification actions"
  309. invoke-static {v3, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  310. .line 335
  311. sput-boolean v1, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
  312. goto :goto_1
  313. .end local v0 # "e":Ljava/lang/NoSuchFieldException;
  314. :cond_2
  315. move v1, v2
  316. .line 337
  317. goto :goto_2
  318. .end method
  319. .method public static getAction(Landroid/app/Notification;ILandroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)Landroid/support/v4/app/NotificationCompatBase$Action;
  320. .locals 11
  321. .param p0, "notif" # Landroid/app/Notification;
  322. .param p1, "actionIndex" # I
  323. .param p2, "factory" # Landroid/support/v4/app/NotificationCompatBase$Action$Factory;
  324. .param p3, "remoteInputFactory" # Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;
  325. .prologue
  326. .line 277
  327. sget-object v10, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsLock:Ljava/lang/Object;
  328. monitor-enter v10
  329. .line 279
  330. :try_start_0
  331. invoke-static {p0}, Landroid/support/v4/app/NotificationCompatJellybean;->getActionObjectsLocked(Landroid/app/Notification;)[Ljava/lang/Object;
  332. move-result-object v0
  333. aget-object v7, v0, p1
  334. .line 280
  335. .local v7, "actionObject":Ljava/lang/Object;
  336. const/4 v5, 0x0
  337. .line 281
  338. .local v5, "actionExtras":Landroid/os/Bundle;
  339. invoke-static {p0}, Landroid/support/v4/app/NotificationCompatJellybean;->getExtras(Landroid/app/Notification;)Landroid/os/Bundle;
  340. move-result-object v9
  341. .line 282
  342. .local v9, "extras":Landroid/os/Bundle;
  343. if-eqz v9, :cond_0
  344. .line 283
  345. const-string v0, "android.support.actionExtras"
  346. invoke-virtual {v9, v0}, Landroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray;
  347. move-result-object v6
  348. .line 285
  349. .local v6, "actionExtrasMap":Landroid/util/SparseArray;, "Landroid/util/SparseArray<Landroid/os/Bundle;>;"
  350. if-eqz v6, :cond_0
  351. .line 286
  352. invoke-virtual {v6, p1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
  353. move-result-object v5
  354. .end local v5 # "actionExtras":Landroid/os/Bundle;
  355. check-cast v5, Landroid/os/Bundle;
  356. .line 289
  357. .end local v6 # "actionExtrasMap":Landroid/util/SparseArray;, "Landroid/util/SparseArray<Landroid/os/Bundle;>;"
  358. .restart local v5 # "actionExtras":Landroid/os/Bundle;
  359. :cond_0
  360. sget-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionIconField:Ljava/lang/reflect/Field;
  361. invoke-virtual {v0, v7}, Ljava/lang/reflect/Field;->getInt(Ljava/lang/Object;)I
  362. move-result v2
  363. sget-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionTitleField:Ljava/lang/reflect/Field;
  364. invoke-virtual {v0, v7}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
  365. move-result-object v3
  366. check-cast v3, Ljava/lang/CharSequence;
  367. sget-object v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionIntentField:Ljava/lang/reflect/Field;
  368. invoke-virtual {v0, v7}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
  369. move-result-object v4
  370. check-cast v4, Landroid/app/PendingIntent;
  371. move-object v0, p2
  372. move-object v1, p3
  373. invoke-static/range {v0 .. v5}, Landroid/support/v4/app/NotificationCompatJellybean;->readAction(Landroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;ILjava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;)Landroid/support/v4/app/NotificationCompatBase$Action;
  374. :try_end_0
  375. .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_0
  376. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  377. move-result-object v0
  378. :try_start_1
  379. monitor-exit v10
  380. .line 299
  381. .end local v5 # "actionExtras":Landroid/os/Bundle;
  382. .end local v7 # "actionObject":Ljava/lang/Object;
  383. .end local v9 # "extras":Landroid/os/Bundle;
  384. :goto_0
  385. return-object v0
  386. .line 294
  387. :catch_0
  388. move-exception v8
  389. .line 295
  390. .local v8, "e":Ljava/lang/IllegalAccessException;
  391. const-string v0, "NotificationCompat"
  392. const-string v1, "Unable to access notification actions"
  393. invoke-static {v0, v1, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  394. .line 296
  395. const/4 v0, 0x1
  396. sput-boolean v0, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
  397. .line 298
  398. monitor-exit v10
  399. .line 299
  400. const/4 v0, 0x0
  401. goto :goto_0
  402. .line 298
  403. .end local v8 # "e":Ljava/lang/IllegalAccessException;
  404. :catchall_0
  405. move-exception v0
  406. monitor-exit v10
  407. :try_end_1
  408. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  409. throw v0
  410. .end method
  411. .method public static getActionCount(Landroid/app/Notification;)I
  412. .locals 3
  413. .param p0, "notif" # Landroid/app/Notification;
  414. .prologue
  415. .line 268
  416. sget-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsLock:Ljava/lang/Object;
  417. monitor-enter v2
  418. .line 269
  419. :try_start_0
  420. invoke-static {p0}, Landroid/support/v4/app/NotificationCompatJellybean;->getActionObjectsLocked(Landroid/app/Notification;)[Ljava/lang/Object;
  421. move-result-object v0
  422. .line 270
  423. .local v0, "actionObjects":[Ljava/lang/Object;
  424. if-eqz v0, :cond_0
  425. array-length v1, v0
  426. :goto_0
  427. monitor-exit v2
  428. return v1
  429. :cond_0
  430. const/4 v1, 0x0
  431. goto :goto_0
  432. .line 271
  433. .end local v0 # "actionObjects":[Ljava/lang/Object;
  434. :catchall_0
  435. move-exception v1
  436. monitor-exit v2
  437. :try_end_0
  438. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  439. throw v1
  440. .end method
  441. .method private static getActionFromBundle(Landroid/os/Bundle;Landroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)Landroid/support/v4/app/NotificationCompatBase$Action;
  442. .locals 6
  443. .param p0, "bundle" # Landroid/os/Bundle;
  444. .param p1, "actionFactory" # Landroid/support/v4/app/NotificationCompatBase$Action$Factory;
  445. .param p2, "remoteInputFactory" # Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;
  446. .prologue
  447. .line 358
  448. const-string v0, "icon"
  449. invoke-virtual {p0, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
  450. move-result v1
  451. const-string v0, "title"
  452. invoke-virtual {p0, v0}, Landroid/os/Bundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;
  453. move-result-object v2
  454. const-string v0, "actionIntent"
  455. invoke-virtual {p0, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
  456. move-result-object v3
  457. check-cast v3, Landroid/app/PendingIntent;
  458. const-string v0, "extras"
  459. invoke-virtual {p0, v0}, Landroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle;
  460. move-result-object v4
  461. const-string v0, "remoteInputs"
  462. invoke-static {p0, v0}, Landroid/support/v4/app/BundleUtil;->getBundleArrayFromBundle(Landroid/os/Bundle;Ljava/lang/String;)[Landroid/os/Bundle;
  463. move-result-object v0
  464. invoke-static {v0, p2}, Landroid/support/v4/app/RemoteInputCompatJellybean;->fromBundleArray([Landroid/os/Bundle;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  465. move-result-object v5
  466. move-object v0, p1
  467. invoke-interface/range {v0 .. v5}, Landroid/support/v4/app/NotificationCompatBase$Action$Factory;->build(ILjava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;)Landroid/support/v4/app/NotificationCompatBase$Action;
  468. move-result-object v0
  469. return-object v0
  470. .end method
  471. .method private static getActionObjectsLocked(Landroid/app/Notification;)[Ljava/lang/Object;
  472. .locals 5
  473. .param p0, "notif" # Landroid/app/Notification;
  474. .prologue
  475. const/4 v2, 0x0
  476. .line 303
  477. sget-object v3, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsLock:Ljava/lang/Object;
  478. monitor-enter v3
  479. .line 304
  480. :try_start_0
  481. invoke-static {}, Landroid/support/v4/app/NotificationCompatJellybean;->ensureActionReflectionReadyLocked()Z
  482. move-result v1
  483. if-nez v1, :cond_0
  484. .line 305
  485. monitor-exit v3
  486. :try_end_0
  487. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  488. move-object v1, v2
  489. .line 312
  490. :goto_0
  491. return-object v1
  492. .line 308
  493. :cond_0
  494. :try_start_1
  495. sget-object v1, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsField:Ljava/lang/reflect/Field;
  496. invoke-virtual {v1, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
  497. move-result-object v1
  498. check-cast v1, [Ljava/lang/Object;
  499. check-cast v1, [Ljava/lang/Object;
  500. :try_end_1
  501. .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_0
  502. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  503. :try_start_2
  504. monitor-exit v3
  505. goto :goto_0
  506. .line 314
  507. :catchall_0
  508. move-exception v1
  509. monitor-exit v3
  510. :try_end_2
  511. .catchall {:try_start_2 .. :try_end_2} :catchall_0
  512. throw v1
  513. .line 309
  514. :catch_0
  515. move-exception v0
  516. .line 310
  517. .local v0, "e":Ljava/lang/IllegalAccessException;
  518. :try_start_3
  519. const-string v1, "NotificationCompat"
  520. const-string v4, "Unable to access notification actions"
  521. invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  522. .line 311
  523. const/4 v1, 0x1
  524. sput-boolean v1, Landroid/support/v4/app/NotificationCompatJellybean;->sActionsAccessFailed:Z
  525. .line 312
  526. monitor-exit v3
  527. :try_end_3
  528. .catchall {:try_start_3 .. :try_end_3} :catchall_0
  529. move-object v1, v2
  530. goto :goto_0
  531. .end method
  532. .method public static getActionsFromParcelableArrayList(Ljava/util/ArrayList;Landroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)[Landroid/support/v4/app/NotificationCompatBase$Action;
  533. .locals 3
  534. .param p1, "actionFactory" # Landroid/support/v4/app/NotificationCompatBase$Action$Factory;
  535. .param p2, "remoteInputFactory" # Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;
  536. .annotation system Ldalvik/annotation/Signature;
  537. value = {
  538. "(",
  539. "Ljava/util/ArrayList",
  540. "<",
  541. "Landroid/os/Parcelable;",
  542. ">;",
  543. "Landroid/support/v4/app/NotificationCompatBase$Action$Factory;",
  544. "Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;",
  545. ")[",
  546. "Landroid/support/v4/app/NotificationCompatBase$Action;"
  547. }
  548. .end annotation
  549. .prologue
  550. .line 344
  551. .local p0, "parcelables":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Landroid/os/Parcelable;>;"
  552. if-nez p0, :cond_1
  553. .line 345
  554. const/4 v0, 0x0
  555. .line 352
  556. :cond_0
  557. return-object v0
  558. .line 347
  559. :cond_1
  560. invoke-virtual {p0}, Ljava/util/ArrayList;->size()I
  561. move-result v2
  562. invoke-interface {p1, v2}, Landroid/support/v4/app/NotificationCompatBase$Action$Factory;->newArray(I)[Landroid/support/v4/app/NotificationCompatBase$Action;
  563. move-result-object v0
  564. .line 348
  565. .local v0, "actions":[Landroid/support/v4/app/NotificationCompatBase$Action;
  566. const/4 v1, 0x0
  567. .local v1, "i":I
  568. :goto_0
  569. array-length v2, v0
  570. if-ge v1, v2, :cond_0
  571. .line 349
  572. invoke-virtual {p0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
  573. move-result-object v2
  574. check-cast v2, Landroid/os/Bundle;
  575. invoke-static {v2, p1, p2}, Landroid/support/v4/app/NotificationCompatJellybean;->getActionFromBundle(Landroid/os/Bundle;Landroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)Landroid/support/v4/app/NotificationCompatBase$Action;
  576. move-result-object v2
  577. aput-object v2, v0, v1
  578. .line 348
  579. add-int/lit8 v1, v1, 0x1
  580. goto :goto_0
  581. .end method
  582. .method private static getBundleForAction(Landroid/support/v4/app/NotificationCompatBase$Action;)Landroid/os/Bundle;
  583. .locals 3
  584. .param p0, "action" # Landroid/support/v4/app/NotificationCompatBase$Action;
  585. .prologue
  586. .line 381
  587. new-instance v0, Landroid/os/Bundle;
  588. invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
  589. .line 382
  590. .local v0, "bundle":Landroid/os/Bundle;
  591. const-string v1, "icon"
  592. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getIcon()I
  593. move-result v2
  594. invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
  595. .line 383
  596. const-string v1, "title"
  597. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getTitle()Ljava/lang/CharSequence;
  598. move-result-object v2
  599. invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
  600. .line 384
  601. const-string v1, "actionIntent"
  602. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getActionIntent()Landroid/app/PendingIntent;
  603. move-result-object v2
  604. invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
  605. .line 385
  606. const-string v1, "extras"
  607. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getExtras()Landroid/os/Bundle;
  608. move-result-object v2
  609. invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
  610. .line 386
  611. const-string v1, "remoteInputs"
  612. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$Action;->getRemoteInputs()[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  613. move-result-object v2
  614. invoke-static {v2}, Landroid/support/v4/app/RemoteInputCompatJellybean;->toBundleArray([Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;)[Landroid/os/Bundle;
  615. move-result-object v2
  616. invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
  617. .line 388
  618. return-object v0
  619. .end method
  620. .method public static getExtras(Landroid/app/Notification;)Landroid/os/Bundle;
  621. .locals 7
  622. .param p0, "notif" # Landroid/app/Notification;
  623. .prologue
  624. const/4 v3, 0x0
  625. .line 212
  626. sget-object v4, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasLock:Ljava/lang/Object;
  627. monitor-enter v4
  628. .line 213
  629. :try_start_0
  630. sget-boolean v5, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasFieldAccessFailed:Z
  631. if-eqz v5, :cond_0
  632. .line 214
  633. monitor-exit v4
  634. :try_end_0
  635. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  636. move-object v1, v3
  637. .line 239
  638. :goto_0
  639. return-object v1
  640. .line 217
  641. :cond_0
  642. :try_start_1
  643. sget-object v5, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasField:Ljava/lang/reflect/Field;
  644. if-nez v5, :cond_2
  645. .line 218
  646. const-class v5, Landroid/app/Notification;
  647. const-string v6, "extras"
  648. invoke-virtual {v5, v6}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
  649. move-result-object v2
  650. .line 219
  651. .local v2, "extrasField":Ljava/lang/reflect/Field;
  652. const-class v5, Landroid/os/Bundle;
  653. invoke-virtual {v2}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
  654. move-result-object v6
  655. invoke-virtual {v5, v6}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
  656. move-result v5
  657. if-nez v5, :cond_1
  658. .line 220
  659. const-string v5, "NotificationCompat"
  660. const-string v6, "Notification.extras field is not of type Bundle"
  661. invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  662. .line 221
  663. const/4 v5, 0x1
  664. sput-boolean v5, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasFieldAccessFailed:Z
  665. :try_end_1
  666. .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_0
  667. .catch Ljava/lang/NoSuchFieldException; {:try_start_1 .. :try_end_1} :catch_1
  668. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  669. .line 222
  670. :try_start_2
  671. monitor-exit v4
  672. :try_end_2
  673. .catchall {:try_start_2 .. :try_end_2} :catchall_0
  674. move-object v1, v3
  675. goto :goto_0
  676. .line 224
  677. :cond_1
  678. const/4 v5, 0x1
  679. :try_start_3
  680. invoke-virtual {v2, v5}, Ljava/lang/reflect/Field;->setAccessible(Z)V
  681. .line 225
  682. sput-object v2, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasField:Ljava/lang/reflect/Field;
  683. .line 227
  684. .end local v2 # "extrasField":Ljava/lang/reflect/Field;
  685. :cond_2
  686. sget-object v5, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasField:Ljava/lang/reflect/Field;
  687. invoke-virtual {v5, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
  688. move-result-object v1
  689. check-cast v1, Landroid/os/Bundle;
  690. .line 228
  691. .local v1, "extras":Landroid/os/Bundle;
  692. if-nez v1, :cond_3
  693. .line 229
  694. new-instance v1, Landroid/os/Bundle;
  695. .end local v1 # "extras":Landroid/os/Bundle;
  696. invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
  697. .line 230
  698. .restart local v1 # "extras":Landroid/os/Bundle;
  699. sget-object v5, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasField:Ljava/lang/reflect/Field;
  700. invoke-virtual {v5, p0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
  701. :try_end_3
  702. .catch Ljava/lang/IllegalAccessException; {:try_start_3 .. :try_end_3} :catch_0
  703. .catch Ljava/lang/NoSuchFieldException; {:try_start_3 .. :try_end_3} :catch_1
  704. .catchall {:try_start_3 .. :try_end_3} :catchall_0
  705. .line 232
  706. :cond_3
  707. :try_start_4
  708. monitor-exit v4
  709. goto :goto_0
  710. .line 240
  711. .end local v1 # "extras":Landroid/os/Bundle;
  712. :catchall_0
  713. move-exception v3
  714. monitor-exit v4
  715. :try_end_4
  716. .catchall {:try_start_4 .. :try_end_4} :catchall_0
  717. throw v3
  718. .line 233
  719. :catch_0
  720. move-exception v0
  721. .line 234
  722. .local v0, "e":Ljava/lang/IllegalAccessException;
  723. :try_start_5
  724. const-string v5, "NotificationCompat"
  725. const-string v6, "Unable to access notification extras"
  726. invoke-static {v5, v6, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  727. .line 238
  728. .end local v0 # "e":Ljava/lang/IllegalAccessException;
  729. :goto_1
  730. const/4 v5, 0x1
  731. sput-boolean v5, Landroid/support/v4/app/NotificationCompatJellybean;->sExtrasFieldAccessFailed:Z
  732. .line 239
  733. monitor-exit v4
  734. move-object v1, v3
  735. goto :goto_0
  736. .line 235
  737. :catch_1
  738. move-exception v0
  739. .line 236
  740. .local v0, "e":Ljava/lang/NoSuchFieldException;
  741. const-string v5, "NotificationCompat"
  742. const-string v6, "Unable to access notification extras"
  743. invoke-static {v5, v6, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  744. :try_end_5
  745. .catchall {:try_start_5 .. :try_end_5} :catchall_0
  746. goto :goto_1
  747. .end method
  748. .method public static getGroup(Landroid/app/Notification;)Ljava/lang/String;
  749. .locals 2
  750. .param p0, "n" # Landroid/app/Notification;
  751. .prologue
  752. .line 396
  753. invoke-static {p0}, Landroid/support/v4/app/NotificationCompatJellybean;->getExtras(Landroid/app/Notification;)Landroid/os/Bundle;
  754. move-result-object v0
  755. const-string v1, "android.support.groupKey"
  756. invoke-virtual {v0, v1}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
  757. move-result-object v0
  758. return-object v0
  759. .end method
  760. .method public static getLocalOnly(Landroid/app/Notification;)Z
  761. .locals 2
  762. .param p0, "notif" # Landroid/app/Notification;
  763. .prologue
  764. .line 392
  765. invoke-static {p0}, Landroid/support/v4/app/NotificationCompatJellybean;->getExtras(Landroid/app/Notification;)Landroid/os/Bundle;
  766. move-result-object v0
  767. const-string v1, "android.support.localOnly"
  768. invoke-virtual {v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;)Z
  769. move-result v0
  770. return v0
  771. .end method
  772. .method public static getParcelableArrayListForActions([Landroid/support/v4/app/NotificationCompatBase$Action;)Ljava/util/ArrayList;
  773. .locals 6
  774. .param p0, "actions" # [Landroid/support/v4/app/NotificationCompatBase$Action;
  775. .annotation system Ldalvik/annotation/Signature;
  776. value = {
  777. "([",
  778. "Landroid/support/v4/app/NotificationCompatBase$Action;",
  779. ")",
  780. "Ljava/util/ArrayList",
  781. "<",
  782. "Landroid/os/Parcelable;",
  783. ">;"
  784. }
  785. .end annotation
  786. .prologue
  787. .line 370
  788. if-nez p0, :cond_1
  789. .line 371
  790. const/4 v4, 0x0
  791. .line 377
  792. :cond_0
  793. return-object v4
  794. .line 373
  795. :cond_1
  796. new-instance v4, Ljava/util/ArrayList;
  797. array-length v5, p0
  798. invoke-direct {v4, v5}, Ljava/util/ArrayList;-><init>(I)V
  799. .line 374
  800. .local v4, "parcelables":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Landroid/os/Parcelable;>;"
  801. move-object v1, p0
  802. .local v1, "arr$":[Landroid/support/v4/app/NotificationCompatBase$Action;
  803. array-length v3, v1
  804. .local v3, "len$":I
  805. const/4 v2, 0x0
  806. .local v2, "i$":I
  807. :goto_0
  808. if-ge v2, v3, :cond_0
  809. aget-object v0, v1, v2
  810. .line 375
  811. .local v0, "action":Landroid/support/v4/app/NotificationCompatBase$Action;
  812. invoke-static {v0}, Landroid/support/v4/app/NotificationCompatJellybean;->getBundleForAction(Landroid/support/v4/app/NotificationCompatBase$Action;)Landroid/os/Bundle;
  813. move-result-object v5
  814. invoke-virtual {v4, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
  815. .line 374
  816. add-int/lit8 v2, v2, 0x1
  817. goto :goto_0
  818. .end method
  819. .method public static getSortKey(Landroid/app/Notification;)Ljava/lang/String;
  820. .locals 2
  821. .param p0, "n" # Landroid/app/Notification;
  822. .prologue
  823. .line 404
  824. invoke-static {p0}, Landroid/support/v4/app/NotificationCompatJellybean;->getExtras(Landroid/app/Notification;)Landroid/os/Bundle;
  825. move-result-object v0
  826. const-string v1, "android.support.sortKey"
  827. invoke-virtual {v0, v1}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
  828. move-result-object v0
  829. return-object v0
  830. .end method
  831. .method public static isGroupSummary(Landroid/app/Notification;)Z
  832. .locals 2
  833. .param p0, "n" # Landroid/app/Notification;
  834. .prologue
  835. .line 400
  836. invoke-static {p0}, Landroid/support/v4/app/NotificationCompatJellybean;->getExtras(Landroid/app/Notification;)Landroid/os/Bundle;
  837. move-result-object v0
  838. const-string v1, "android.support.isGroupSummary"
  839. invoke-virtual {v0, v1}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;)Z
  840. move-result v0
  841. return v0
  842. .end method
  843. .method public static readAction(Landroid/support/v4/app/NotificationCompatBase$Action$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;ILjava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;)Landroid/support/v4/app/NotificationCompatBase$Action;
  844. .locals 6
  845. .param p0, "factory" # Landroid/support/v4/app/NotificationCompatBase$Action$Factory;
  846. .param p1, "remoteInputFactory" # Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;
  847. .param p2, "icon" # I
  848. .param p3, "title" # Ljava/lang/CharSequence;
  849. .param p4, "actionIntent" # Landroid/app/PendingIntent;
  850. .param p5, "extras" # Landroid/os/Bundle;
  851. .prologue
  852. .line 247
  853. const/4 v5, 0x0
  854. .line 248
  855. .local v5, "remoteInputs":[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  856. if-eqz p5, :cond_0
  857. .line 249
  858. const-string v0, "android.support.remoteInputs"
  859. invoke-static {p5, v0}, Landroid/support/v4/app/BundleUtil;->getBundleArrayFromBundle(Landroid/os/Bundle;Ljava/lang/String;)[Landroid/os/Bundle;
  860. move-result-object v0
  861. invoke-static {v0, p1}, Landroid/support/v4/app/RemoteInputCompatJellybean;->fromBundleArray([Landroid/os/Bundle;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  862. move-result-object v5
  863. :cond_0
  864. move-object v0, p0
  865. move v1, p2
  866. move-object v2, p3
  867. move-object v3, p4
  868. move-object v4, p5
  869. .line 253
  870. invoke-interface/range {v0 .. v5}, Landroid/support/v4/app/NotificationCompatBase$Action$Factory;->build(ILjava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;)Landroid/support/v4/app/NotificationCompatBase$Action;
  871. move-result-object v0
  872. return-object v0
  873. .end method
  874. .method public static writeActionAndGetExtras(Landroid/app/Notification$Builder;Landroid/support/v4/app/NotificationCompatBase$Action;)Landroid/os/Bundle;
  875. .locals 4
  876. .param p0, "builder" # Landroid/app/Notification$Builder;
  877. .param p1, "action" # Landroid/support/v4/app/NotificationCompatBase$Action;
  878. .prologue
  879. .line 258
  880. invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getIcon()I
  881. move-result v1
  882. invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getTitle()Ljava/lang/CharSequence;
  883. move-result-object v2
  884. invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getActionIntent()Landroid/app/PendingIntent;
  885. move-result-object v3
  886. invoke-virtual {p0, v1, v2, v3}, Landroid/app/Notification$Builder;->addAction(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;
  887. .line 259
  888. new-instance v0, Landroid/os/Bundle;
  889. invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getExtras()Landroid/os/Bundle;
  890. move-result-object v1
  891. invoke-direct {v0, v1}, Landroid/os/Bundle;-><init>(Landroid/os/Bundle;)V
  892. .line 260
  893. .local v0, "actionExtras":Landroid/os/Bundle;
  894. invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getRemoteInputs()[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  895. move-result-object v1
  896. if-eqz v1, :cond_0
  897. .line 261
  898. const-string v1, "android.support.remoteInputs"
  899. invoke-virtual {p1}, Landroid/support/v4/app/NotificationCompatBase$Action;->getRemoteInputs()[Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  900. move-result-object v2
  901. invoke-static {v2}, Landroid/support/v4/app/RemoteInputCompatJellybean;->toBundleArray([Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;)[Landroid/os/Bundle;
  902. move-result-object v2
  903. invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
  904. .line 264
  905. :cond_0
  906. return-object v0
  907. .end method