package Ġcom . ak ri base . card component . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . util . Log Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . constraint layout . motion . widget . Motion Layout Ċ import Ġcom . ak ri base . card component . R ĊĊ Ċ fun ĠContext . dp To Px ( dp : ĠInt ) Ġ= ĠTyped Value . apply Dimension ( ĊĠĠĠ ĠTyped Value . COMPLEX _ UNIT _ DIP , ĊĠĠĠ Ġdp . toFloat (), ĊĠĠĠ Ġresources . display Metrics Ċ ) Ċ Ċ val ĠViewGroup . in flater ĊĠĠĠ Ġget () Ġ= ĠLayoutInflater . from ( context ) Ċ Ċ fun ĠViewGroup . inflate (@ Layout Res Ġres : ĠInt ) Ġ= ĊĠĠĠ Ġinflater . inflate ( res , Ġthis , Ġfalse ) Ċ Ċ fun ĠString . parse Color () Ġ= Ġtry Ġ{ ĊĠĠĠ ĠColor . parse Color ( this . trim ()) Ċ } Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠ ĠLog . e (" PARSE ĠCOLOR ", Ġthis , Ġe ) ĊĠĠĠ ĠColor . TRANSP ARENT Ċ } Ċ Ċ fun ĠMotion Layout . transition () Ġ= Ġrun Ġ{ ĊĠĠĠ Ġif Ġ( currentState Ġ== ĠR . id . start ) Ġtransition ToEnd () Ġelse Ġtransition To Start () ĊĠĠĠ Ġtrue Ċ } Ċ Ċ /* Ġno - op Ġ*/ Ċ fun Ġnoop () Ġ{} Ċ Ċ fun Ġget Screen Width () Ġ= ĠResources . getSystem (). display Metrics . width Pixels Ċ Ċ fun Ġ< T > Ġcheck Equal ( obj 1 : ĠT , Ġobj 2 : ĠT , Ġvar arg Ġatt : ĠT . () Ġ-> ĠAny ): ĠBoolean Ġ{ ĊĠĠĠ Ġatt . forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( obj 1 . it () Ġ!= Ġobj 2 . it ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġtrue Ċ } Ċ