package Ġcom . dev _ vl ad . coll ared _ do ves . utils Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . content . res . Resources Compat Ċ import Ġcom . dev _ vl ad . coll ared _ do ves . R Ċ import Ġcom . google . android . material . sn ackbar . Snackbar ĊĊ Ċ fun ĠView . show Sn ackBar To User ( ĊĠĠĠ Ġmsg Res Id : ĠInt , ĊĠĠĠ Ġis ErrorMsg : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġaction Message : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġaction To Take : Ġ(( View ) Ġ-> ĠUnit ) Ġ= Ġ{} Ċ ): ĠSn ackbar Ġ{ ĊĊĠĠĠ Ġval Ġshow For Time Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( action Message Ġ== Ġnull ) ĠSn ackbar . LENGTH _ LONG Ġelse ĠSn ackbar . LENGTH _ IN DEFIN ITE ĊĠĠĠ Ġval Ġsn ackBar Ġ= ĠSn ackbar . make ( this , Ġcontext . getString ( msg Res Id ), Ġshow For Time ) ĊĠĠĠ Ġval Ġmain Sn ackBar Txt Ġ= ĊĠĠĠĠĠĠĠ Ġsn ackBar . view . findViewById < TextView >( com . google . android . material . R . id . sn ackbar _ text ) ĊĠĠĠ Ġval Ġaction Txt Ġ= ĊĠĠĠĠĠĠĠ Ġsn ackBar . view . findViewById < TextView >( com . google . android . material . R . id . sn ackbar _ action ) ĊĊĠĠĠ Ġ// set Ġbackground Ġcolor ĊĠĠĠ Ġsn ackBar . view . set BackgroundColor ( ĊĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . context , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . primary ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ// set Ġtext Ġcolor ĊĠĠĠ Ġif Ġ( is ErrorMsg ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Sn ackBar Txt . setTextColor ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . design _ default _ color _ error ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġaction Txt . setTextColor ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . design _ default _ color _ error ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Sn ackBar Txt . setTextColor ( Context Compat . getColor ( this . context , ĠR . color . accent )) ĊĠĠĠĠĠĠĠ Ġaction Txt . setTextColor ( Context Compat . getColor ( this . context , ĠR . color . accent )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// set Ġthe Ġfont ĊĠĠĠ ĠResources Compat . getFont ( this . context , ĠR . font . yan one _ ka ffe es atz )?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Sn ackBar Txt . type face Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġaction Txt . type face Ġ= Ġit ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// set Ġthe Ġsize ĊĠĠĠ Ġmain Sn ackBar Txt . text Size Ġ= Ġ 1 6 . toFloat () ĊĠĠĠ Ġaction Txt . text Size Ġ= Ġ 1 8 . toFloat () ĊĊĠĠĠ Ġ// display Ġsn ackbar ĊĠĠĠ Ġif Ġ( action Message Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsn ackBar . setAction ( context . getString ( action Message )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction To Take ( this ) ĊĠĠĠĠĠĠĠ Ġ}. show () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġsn ackBar . show () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġsn ackBar Ċ }