/* Ċ Ġ* ĠCopyright ĠÂ© Ġ æĸĩ ç§ĳ ä¸ŃçļĦ æĬĢæľ¯ å® ħ Ċ Ġ* Ġblog : https :// www . town wang . com Ċ Ġ*/ Ċ package Ġcom . town wang . aw e met own . hook Ċ import Ġcom . town wang . aw e met own . base . base Impl . Base Hook Ċ import Ġcom . town wang . aw e met own . config . V Config Ċ import Ġcom . town wang . aw e met own . mvp . bean . Hook Bean Ċ import Ġcom . town wang . aw e met own . utils . V Utils Ċ import Ġcom . town wang . log utils . Log Ċ import Ġde . rob v . android . x posed . XC _ Method Hook Ċ import Ġde . rob v . android . x posed . X posed Helpers Ċ Ċ /** Ċ Ġ* Ġ@ author ĠT own Ċ Ġ* Ġ@ created Ġat Ġ 2 0 1 8 / 7 / 2 6 Ġ 1 1 : 3 0 Ċ Ġ* Ġ@ Last ĠModified Ġby : ĠT own Ċ Ġ* Ġ@ Last ĠEmail : Ġandroid @ town wang . com Ċ Ġ* Ġ@ Last ĠModified Ġtime : Ġ 2 0 1 8 / 7 / 2 6 Ġ 1 1 : 3 0 Ċ Ġ* Ġ@ Remark s Ġad Ġblock Ċ Ġ*/ Ċ object ĠAd Block : ĠBase Hook (){ ĊĠĠĠ Ġoverride Ġfun Ġinit Bean (): ĠHook Bean Ġ{ ĊĠĠĠĠĠĠĠ Ġbean Ġ= ĠHook Bean () ĊĠĠĠĠĠĠĠ Ġif Ġ( V Utils . get A we me Version Code () Ġin Ġ 2 0 0 .. 2 2 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbean . className Ġ= ĠV Config . AD BLOCK _ CLASS _ NAME _ 2 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbean . fun Name Ġ= ĠV Config . FUNC _ NAME _ A ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbean . className Ġ= ĠV Config . AD BLOCK _ CLASS _ NAME _ 2 3 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbean . fun Name Ġ= ĠV Config . FUNC _ NAME _ A ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbean ĊĠĠĠ Ġ} ĊĠĠĠĠ Ġfun Ġhook Function () Ġ{ ĊĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind And Hook Method ( List :: class . java , Ġobject Ġ: ĠX C _ Method Hook () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore Hook ed Method ( param : ĠMethod Hook Param ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġparam . args [ 0 ] Ġas ĠMutable List < *> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( o Ġin Ġlist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Ad Ġ= ĠX posed Helpers . call Method ( o , ĠV Config . FUNC _ NAME _ IS AD ) Ġas ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Ad ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . remove ( o ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" ad Block Ġerr ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠ Ġ} catch Ġ( e : Throwable ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" ad Block ĠThrowable Ġerr ") ĊĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }