PrintHelperKitkat$2.smali 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525
  1. .class Landroid/support/v4/print/PrintHelperKitkat$2;
  2. .super Landroid/print/PrintDocumentAdapter;
  3. .source "PrintHelperKitkat.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/EnclosingMethod;
  6. value = Landroid/support/v4/print/PrintHelperKitkat;->printBitmap(Ljava/lang/String;Landroid/net/Uri;Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;)V
  7. .end annotation
  8. .annotation system Ldalvik/annotation/InnerClass;
  9. accessFlags = 0x0
  10. name = null
  11. .end annotation
  12. # instance fields
  13. .field private mAttributes:Landroid/print/PrintAttributes;
  14. .field mBitmap:Landroid/graphics/Bitmap;
  15. .field mLoadBitmap:Landroid/os/AsyncTask;
  16. .annotation system Ldalvik/annotation/Signature;
  17. value = {
  18. "Landroid/os/AsyncTask",
  19. "<",
  20. "Landroid/net/Uri;",
  21. "Ljava/lang/Boolean;",
  22. "Landroid/graphics/Bitmap;",
  23. ">;"
  24. }
  25. .end annotation
  26. .end field
  27. .field final synthetic this$0:Landroid/support/v4/print/PrintHelperKitkat;
  28. .field final synthetic val$callback:Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;
  29. .field final synthetic val$fittingMode:I
  30. .field final synthetic val$imageFile:Landroid/net/Uri;
  31. .field final synthetic val$jobName:Ljava/lang/String;
  32. # direct methods
  33. .method constructor <init>(Landroid/support/v4/print/PrintHelperKitkat;Ljava/lang/String;Landroid/net/Uri;Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;I)V
  34. .locals 1
  35. .prologue
  36. .line 316
  37. iput-object p1, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  38. iput-object p2, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->val$jobName:Ljava/lang/String;
  39. iput-object p3, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->val$imageFile:Landroid/net/Uri;
  40. iput-object p4, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->val$callback:Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;
  41. iput p5, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->val$fittingMode:I
  42. invoke-direct {p0}, Landroid/print/PrintDocumentAdapter;-><init>()V
  43. .line 319
  44. const/4 v0, 0x0
  45. iput-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mBitmap:Landroid/graphics/Bitmap;
  46. return-void
  47. .end method
  48. .method static synthetic access$200(Landroid/support/v4/print/PrintHelperKitkat$2;)V
  49. .locals 0
  50. .param p0, "x0" # Landroid/support/v4/print/PrintHelperKitkat$2;
  51. .prologue
  52. .line 316
  53. invoke-direct {p0}, Landroid/support/v4/print/PrintHelperKitkat$2;->cancelLoad()V
  54. return-void
  55. .end method
  56. .method private cancelLoad()V
  57. .locals 3
  58. .prologue
  59. .line 399
  60. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  61. invoke-static {v0}, Landroid/support/v4/print/PrintHelperKitkat;->access$400(Landroid/support/v4/print/PrintHelperKitkat;)Ljava/lang/Object;
  62. move-result-object v1
  63. monitor-enter v1
  64. .line 400
  65. :try_start_0
  66. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  67. iget-object v0, v0, Landroid/support/v4/print/PrintHelperKitkat;->mDecodeOptions:Landroid/graphics/BitmapFactory$Options;
  68. if-eqz v0, :cond_0
  69. .line 401
  70. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  71. iget-object v0, v0, Landroid/support/v4/print/PrintHelperKitkat;->mDecodeOptions:Landroid/graphics/BitmapFactory$Options;
  72. invoke-virtual {v0}, Landroid/graphics/BitmapFactory$Options;->requestCancelDecode()V
  73. .line 402
  74. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  75. const/4 v2, 0x0
  76. iput-object v2, v0, Landroid/support/v4/print/PrintHelperKitkat;->mDecodeOptions:Landroid/graphics/BitmapFactory$Options;
  77. .line 404
  78. :cond_0
  79. monitor-exit v1
  80. .line 405
  81. return-void
  82. .line 404
  83. :catchall_0
  84. move-exception v0
  85. monitor-exit v1
  86. :try_end_0
  87. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  88. throw v0
  89. .end method
  90. # virtual methods
  91. .method public onFinish()V
  92. .locals 2
  93. .prologue
  94. .line 409
  95. invoke-super {p0}, Landroid/print/PrintDocumentAdapter;->onFinish()V
  96. .line 410
  97. invoke-direct {p0}, Landroid/support/v4/print/PrintHelperKitkat$2;->cancelLoad()V
  98. .line 411
  99. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mLoadBitmap:Landroid/os/AsyncTask;
  100. if-eqz v0, :cond_0
  101. .line 412
  102. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mLoadBitmap:Landroid/os/AsyncTask;
  103. const/4 v1, 0x1
  104. invoke-virtual {v0, v1}, Landroid/os/AsyncTask;->cancel(Z)Z
  105. .line 414
  106. :cond_0
  107. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->val$callback:Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;
  108. if-eqz v0, :cond_1
  109. .line 415
  110. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->val$callback:Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;
  111. invoke-interface {v0}, Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;->onFinish()V
  112. .line 417
  113. :cond_1
  114. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mBitmap:Landroid/graphics/Bitmap;
  115. if-eqz v0, :cond_2
  116. .line 418
  117. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mBitmap:Landroid/graphics/Bitmap;
  118. invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
  119. .line 419
  120. const/4 v0, 0x0
  121. iput-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mBitmap:Landroid/graphics/Bitmap;
  122. .line 421
  123. :cond_2
  124. return-void
  125. .end method
  126. .method public onLayout(Landroid/print/PrintAttributes;Landroid/print/PrintAttributes;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$LayoutResultCallback;Landroid/os/Bundle;)V
  127. .locals 9
  128. .param p1, "oldPrintAttributes" # Landroid/print/PrintAttributes;
  129. .param p2, "newPrintAttributes" # Landroid/print/PrintAttributes;
  130. .param p3, "cancellationSignal" # Landroid/os/CancellationSignal;
  131. .param p4, "layoutResultCallback" # Landroid/print/PrintDocumentAdapter$LayoutResultCallback;
  132. .param p5, "bundle" # Landroid/os/Bundle;
  133. .prologue
  134. const/4 v8, 0x0
  135. const/4 v6, 0x1
  136. .line 328
  137. iput-object p2, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mAttributes:Landroid/print/PrintAttributes;
  138. .line 330
  139. invoke-virtual {p3}, Landroid/os/CancellationSignal;->isCanceled()Z
  140. move-result v0
  141. if-eqz v0, :cond_0
  142. .line 331
  143. invoke-virtual {p4}, Landroid/print/PrintDocumentAdapter$LayoutResultCallback;->onLayoutCancelled()V
  144. .line 396
  145. :goto_0
  146. return-void
  147. .line 335
  148. :cond_0
  149. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mBitmap:Landroid/graphics/Bitmap;
  150. if-eqz v0, :cond_2
  151. .line 336
  152. new-instance v0, Landroid/print/PrintDocumentInfo$Builder;
  153. iget-object v1, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->val$jobName:Ljava/lang/String;
  154. invoke-direct {v0, v1}, Landroid/print/PrintDocumentInfo$Builder;-><init>(Ljava/lang/String;)V
  155. invoke-virtual {v0, v6}, Landroid/print/PrintDocumentInfo$Builder;->setContentType(I)Landroid/print/PrintDocumentInfo$Builder;
  156. move-result-object v0
  157. invoke-virtual {v0, v6}, Landroid/print/PrintDocumentInfo$Builder;->setPageCount(I)Landroid/print/PrintDocumentInfo$Builder;
  158. move-result-object v0
  159. invoke-virtual {v0}, Landroid/print/PrintDocumentInfo$Builder;->build()Landroid/print/PrintDocumentInfo;
  160. move-result-object v7
  161. .line 340
  162. .local v7, "info":Landroid/print/PrintDocumentInfo;
  163. invoke-virtual {p2, p1}, Landroid/print/PrintAttributes;->equals(Ljava/lang/Object;)Z
  164. move-result v0
  165. if-nez v0, :cond_1
  166. .line 341
  167. .local v6, "changed":Z
  168. :goto_1
  169. invoke-virtual {p4, v7, v6}, Landroid/print/PrintDocumentAdapter$LayoutResultCallback;->onLayoutFinished(Landroid/print/PrintDocumentInfo;Z)V
  170. goto :goto_0
  171. .end local v6 # "changed":Z
  172. :cond_1
  173. move v6, v8
  174. .line 340
  175. goto :goto_1
  176. .line 345
  177. .end local v7 # "info":Landroid/print/PrintDocumentInfo;
  178. :cond_2
  179. new-instance v0, Landroid/support/v4/print/PrintHelperKitkat$2$1;
  180. move-object v1, p0
  181. move-object v2, p3
  182. move-object v3, p2
  183. move-object v4, p1
  184. move-object v5, p4
  185. invoke-direct/range {v0 .. v5}, Landroid/support/v4/print/PrintHelperKitkat$2$1;-><init>(Landroid/support/v4/print/PrintHelperKitkat$2;Landroid/os/CancellationSignal;Landroid/print/PrintAttributes;Landroid/print/PrintAttributes;Landroid/print/PrintDocumentAdapter$LayoutResultCallback;)V
  186. new-array v1, v8, [Landroid/net/Uri;
  187. invoke-virtual {v0, v1}, Landroid/support/v4/print/PrintHelperKitkat$2$1;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask;
  188. move-result-object v0
  189. iput-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mLoadBitmap:Landroid/os/AsyncTask;
  190. goto :goto_0
  191. .end method
  192. .method public onWrite([Landroid/print/PageRange;Landroid/os/ParcelFileDescriptor;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$WriteResultCallback;)V
  193. .locals 10
  194. .param p1, "pageRanges" # [Landroid/print/PageRange;
  195. .param p2, "fileDescriptor" # Landroid/os/ParcelFileDescriptor;
  196. .param p3, "cancellationSignal" # Landroid/os/CancellationSignal;
  197. .param p4, "writeResultCallback" # Landroid/print/PrintDocumentAdapter$WriteResultCallback;
  198. .prologue
  199. .line 427
  200. new-instance v5, Landroid/print/pdf/PrintedPdfDocument;
  201. iget-object v6, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  202. iget-object v6, v6, Landroid/support/v4/print/PrintHelperKitkat;->mContext:Landroid/content/Context;
  203. iget-object v7, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mAttributes:Landroid/print/PrintAttributes;
  204. invoke-direct {v5, v6, v7}, Landroid/print/pdf/PrintedPdfDocument;-><init>(Landroid/content/Context;Landroid/print/PrintAttributes;)V
  205. .line 429
  206. .local v5, "pdfDocument":Landroid/print/pdf/PrintedPdfDocument;
  207. iget-object v6, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  208. iget-object v7, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mBitmap:Landroid/graphics/Bitmap;
  209. iget-object v8, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mAttributes:Landroid/print/PrintAttributes;
  210. invoke-virtual {v8}, Landroid/print/PrintAttributes;->getColorMode()I
  211. move-result v8
  212. invoke-static {v6, v7, v8}, Landroid/support/v4/print/PrintHelperKitkat;->access$000(Landroid/support/v4/print/PrintHelperKitkat;Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
  213. move-result-object v3
  214. .line 433
  215. .local v3, "maybeGrayscale":Landroid/graphics/Bitmap;
  216. const/4 v6, 0x1
  217. :try_start_0
  218. invoke-virtual {v5, v6}, Landroid/print/pdf/PrintedPdfDocument;->startPage(I)Landroid/graphics/pdf/PdfDocument$Page;
  219. move-result-object v4
  220. .line 434
  221. .local v4, "page":Landroid/graphics/pdf/PdfDocument$Page;
  222. new-instance v0, Landroid/graphics/RectF;
  223. invoke-virtual {v4}, Landroid/graphics/pdf/PdfDocument$Page;->getInfo()Landroid/graphics/pdf/PdfDocument$PageInfo;
  224. move-result-object v6
  225. invoke-virtual {v6}, Landroid/graphics/pdf/PdfDocument$PageInfo;->getContentRect()Landroid/graphics/Rect;
  226. move-result-object v6
  227. invoke-direct {v0, v6}, Landroid/graphics/RectF;-><init>(Landroid/graphics/Rect;)V
  228. .line 437
  229. .local v0, "content":Landroid/graphics/RectF;
  230. iget-object v6, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  231. iget-object v7, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mBitmap:Landroid/graphics/Bitmap;
  232. invoke-virtual {v7}, Landroid/graphics/Bitmap;->getWidth()I
  233. move-result v7
  234. iget-object v8, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mBitmap:Landroid/graphics/Bitmap;
  235. invoke-virtual {v8}, Landroid/graphics/Bitmap;->getHeight()I
  236. move-result v8
  237. iget v9, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->val$fittingMode:I
  238. invoke-static {v6, v7, v8, v0, v9}, Landroid/support/v4/print/PrintHelperKitkat;->access$100(Landroid/support/v4/print/PrintHelperKitkat;IILandroid/graphics/RectF;I)Landroid/graphics/Matrix;
  239. move-result-object v2
  240. .line 441
  241. .local v2, "matrix":Landroid/graphics/Matrix;
  242. invoke-virtual {v4}, Landroid/graphics/pdf/PdfDocument$Page;->getCanvas()Landroid/graphics/Canvas;
  243. move-result-object v6
  244. const/4 v7, 0x0
  245. invoke-virtual {v6, v3, v2, v7}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
  246. .line 444
  247. invoke-virtual {v5, v4}, Landroid/print/pdf/PrintedPdfDocument;->finishPage(Landroid/graphics/pdf/PdfDocument$Page;)V
  248. :try_end_0
  249. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  250. .line 448
  251. :try_start_1
  252. new-instance v6, Ljava/io/FileOutputStream;
  253. invoke-virtual {p2}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
  254. move-result-object v7
  255. invoke-direct {v6, v7}, Ljava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;)V
  256. invoke-virtual {v5, v6}, Landroid/print/pdf/PrintedPdfDocument;->writeTo(Ljava/io/OutputStream;)V
  257. .line 451
  258. const/4 v6, 0x1
  259. new-array v6, v6, [Landroid/print/PageRange;
  260. const/4 v7, 0x0
  261. sget-object v8, Landroid/print/PageRange;->ALL_PAGES:Landroid/print/PageRange;
  262. aput-object v8, v6, v7
  263. invoke-virtual {p4, v6}, Landroid/print/PrintDocumentAdapter$WriteResultCallback;->onWriteFinished([Landroid/print/PageRange;)V
  264. :try_end_1
  265. .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0
  266. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  267. .line 459
  268. :goto_0
  269. if-eqz v5, :cond_0
  270. .line 460
  271. invoke-virtual {v5}, Landroid/print/pdf/PrintedPdfDocument;->close()V
  272. .line 462
  273. :cond_0
  274. if-eqz p2, :cond_1
  275. .line 464
  276. :try_start_2
  277. invoke-virtual {p2}, Landroid/os/ParcelFileDescriptor;->close()V
  278. :try_end_2
  279. .catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_1
  280. .line 470
  281. :cond_1
  282. :goto_1
  283. iget-object v6, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mBitmap:Landroid/graphics/Bitmap;
  284. if-eq v3, v6, :cond_2
  285. .line 471
  286. invoke-virtual {v3}, Landroid/graphics/Bitmap;->recycle()V
  287. .line 474
  288. :cond_2
  289. return-void
  290. .line 453
  291. :catch_0
  292. move-exception v1
  293. .line 455
  294. .local v1, "ioe":Ljava/io/IOException;
  295. :try_start_3
  296. const-string v6, "PrintHelperKitkat"
  297. const-string v7, "Error writing printed content"
  298. invoke-static {v6, v7, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  299. .line 456
  300. const/4 v6, 0x0
  301. invoke-virtual {p4, v6}, Landroid/print/PrintDocumentAdapter$WriteResultCallback;->onWriteFailed(Ljava/lang/CharSequence;)V
  302. :try_end_3
  303. .catchall {:try_start_3 .. :try_end_3} :catchall_0
  304. goto :goto_0
  305. .line 459
  306. .end local v0 # "content":Landroid/graphics/RectF;
  307. .end local v1 # "ioe":Ljava/io/IOException;
  308. .end local v2 # "matrix":Landroid/graphics/Matrix;
  309. .end local v4 # "page":Landroid/graphics/pdf/PdfDocument$Page;
  310. :catchall_0
  311. move-exception v6
  312. if-eqz v5, :cond_3
  313. .line 460
  314. invoke-virtual {v5}, Landroid/print/pdf/PrintedPdfDocument;->close()V
  315. .line 462
  316. :cond_3
  317. if-eqz p2, :cond_4
  318. .line 464
  319. :try_start_4
  320. invoke-virtual {p2}, Landroid/os/ParcelFileDescriptor;->close()V
  321. :try_end_4
  322. .catch Ljava/io/IOException; {:try_start_4 .. :try_end_4} :catch_2
  323. .line 470
  324. :cond_4
  325. :goto_2
  326. iget-object v7, p0, Landroid/support/v4/print/PrintHelperKitkat$2;->mBitmap:Landroid/graphics/Bitmap;
  327. if-eq v3, v7, :cond_5
  328. .line 471
  329. invoke-virtual {v3}, Landroid/graphics/Bitmap;->recycle()V
  330. :cond_5
  331. throw v6
  332. .line 465
  333. .restart local v0 # "content":Landroid/graphics/RectF;
  334. .restart local v2 # "matrix":Landroid/graphics/Matrix;
  335. .restart local v4 # "page":Landroid/graphics/pdf/PdfDocument$Page;
  336. :catch_1
  337. move-exception v6
  338. goto :goto_1
  339. .end local v0 # "content":Landroid/graphics/RectF;
  340. .end local v2 # "matrix":Landroid/graphics/Matrix;
  341. .end local v4 # "page":Landroid/graphics/pdf/PdfDocument$Page;
  342. :catch_2
  343. move-exception v7
  344. goto :goto_2
  345. .end method