package Ġir . aw lr hm . modules . extent ions Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Port er D uff Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroid . widget .* Ċ import Ġandroidx . appcompat . widget . AppCompat ImageView Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . content . res . Resources Compat Ċ import Ġandroidx . core . graphics . drawable . Drawable Compat Ċ import Ġir . aw lr hm . modules . enums . Message Status Ċ import Ġir . aw lr hm . modules . utils . calendar . Pers ian Calendar Ċ import Ġir . aw lr hm . modules . view . date Picker . Calendar ActionListener Ċ import Ġir . aw lr hm . modules . view . date Picker . Pers ian DatePicker Dialog Ċ import Ġir . aw r hm . modules . R Ċ Ċ fun ĠContext . show Keyboard () Ġ{ ĊĠĠĠ Ġval Ġimm Ġ= Ġget System Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠ Ġimm . toggle Soft Input ( Input Method Manager . SHOW _ FOR CED , Ġ 0 ) Ċ } Ċ Ċ fun ĠContext . hide Keyboard ( view : ĠView ) Ġ{ ĊĠĠĠ Ġval Ġimm Ġ= Ġget System Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠ Ġimm . hide Soft Input From Window ( view . window Token , Ġ 0 ) Ċ } Ċ Ċ fun ĠContext . y Toast ( message : ĠString , Ġstatus : ĠMessage Status ) Ġ{ ĊĠĠĠ Ġval Ġtoast Ġ= ĠToast ( this ) ĊĠĠĠ Ġtoast . duration Ġ= ĠToast . LENGTH _ LONG ĊĊĠĠĠ Ġval Ġinflater : ĠLayoutInflater Ġ= ĊĠĠĠĠĠĠĠ Ġget System Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĠĠĠ Ġval Ġview : ĠView Ġ= Ġinflater . inflate ( R . layout . aw lr hm _ layout _ toast , Ġnull ) ĊĠĠĠ Ġval Ġparent Ġ= Ġview . findViewById < Constraint Layout >( R . id . parent ) ĊĠĠĠ Ġval Ġicon Ġ= Ġview . findViewById < AppCompat ImageView >( R . id . icon ) ĊĊĠĠĠ Ġwhen Ġ( status ) Ġ{ ĊĠĠĠĠĠĠĠ ĠMessage Status . SUCCESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent . background Ġ= ĠContext Compat . get Drawable ( this , ĠR . drawable . toast _ success ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon . background Ġ= ĠContext Compat . get Drawable ( this , ĠR . drawable . ic _ success ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠMessage Status . ERROR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent . background Ġ= ĠContext Compat . get Drawable ( this , ĠR . drawable . toast _ warning ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon . background Ġ= ĠContext Compat . get Drawable ( this , ĠR . drawable . ic _ warning ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent . background Ġ= ĠContext Compat . get Drawable ( this , ĠR . drawable . toast _ information ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon . background Ġ= ĠContext Compat . get Drawable ( this , ĠR . drawable . ic _ info ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġtext Ġ= Ġview . findViewById < TextView >( R . id . txt Message ) ĊĠĠĠ Ġtext . text Ġ= Ġmessage ĊĠĠĠ Ġtoast . view Ġ= Ġview ĊĠĠĠ Ġtoast . show () Ċ } Ċ Ċ fun ĠContext . show DatePicker ( callback :( String )-> Unit ){ ĊĠĠĠ ĠPers ian DatePicker Dialog ( this ) ĊĠĠĠĠĠĠĠ Ġ. set Positive Button String (" Øª Ø§ÛĮ ÛĮØ¯ ") ĊĠĠĠĠĠĠĠ Ġ. set Negative Button (" Ø§ÙĨ Øµ Ø± Ø§Ùģ ") ĊĠĠĠĠĠĠĠ Ġ. set Today Button (" Ø§Ùħ Ø± ÙĪ Ø² ") ĊĠĠĠĠĠĠĠ Ġ. set Today Button Visible ( true ) ĊĠĠĠĠĠĠĠ Ġ. set Min Year ( 1 3 5 0 ) ĊĠĠĠĠĠĠĠ Ġ. setMax Year ( Pers ian DatePicker Dialog . THIS _ YEAR ) Ċ // ĠĠĠĠĠĠĠ Ġ. set Init Date ( init Date ) ĊĠĠĠĠĠĠĠ Ġ. setAction TextColor ( Color . BLUE ) ĊĠĠĠĠĠĠĠ Ġ. setType Face ( Resources Compat . getFont ( this , ĠR . font . iran _ sans _ mobile )) ĊĠĠĠĠĠĠĠ Ġ. setTitle Type ( Pers ian DatePicker Dialog . WEEK DAY _ DAY _ MONTH _ YEAR ) ĊĠĠĠĠĠĠĠ Ġ. set Show In Bottom Sheet ( true ) ĊĠĠĠĠĠĠĠ Ġ. set Listener ( object Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCalendar ActionListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Date Selected ( pers ian Calendar : ĠPers ian Calendar ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . invoke ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat Date ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpers ian Calendar . pers ian Year , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpers ian Calendar . pers ian Month , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpers ian Calendar . pers ian Day ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Dis missed () Ġ{} ĊĠĠĠĠĠĠĠ Ġ}). show () Ċ } Ċ Ċ fun ĠContext . config Progress bar ( progress : ĠProgress Bar , Ġcolor : ĠInt ) Ġ{ ĊĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ< ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwrap Drawable Ġ= ĠDrawable Compat . wrap ( progress . in determinate Drawable ) ĊĠĠĠĠĠĠĠ ĠDrawable Compat . set Tint ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrap Drawable , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( this , Ġcolor ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġprogress . in determinate Drawable Ġ= ĠDrawable Compat . unwrap ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrap Drawable ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġprogress . in determinate Drawable . setColor Filter ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( this , Ġcolor ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPort er D uff . Mode . SRC _ IN ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠContext . config Image Button ( btn : ĠImage Button , Ġcolor : ĠInt ){ ĊĠĠĠ Ġbtn . setColor Filter ( Context Compat . getColor ( this , Ġcolor ), ĠPort er D uff . Mode . SRC _ IN ) Ċ } ĊĊ Ċ fun ĠContext . config Search View ( search View : Ġandroidx . appcompat . widget . Search View ) Ġ{ ĊĠĠĠ Ġval Ġsearch EditText Ġ= ĊĠĠĠĠĠĠĠ Ġsearch View . findViewById ( R . id . search _ src _ text ) Ġas ĠEditText ĊĠĠĠ Ġsearch EditText . setTextColor ( Context Compat . getColor ( this , ĠR . color . cyan _ 5 0 0 )) ĊĠĠĠ Ġsearch EditText . set Hint TextColor ( Context Compat . getColor ( this , ĠR . color . grey _ 5 0 0 )) ĊĠĠĠ Ġ( search View . findViewById ( R . id . search _ plate ) Ġas ĠView ). background Ġ= Ġnull Ċ } ĊĊ Ċ /* fun ĠContext . y Get Settings Permission Message ( view : ĠView ) Ġ{ ĊĠĠĠ Ġval Ġsn ackbar Ġ= ĠSn ackbar ĊĠĠĠĠĠĠĠ Ġ. make ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . access _ settings ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ IN DEFIN ITE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. setAction ( getString ( R . string . settings )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Settings () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġsn ackbar . setAction TextColor ( ĊĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . light _ green _ A 7 0 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġsb View Ġ= Ġsn ackbar . view ĊĠĠĠ Ġval ĠtextView : ĠTextView Ġ= ĊĠĠĠĠĠĠĠ Ġsb View . findViewById < View >( R . id . sn ackbar _ text ) Ġas ĠTextView ĊĠĠĠ ĠtextView . setTextColor ( Context Compat . getColor ( this , ĠR . color . white )) ĊĠĠĠ Ġsn ackbar . show () Ċ }*/ Ċ Ċ /* Ċ fun ĠContext . show Settings () Ġ{ ĊĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Settings . ACTION _ APPLICATION _ DETAILS _ SETTINGS ) ĊĠĠĠ Ġval Ġuri : ĠUri Ġ= ĠUri . from Parts (" package ", ĠpackageName , Ġnull ) ĊĠĠĠ Ġintent . data Ġ= Ġuri ĊĠĠĠ ĠstartActivity ( intent ) Ċ }*/ Ċ Ċ fun ĠContext . isValid Title ( title : ĠString ?): ĠString { ĊĠĠĠ Ġreturn Ġif ( title . isNull OrEmpty ()) ĊĠĠĠĠĠĠĠ ĠgetString ( R . string . no _ data ) ĊĠĠĠ Ġelse Ġtitle Ċ }