package Ġcom . fly nn ch ow . zero . component . view Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . View Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . fly nn ch ow . zero . base . Base Application Ċ Ċ object ĠView Utils Ġ{ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġshow Soft Input ( view : ĠView ){ ĊĠĠĠĠĠĠĠ Ġview . request Focus () ĊĠĠĠĠĠĠĠ Ġval Ġimm : ĠInput Method Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . context . getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠ Ġimm . show Soft Input ( view , ĠInput Method Manager . SHOW _ IMP LICIT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġhide Soft Input ( context : ĠActivity ){ ĊĠĠĠĠĠĠĠ Ġval Ġview : ĠView ? Ġ= Ġcontext . current Focus ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinput Method Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getSystem Service ( Activity . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Method Manager . hide Soft Input From Window ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . window Token , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInput Method Manager . HIDE _ NOT _ ALWAYS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġscroll ToEnd ( re cyclerView : ĠRecyclerView , Ġadapter : ĠRecyclerView . Adapter < *> ){ ĊĠĠĠĠĠĠĠ Ġre cyclerView . scrollTo Position ( adapter . item Count Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġget Px From Dp ( value : Float ): Int { ĊĠĠĠĠĠĠĠ Ġreturn ĠTyped Value . apply Dimension ( Typed Value . COMPLEX _ UNIT _ DIP , Ġvalue , ĠBase Application . instance . resources ?. display Metrics ). toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġget Px From Sp ( value : Float ): Int { ĊĠĠĠĠĠĠĠ Ġreturn ĠTyped Value . apply Dimension ( Typed Value . COMPLEX _ UNIT _ SP , Ġvalue , ĠBase Application . instance . resources ?. display Metrics ). toInt () ĊĠĠĠ Ġ} Ċ } Ċ Ċ val ĠInt . dp : ĠInt ĊĠĠĠ Ġget () Ġ= ĠView Utils . get Px From Dp ( this . toFloat ()) Ċ Ċ val ĠFloat . dp : ĠInt ĊĠĠĠ Ġget () Ġ= ĠView Utils . get Px From Dp ( this ) Ċ Ċ val ĠDouble . dp : ĠInt ĊĠĠĠ Ġget () Ġ= ĠView Utils . get Px From Dp ( this . toFloat ()) Ċ Ċ val ĠLong . dp : ĠInt ĊĠĠĠ Ġget () Ġ= ĠView Utils . get Px From Dp ( this . toFloat ()) Ċ Ċ val ĠInt . sp : ĠInt ĊĠĠĠ Ġget () Ġ= ĠView Utils . get Px From Sp ( this . toFloat ()) Ċ Ċ val ĠFloat . sp : ĠInt ĊĠĠĠ Ġget () Ġ= ĠView Utils . get Px From Sp ( this ) Ċ Ċ val ĠDouble . sp : ĠInt ĊĠĠĠ Ġget () Ġ= ĠView Utils . get Px From Sp ( this . toFloat ()) Ċ Ċ val ĠLong . sp : ĠInt ĊĠĠĠ Ġget () Ġ= ĠView Utils . get Px From Sp ( this . toFloat ())