package Ġcom . k yle cor ry . trail _ sense . tools . flash light . ui Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . k yle cor ry . trail _ sense . databinding . Fragment Tool Screen Flash light Binding Ċ import Ġcom . k yle cor ry . trail _ sense . tools . flash light . infrastructure . Screen Flash light Ċ import Ġcom . k yle cor ry . tr ails ense core . infrastructure . persistence . Cache Ċ import Ġcom . k yle cor ry . tr ails ense core . infrastructure . view . Bound Fragment Ċ Ċ class ĠFragment Tool Screen Flash light : ĠBound Fragment < Fragment Tool Screen Flash light Binding >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġflash light Ġby Ġlazy Ġ{ ĠScreen Flash light ( require Activity (). window ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġcache Ġby Ġlazy Ġ{ ĠCache ( require Context ()) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġgenerate Binding ( ĊĠĠĠĠĠĠĠ Ġlayout Inflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ? ĊĠĠĠ Ġ): ĠFragment Tool Screen Flash light Binding Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFragment Tool Screen Flash light Binding . inflate ( layout Inflater , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding . off Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflash light . off () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (). on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( cache . getBoolean (" cache _ red _ light ") Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcache . put Boolean (" cache _ red _ light ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( cache . getBoolean (" cache _ red _ light ") Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . screen Flash light . set BackgroundColor ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . red White Switch er . set BackgroundColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . screen Flash light . set BackgroundColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . red White Switch er . set BackgroundColor ( Color . RED ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . red White Switch er . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cache . getBoolean (" cache _ red _ light ") Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . screen Flash light . set BackgroundColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . red White Switch er . set BackgroundColor ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcache . put Boolean (" cache _ red _ light ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . screen Flash light . set BackgroundColor ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . red White Switch er . set BackgroundColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcache . put Boolean (" cache _ red _ light ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġflash light . on () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġflash light . off () ĊĠĠĠ Ġ} Ċ Ċ }