package Ġcom . dic hes . d ich box mobile . mv . userData Manager . notifications Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġcom . dic hes . d ich box mobile . R Ċ import Ġcom . dic hes . d ich box mobile . datat ypes . User Container Ċ import Ġcom . dic hes . d ich box mobile . tools . from Base 6 4 To Bitmap Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠNotifications Adapter ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġresource : ĠInt , ĊĠĠĠ Ġvar Ġitems : ĠMutable List < User Container . Notification Data >, ĊĠĠĠ Ġprivate Ġval Ġon Remove Notification : Ġsuspend Ġ( id : ĠInt ) Ġ-> ĠUnit Ċ ) Ġ: ĠArray Adapter < User Container . Notification Data >( context , Ġresource , Ġitems ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ): ĠView Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġrow Ġ= ĠconvertView Ġ?: ĠLayoutInflater ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( resource , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġrow . findViewById < TextView >( R . id . notification _ msg ) ĊĠĠĠĠĠĠĠ Ġval Ġlogo Ġ= Ġrow . findViewById < ImageView >( R . id . notification _ logo ) ĊĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġrow . findViewById < TextView >( R . id . notification _ date ) ĊĠĠĠĠĠĠĠ Ġval Ġrm Icon Ġ= Ġrow . findViewById < ImageView >( R . id . notifications Rm Icon ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnotification Ġ= Ġitems [ position ] ĊĠĠĠĠĠĠĠ Ġset Note Icon ( logo , Ġnotification . icon ) ĊĠĠĠĠĠĠĠ Ġhandle Notification Removal ( rm Icon , Ġnotification . id ) ĊĠĠĠĠĠĠĠ Ġtime . text Ġ= Ġnotification . note _ date ĊĊĠĠĠĠĠĠĠ Ġval Ġmsg Type Ġ= ĠNotifications Types . define Type ( notification . type ) ĊĠĠĠĠĠĠĠ Ġmsg Type . decorate View ( notification , Ġmsg ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġrow ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ= Ġitems . size ĊĊĠĠĠ Ġprivate Ġfun Ġset Note Icon ( logo View : ĠImageView , Ġlogo Src : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( logo Src Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecoded Ġ= Ġfrom Base 6 4 To Bitmap ( logo Src ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogo View . setImage Bitmap ( decoded ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogo View . setImage Resource ( R . drawable . default _ user _ logo ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Notification Removal ( btn : ĠImageView , Ġid : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbtn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCor outine Scope ( Dispatch ers . Main ). launch Ġ{ Ġon Remove Notification ( id ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ