package Ġcom . android . mv vm . https . body Ċ Ċ import Ġcom . android . mv vm . https . net . Download Response Handler Ċ import Ġokhttp 3 . MediaType Ċ import Ġokhttp 3 . ResponseBody Ċ import Ġok io .* Ċ import Ġjava . io . IOException Ċ Ċ /** Ċ Ġ* Ġdate : Ġ 2 0 1 9 / 2 / 1 8 Ċ Ġ* Ġdesc : Ġ éĩį åĨĻ response Body Ġè®¾ç½® ä¸ĭè½½ è¿Ľ åº¦ çĽĳåĲ¬ Ċ Ġ*/ Ċ class ĠResponse Progress Body ( ĊĠĠĠ Ġprivate Ġval Ġm ResponseBody : ĠResponse Body , ĊĠĠĠ Ġdownload Response Handler : ĠDownload Response Handler Ċ ) Ġ: ĠResponse Body () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Download Response Handler : ĠDownload Response Handler ? Ġ= Ġdownload Response Handler ĊĠĠĠ Ġprivate Ġvar Ġm Buffered Source : ĠBuffered Source ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun ĠcontentType (): ĠMediaType ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm ResponseBody . contentType () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcontent Length (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm ResponseBody . content Length () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsource (): ĠBuffered Source Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Buffered Source Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Buffered Source Ġ= Ġsource ( m ResponseBody . source ()). buffer () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġm Buffered Source !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsource ( source : ĠSource ): ĠSource Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠForward ing Source ( source ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtotal Bytes Read : ĠLong Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġread ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsink : ĠBuffer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbyte Count : ĠLong ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ): ĠLong Ġ{ Ġ// Ġ è¿Ļä¸ª çļĦ è¿Ľ åº¦ åºĶè¯¥ æĺ¯ è¯»åıĸ response æ¯ıæ¬¡ åĨħå®¹ çļĦ è¿Ľ åº¦ ï¼Į åľ¨ åĨĻ æĸĩä»¶ è¿Ľ åº¦ ä¹ĭåīį Ġ æīĢä»¥ æļĤ æĹ¶ ä»¥ åĨĻ å®Į æĸĩä»¶çļĦ è¿Ľ åº¦ ä¸º åĩĨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbytes Read Ġ= Ġsuper . read ( sink , Ġbyte Count ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Bytes Read Ġ+= Ġif Ġ( bytes Read Ġ!= Ġ- 1 L ) Ġbytes Read Ġelse Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Download Response Handler ?. on Progress ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Bytes Read , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm ResponseBody . content Length () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbytes Read ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }