package Ġcom . ray co ar ana . pl a ayer . car . media . domain Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . media . Thumbnail Utils Ċ import Ġandroid . provider . Media Store Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġcom . ray co ar ana . pl a ayer . Build Config Ċ import Ġcom . ray co ar ana . pl a ayer . R Ċ import Ġcom . ray co ar ana . pl a ayer . core . di . ApplicationContext Ċ import Ġjava . io . File Ċ import Ġjava . io . File OutputStream Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠMedia Storage Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġ@ ApplicationContext Ġprivate Ġval Ġcontext : ĠContext Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġroot Dirs ( external FileType : ĠString ): ĠArray < File > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . get External Files Dirs ( context , Ġexternal FileType ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠFile ( it . absolute Path . replace (" Android / data /${ Build Config . APPLICATION _ ID }/ files ", Ġ"")) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Typed Array () ĊĊĠĠĠ Ġfun Ġcreate Video Thumbnail ( file : ĠFile ): ĠBitmap Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Thumbnail ( file ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThumb nail Utils . create Video Thumbnail ( it . absolute Path , ĠMedia Store . Video . Thumb nails . MIN I _ KIND ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Photo Thumbnail ( file : ĠFile ): ĠBitmap Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Thumbnail ( file ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThumb nail Utils . extract Thumbnail ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap Factory . decode File ( file . absolute Path ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTH UMB NA IL _ SIZE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTH UMB NA IL _ SIZE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Thumbnail ( file : ĠFile , Ġcreate Thumbnail : Ġ( File ) Ġ-> ĠBitmap ): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġthumbnail File Ġ= ĠFile ( file . parent File , Ġ"." Ġ+ Ġfile . name Ġ+ Ġ". th b ") ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( thumbnail File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap Factory . decode File ( thumbnail File . absolute Path ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= Ġcreate Thumbnail ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠoutputStream Ġ= ĠFileOutputStream ( thumbnail File ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠoutputStream . use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap . compress ( Bitmap . Compress Format . PNG , Ġ 1 0 0 , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Folder Thumbnail ( file : ĠFile ): ĠBitmap Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap Factory . decode Resource ( context . resources , ĠR . drawable . ic n _ folder ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTH UMB NA IL _ SIZE Ġ= Ġ 5 1 2 ĊĠĠĠ Ġ} Ċ } Ċ