package Ġcom . tr ateg . be pres ens im obile . ui . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . tr ateg . be pres ens im obile . R Ċ import Ġcom . tr ateg . be pres ens im obile . model . J ad wal Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ class ĠList J ad wal D osen Adapter ( val Ġlist J ad wal D osen : ĠArrayList < J ad wal >) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < List J ad wal D osen Adapter . ListView Holder >() Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġon Item Click Callback : ĠOn Item Click Callback ĊĊĠĠĠ Ġfun Ġset On Item Click Callback ( on Item Click Callback : ĠOn Item Click Callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . on Item Click Callback Ġ= Ġon Item Click Callback ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Item Click Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠOn Btn Bu ka S esi Clicked ( data : ĠJ ad wal ?) ĊĠĠĠĠĠĠĠ Ġfun ĠOn Btn Li hat Ber ita Ac ara Clicked ( data : ĠJ ad wal ?) ĊĠĠĠĠĠĠĠ Ġfun ĠOn Btn T ut up S esi Clicked ( data : ĠJ ad wal ?) ĊĠĠĠĠĠĠĠ Ġfun ĠOn Btn Li hat Pres ensi Clicked ( data : ĠJ ad wal ?) ĊĠĠĠĠĠĠĠ Ġfun ĠOn Btn Is iB er ita Ac ara Clicked ( data : ĠJ ad wal ?) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠList ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtv J enis Per k ulia han : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv J enis Per k ulia han ) ĊĠĠĠĠĠĠĠ Ġvar Ġtv Nama M ata k ulia h : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv Nama M ata k ulia h ) ĊĠĠĠĠĠĠĠ Ġvar Ġtv W aktu Per k ulia han : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv W aktu Per k ulia han ) ĊĠĠĠĠĠĠĠ Ġvar Ġtv L ok asi : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv L ok asi ) ĊĠĠĠĠĠĠĠ Ġvar Ġtv Status Per k ulia han : ĠTextView Ġ= ĠitemView . findViewById ( R . id . tv Status Per k ulia han ) ĊĠĠĠĠĠĠĠ Ġvar Ġbtn Bu ka S esi : ĠButton Ġ= ĠitemView . findViewById ( R . id . btn Bu ka S esi ) ĊĠĠĠĠĠĠĠ Ġvar Ġbtn Li hat Ber ita Ac ara : ĠButton Ġ= ĠitemView . findViewById ( R . id . btn Li hat Ber ita Ac ara ) ĊĠĠĠĠĠĠĠ Ġvar Ġbtn T ut up S esi : ĠButton Ġ= ĠitemView . findViewById ( R . id . btn T ut up S esi ) ĊĠĠĠĠĠĠĠ Ġvar Ġbtn Li hat Pres ensi : ĠButton Ġ= ĠitemView . findViewById ( R . id . btn Li hat Pres ensi ) ĊĠĠĠĠĠĠĠ Ġvar Ġbtn Is iB er ita Ac ara : ĠButton Ġ= ĠitemView . findViewById ( R . id . btn Is iB er ita Ac ara ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠList ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . item _ jad wal _ d osen , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠList ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist J ad wal D osen . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠList ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġj ad wal Ġ= Ġlist J ad wal D osen [ position ] ĊĠĠĠĠĠĠĠ Ġval Ġw aktu : ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj ad wal . ses i Mul ai ?. jam Mul ai ?. drop Last ( 3 ) Ġ+ Ġ" Ġ- Ġ" Ġ+ Ġj ad wal . ses iB er ak hir ?. jam Ber ak hir ?. drop Last ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġlok asi : ĠString Ġ= Ġj ad wal . ru ang ?. nama Ru ang Ġ+ Ġ" Ġ- Ġ" Ġ+ Ġj ad wal . ru ang ?. kd Ru ang ĊĠĠĠĠĠĠĠ Ġvar Ġstatus Ġ= Ġ" W aktu Ġper k ulia han Ġbel um Ġdim ul ai " ĊĠĠĠĠĠĠĠ Ġholder . tv J enis Per k ulia han . text Ġ= Ġj ad wal . jenis Per k ulia han ĊĠĠĠĠĠĠĠ Ġholder . tv Nama M ata k ulia h . text Ġ= Ġj ad wal . m ata k ulia h ?. nama M ata k ulia h ĊĠĠĠĠĠĠĠ Ġholder . tv W aktu Per k ulia han . text Ġ= Ġw aktu ĊĠĠĠĠĠĠĠ Ġholder . tv L ok asi . text Ġ= Ġlok asi ĊĊĠĠĠĠĠĠĠ Ġholder . btn Li hat Ber ita Ac ara . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġholder . btn Bu ka S esi . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġholder . btn T ut up S esi . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġholder . btn Li hat Pres ensi . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġholder . btn Is iB er ita Ac ara . visibility Ġ= ĠView . GONE ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( jad wal . ber ita Ac ara Ġ== Ġnull ) Ġ{ Ġ// ĠC ek Ġap ak ah Ġber ita Ġac ara Ġbel um Ġdi isi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( jad wal . ses i Pres ensi Di bu ka !! ) Ġ{ Ġ// ĠC ek Ġap ak ah Ġse si Ġpres ensi Ġdi bu ka ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġj ad wal . status H adir Ġ?: Ġ" Per k ulia han Ġsed ang Ġber langs ung " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . btn T ut up S esi . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . btn Li hat Pres ensi . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ġ// ĠJ ika Ġse si Ġpres ensi Ġdit ut up ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isValid Bu ka Pres ensi ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj ad wal . ses i Mul ai ?. jam Mul ai !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj ad wal . ses iB er ak hir ?. jam Ber ak hir !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ// ĠJ ika Ġse si Ġpres ensi Ġb isa Ġdi bu ka ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġ" Per k ulia han Ġsi ap Ġdil aks an akan " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . btn Bu ka S esi . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( jad wal . status H adir Ġ!= null ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠJ ika Ġs udah Ġper k ulia han Ġtel ah Ġse les ai Ġdil aks an akan ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġ" Ber ita Ġac ara Ġbel um Ġdi isi !" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . btn Is iB er ita Ac ara . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ġ// ĠJ ika Ġber ita Ġac ara Ġs udah Ġdi isi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġ" Per k ulia han Ġse les ai Ġdil aks an akan " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . btn Li hat Ber ita Ac ara . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . tv Status Per k ulia han . text Ġ= Ġstatus ĊĠĠĠĠĠĠĠ Ġholder . btn Li hat Ber ita Ac ara . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click Callback . On Btn Li hat Ber ita Ac ara Clicked ( list J ad wal D osen [ holder . adapter Position ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . btn Bu ka S esi . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click Callback . On Btn Bu ka S esi Clicked ( list J ad wal D osen [ holder . adapter Position ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . btn T ut up S esi . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click Callback . On Btn T ut up S esi Clicked ( list J ad wal D osen [ holder . adapter Position ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . btn Li hat Pres ensi . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click Callback . On Btn Li hat Pres ensi Clicked ( list J ad wal D osen [ holder . adapter Position ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . btn Is iB er ita Ac ara . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click Callback . On Btn Is iB er ita Ac ara Clicked ( list J ad wal D osen [ holder . adapter Position ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . btn Li hat Ber ita Ac ara . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click Callback . On Btn Li hat Ber ita Ac ara Clicked ( list J ad wal D osen [ holder . adapter Position ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun ĠisValid Bu ka Pres ensi ( jam S esi Mul ai : ĠString , Ġj am S es iB er ak hir : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= Ġ" HH : mm : ss " ĊĠĠĠĠĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat ( pattern , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠ Ġval ĠcurrentTime Ġ= Ġsdf . format ( Calendar . getInstance (). time ) ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġj am Se kar ang : ĠDate Ġ= Ġsdf . parse ( currentTime ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġj am Mul ai : ĠDate Ġ= Ġsdf . parse ( jam S esi Mul ai ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġj am Ber ak hir : ĠDate Ġ= Ġsdf . parse ( jam S es iB er ak hir ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġj am Se kar ang . after ( jam Mul ai ) Ġ&& Ġj am Se kar ang . before ( jam Ber ak hir ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ }