package Ġio . horizontal systems . bank wallet . modules . settings . security . privacy Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġio . horizontal systems . bank wallet . core . blockchain Logo Ċ import Ġio . horizontal systems . bank wallet . databinding . ViewHolder Privacy Settings Section Description Binding Ċ import Ġio . horizontal systems . bank wallet . databinding . ViewHolder Privacy Settings Section Title Binding Ċ import Ġio . horizontal systems . bank wallet . databinding . ViewHolder Setting With Dropdown Binding Ċ import Ġio . horizontal systems . bank wallet . entities . title Ċ import Ġio . horizontal systems . bank wallet . modules . settings . security . privacy . Privacy Settings Module . IP riv acy Settings View Delegate Ċ Ċ class ĠPrivacy Settings Adapter ( ĊĠĠĠ Ġprivate Ġval Ġdelegate : ĠIP riv acy Settings View Delegate , ĊĠĠĠ Ġprivate Ġval Ġtitle : ĠString , ĊĠĠĠ Ġprivate Ġval Ġdescription : ĠString Ċ ) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠVIEW _ TYPE _ ITEM Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġval ĠVIEW _ TYPE _ TITLE Ġ= Ġ 2 ĊĠĠĠ Ġprivate Ġval ĠVIEW _ TYPE _ DESCRIPTION Ġ= Ġ 3 ĊĊĠĠĠ Ġvar Ġitems Ġ= ĠlistOf < Privacy Settings View Item >() ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠVIEW _ TYPE _ TITLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . size Ġ+ Ġ 1 Ġ-> ĠVIEW _ TYPE _ DESCRIPTION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠVIEW _ TYPE _ ITEM ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVIEW _ TYPE _ ITEM Ġ-> ĠPrivacy Settings Item ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewHolder Setting With Dropdown Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), Ġparent , Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġdelegate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVIEW _ TYPE _ TITLE Ġ-> ĠTitle ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewHolder Privacy Settings Section Title Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), Ġparent , Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVIEW _ TYPE _ DESCRIPTION Ġ-> ĠDescription ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewHolder Privacy Settings Section Description Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), Ġparent , Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" No Ġsuch Ġview Ġtype ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( items . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġitems . size Ġ+ Ġ 2 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( holder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠTitle ViewHolder Ġ-> Ġholder . bind ( title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDescription ViewHolder Ġ-> Ġholder . bind ( description ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPrivacy Settings Item ViewHolder Ġ-> Ġholder . bind ( items [ position Ġ- Ġ 1 ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠTitle ViewHolder ( private Ġval Ġbinding : ĠViewHolder Privacy Settings Section Title Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . title Text . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠDescription ViewHolder ( private Ġval Ġbinding : ĠViewHolder Privacy Settings Section Description Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . description Text . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠPrivacy Settings Item ViewHolder ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbinding : ĠViewHolder Setting With Dropdown Binding , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġview Delegate : ĠIP riv acy Settings View Delegate ĊĠĠĠ Ġ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( view Item : ĠPrivacy Settings View Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . dropdown View . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Icon ( view Item . initial Sync Setting . coin Type . blockchain Logo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Title ( view Item . initial Sync Setting . coin Type . title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dropdown Value ( view Item . initial Sync Setting . sync Mode . title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dropdown Icon ( view Item . enabled ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset List Position ( view Item . list Position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . dropdown View . isEnabled Ġ= Ġview Item . enabled ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . dropdown View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Delegate . on Item Tap ( view Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ