package Ġio . horizontal systems . bank wallet . modules . settings . security . privacy Ċ Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġio . horizontal systems . bank wallet . R Ċ import Ġio . horizontal systems . bank wallet . core . managers . Tor Status Ċ import Ġio . horizontal systems . bank wallet . databinding . ViewHolder Tor Control Binding Ċ Ċ class ĠPrivacy Settings Tor Adapter ( private Ġval Ġlistener : ĠListener ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Privacy Settings Tor Adapter . Tor Control ViewHolder >() Ġ{ ĊĊĠĠĠ Ġinterface ĠListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Tor Switch Checked ( checked : ĠBoolean ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġtor Status : ĠTor Status Ġ= ĠTor Status . Closed ĊĠĠĠ Ġprivate Ġvar Ġchecked Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠTor Control ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTor Control ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewHolder Tor Control Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), Ġparent , Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Tor Switch Checked ( isChecked ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠTor Control ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( tor Status , Ġchecked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Tor Switch ( checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . checked Ġ= Ġchecked ĊĠĠĠĠĠĠĠ Ġnotify Item Changed ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind ( tor Status : ĠTor Status ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . tor Status Ġ= Ġtor Status ĊĠĠĠĠĠĠĠ Ġnotify Item Changed ( 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠTor Control ViewHolder ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbinding : ĠViewHolder Tor Control Binding , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġon Switch : Ġ( isChecked : ĠBoolean ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tor Control View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tor Connection Switch . isChecked Ġ= Ġ! binding . tor Connection Switch . isChecked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( tor Status : ĠTor Status , Ġchecked : ĠBoolean ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tor Connection Switch . setOn Checked ChangeListener ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tor Connection Switch . isChecked Ġ= Ġchecked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tor Connection Switch . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Switch . invoke ( isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( tor Status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTor Status . Connecting Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . connection Spinner . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . control Icon . setImage Drawable ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . subtitle Text . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . wrapper . context . getString ( R . string . Tor Page _ Connecting ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTor Status . Connected Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . connection Spinner . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . control Icon . image Tint List Ġ= Ġget Tint ( R . color . yellow _ d ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . control Icon . setImage Resource ( R . drawable . ic _ tor _ connection _ success _ 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . subtitle Text . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . wrapper . context . getString ( R . string . Tor Page _ Connected ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTor Status . Failed Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . connection Spinner . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . control Icon . image Tint List Ġ= Ġget Tint ( R . color . yellow _ d ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . control Icon . setImage Resource ( R . drawable . ic _ tor _ connection _ error _ 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . subtitle Text . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . wrapper . context . getString ( R . string . Tor Page _ Failed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTor Status . Closed Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . connection Spinner . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . control Icon . image Tint List Ġ= Ġget Tint ( R . color . yellow _ d ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . control Icon . setImage Resource ( R . drawable . ic _ tor _ connection _ 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . subtitle Text . text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . wrapper . context . getString ( R . string . Tor Page _ Connection Closed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Tint ( color : ĠInt ) Ġ= Ġbinding . wrapper . context ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor State List . valueOf ( Context Compat . getColor ( it , Ġcolor )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ