package Ġcom . mat he ws achin . f ate grand autom ata . prefs Ċ Ċ import Ġcom . mat he ws achin . f ate grand autom ata . Storage Dirs Ċ import Ġcom . mat he ws achin . f ate grand autom ata . prefs . helpers . Shared Preference Deleg ation Ċ import Ġcom . mat he ws achin . f ate grand autom ata . prefs . helpers . map Ċ import Ġcom . mat he ws achin . f ate grand autom ata . scripts . enums . Support Selection Mode Enum Ċ import Ġcom . mat he ws achin . f ate grand autom ata . scripts . modules . limit Broken Character Ċ import Ġcom . mat he ws achin . f ate grand autom ata . scripts . prefs . ISupport Preferences Ċ import Ġjava . io . File Ċ Ċ internal Ġclass ĠSupport Preferences ( ĊĠĠĠ Ġval Ġprefs : ĠShared Preference Deleg ation , ĊĠĠĠ Ġval Ġstorage Dirs : ĠStorage Dirs Ċ ) Ġ: ĠIS upport Preferences Ġ{ ĊĠĠĠ Ġoverride Ġval Ġfriend Names Ġby Ġprefs . string Set ( R . string . pref _ support _ friend _ names ) ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġfriend Set Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfriend Img Folder Name Ġ= Ġstorage Dirs . support Friend Folder . name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfriend Names Ġ= Ġfriend Set ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ"${ friend Img Folder Name }/ $ it " Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfriend Names . join ToString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġpreferred Serv ants Ġby Ġprefs . string Set ( R . string . pref _ support _ pref _ serv ant ) ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġserv ant Set Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġserv ants Ġ= Ġmutable ListOf < String >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( serv ant Entry Ġin Ġserv ant Set ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdir Ġ= ĠFile ( storage Dirs . support Serv ant Img Folder , Ġserv ant Entry ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dir . isDirectory Ġ&& Ġdir . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Names Ġ= Ġdir . list Files () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . isFile Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGive Ġpriority Ġto Ġlater Ġasc ensions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted With ( compare By Descending ( String . CASE _ INS ENS ITIVE _ ORDER ) Ġ{ Ġit . name Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ"${ serv ant Entry }/${ it . name }" Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġserv ants . addAll ( file Names ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġserv ants . add ( serv ant Entry ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġserv ant Img Folder Name Ġ= Ġstorage Dirs . support Serv ant Img Folder . name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġserv ants . join ToString Ġ{ Ġ"${ serv ant Img Folder Name }/ $ it " Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġm lb Ġby Ġprefs . bool ( R . string . pref _ support _ pref _ ce _ ml b ) ĊĊĠĠĠ Ġoverride Ġval Ġpreferred CE s Ġby Ġprefs . string Set ( R . string . pref _ support _ pref _ ce ). map Ġ{ Ġce Set Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġce Img Folder Name Ġ= Ġstorage Dirs . support Ce Folder . name ĊĊĠĠĠĠĠĠĠ Ġvar Ġces Ġ= Ġce Set ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ"${ ce Img Folder Name }/ $ it " Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( ml b ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġces Ġ= Ġces . map Ġ{ Ġ"$ limit Broken Character ${ it }" Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġces . join ToString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġfriends Only Ġby Ġprefs . bool ( R . string . pref _ support _ friends _ only ) ĊĊĠĠĠ Ġoverride Ġval Ġselection Mode Ġby Ġprefs . enum ( ĊĠĠĠĠĠĠĠ ĠR . string . pref _ support _ mode , ĊĠĠĠĠĠĠĠ ĠSupport Selection Mode Enum . Preferred ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġval Ġfallback To Ġby Ġprefs . enum ( ĊĠĠĠĠĠĠĠ ĠR . string . pref _ support _ fallback , ĊĠĠĠĠĠĠĠ ĠSupport Selection Mode Enum . Manual ĊĠĠĠ Ġ) Ċ }