package Ġorg . od k . collect . android . storage Ċ Ċ import Ġorg . od k . collect . android . application . Collect Ċ import Ġorg . od k . collect . android . injection . D agger Utils Ċ import Ġorg . od k . collect . android . projects . Current Project Provider Ċ import Ġorg . od k . collect . android . utilities . FileUtils Ċ import Ġorg . od k . collect . projects . Projects Repository Ċ import Ġorg . od k . collect . shared . Path Utils Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . io . File Ċ Ċ class ĠStorage Path Provider ( ĊĠĠĠ Ġprivate Ġval Ġcurrent Project Provider : ĠCurrent Project Provider Ġ= ĠD agger Utils . getComponent ( Collect . getInstance ()). current Project Provider (), ĊĠĠĠ Ġprivate Ġval Ġprojects Repository : ĠProjects Repository Ġ= ĠD agger Utils . getComponent ( Collect . getInstance ()). projects Repository (), ĊĠĠĠ Ġval Ġo dk Root DirPath : ĠString Ġ= ĠCollect . getInstance (). get External Files Dir ( null ) !!. absolute Path Ċ ) Ġ{ ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġget Project Root DirPath ( projectId : ĠString ? Ġ= Ġnull ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuuid Ġ= ĠprojectId Ġ?: Ġcurrent Project Provider . getCurrent Project (). uuid ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġget O dk DirPath ( Storage Sub directory . PROJECT S ) Ġ+ ĠFile . separator Ġ+ Ġuuid ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! File ( path ). exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( path ). mkdir s () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsanitized ProjectName Ġ= ĠPath Utils . getPath Safe FileName ( projects Repository . get ( uuid ) !!. name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( path Ġ+ ĠFile . separator Ġ+ Ġsanitized ProjectName ). createNew File () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFileUtils . get Filename Error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprojects Repository . get ( uuid ) !!. name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġpath ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġfun Ġget O dk DirPath ( sub directory : ĠStorage Sub directory , ĠprojectId : ĠString ? Ġ= Ġnull ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġwhen Ġ( sub directory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStorage Sub directory . PROJECT S , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStorage Sub directory . SHARED _ LAY ERS Ġ-> Ġo dk Root DirPath Ġ+ ĠFile . separator Ġ+ Ġsubdirectory . directory Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStorage Sub directory . FOR MS , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStorage Sub directory . INST AN CES , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStorage Sub directory . CACHE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStorage Sub directory . METADATA , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStorage Sub directory . LAY ERS , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStorage Sub directory . SETTINGS Ġ-> Ġget Project Root DirPath ( projectId ) Ġ+ ĠFile . separator Ġ+ Ġsubdirectory . directory Name ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! File ( path ). exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( path ). mkdir s () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġpath ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Custom Splash Screen Image Path (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġo dk Root DirPath Ġ+ ĠFile . separator Ġ+ Ġ" custom Splash Screen Image . jpg " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Tmp Image FilePath (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget O dk DirPath ( Storage Sub directory . CACHE ) Ġ+ ĠFile . separator Ġ+ Ġ" tmp . jpg " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Tmp Video FilePath (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget O dk DirPath ( Storage Sub directory . CACHE ) Ġ+ ĠFile . separator Ġ+ Ġ" tmp . mp 4 " ĊĠĠĠ Ġ} Ċ } Ċ