package Ġde . h sa ug sb urg . team ul ster . so happy . config Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Malformed Json Exception Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Json ParseException Ċ import Ġjava . io . File Ċ import Ġjava . io . FileInputStream Ċ import Ġjava . io . IOException Ċ import Ġjava . nio . charset . Charset Ċ Ċ /** Ċ Ġ* ĠThis Ġobject Ġparses Ġconfiguration Ġbased Ġon Ġconfig . json . Ċ Ġ* Ġconfig . json Ġis Ġplaced Ġin Ġinternal Ġstorage Ġand Ġis Ġonly Ġaccessible Ġfrom Ġwithin Ġthe Ġapp Ġ( app - specific ) Ċ Ġ* Ġstorage . Ċ Ġ* Ġ*/ Ċ object ĠConfig Manager Ġ{ ĊĠĠĠ Ġ// ĠInit Ġvariables ĊĠĠĠ Ġlateinit Ġvar Ġimage Analyzer Config : ĠImage Analyzer Config ĊĠĠĠ Ġlateinit Ġvar Ġabout Config : ĠAbout Config ĊĠĠĠ Ġlateinit Ġvar Ġtimer Config : ĠTimer Config ĊĠĠĠ Ġlateinit Ġvar Ġnotification Config : ĠNotification Config ĊĠĠĠ Ġlateinit Ġvar Ġremote Config : ĠRemote Config ĊĠĠĠ Ġlateinit Ġvar Ġmain Config : ĠMain Config ĊĠĠĠ Ġlateinit Ġvar Ġsettings Config : ĠSettings Config ĊĠĠĠ Ġprivate Ġval Ġgson Ġ= ĠGson () ĊĊĠĠĠ Ġ@ Suppress (" StringLiteral Dup lication ") ĊĠĠĠ Ġprivate Ġval Ġdefault Main Config : ĠMain Config Ġ= ĠMain Config . Builder () ĊĠĠĠĠĠĠĠ Ġ. setImage Analyzer Config ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImage Analyzer Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" de . h sa ug sb urg . team ul ster . so happy . analyzer . detector . face detector impl . H aar Cascade Face Detector ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" de . h sa ug sb urg . team ul ster . so happy . analyzer . detector . smile detector impl . So Happy T FL ite Sm ile Detector " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. set About Config ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbout Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// github . com / team ul ster / so Happy ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// github . com / team ul ster / so Happy ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// github . com / team ul ster / so Happy ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// github . com / team ul ster / so Happy ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// github . com / team ul ster / so Happy ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// github . com / team ul ster / so Happy " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. set Timer Config ( Timer Config ( 3 0 0 0 , Ġ 2 5 0 0 , Ġ 1 0 _ 0 0 0 , Ġ 1 0 _ 0 0 0 , Ġ 3 0 _ 0 0 0 )) ĊĠĠĠĠĠĠĠ Ġ. set Notification Config ( Notification Config ( 3 Ġ* Ġ 6 0 Ġ* Ġ 6 0 Ġ* Ġ 1 0 0 0 )) ĊĠĠĠĠĠĠĠ Ġ. set Remote Config ( Remote Config (" https :// li vel y . craft am . app / ")) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġprivate Ġval Ġdefault Settings Config Ġ= ĠSettings Config . Builder () ĊĠĠĠĠĠĠĠ Ġ. set Notifications ( true ) ĊĠĠĠĠĠĠĠ Ġ. set Database Sync ( true ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfunction Ġloads Ġconfig Ġfrom Ġthe Ġconfig Ġfile Ġand Ġparses Ġthe ĠJSON Ġstring Ġto ĠMain Config ( ĊĠĠĠĠ Ġ* ĠImage Analyzer Config , ĠAbout Config , ĠTimer Config , ĠNotification Config , ĠRemote Config ) Ġobjects . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ context ] Ġcurrent Ġcontext Ġdescribing Ġfrom Ġwhere Ġthe Ġmethod Ġwas Ġinvoked ĊĠĠĠĠ Ġ* Ġ@ throws Ġ[ IOException ] ĊĠĠĠĠ Ġ* Ġ@ throws Ġ[ Class NotFoundException ] ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Main Config ] ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġload Main ( context : ĠContext ): ĠMain Config Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmain Json String : ĠString ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain File Ġ= ĠgetFile ( context )[ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Json String Ġ= ĠFileInputStream ( main File ). buffered Reader (). use Ġ{ Ġit . read Text () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparsed Main Json Ġ= Ġfrom Json To Main ( main Json String ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Utils . check About Config ( parsed Main Json . about Config ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Utils . check Image Analyzer Config ( parsed Main Json . image Analyzer Config ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Utils . check Remote Config ( parsed Main Json . remote Config ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Config Ġ= Ġparsed Main Json ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Analyzer Config Ġ= Ġparsed Main Json . image Analyzer Config ĊĠĠĠĠĠĠĠĠĠĠĠ Ġabout Config Ġ= Ġparsed Main Json . about Config ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimer Config Ġ= Ġparsed Main Json . timer Config ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotification Config Ġ= Ġparsed Main Json . notification Config ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremote Config Ġ= Ġparsed Main Json . remote Config ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠClass NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġmain Config ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfunction Ġloads Ġconfig Ġfrom Ġthe Ġconfig Ġfile Ġand Ġparses Ġthe ĠJSON Ġstring Ġto Ġa ĠSettings Config Ġobject . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ context ] Ġcurrent Ġcontext Ġdescribing Ġfrom Ġwhere Ġthe Ġmethod Ġwas Ġinvoked ĊĠĠĠĠ Ġ* Ġ@ throws Ġ[ IOException ] ĊĠĠĠĠ Ġ* Ġ@ throws Ġ[ Class NotFoundException ] ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Settings Config ] ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġload Settings ( context : ĠContext ): ĠSettings Config Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsettings Json String : ĠString ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsettings File Ġ= ĠgetFile ( context )[ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsettings Json String Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFileInputStream ( settings File ). buffered Reader (). use Ġ{ Ġit . read Text () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparsed Settings Json Ġ= Ġfrom Json To Settings ( settings Json String ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsettings Config Ġ= Ġparsed Settings Json ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠClass NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsettings Config ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfunction Ġstores Ġthe ĠMain Config Ġobject Ġit Ġis Ġh anded Ġinto Ġthe Ġconfig . json Ġfile . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ context ] Ġcurrent Ġcontext Ġdescribing Ġfrom Ġwhere Ġthe Ġmethod Ġwas Ġinvoked ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ main Config ] ĠMain Config Ġobject Ġwhich Ġcontents Ġwill Ġbe Ġstored ĊĠĠĠĠ Ġ* Ġ@ throws Ġ[ IOException ] ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġstore Main ( context : ĠContext , Ġmain Config : ĠMain Config ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmain Json String Ġ= ĠtoJson ( main Config ) ĊĠĠĠĠĠĠĠ Ġval Ġsettings Json String Ġ= ĠtoJson ( settings Config ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsettings File Ġ= ĠgetFile ( context )[ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsettings File . write Text ( settings Json String , ĠCharset . default Charset ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain File Ġ= ĠgetFile ( context )[ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain File . write Text ( main Json String , ĠCharset . default Charset ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfunction Ġstores Ġthe ĠSettings Config Ġobject Ġit Ġis Ġh anded Ġinto Ġthe Ġsettings Config . json Ġfile . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ context ] Ġcurrent Ġcontext Ġdescribing Ġfrom Ġwhere Ġthe Ġmethod Ġwas Ġinvoked ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ settings Config ] ĠSettings Config Ġobject Ġwhich Ġcontents Ġwill Ġbe Ġstored ĊĠĠĠĠ Ġ* Ġ@ throws Ġ[ IOException ] ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġstore Settings ( context : ĠContext , Ġsettings Config : ĠSettings Config ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsettings Json String Ġ= ĠtoJson ( settings Config ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsettings File Ġ= ĠgetFile ( context )[ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsettings File . write Text ( settings Json String , ĠCharset . default Charset ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġfunction Ġrest ores Ġthe Ġdefault Ġsettings / main Ġconfig . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ context ] ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġrestore Defaults ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdefault Main Json String Ġ= ĠtoJson ( default Main Config ) ĊĠĠĠĠĠĠĠ Ġval Ġdefault Settings Json String Ġ= ĠtoJson ( default Settings Config ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsettings File Ġ= ĠgetFile ( context )[ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsettings File . write Text ( default Settings Json String , ĠCharset . default Charset ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain File Ġ= ĠgetFile ( context )[ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain File . write Text ( default Main Json String , ĠCharset . default Charset ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġprivate Ġfunction Ġreturns Ġthe Ġcurrent Ġconfig . json / settings Config . json Ġfile Ġor Ġcreates Ġit , ĊĠĠĠĠ Ġ* Ġif Ġit Ġdoes Ġnot Ġexist . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ context ] Ġthe Ġcurrent Ġcontext ĊĠĠĠĠ Ġ* Ġ@ throws Ġ[ IOException ] ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ ArrayList ]< File > ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠgetFile ( context : ĠContext ): ĠArrayList < File > Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdir Path Ġ= Ġcontext . files Dir ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfig Directory Ġ= ĠFile ( dir Path , Ġ" config ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Directory . mkdir s () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsettings File Ġ= ĠFile ( config Directory , Ġ" settings Config . json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmain File Ġ= ĠFile ( config Directory , Ġ" config . json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! main File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain File . write Text ( toJson ( default Main Config ), ĠCharset . default Charset ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! settings File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsettings File . write Text ( toJson ( default Settings Config ), ĠCharset . default Charset ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġarray ListOf < File >( settings File , Ġmain File ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġprivate Ġfunction Ġparses Ġa Ġgiven ĠJSON Ġstring Ġinto Ġa Ġ[ Main Config ] Ġobject . ĠThe Ġobject Ġis Ġstored ĊĠĠĠĠ Ġ* Ġin Ġclass Ġattributes Ġ[ main Config ] Ġ([ image Analyzer Config ]). ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ json String ] ĠJSON Ġstring Ġwhich Ġwill Ġbe Ġconverted Ġinto ĠMain Config Ġobject ĊĠĠĠĠ Ġ* Ġ@ throws Ġ[ Malformed Json Exception ] ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Main Config ] ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġinternal Ġfun Ġfrom Json To Main ( json String : ĠString ): ĠMain Config Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġgson . fromJson < Main Config >( json String , ĠMain Config :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJson ParseException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠMal formed Json Exception ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis :: class . java . name Ġ+ Ġ" Ġ: Ġthe Ġgiven Ġjson Ġstring " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġis Ġnot ĠJSON Ġcompliant ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġprivate Ġfunction Ġparses Ġa Ġgiven ĠJSON Ġstring Ġinto Ġa Ġ[ Settings Config ] Ġobject . ĠThe Ġobject Ġis Ġstored ĊĠĠĠĠ Ġ* Ġin Ġclass Ġattributes Ġ[ settings Config ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ json String ] ĠJSON Ġstring Ġwhich Ġwill Ġbe Ġconverted Ġinto ĠMain Config Ġobject ĊĠĠĠĠ Ġ* Ġ@ throws Ġ[ Malformed Json Exception ] ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Settings Config ] ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġfrom Json To Settings ( json String : ĠString ): ĠSettings Config Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġgson . fromJson < Settings Config >( json String , ĠSettings Config :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJson ParseException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠMal formed Json Exception ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis :: class . java . name Ġ+ Ġ" Ġ: Ġthe Ġgiven Ġjson Ġstring " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġis Ġnot ĠJSON Ġcompliant ." ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġprivate Ġfunction Ġparses Ġa Ġgiven Ġ[ Main Config ] Ġobject Ġinto Ġa ĠJSON Ġstring . ĠThis Ġstring Ġwill ĊĠĠĠĠ Ġ* Ġbe Ġreturned . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ config ] Ġ[ Main Config ] Ġobject Ġwhich Ġwill Ġbe Ġparsed Ġto ĠJSON ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ String ] ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠtoJson ( config : ĠMain Config ): ĠString Ġ= Ġgson . toJson ( config ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġprivate Ġfunction Ġparses Ġa Ġgiven Ġ[ Settings Config ] Ġobject Ġinto Ġa ĠJSON Ġstring . ĠThis Ġstring Ġwill ĊĠĠĠĠ Ġ* Ġbe Ġreturned . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ[ config ] Ġ[ Settings Config ] Ġobject Ġwhich Ġwill Ġbe Ġparsed Ġto ĠJSON ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ String ] ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġprivate Ġfun ĠtoJson ( config : ĠSettings Config ): ĠString Ġ= Ġgson . toJson ( config ) Ċ } Ċ