/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠPeter ĠKen ji ĠY aman aka Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . py am soft . word wiz . settings Ċ Ċ import Ġandroidx . lifecycle . Lifecycle Observer Ċ import Ġandroidx . preference . Preference Screen Ċ import Ġandroidx . preference . Switch Preference Compat Ċ import Ġcom . py am soft . py d roid . arch . Ui Render Ċ import Ġcom . py am soft . py d roid . ui . arch . Pref Ui View Ċ import Ġcom . py am soft . word wiz . R Ċ import Ġcom . py am soft . word wiz . settings . Settings View Event . Toggle Letter Count Ċ import Ġcom . py am soft . word wiz . settings . Settings View Event . Toggle Word Count Ċ import Ġjavax . inject . Inject Ċ Ċ internal Ġclass ĠSettings View Ġ@ Inject Ġinternal Ġconstructor ( preference Screen : ĠPreference Screen ) Ġ: ĊĠĠĠ ĠPref Ui View < Settings ViewState , ĠSettings View Event >( preference Screen ), ĠLifecycle Observer Ġ{ ĊĊĠ Ġprivate Ġval Ġword Count Ġby Ġbound Pref < Switch Preference Compat >( R . string . word _ count _ key ) ĊĠ Ġprivate Ġval Ġletter Count Ġby Ġbound Pref < Switch Preference Compat >( R . string . letter _ count _ key ) ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġdo On Te ardown Ġ{ ĊĠĠĠĠĠ Ġword Count . on Preference ClickListener Ġ= Ġnull ĊĠĠĠĠĠ Ġletter Count . on Preference ClickListener Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdo On Inf late Ġ{ ĊĠĠĠĠĠ Ġword Count . setOn Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġpublish ( Toggle Word Count ) ĊĠĠĠĠĠĠĠ Ġreturn @ setOn Preference ClickListener Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdo On Inf late Ġ{ ĊĠĠĠĠĠ Ġletter Count . setOn Preference ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġpublish ( Toggle Letter Count ) ĊĠĠĠĠĠĠĠ Ġreturn @ setOn Preference ClickListener Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġhandle Word Count ( isEnabled : ĠBoolean ) Ġ{ ĊĠĠĠ Ġword Count . isChecked Ġ= Ġis Enabled ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġhandle Letter Count ( isEnabled : ĠBoolean ) Ġ{ ĊĠĠĠ Ġletter Count . isChecked Ġ= Ġis Enabled ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Render ( state : ĠUi Render < Settings ViewState >) Ġ{ ĊĠĠĠ Ġstate . map Changed Ġ{ Ġit . is Word Count Enabled Ġ}. render ( view Scope ) Ġ{ Ġhandle Word Count ( it ) Ġ} ĊĠĠĠ Ġstate . map Changed Ġ{ Ġit . is Letter Count Enabled Ġ}. render ( view Scope ) Ġ{ Ġhandle Letter Count ( it ) Ġ} ĊĠ Ġ} Ċ } Ċ