package Ġcom . fs ck . k 9 m _ m . ui . settings . import Ċ Ċ import Ġcom . fs ck . k 9 m _ m . ui . settings . import . Settings ListItem . General Settings Ċ Ċ class ĠSettings Import Ui Model Ġ{ ĊĠĠĠ Ġvar Ġsettings List : ĠList < Settings ListItem > Ġ= Ġempty List () ĊĠĠĠ Ġvar Ġis Settings List Visible Ġ= Ġfalse ĊĠĠĠ Ġvar Ġis Settings List Enabled Ġ= Ġtrue ĊĠĠĠ Ġvar Ġimport Button : ĠButton State Ġ= ĠButton State . DISABLED ĊĠĠĠ Ġvar Ġclose Button : ĠButton State Ġ= ĠButton State . GONE ĊĠĠĠ Ġvar Ġclose Button Label : ĠClose Button Label Ġ= ĠClose Button Label . OK ĊĠĠĠ Ġvar Ġis Pick Document Button Visible Ġ= Ġtrue ĊĠĠĠ Ġvar Ġis Pick Document Button Enabled Ġ= Ġtrue ĊĠĠĠ Ġvar ĠisLoading Progress Visible Ġ= Ġfalse ĊĠĠĠ Ġvar Ġis Import Progress Visible Ġ= Ġfalse ĊĠĠĠ Ġvar Ġstatus Text Ġ= ĠStatus Text . HIDDEN ĊĊĠĠĠ Ġval Ġhas Import Started ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġimport Button Ġ== ĠButton State . GONE ĊĊĠĠĠ Ġval Ġhas Document Been Read ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġis Settings List Visible ĊĊĠĠĠ Ġval Ġwas Account Import Successful ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġhas Import Started Ġ&& Ġsettings List . any Ġ{ Ġit Ġ! is ĠGeneral Settings Ġ&& Ġit . import Status . is Success } ĊĊĊĠĠĠ Ġfun Ġenable Pick Document Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġis Pick Document Button Enabled Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdisable Pick Document Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġstatus Text Ġ= ĠStatus Text . HIDDEN ĊĠĠĠĠĠĠĠ Ġis Pick Document Button Enabled Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġenable Import Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġimport Button Ġ= ĠButton State . ENABLED ĊĠĠĠĠĠĠĠ Ġis Import Progress Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Settings List Enabled Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdisable Import Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġimport Button Ġ= ĠButton State . DISABLED ĊĠĠĠĠĠĠĠ Ġis Import Progress Visible Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Loading Progress () Ġ{ ĊĠĠĠĠĠĠĠ ĠisLoading Progress Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġis Pick Document Button Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Settings List Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġstatus Text Ġ= ĠStatus Text . HIDDEN ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Import ing Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġis Import Progress Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġis Settings List Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġimport Button Ġ= ĠButton State . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġstatus Text Ġ= ĠStatus Text . IMPORT ING _ PROGRESS ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Success Text () Ġ{ ĊĠĠĠĠĠĠĠ Ġimport Button Ġ= ĠButton State . GONE ĊĠĠĠĠĠĠĠ Ġclose Button Ġ= ĠButton State . ENABLED ĊĠĠĠĠĠĠĠ Ġclose Button Label Ġ= ĠClose Button Label . OK ĊĠĠĠĠĠĠĠ Ġis Import Progress Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Settings List Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġstatus Text Ġ= ĠStatus Text . IMPORT _ SUCCESS ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Password Required Text () Ġ{ ĊĠĠĠĠĠĠĠ Ġimport Button Ġ= ĠButton State . GONE ĊĠĠĠĠĠĠĠ Ġclose Button Ġ= ĠButton State . ENABLED ĊĠĠĠĠĠĠĠ Ġclose Button Label Ġ= ĠClose Button Label . L ATER ĊĠĠĠĠĠĠĠ Ġis Import Progress Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Settings List Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġstatus Text Ġ= ĠStatus Text . IMPORT _ SUCCESS _ PASSWORD _ REQUIRED ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Read Failure Text () Ġ{ ĊĠĠĠĠĠĠĠ ĠisLoading Progress Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Pick Document Button Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġis Pick Document Button Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġstatus Text Ġ= ĠStatus Text . IMPORT _ READ _ FAILURE ĊĠĠĠĠĠĠĠ Ġimport Button Ġ= ĠButton State . DISABLED ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Import Error Text () Ġ{ ĊĠĠĠĠĠĠĠ ĠisLoading Progress Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Import Progress Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Settings List Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Pick Document Button Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġis Pick Document Button Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġstatus Text Ġ= ĠStatus Text . IMPORT _ FAILURE ĊĠĠĠĠĠĠĠ Ġimport Button Ġ= ĠButton State . DISABLED ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Partial Import Error Text () Ġ{ ĊĠĠĠĠĠĠĠ Ġimport Button Ġ= ĠButton State . GONE ĊĠĠĠĠĠĠĠ Ġclose Button Ġ= ĠButton State . ENABLED ĊĠĠĠĠĠĠĠ Ġclose Button Label Ġ= ĠClose Button Label . OK ĊĠĠĠĠĠĠĠ Ġis Import Progress Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Settings List Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġstatus Text Ġ= ĠStatus Text . IMPORT _ PAR TIAL _ FAILURE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinitialize Settings List ( list : ĠList < Settings ListItem >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsettings List Ġ= Ġlist ĊĠĠĠĠĠĠĠ Ġis Settings List Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠisLoading Progress Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġis Pick Document Button Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġupdate Import Button From Selection () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtoggle Settings ListItem Selection ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsettings ListItem Ġ= Ġsettings List [ position ] ĊĠĠĠĠĠĠĠ Ġsettings ListItem . selected Ġ= Ġ! settings ListItem . selected ĊĠĠĠĠĠĠĠ Ġstatus Text Ġ= ĠStatus Text . HIDDEN ĊĠĠĠĠĠĠĠ Ġupdate Import Button From Selection () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Settings List State ( position : ĠInt , Ġstatus : ĠImport Status ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsettings List [ position ]. import Status Ġ= Ġstatus ĊĠĠĠĠĠĠĠ Ġsettings List [ position ]. enabled Ġ= Ġstatus Ġ== ĠImport Status . IMPORT _ SUCCESS _ PASSWORD _ REQUIRED ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Import Button From Selection () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Import Progress Visible ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġat Least Once Selected Ġ= Ġsettings List . any Ġ{ Ġit . selected Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( at Least Once Selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Import Button () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisable Import Button () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Close Button And Import Status Text () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerrors Only Ġ= Ġsettings List . none Ġ{ Ġit . import Status . is Success Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( errors Only ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Import Error Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpasswords Missing Ġ= Ġsettings List . any Ġ{ Ġit . import Status Ġ== ĠImport Status . IMPORT _ SUCCESS _ PASSWORD _ REQUIRED Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( passwords Missing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Password Required Text () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpartial Import Error Ġ= Ġsettings List . any Ġ{ Ġit . import Status Ġ== ĠImport Status . IMPORT _ FAILURE Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( partial Import Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Partial Import Error Text () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Success Text () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ sealed Ġclass ĠSettings ListItem Ġ{ ĊĠĠĠ Ġvar Ġselected : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġvar Ġenabled : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġvar Ġimport Status : ĠImport Status Ġ= ĠImport Status . NOT _ AVAILABLE ĊĊĠĠĠ Ġclass ĠGeneral Settings Ġ: ĠSettings ListItem () ĊĠĠĠ Ġclass ĠAccount ( val Ġaccount Index : ĠInt , Ġvar ĠdisplayName : ĠString ) Ġ: ĠSettings ListItem () Ċ } Ċ Ċ enum Ġclass ĠImport Status Ġ{ ĊĠĠĠ ĠNOT _ AVAILABLE , ĊĠĠĠ ĠNOT _ SELECTED , ĊĠĠĠ ĠIMPORT _ SUCCESS , ĊĠĠĠ ĠIMPORT _ SUCCESS _ PASSWORD _ REQUIRED , ĊĠĠĠ ĠIMPORT _ FAILURE ; ĊĊĠĠĠ Ġval Ġis Success : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis Ġ== ĠIMPORT _ SUCCESS Ġ|| Ġthis Ġ== ĠIMPORT _ SUCCESS _ PASSWORD _ REQUIRED Ċ } Ċ Ċ enum Ġclass ĠButton State Ġ{ ĊĠĠĠ ĠDISABLE D , ĊĠĠĠ ĠENABLE D , ĊĠĠĠ ĠIN VISIBLE , ĊĠĠĠ ĠG ONE Ċ } Ċ Ċ enum Ġclass ĠStatus Text Ġ{ ĊĠĠĠ ĠHID DEN , ĊĠĠĠ ĠIMPORT ING _ PROGRESS , ĊĠĠĠ ĠIMPORT _ SUCCESS , ĊĠĠĠ ĠIMPORT _ SUCCESS _ PASSWORD _ REQUIRED , ĊĠĠĠ ĠIMPORT _ READ _ FAILURE , ĊĠĠĠ ĠIMPORT _ PAR TIAL _ FAILURE , ĊĠĠĠ ĠIMPORT _ FAILURE Ċ } Ċ Ċ enum Ġclass ĠClose Button Label Ġ{ ĊĠĠĠ ĠOK , ĊĠĠĠ ĠL ATER Ċ } Ċ