package Ġcom . kn ight . kotlin . library _ util . toast ĊĊ Ċ import Ġcom . kn ight . kotlin . library _ util . Build Config Ċ import Ġcom . kn ight . kotlin . library _ util . Log Utils Ċ import Ġcom . kn ight . kotlin . library _ util . toast . callback . Toast Interceptor Interface Ċ Ċ /** Ċ Ġ* ĠAuthor : K night Ċ Ġ* ĠTime : 2 0 2 1 / 1 2 / 2 0 Ġ 1 1 : 1 2 Ċ Ġ* ĠDescription : Toast Interceptor Ċ Ġ*/ Ċ class ĠToast Interceptor Ġ: ĠToast Interceptor Interface Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġintercept ( text : ĠCharSequence ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// èİ·åıĸ è°ĥçĶ¨ çļĦ åłĨ æłĪ ä¿¡æģ¯ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstack Trace Ġ= ĠThrowable (). stack Trace ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è·³ è¿ĩ æľĢ åīį éĿ¢çļĦ ä¸¤ä¸ª åłĨ æłĪ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( stack Trace . size Ġ> Ġ 2 Ġ&& Ġi Ġ< Ġstack Trace . size ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ ä»£çłģ è¡Į æķ° ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠlineNumber Ġ= Ġstack Trace [ i ]. line Number ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġèİ·åıĸ ç±»çļĦ åħ¨ è·¯å¾Ħ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠclassName Ġ= Ġstack Trace [ i ]. className ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( line Number Ġ<= Ġ 0 Ġ|| ĠclassName . startsWith ( Toast Utils :: class . java . getName ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog Utils . d (" Toast " Ġ+ Ġstack Trace [ i ]. fileName . toString () Ġ+ Ġ":" Ġ+ ĠlineNumber . toString () Ġ+ Ġ") Ġ" Ġ+ Ġtext . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ }