package Ġru . alex sk v ort so v . p olic lin ic . data . storage . unpack ing Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . annotation . Raw Res Ċ import Ġcom . google . gson . Gson Ċ import Ġio . reactivex . Comp letable Ċ import Ġru . alex sk v ort so v . p olic lin ic . R Ċ import Ġru . alex sk v ort so v . p olic lin ic . data . storage . database . dao .* Ċ import Ġru . alex sk v ort so v . p olic lin ic . data . storage . database . entities .* Ċ import Ġru . alex sk v ort so v . p olic lin ic . tooth pick . Default Files Dir Ċ import Ġjava . io . File Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠUsers Un packer Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġuser Dao : ĠUser Dao , ĊĠĠĠ Ġprivate Ġval Ġdoctor Dao : ĠDoctor Dao , ĊĠĠĠ Ġprivate Ġval Ġregistry Dao : ĠRegistry Staff Dao , ĊĠĠĠ Ġprivate Ġval Ġpatient Dao : ĠPatient Dao , ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġcompet ence Dao : ĠComp et ence Dao , ĊĠĠĠ Ġprivate Ġval Ġprocedure Dao : ĠProcedure Dao , ĊĠĠĠ Ġprivate Ġval Ġgson : ĠGson , ĊĠĠĠ Ġ@ Default Files Dir Ġprivate Ġval Ġfiles Dir : ĠString Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġunpack (): ĠComp letable Ġ= ĠComp letable . from Action Ġ{ ĊĠĠĠĠĠĠĠ Ġunpack Do ctors () ĊĠĠĠĠĠĠĠ Ġunpack Pat ients () ĊĠĠĠĠĠĠĠ Ġunpack Registry () ĊĠĠĠĠĠĠĠ Ġunpack Comp et ence () ĊĠĠĠĠĠĠĠ Ġunpack Pro cedures () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġunpack Comp et ence () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= ĠgetText For Raw Resource File ( R . raw . compet ence ) ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġgson . fromJson ( text , ĠArray < Comp et ence Entity >:: class . java ). toList () ĊĠĠĠĠĠĠĠ Ġcompet ence Dao . insert All ( list ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġunpack Pro cedures () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= ĠgetText For Raw Resource File ( R . raw . procedures ) ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġgson . fromJson ( text , ĠArray < Procedure Entity >:: class . java ). toList () ĊĠĠĠĠĠĠĠ Ġprocedure Dao . insert All ( list ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġunpack Do ctors () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġusers Test Ġ= ĠgetText For Raw Resource File ( R . raw . do ctors _ users ) ĊĠĠĠĠĠĠĠ Ġval Ġusers Ġ= Ġgson . fromJson ( users Test , ĠArray < User Entity >:: class . java ). toList () ĊĠĠĠĠĠĠĠ Ġuser Dao . insert All ( users ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdo ctors Text Ġ= ĠgetText For Raw Resource File ( R . raw . do ctors ) ĊĠĠĠĠĠĠĠ Ġval Ġdo ctors Ġ= Ġgson . fromJson ( do ctors Text , ĠArray < Doctor Entity >:: class . java ). toList () ĊĠĠĠĠĠĠĠ Ġdoctor Dao . insert All ( do ctors ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġunpack Pat ients () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġusers Test Ġ= ĠgetText For Raw Resource File ( R . raw . pat ients _ users ) ĊĠĠĠĠĠĠĠ Ġval Ġusers Ġ= Ġgson . fromJson ( users Test , ĠArray < User Entity >:: class . java ). toList () ĊĠĠĠĠĠĠĠ Ġuser Dao . insert All ( users ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpatients Text Ġ= ĠgetText For Raw Resource File ( R . raw . pat ients ) ĊĠĠĠĠĠĠĠ Ġval Ġpatients Ġ= Ġgson . fromJson ( pat ients Text , ĠArray < Patient Entity >:: class . java ). toList () ĊĠĠĠĠĠĠĠ Ġpatient Dao . insert All ( pat ients ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġunpack Registry () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġusers Test Ġ= ĠgetText For Raw Resource File ( R . raw . registry _ users ) ĊĠĠĠĠĠĠĠ Ġval Ġusers Ġ= Ġgson . fromJson ( users Test , ĠArray < User Entity >:: class . java ). toList () ĊĠĠĠĠĠĠĠ Ġuser Dao . insert All ( users ) ĊĊĠĠĠĠĠĠĠ Ġval Ġregistry Text Ġ= ĠgetText For Raw Resource File ( R . raw . registry ) ĊĠĠĠĠĠĠĠ Ġval Ġregistry Ġ= Ġgson . fromJson ( registry Text , ĠArray < Registry Staff Entity >:: class . java ). toList () ĊĠĠĠĠĠĠĠ Ġregistry Dao . insert All ( registry ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetText For Raw Resource File (@ Raw Res Ġraw : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġraw File Ġ= Ġcontext . resources . open Raw Resource ( raw ) ĊĠĠĠĠĠĠĠ Ġval Ġtemp File Ġ= ĠFile ("$ files Dir / temp File . json ") ĊĠĠĠĠĠĠĠ Ġif Ġ( temp File . exists ()) Ġtemp File . delete Re cursively () ĊĠĠĠĠĠĠĠ Ġtemp File . createNew File () ĊĊĠĠĠĠĠĠĠ Ġraw File . copy To ( temp File . output Stream ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġtemp File . read Text () ĊĠĠĠ Ġ} Ċ Ċ }