package Ġcom . p avel rek un . kon ae . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Environment Ċ import Ġjava . io . File ĊĊ Ċ object ĠStorage Utils Ġ{ ĊĊĠĠĠ Ġfun Ġcheck External Storage Present ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget External Memory Paths ( context ) Ġ!= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget External Memory Paths ( context : ĠContext ): ĠList < String ?> ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexternal Cache Dirs Ġ= Ġcontext . external Cache Dirs ĊĊĠĠĠĠĠĠĠ Ġif Ġ( external Cache Dirs Ġ== Ġnull Ġ|| Ġexternal Cache Dirs . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠ Ġif Ġ( external Cache Dirs . size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( external Cache Dirs [ 0 ] Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstorage State Ġ= ĠEnvironment . get External Storage State ( external Cache Dirs [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Environment . MEDIA _ MOUNT ED Ġ!= Ġstorage State ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Environment . is External Storage E mul ated ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠArrayList < String ?> () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( external Cache Dirs . size Ġ== Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . add ( getRoot Of Inner Sd Card Folder ( external Cache Dirs [ 0 ])) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġexternal Cache Dirs . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġexternal Cache Dirs [ i ] Ġ?: Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstorage State Ġ= ĠEnvironment . get External Storage State ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Environment . MEDIA _ MOUNT ED Ġ== Ġstorage State ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . add ( getRoot Of Inner Sd Card Folder ( external Cache Dirs [ i ])) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( result . isEmpty ()) Ġnull Ġelse Ġresult ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Root Of Inner Sd Card Folder ( file : ĠFile ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġfile Ġ= Ġfile Ġ?: Ġreturn Ġnull ĊĊĠĠĠĠĠĠĠ Ġval Ġtotal Space Ġ= Ġfile . total Space ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparent File Ġ= Ġfile . parent File ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( parent File Ġ== Ġnull Ġ|| Ġparent File !!. total Space Ġ!== Ġtotal Space ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfile . absolute Path ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile Ġ= Ġparent File ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }