package Ġcom . e hook . utils Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Handler Thread Ċ import Ġcom . e hook . core . E Hook Ċ import Ġcom . e hook . helper . Try Helper . try Verbose ly Ċ import Ġcom . e hook . helper . Try Helper . try Sil ently Ċ Ċ object ĠX posed Util Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġworker Pool Ġ= ĠParallel Util . create ThreadPool () ĊĊĠĠĠ Ġprivate Ġval Ġmanager Thread Ġ= ĠHandler Thread (" Hook Handler "). apply Ġ{ Ġstart () Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġmanager Handler : ĠHandler Ġ= ĠHandler ( manager Thread . lo oper ) ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġprivate Ġinline Ġfun Ġtry Hook ( cross inline Ġhook : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBuild . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . N Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Verbose ly ( hook ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBuild . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworker Pool . execute Ġ{ Ġtry Verbose ly ( hook ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworker Pool . execute Ġ{ Ġtry Sil ently ( hook ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġpost Hook er ( E Hook : ĠE Hook ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmanager Handler . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE Hook . hook () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }