package Ġz lc . season . glo ves of h aste . tr icks Ċ Ċ import Ġandroid . util . Log .* Ċ Ċ private Ġvar ĠDEBUG Ġ= Ġtrue Ċ private Ġvar ĠLOG _ TAG Ġ= Ġ" TAG " Ċ Ċ fun Ġset Log Tag ( tag : ĠString ) Ġ{ ĊĠĠĠ ĠLOG _ TAG Ġ= Ġtag Ċ } Ċ Ċ fun Ġset Debug ( flag : ĠBoolean ) Ġ{ ĊĠĠĠ ĠDEBUG Ġ= Ġflag Ċ } Ċ Ċ fun Ġ< T > ĠT . log d ( tag : ĠString Ġ= Ġ"") : ĠT Ġ{ ĊĠĠĠ Ġinner Toast (:: d , Ġ:: d , Ġtag ) ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun Ġ< T > ĠT . log i ( tag : ĠString Ġ= Ġ"") : ĠT Ġ{ ĊĠĠĠ Ġinner Toast (:: i , Ġ:: i , Ġtag ) ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun Ġ< T > ĠT . log w ( tag : ĠString Ġ= Ġ"") : ĠT Ġ{ ĊĠĠĠ Ġinner Toast (:: w , Ġ:: w , Ġtag ) ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun Ġ< T > ĠT . lo ge ( tag : ĠString Ġ= Ġ"") : ĠT Ġ{ ĊĠĠĠ Ġinner Toast (:: e , Ġ:: e , Ġtag ) ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ fun Ġ< T > ĠT . log v ( tag : ĠString Ġ= Ġ"") : ĠT Ġ{ ĊĠĠĠ Ġinner Toast (:: v , Ġ:: v , Ġtag ) ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ private Ġfun Ġ< T > ĠT . inner Toast ( ĊĠĠĠ Ġfunction 1 : Ġ( String , ĠString , ĠThrowable ) Ġ-> ĠInt , ĊĠĠĠ Ġfunction 2 : Ġ( String , ĠString ?) Ġ-> ĠInt , ĊĠĠĠ Ġtag : ĠString Ċ ) Ġ{ ĊĠĠĠ Ġif Ġ( DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreal Tag Ġ= Ġif Ġ( tag . isNotEmpty ()) Ġtag Ġelse ĠLOG _ TAG ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġis ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfunction 1 ( real Tag , Ġthis . message Ġ?: Ġ"", Ġthis ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfunction 2 ( real Tag , Ġthis . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }