PrintHelperKitkat$1.smali 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. .class Landroid/support/v4/print/PrintHelperKitkat$1;
  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/graphics/Bitmap;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 final synthetic this$0:Landroid/support/v4/print/PrintHelperKitkat;
  15. .field final synthetic val$bitmap:Landroid/graphics/Bitmap;
  16. .field final synthetic val$callback:Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;
  17. .field final synthetic val$fittingMode:I
  18. .field final synthetic val$jobName:Ljava/lang/String;
  19. # direct methods
  20. .method constructor <init>(Landroid/support/v4/print/PrintHelperKitkat;Ljava/lang/String;Landroid/graphics/Bitmap;ILandroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;)V
  21. .locals 0
  22. .prologue
  23. .line 190
  24. iput-object p1, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  25. iput-object p2, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$jobName:Ljava/lang/String;
  26. iput-object p3, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$bitmap:Landroid/graphics/Bitmap;
  27. iput p4, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$fittingMode:I
  28. iput-object p5, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$callback:Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;
  29. invoke-direct {p0}, Landroid/print/PrintDocumentAdapter;-><init>()V
  30. return-void
  31. .end method
  32. # virtual methods
  33. .method public onFinish()V
  34. .locals 1
  35. .prologue
  36. .line 266
  37. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$callback:Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;
  38. if-eqz v0, :cond_0
  39. .line 267
  40. iget-object v0, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$callback:Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;
  41. invoke-interface {v0}, Landroid/support/v4/print/PrintHelperKitkat$OnPrintFinishCallback;->onFinish()V
  42. .line 269
  43. :cond_0
  44. return-void
  45. .end method
  46. .method public onLayout(Landroid/print/PrintAttributes;Landroid/print/PrintAttributes;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$LayoutResultCallback;Landroid/os/Bundle;)V
  47. .locals 4
  48. .param p1, "oldPrintAttributes" # Landroid/print/PrintAttributes;
  49. .param p2, "newPrintAttributes" # Landroid/print/PrintAttributes;
  50. .param p3, "cancellationSignal" # Landroid/os/CancellationSignal;
  51. .param p4, "layoutResultCallback" # Landroid/print/PrintDocumentAdapter$LayoutResultCallback;
  52. .param p5, "bundle" # Landroid/os/Bundle;
  53. .prologue
  54. const/4 v0, 0x1
  55. .line 200
  56. iput-object p2, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->mAttributes:Landroid/print/PrintAttributes;
  57. .line 202
  58. new-instance v2, Landroid/print/PrintDocumentInfo$Builder;
  59. iget-object v3, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$jobName:Ljava/lang/String;
  60. invoke-direct {v2, v3}, Landroid/print/PrintDocumentInfo$Builder;-><init>(Ljava/lang/String;)V
  61. invoke-virtual {v2, v0}, Landroid/print/PrintDocumentInfo$Builder;->setContentType(I)Landroid/print/PrintDocumentInfo$Builder;
  62. move-result-object v2
  63. invoke-virtual {v2, v0}, Landroid/print/PrintDocumentInfo$Builder;->setPageCount(I)Landroid/print/PrintDocumentInfo$Builder;
  64. move-result-object v2
  65. invoke-virtual {v2}, Landroid/print/PrintDocumentInfo$Builder;->build()Landroid/print/PrintDocumentInfo;
  66. move-result-object v1
  67. .line 206
  68. .local v1, "info":Landroid/print/PrintDocumentInfo;
  69. invoke-virtual {p2, p1}, Landroid/print/PrintAttributes;->equals(Ljava/lang/Object;)Z
  70. move-result v2
  71. if-nez v2, :cond_0
  72. .line 207
  73. .local v0, "changed":Z
  74. :goto_0
  75. invoke-virtual {p4, v1, v0}, Landroid/print/PrintDocumentAdapter$LayoutResultCallback;->onLayoutFinished(Landroid/print/PrintDocumentInfo;Z)V
  76. .line 208
  77. return-void
  78. .line 206
  79. .end local v0 # "changed":Z
  80. :cond_0
  81. const/4 v0, 0x0
  82. goto :goto_0
  83. .end method
  84. .method public onWrite([Landroid/print/PageRange;Landroid/os/ParcelFileDescriptor;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$WriteResultCallback;)V
  85. .locals 10
  86. .param p1, "pageRanges" # [Landroid/print/PageRange;
  87. .param p2, "fileDescriptor" # Landroid/os/ParcelFileDescriptor;
  88. .param p3, "cancellationSignal" # Landroid/os/CancellationSignal;
  89. .param p4, "writeResultCallback" # Landroid/print/PrintDocumentAdapter$WriteResultCallback;
  90. .prologue
  91. .line 214
  92. new-instance v5, Landroid/print/pdf/PrintedPdfDocument;
  93. iget-object v6, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  94. iget-object v6, v6, Landroid/support/v4/print/PrintHelperKitkat;->mContext:Landroid/content/Context;
  95. iget-object v7, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->mAttributes:Landroid/print/PrintAttributes;
  96. invoke-direct {v5, v6, v7}, Landroid/print/pdf/PrintedPdfDocument;-><init>(Landroid/content/Context;Landroid/print/PrintAttributes;)V
  97. .line 217
  98. .local v5, "pdfDocument":Landroid/print/pdf/PrintedPdfDocument;
  99. iget-object v6, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  100. iget-object v7, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$bitmap:Landroid/graphics/Bitmap;
  101. iget-object v8, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->mAttributes:Landroid/print/PrintAttributes;
  102. invoke-virtual {v8}, Landroid/print/PrintAttributes;->getColorMode()I
  103. move-result v8
  104. invoke-static {v6, v7, v8}, Landroid/support/v4/print/PrintHelperKitkat;->access$000(Landroid/support/v4/print/PrintHelperKitkat;Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
  105. move-result-object v3
  106. .line 220
  107. .local v3, "maybeGrayscale":Landroid/graphics/Bitmap;
  108. const/4 v6, 0x1
  109. :try_start_0
  110. invoke-virtual {v5, v6}, Landroid/print/pdf/PrintedPdfDocument;->startPage(I)Landroid/graphics/pdf/PdfDocument$Page;
  111. move-result-object v4
  112. .line 222
  113. .local v4, "page":Landroid/graphics/pdf/PdfDocument$Page;
  114. new-instance v0, Landroid/graphics/RectF;
  115. invoke-virtual {v4}, Landroid/graphics/pdf/PdfDocument$Page;->getInfo()Landroid/graphics/pdf/PdfDocument$PageInfo;
  116. move-result-object v6
  117. invoke-virtual {v6}, Landroid/graphics/pdf/PdfDocument$PageInfo;->getContentRect()Landroid/graphics/Rect;
  118. move-result-object v6
  119. invoke-direct {v0, v6}, Landroid/graphics/RectF;-><init>(Landroid/graphics/Rect;)V
  120. .line 224
  121. .local v0, "content":Landroid/graphics/RectF;
  122. iget-object v6, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->this$0:Landroid/support/v4/print/PrintHelperKitkat;
  123. invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I
  124. move-result v7
  125. invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
  126. move-result v8
  127. iget v9, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$fittingMode:I
  128. 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;
  129. move-result-object v2
  130. .line 229
  131. .local v2, "matrix":Landroid/graphics/Matrix;
  132. invoke-virtual {v4}, Landroid/graphics/pdf/PdfDocument$Page;->getCanvas()Landroid/graphics/Canvas;
  133. move-result-object v6
  134. const/4 v7, 0x0
  135. invoke-virtual {v6, v3, v2, v7}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
  136. .line 232
  137. invoke-virtual {v5, v4}, Landroid/print/pdf/PrintedPdfDocument;->finishPage(Landroid/graphics/pdf/PdfDocument$Page;)V
  138. :try_end_0
  139. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  140. .line 236
  141. :try_start_1
  142. new-instance v6, Ljava/io/FileOutputStream;
  143. invoke-virtual {p2}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
  144. move-result-object v7
  145. invoke-direct {v6, v7}, Ljava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;)V
  146. invoke-virtual {v5, v6}, Landroid/print/pdf/PrintedPdfDocument;->writeTo(Ljava/io/OutputStream;)V
  147. .line 239
  148. const/4 v6, 0x1
  149. new-array v6, v6, [Landroid/print/PageRange;
  150. const/4 v7, 0x0
  151. sget-object v8, Landroid/print/PageRange;->ALL_PAGES:Landroid/print/PageRange;
  152. aput-object v8, v6, v7
  153. invoke-virtual {p4, v6}, Landroid/print/PrintDocumentAdapter$WriteResultCallback;->onWriteFinished([Landroid/print/PageRange;)V
  154. :try_end_1
  155. .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0
  156. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  157. .line 247
  158. :goto_0
  159. if-eqz v5, :cond_0
  160. .line 248
  161. invoke-virtual {v5}, Landroid/print/pdf/PrintedPdfDocument;->close()V
  162. .line 250
  163. :cond_0
  164. if-eqz p2, :cond_1
  165. .line 252
  166. :try_start_2
  167. invoke-virtual {p2}, Landroid/os/ParcelFileDescriptor;->close()V
  168. :try_end_2
  169. .catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_1
  170. .line 258
  171. :cond_1
  172. :goto_1
  173. iget-object v6, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$bitmap:Landroid/graphics/Bitmap;
  174. if-eq v3, v6, :cond_2
  175. .line 259
  176. invoke-virtual {v3}, Landroid/graphics/Bitmap;->recycle()V
  177. .line 262
  178. :cond_2
  179. return-void
  180. .line 241
  181. :catch_0
  182. move-exception v1
  183. .line 243
  184. .local v1, "ioe":Ljava/io/IOException;
  185. :try_start_3
  186. const-string v6, "PrintHelperKitkat"
  187. const-string v7, "Error writing printed content"
  188. invoke-static {v6, v7, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  189. .line 244
  190. const/4 v6, 0x0
  191. invoke-virtual {p4, v6}, Landroid/print/PrintDocumentAdapter$WriteResultCallback;->onWriteFailed(Ljava/lang/CharSequence;)V
  192. :try_end_3
  193. .catchall {:try_start_3 .. :try_end_3} :catchall_0
  194. goto :goto_0
  195. .line 247
  196. .end local v0 # "content":Landroid/graphics/RectF;
  197. .end local v1 # "ioe":Ljava/io/IOException;
  198. .end local v2 # "matrix":Landroid/graphics/Matrix;
  199. .end local v4 # "page":Landroid/graphics/pdf/PdfDocument$Page;
  200. :catchall_0
  201. move-exception v6
  202. if-eqz v5, :cond_3
  203. .line 248
  204. invoke-virtual {v5}, Landroid/print/pdf/PrintedPdfDocument;->close()V
  205. .line 250
  206. :cond_3
  207. if-eqz p2, :cond_4
  208. .line 252
  209. :try_start_4
  210. invoke-virtual {p2}, Landroid/os/ParcelFileDescriptor;->close()V
  211. :try_end_4
  212. .catch Ljava/io/IOException; {:try_start_4 .. :try_end_4} :catch_2
  213. .line 258
  214. :cond_4
  215. :goto_2
  216. iget-object v7, p0, Landroid/support/v4/print/PrintHelperKitkat$1;->val$bitmap:Landroid/graphics/Bitmap;
  217. if-eq v3, v7, :cond_5
  218. .line 259
  219. invoke-virtual {v3}, Landroid/graphics/Bitmap;->recycle()V
  220. :cond_5
  221. throw v6
  222. .line 253
  223. .restart local v0 # "content":Landroid/graphics/RectF;
  224. .restart local v2 # "matrix":Landroid/graphics/Matrix;
  225. .restart local v4 # "page":Landroid/graphics/pdf/PdfDocument$Page;
  226. :catch_1
  227. move-exception v6
  228. goto :goto_1
  229. .end local v0 # "content":Landroid/graphics/RectF;
  230. .end local v2 # "matrix":Landroid/graphics/Matrix;
  231. .end local v4 # "page":Landroid/graphics/pdf/PdfDocument$Page;
  232. :catch_2
  233. move-exception v7
  234. goto :goto_2
  235. .end method