package Ġcom . sil icon labs . ble demo . Browser . Fragment Ċ Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . sil icon labs . ble demo . R Ċ import Ġkotlinx . android . synt hetic . main . fragment _ sort .* Ċ Ċ class ĠSort Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġsort Callback : ĠSort Callback ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ sort , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġhandle Sort Selection ( sort _ rssi _ asc , ĠSort Mode . RSS I _ ASC , ĠgetString ( R . string . sort _ label _ ascending )) ĊĠĠĠĠĠĠĠ Ġhandle Sort Selection ( sort _ rssi _ desc , ĠSort Mode . RSS I _ DESC , ĠgetString ( R . string . sort _ label _ desc ending )) ĊĠĠĠĠĠĠĠ Ġhandle Sort Selection ( sort _ name _ a _ to _ z , ĠSort Mode . NAME _ A _ TO _ Z , ĠgetString ( R . string . sort _ label _ A _ to _ Z )) ĊĠĠĠĠĠĠĠ Ġhandle Sort Selection ( sort _ name _ z _ to _ a , ĠSort Mode . NAME _ Z _ TO _ A , ĠgetString ( R . string . sort _ label _ Z _ to _ A )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Sort Selection ( layout : ĠView , Ġsort Mode : ĠSort Mode , Ġname : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtv Name Ġ= Ġlayout . findViewById ( R . id . tv _ name ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġiv Check mark Ġ= Ġlayout . findViewById ( R . id . iv _ check mark ) Ġas ĠImageView ĊĠĠĠĠĠĠĠ Ġtv Name . text Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġiv Check mark . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠ Ġlayout . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick ( layout ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isSelected ( layout )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġde selectAll Check boxes () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetSelected ( layout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsort Callback ?. set Sort Mode ( sort Mode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset De selected ( layout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsort Callback ?. set Sort Mode ( Sort Mode . NONE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclick ( layout : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( isSelected ( layout )) Ġset De selected ( layout ) ĊĠĠĠĠĠĠĠ Ġelse ĠsetSelected ( layout ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetSelected ( layout : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtv Name Ġ= Ġlayout . findViewById ( R . id . tv _ name ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġiv Check mark Ġ= Ġlayout . findViewById ( R . id . iv _ check mark ) Ġas ĠImageView ĊĊĠĠĠĠĠĠĠ Ġtv Name . setTextColor ( Context Compat . getColor ( require Context (), ĠR . color . sil abs _ blue )) ĊĠĠĠĠĠĠĠ Ġtv Name . type face Ġ= ĠType face . create (" sans - serif - medium ", ĠType face . NORMAL ) ĊĠĠĠĠĠĠĠ Ġiv Check mark . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset De selected ( layout : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtv Name Ġ= Ġlayout . findViewById ( R . id . tv _ name ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġiv Check mark Ġ= Ġlayout . findViewById ( R . id . iv _ check mark ) Ġas ĠImageView ĊĊĠĠĠĠĠĠĠ Ġtv Name . setTextColor ( Context Compat . getColor ( require Context (), ĠR . color . sil abs _ sub tle _ text )) ĊĠĠĠĠĠĠĠ Ġtv Name . type face Ġ= ĠType face . create (" sans - serif ", ĠType face . NORMAL ) ĊĠĠĠĠĠĠĠ Ġiv Check mark . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Selected ( layout : ĠView ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlayout . findViewById < ImageView >( R . id . iv _ check mark ). visibility Ġ== ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġde selectAll Check boxes () Ġ{ ĊĠĠĠĠĠĠĠ Ġset De selected ( sort _ rssi _ asc ) ĊĠĠĠĠĠĠĠ Ġset De selected ( sort _ rssi _ desc ) ĊĠĠĠĠĠĠĠ Ġset De selected ( sort _ name _ a _ to _ z ) ĊĠĠĠĠĠĠĠ Ġset De selected ( sort _ name _ z _ to _ a ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Callback ( sort Callback : ĠSort Callback ?): ĠSort Fragment Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . sort Callback Ġ= Ġsort Callback ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ enum Ġclass ĠSort Mode ( val Ġres Id : ĠInt ) Ġ{ ĊĠĠĠ ĠRSS I _ ASC ( R . drawable . ic _ sort _ asc ), ĊĠĠĠ ĠRSS I _ DESC ( R . drawable . ic _ sort _ desc ), ĊĠĠĠ ĠNAME _ A _ TO _ Z ( R . drawable . ic _ sort _ a _ z ), ĊĠĠĠ ĠNAME _ Z _ TO _ A ( R . drawable . ic _ sort _ z _ a ), ĊĠĠĠ ĠNONE ( R . drawable . ic _ sort ) Ċ } Ċ Ċ interface ĠSort Callback Ġ{ ĊĠĠĠ Ġfun Ġset Sort Mode ( mode : ĠSort Mode ) Ċ } Ċ