package Ġlin us f ess ler . alar mt iles . shared . views Ċ Ċ import Ġandroid . animation . Value Animator Ċ import Ġandroid . animation . Value Animator . Animator Update Listener Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . vect ord raw able . graphics . drawable . Argb Evaluator Ċ import Ġcom . google . android . material . text view . Material TextView Ċ import Ġlin us f ess ler . alar mt iles . R Ċ Ċ class ĠQuick Settings Tile Ġ: ĠFrame Layout Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġicon Color En abling Animator : ĠValue Animator ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġicon Color Dis abling Animator : ĠValue Animator ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠbackgroundColor En abling Animator : ĠValue Animator ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠbackgroundColor Dis abling Animator : ĠValue Animator ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlabel View : ĠMaterial TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsubtitle View : ĠMaterial TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġicon View : ĠImageView ĊĊĠĠĠ Ġprivate Ġvar Ġis Enabled : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context , Ġattrs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context , Ġattrs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġinf late View ( context ) ĊĠĠĠĠĠĠĠ Ġinit Self ( context ) ĊĠĠĠĠĠĠĠ Ġattrs ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit With Attrs ( context , Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Restricted Api ") ĊĠĠĠ Ġprivate Ġfun Ġinit Self ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarg b Evaluator Ġ= ĠArg b Evaluator () ĊĠĠĠĠĠĠĠ Ġval Ġresources Ġ= Ġcontext . resources ĊĠĠĠĠĠĠĠ Ġval Ġtheme Ġ= Ġcontext . theme ĊĊĠĠĠĠĠĠĠ Ġval Ġquick Settings Icon Enabled Color Ġ= Ġresources . getColor ( R . color . quick Settings Icon Enabled , Ġtheme ) ĊĠĠĠĠĠĠĠ Ġval Ġquick Settings Icon Disabled Color Ġ= Ġresources . getColor ( R . color . quick Settings Icon Disabled , Ġtheme ) ĊĠĠĠĠĠĠĠ Ġval Ġquick Settings Background Enabled Color Ġ= Ġresources . getColor ( R . color . quick Settings Background Enabled , Ġtheme ) ĊĠĠĠĠĠĠĠ Ġval Ġquick Settings Background Disabled Color Ġ= Ġresources . getColor ( R . color . quick Settings Background Disabled , Ġtheme ) ĊĊĠĠĠĠĠĠĠ Ġicon Color En abling Animator Ġ= ĠValue Animator . of Object ( arg b Evaluator , Ġquick Settings Icon Disabled Color , Ġquick Settings Icon Enabled Color ) ĊĠĠĠĠĠĠĠ Ġicon Color Dis abling Animator Ġ= ĠValue Animator . of Object ( arg b Evaluator , Ġquick Settings Icon Enabled Color , Ġquick Settings Icon Disabled Color ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Color Animator Update Listener Ġ= ĠAn imator Update Listener Ġ{ Ġanim ator : ĠValue Animator Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġicon Color Ġ= Ġanim ator . animated Value Ġas ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon View . image Tint List Ġ= ĠColor State List . valueOf ( icon Color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġicon Color En abling Animator . add Update Listener ( icon Color Animator Update Listener ) ĊĠĠĠĠĠĠĠ Ġicon Color Dis abling Animator . add Update Listener ( icon Color Animator Update Listener ) ĊĊĠĠĠĠĠĠĠ ĠbackgroundColor En abling Animator Ġ= ĠValue Animator . of Object ( arg b Evaluator , Ġquick Settings Background Disabled Color , Ġquick Settings Background Enabled Color ) ĊĠĠĠĠĠĠĠ ĠbackgroundColor Dis abling Animator Ġ= ĠValue Animator . of Object ( arg b Evaluator , Ġquick Settings Background Enabled Color , Ġquick Settings Background Disabled Color ) ĊĠĠĠĠĠĠĠ Ġval ĠbackgroundColor Animator Update Listener Ġ= ĠAn imator Update Listener Ġ{ Ġanim ator : ĠValue Animator Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠbackgroundColor Ġ= Ġanim ator . animated Value Ġas ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon View . background Tint List Ġ= ĠColor State List . valueOf ( backgroundColor ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠbackgroundColor En abling Animator . add Update Listener ( backgroundColor Animator Update Listener ) ĊĠĠĠĠĠĠĠ ĠbackgroundColor Dis abling Animator . add Update Listener ( backgroundColor Animator Update Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinf late View ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . quick _ settings _ tile , Ġthis ) ĊĠĠĠĠĠĠĠ Ġlabel View Ġ= Ġroot . findViewById ( R . id . label ) ĊĠĠĠĠĠĠĠ Ġsubtitle View Ġ= Ġroot . findViewById ( R . id . subtitle ) ĊĠĠĠĠĠĠĠ Ġicon View Ġ= Ġroot . findViewById ( R . id . icon ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit With Attrs ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstyled Attributes Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Quick Settings Tile ) ĊĠĠĠĠĠĠĠ Ġval Ġis Enabled Ġ= Ġstyled Attributes . getBoolean ( R . style able . Quick Settings Tile _ enabled , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġlabel Ġ= Ġstyled Attributes . getString ( R . style able . Quick Settings Tile _ label ) ĊĠĠĠĠĠĠĠ Ġval Ġsubtitle Ġ= Ġstyled Attributes . getString ( R . style able . Quick Settings Tile _ subtitle ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Ġ= Ġstyled Attributes . get Drawable ( R . style able . Quick Settings Tile _ icon ) ĊĠĠĠĠĠĠĠ Ġstyled Attributes . recycle () ĊĊĠĠĠĠĠĠĠ Ġthis . isEnabled Ġ= Ġis Enabled ĊĊĠĠĠĠĠĠĠ Ġlabel ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Label ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsubtitle ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Subtitle ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġicon ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Icon ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Enabled () Ġ= Ġis Enabled ĊĊĠĠĠ Ġoverride Ġfun Ġset Enabled ( enabled : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( enabled Ġ== Ġis Enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Color En abling Animator . start () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor En abling Animator . start () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Color Dis abling Animator . start () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Dis abling Animator . start () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . isEnabled Ġ= Ġenabled ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Label ( label : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlabel View . text Ġ= Ġlabel ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Subtitle ( subtitle : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsubtitle View . text Ġ= Ġsubtitle ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Icon ( icon : ĠDrawable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġicon View . setImage Drawable ( icon ) ĊĠĠĠ Ġ} Ċ }