package Ġcom . react native assets loader Ċ Ċ import Ġandroid . util . Log Ċ import Ġcom . facebook . react . bridge . React ApplicationContext Ċ import Ġcom . facebook . react . bridge . React Context Base Java Module Ċ import Ġcom . facebook . react . bridge . React Method Ċ import Ġjava . io . File Ċ Ċ class ĠAssets Loader Module ( private Ġval Ġreact Context : ĠReact ApplicationContext ) Ġ: ĠReact Context Base Java Module ( react Context ) Ġ{ ĊĊĊĠ Ġoverride Ġfun ĠgetName (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ" Assets Loader " ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠåĪ¤æĸŃ assets æĸĩä»¶ æĺ¯åĲ¦ åŃĺåľ¨ ĊĠĠ Ġ*/ ĊĠ Ġ@ React Method ( is Blocking S ynchronous Method Ġ= Ġtrue ) ĊĠ Ġfun Ġassets File Exist ( path : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠ Ġif Ġ( path Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( path . replace (" file :// ", Ġ"")) ĊĠĠĠĠĠ Ġfile . exists () ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġèİ·åıĸ Assets æĸĩä»¶çļĦ çĽ®å½ķ ĊĠĠ Ġ*/ ĊĠ Ġ@ React Method ( is Blocking S ynchronous Method Ġ= Ġtrue ) ĊĠ Ġfun Ġget Assets File Dir (): ĠString ? Ġ{ ĊĠĠĠ Ġreturn ĠRN Assets Loader . get Rn Asset File Dir () ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġèİ·åıĸ Assets æĸĩä»¶çļĦ çĽ®å½ķ ĊĠĠ Ġ*/ ĊĠ Ġ@ React Method ( is Blocking S ynchronous Method Ġ= Ġtrue ) ĊĠ Ġfun Ġget Remote Assets Url Path (): ĠString ? Ġ{ ĊĠĠĠ Ġreturn ĠRN Assets Loader . get Remote Assets Url Path () ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠåĪ¤æĸŃ drawable ä¸Ń æĺ¯åĲ¦ çĶ± è¿Ļä¸ª èµĦæºĲ ĊĠĠ Ġ*/ ĊĠ Ġ@ React Method ( is Blocking S ynchronous Method Ġ= Ġtrue ) ĊĠ Ġfun Ġassets Bundle Ex its ( filename : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠ Ġval Ġres ID Ġ= Ġreact ApplicationContext . resources . getIdentifier ( ĊĠĠĠĠĠĠĠ Ġfilename , ĊĠĠĠĠĠĠĠ Ġ" drawable ", Ġreact ApplicationContext . packageName ) ĊĠĠĠĠĠ Ġres ID Ġ!= Ġ 0 ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* Ġ ç¼ĵåŃĺ æĸĩä»¶ åĪ° çĽ®å½ķ ĊĠĠ Ġ*/ ĊĠ Ġ@ React Method ĊĠ Ġfun Ġcache Assets ToFile ( file Url : ĠString ?, ĠfileName : ĠString ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( get Assets File Dir () Ġ+ ĠFile . separator Ġ+ ĠfileName ) ĊĠĠĠĠĠ Ġif Ġ(! file . parent File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġfile . parent File . mkdir s () ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ ĠAssets Downloader . get ()?. download ( file Url , Ġget Assets File Dir () Ġ?: Ġ"", ĠfileName , Ġnull ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : Ġjava . lang . Exception ) Ġ{ ĊĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ Ċ } Ċ