NotificationCompatApi21.smali 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. .class Landroid/support/v4/app/NotificationCompatApi21;
  2. .super Ljava/lang/Object;
  3. .source "NotificationCompatApi21.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/MemberClasses;
  6. value = {
  7. Landroid/support/v4/app/NotificationCompatApi21$Builder;
  8. }
  9. .end annotation
  10. # static fields
  11. .field public static final CATEGORY_ALARM:Ljava/lang/String; = "alarm"
  12. .field public static final CATEGORY_CALL:Ljava/lang/String; = "call"
  13. .field public static final CATEGORY_EMAIL:Ljava/lang/String; = "email"
  14. .field public static final CATEGORY_ERROR:Ljava/lang/String; = "err"
  15. .field public static final CATEGORY_EVENT:Ljava/lang/String; = "event"
  16. .field public static final CATEGORY_MESSAGE:Ljava/lang/String; = "msg"
  17. .field public static final CATEGORY_PROGRESS:Ljava/lang/String; = "progress"
  18. .field public static final CATEGORY_PROMO:Ljava/lang/String; = "promo"
  19. .field public static final CATEGORY_RECOMMENDATION:Ljava/lang/String; = "recommendation"
  20. .field public static final CATEGORY_SERVICE:Ljava/lang/String; = "service"
  21. .field public static final CATEGORY_SOCIAL:Ljava/lang/String; = "social"
  22. .field public static final CATEGORY_STATUS:Ljava/lang/String; = "status"
  23. .field public static final CATEGORY_SYSTEM:Ljava/lang/String; = "sys"
  24. .field public static final CATEGORY_TRANSPORT:Ljava/lang/String; = "transport"
  25. .field private static final KEY_AUTHOR:Ljava/lang/String; = "author"
  26. .field private static final KEY_MESSAGES:Ljava/lang/String; = "messages"
  27. .field private static final KEY_ON_READ:Ljava/lang/String; = "on_read"
  28. .field private static final KEY_ON_REPLY:Ljava/lang/String; = "on_reply"
  29. .field private static final KEY_PARTICIPANTS:Ljava/lang/String; = "participants"
  30. .field private static final KEY_REMOTE_INPUT:Ljava/lang/String; = "remote_input"
  31. .field private static final KEY_TEXT:Ljava/lang/String; = "text"
  32. .field private static final KEY_TIMESTAMP:Ljava/lang/String; = "timestamp"
  33. # direct methods
  34. .method constructor <init>()V
  35. .locals 0
  36. .prologue
  37. .line 29
  38. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  39. .line 55
  40. return-void
  41. .end method
  42. .method private static fromCompatRemoteInput(Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;)Landroid/app/RemoteInput;
  43. .locals 2
  44. .param p0, "src" # Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  45. .prologue
  46. .line 206
  47. new-instance v0, Landroid/app/RemoteInput$Builder;
  48. invoke-virtual {p0}, Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;->getResultKey()Ljava/lang/String;
  49. move-result-object v1
  50. invoke-direct {v0, v1}, Landroid/app/RemoteInput$Builder;-><init>(Ljava/lang/String;)V
  51. invoke-virtual {p0}, Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;->getLabel()Ljava/lang/CharSequence;
  52. move-result-object v1
  53. invoke-virtual {v0, v1}, Landroid/app/RemoteInput$Builder;->setLabel(Ljava/lang/CharSequence;)Landroid/app/RemoteInput$Builder;
  54. move-result-object v0
  55. invoke-virtual {p0}, Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;->getChoices()[Ljava/lang/CharSequence;
  56. move-result-object v1
  57. invoke-virtual {v0, v1}, Landroid/app/RemoteInput$Builder;->setChoices([Ljava/lang/CharSequence;)Landroid/app/RemoteInput$Builder;
  58. move-result-object v0
  59. invoke-virtual {p0}, Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;->getAllowFreeFormInput()Z
  60. move-result v1
  61. invoke-virtual {v0, v1}, Landroid/app/RemoteInput$Builder;->setAllowFreeFormInput(Z)Landroid/app/RemoteInput$Builder;
  62. move-result-object v0
  63. invoke-virtual {p0}, Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;->getExtras()Landroid/os/Bundle;
  64. move-result-object v1
  65. invoke-virtual {v0, v1}, Landroid/app/RemoteInput$Builder;->addExtras(Landroid/os/Bundle;)Landroid/app/RemoteInput$Builder;
  66. move-result-object v0
  67. invoke-virtual {v0}, Landroid/app/RemoteInput$Builder;->build()Landroid/app/RemoteInput;
  68. move-result-object v0
  69. return-object v0
  70. .end method
  71. .method static getBundleForUnreadConversation(Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;)Landroid/os/Bundle;
  72. .locals 9
  73. .param p0, "uc" # Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;
  74. .prologue
  75. .line 129
  76. if-nez p0, :cond_0
  77. .line 130
  78. const/4 v1, 0x0
  79. .line 153
  80. :goto_0
  81. return-object v1
  82. .line 132
  83. :cond_0
  84. new-instance v1, Landroid/os/Bundle;
  85. invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
  86. .line 133
  87. .local v1, "b":Landroid/os/Bundle;
  88. const/4 v0, 0x0
  89. .line 134
  90. .local v0, "author":Ljava/lang/String;
  91. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;->getParticipants()[Ljava/lang/String;
  92. move-result-object v6
  93. if-eqz v6, :cond_1
  94. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;->getParticipants()[Ljava/lang/String;
  95. move-result-object v6
  96. array-length v6, v6
  97. const/4 v7, 0x1
  98. if-le v6, v7, :cond_1
  99. .line 135
  100. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;->getParticipants()[Ljava/lang/String;
  101. move-result-object v6
  102. const/4 v7, 0x0
  103. aget-object v0, v6, v7
  104. .line 137
  105. :cond_1
  106. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;->getMessages()[Ljava/lang/String;
  107. move-result-object v6
  108. array-length v6, v6
  109. new-array v4, v6, [Landroid/os/Parcelable;
  110. .line 138
  111. .local v4, "messages":[Landroid/os/Parcelable;
  112. const/4 v2, 0x0
  113. .local v2, "i":I
  114. :goto_1
  115. array-length v6, v4
  116. if-ge v2, v6, :cond_2
  117. .line 139
  118. new-instance v3, Landroid/os/Bundle;
  119. invoke-direct {v3}, Landroid/os/Bundle;-><init>()V
  120. .line 140
  121. .local v3, "m":Landroid/os/Bundle;
  122. const-string v6, "text"
  123. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;->getMessages()[Ljava/lang/String;
  124. move-result-object v7
  125. aget-object v7, v7, v2
  126. invoke-virtual {v3, v6, v7}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
  127. .line 141
  128. const-string v6, "author"
  129. invoke-virtual {v3, v6, v0}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
  130. .line 142
  131. aput-object v3, v4, v2
  132. .line 138
  133. add-int/lit8 v2, v2, 0x1
  134. goto :goto_1
  135. .line 144
  136. .end local v3 # "m":Landroid/os/Bundle;
  137. :cond_2
  138. const-string v6, "messages"
  139. invoke-virtual {v1, v6, v4}, Landroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
  140. .line 145
  141. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;->getRemoteInput()Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  142. move-result-object v5
  143. .line 146
  144. .local v5, "remoteInput":Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  145. if-eqz v5, :cond_3
  146. .line 147
  147. const-string v6, "remote_input"
  148. invoke-static {v5}, Landroid/support/v4/app/NotificationCompatApi21;->fromCompatRemoteInput(Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;)Landroid/app/RemoteInput;
  149. move-result-object v7
  150. invoke-virtual {v1, v6, v7}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
  151. .line 149
  152. :cond_3
  153. const-string v6, "on_reply"
  154. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;->getReplyPendingIntent()Landroid/app/PendingIntent;
  155. move-result-object v7
  156. invoke-virtual {v1, v6, v7}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
  157. .line 150
  158. const-string v6, "on_read"
  159. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;->getReadPendingIntent()Landroid/app/PendingIntent;
  160. move-result-object v7
  161. invoke-virtual {v1, v6, v7}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
  162. .line 151
  163. const-string v6, "participants"
  164. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;->getParticipants()[Ljava/lang/String;
  165. move-result-object v7
  166. invoke-virtual {v1, v6, v7}, Landroid/os/Bundle;->putStringArray(Ljava/lang/String;[Ljava/lang/String;)V
  167. .line 152
  168. const-string v6, "timestamp"
  169. invoke-virtual {p0}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;->getLatestTimestamp()J
  170. move-result-wide v7
  171. invoke-virtual {v1, v6, v7, v8}, Landroid/os/Bundle;->putLong(Ljava/lang/String;J)V
  172. goto :goto_0
  173. .end method
  174. .method public static getCategory(Landroid/app/Notification;)Ljava/lang/String;
  175. .locals 1
  176. .param p0, "notif" # Landroid/app/Notification;
  177. .prologue
  178. .line 125
  179. iget-object v0, p0, Landroid/app/Notification;->category:Ljava/lang/String;
  180. return-object v0
  181. .end method
  182. .method static getUnreadConversationFromBundle(Landroid/os/Bundle;Landroid/support/v4/app/NotificationCompatBase$UnreadConversation$Factory;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;
  183. .locals 13
  184. .param p0, "b" # Landroid/os/Bundle;
  185. .param p1, "factory" # Landroid/support/v4/app/NotificationCompatBase$UnreadConversation$Factory;
  186. .param p2, "remoteInputFactory" # Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;
  187. .prologue
  188. const/4 v2, 0x0
  189. .line 159
  190. if-nez p0, :cond_1
  191. .line 196
  192. :cond_0
  193. :goto_0
  194. return-object v2
  195. .line 162
  196. :cond_1
  197. const-string v0, "messages"
  198. invoke-virtual {p0, v0}, Landroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable;
  199. move-result-object v9
  200. .line 163
  201. .local v9, "parcelableMessages":[Landroid/os/Parcelable;
  202. const/4 v1, 0x0
  203. .line 164
  204. .local v1, "messages":[Ljava/lang/String;
  205. if-eqz v9, :cond_3
  206. .line 165
  207. array-length v0, v9
  208. new-array v12, v0, [Ljava/lang/String;
  209. .line 166
  210. .local v12, "tmp":[Ljava/lang/String;
  211. const/4 v11, 0x1
  212. .line 167
  213. .local v11, "success":Z
  214. const/4 v8, 0x0
  215. .local v8, "i":I
  216. :goto_1
  217. array-length v0, v12
  218. if-ge v8, v0, :cond_2
  219. .line 168
  220. aget-object v0, v9, v8
  221. instance-of v0, v0, Landroid/os/Bundle;
  222. if-nez v0, :cond_5
  223. .line 169
  224. const/4 v11, 0x0
  225. .line 178
  226. :cond_2
  227. :goto_2
  228. if-eqz v11, :cond_0
  229. .line 179
  230. move-object v1, v12
  231. .line 185
  232. .end local v8 # "i":I
  233. .end local v11 # "success":Z
  234. .end local v12 # "tmp":[Ljava/lang/String;
  235. :cond_3
  236. const-string v0, "on_read"
  237. invoke-virtual {p0, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
  238. move-result-object v4
  239. check-cast v4, Landroid/app/PendingIntent;
  240. .line 186
  241. .local v4, "onRead":Landroid/app/PendingIntent;
  242. const-string v0, "on_reply"
  243. invoke-virtual {p0, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
  244. move-result-object v3
  245. check-cast v3, Landroid/app/PendingIntent;
  246. .line 188
  247. .local v3, "onReply":Landroid/app/PendingIntent;
  248. const-string v0, "remote_input"
  249. invoke-virtual {p0, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
  250. move-result-object v10
  251. check-cast v10, Landroid/app/RemoteInput;
  252. .line 190
  253. .local v10, "remoteInput":Landroid/app/RemoteInput;
  254. const-string v0, "participants"
  255. invoke-virtual {p0, v0}, Landroid/os/Bundle;->getStringArray(Ljava/lang/String;)[Ljava/lang/String;
  256. move-result-object v5
  257. .line 191
  258. .local v5, "participants":[Ljava/lang/String;
  259. if-eqz v5, :cond_0
  260. array-length v0, v5
  261. const/4 v6, 0x1
  262. if-ne v0, v6, :cond_0
  263. .line 196
  264. if-eqz v10, :cond_4
  265. invoke-static {v10, p2}, Landroid/support/v4/app/NotificationCompatApi21;->toCompatRemoteInput(Landroid/app/RemoteInput;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  266. move-result-object v2
  267. :cond_4
  268. const-string v0, "timestamp"
  269. invoke-virtual {p0, v0}, Landroid/os/Bundle;->getLong(Ljava/lang/String;)J
  270. move-result-wide v6
  271. move-object v0, p1
  272. invoke-interface/range {v0 .. v7}, Landroid/support/v4/app/NotificationCompatBase$UnreadConversation$Factory;->build([Ljava/lang/String;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;Landroid/app/PendingIntent;Landroid/app/PendingIntent;[Ljava/lang/String;J)Landroid/support/v4/app/NotificationCompatBase$UnreadConversation;
  273. move-result-object v2
  274. goto :goto_0
  275. .line 172
  276. .end local v3 # "onReply":Landroid/app/PendingIntent;
  277. .end local v4 # "onRead":Landroid/app/PendingIntent;
  278. .end local v5 # "participants":[Ljava/lang/String;
  279. .end local v10 # "remoteInput":Landroid/app/RemoteInput;
  280. .restart local v8 # "i":I
  281. .restart local v11 # "success":Z
  282. .restart local v12 # "tmp":[Ljava/lang/String;
  283. :cond_5
  284. aget-object v0, v9, v8
  285. check-cast v0, Landroid/os/Bundle;
  286. const-string v6, "text"
  287. invoke-virtual {v0, v6}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
  288. move-result-object v0
  289. aput-object v0, v12, v8
  290. .line 173
  291. aget-object v0, v12, v8
  292. if-nez v0, :cond_6
  293. .line 174
  294. const/4 v11, 0x0
  295. .line 175
  296. goto :goto_2
  297. .line 167
  298. :cond_6
  299. add-int/lit8 v8, v8, 0x1
  300. goto :goto_1
  301. .end method
  302. .method private static toCompatRemoteInput(Landroid/app/RemoteInput;Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;)Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  303. .locals 6
  304. .param p0, "remoteInput" # Landroid/app/RemoteInput;
  305. .param p1, "factory" # Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;
  306. .prologue
  307. .line 217
  308. invoke-virtual {p0}, Landroid/app/RemoteInput;->getResultKey()Ljava/lang/String;
  309. move-result-object v1
  310. invoke-virtual {p0}, Landroid/app/RemoteInput;->getLabel()Ljava/lang/CharSequence;
  311. move-result-object v2
  312. invoke-virtual {p0}, Landroid/app/RemoteInput;->getChoices()[Ljava/lang/CharSequence;
  313. move-result-object v3
  314. invoke-virtual {p0}, Landroid/app/RemoteInput;->getAllowFreeFormInput()Z
  315. move-result v4
  316. invoke-virtual {p0}, Landroid/app/RemoteInput;->getExtras()Landroid/os/Bundle;
  317. move-result-object v5
  318. move-object v0, p1
  319. invoke-interface/range {v0 .. v5}, Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput$Factory;->build(Ljava/lang/String;Ljava/lang/CharSequence;[Ljava/lang/CharSequence;ZLandroid/os/Bundle;)Landroid/support/v4/app/RemoteInputCompatBase$RemoteInput;
  320. move-result-object v0
  321. return-object v0
  322. .end method