package Ġcom . ru u vi . station . dashboard . ui Ċ Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . util . Display Metrics Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . core . widget . ImageView Compat Ċ import Ġcom . ru u vi . station . R Ċ import Ġcom . ru u vi . station . alarm . domain . Alarm Status Ċ import Ġcom . ru u vi . station . databinding . Item Dashboard Binding Ċ import Ġcom . ru u vi . station . tag . domain . R uu vi Tag Ċ import Ġcom . ru u vi . station . units . domain . Units Converter Ċ import Ġcom . ru u vi . station . util . Utils Ċ import Ġcom . ru u vi . station . util . extensions . descri bing Time Since Ċ Ċ class ĠR uu vi Tag Adapter ( ĊĠĠĠ Ġprivate Ġval Ġactivity : ĠAppCompatActivity , ĊĠĠĠ Ġitems : ĠList < R uu vi Tag >, ĊĠĠĠ Ġprivate Ġval Ġconverter : ĠUnits Converter Ċ ) Ġ: ĠArray Adapter < R uu vi Tag >( activity , Ġ 0 , Ġitems ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= Ġif Ġ( convert View Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Dashboard Binding . bind ( convert View ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Dashboard Binding . inflate ( LayoutInflater . from ( context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . dashboard Container . tag Ġ= Ġitem ĊĊĠĠĠĠĠĠĠ Ġitem ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . deviceId . text Ġ= Ġit . displayName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . temperature . text Ġ= Ġit . temperature String ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . humidity . text Ġ= Ġit . humidity String ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . pressure . text Ġ= Ġit . pressure String ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . movement . text Ġ= Ġit . movement Counter . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġball Color Res Ġ= Ġif Ġ( position Ġ% Ġ 2 Ġ== Ġ 0 ) ĠR . color . main Ġelse ĠR . color . main Light ĊĠĠĠĠĠĠĠ Ġval Ġball Radius Ġ= Ġcontext . resources . get Dimension ( R . dim en . letter _ ball _ radius ). toInt () ĊĠĠĠĠĠĠĠ Ġval Ġball Color Ġ= ĠContext Compat . getColor ( context , Ġball Color Res ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdisplay Metrics Ġ= ĠDisplay Metrics () ĊĠĠĠĠĠĠĠ Ġactivity . window Manager . default Display . get Metrics ( display Metrics ) ĊĠĠĠĠĠĠĠ Ġval Ġletter Size Ġ= Ġ 3 3 Ġ* Ġdisplay Metrics . scaled Density ĊĊĠĠĠĠĠĠĠ Ġval Ġball Bitmap Ġ= ĠUtils . create Ball ( ball Radius , Ġball Color , ĠColor . WHITE , Ġbinding . deviceId . text . toString (), Ġletter Size ) ĊĠĠĠĠĠĠĠ Ġbinding . letter Image . setImage Bitmap ( ball Bitmap ) ĊĊĠĠĠĠĠĠĠ Ġval ĠupdatedAt Ġ= Ġitem ?. updatedAt ?. descri bing Time Since ( activity ) ĊĠĠĠĠĠĠĠ Ġbinding . last Seen TextView . text Ġ= ĠupdatedAt ĊĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġitem ?. status Ġ?: ĠAlarm Status . NO _ ALARM ĊĠĠĠĠĠĠĠ Ġval Ġ( isVisible , Ġicon Resource ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlarm Status . NO _ ALARM Ġ-> Ġtrue Ġto ĠR . drawable . ic _ notifications _ off _ 2 4 px ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlarm Status . NO _ TRIGGER ED Ġ-> Ġtrue Ġto ĠR . drawable . ic _ notifications _ on _ 2 4 px ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlarm Status . TRIGGER ED Ġ-> Ġ! binding . bell . isVisible Ġto ĠR . drawable . ic _ notifications _ active _ 2 4 px ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . bell . visibility Ġ= Ġif Ġ( isVisible ) ĠView . VISIBLE Ġelse ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġbinding . bell . setImage Resource ( icon Resource ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcolor State List Ġ= ĠColor State List . valueOf ( Context Compat . getColor ( context , ĠR . color . main )) ĊĠĠĠĠĠĠĠ ĠImageView Compat . setImage Tint List ( binding . bell , Ġcolor State List ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} Ċ }