package Ġcom . dyn . webview . command . web process Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġcom . dyn . base . utils . Service Loader Utils Ċ import Ġcom . dyn . webview . command . base . Command Ċ import Ġcom . dyn . webview . command . base . Result Back Ċ import Ġcom . dyn . webview . utils . Main Looper Ċ import Ġcom . dyn . webview . utils . Web Constants Ċ import Ġcom . or h ano but . logger . Logger Ċ Ċ /** Ċ Ġ* Ġåĳ½ä»¤ ç®¡çĲĨ åĻ¨ Ċ Ġ* Ġ*/ Ċ class ĠWebView Process Commands Manager Ġ{ ĊĊĠĠĠ Ġprivate Ġconstructor () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinstance Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWebView Process Commands Manager () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġm Local Commands = Ġmutable Map Of < String , Command >() ĊĠĠĠ Ġ} ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠMain Looper . run On Ui Thread ( Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġservices Ġ= ĠService Loader Utils . load Services ( Command :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . i (" æ³¨åĨĮ åĳ½ä»¤ -> ${ services . hasNext () }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservices . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . i (" æ³¨åĨĮ åĳ½ä»¤ -> ${ it . name () }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Web Constants . LEVEL _ LOCAL Ġ== Ġit . level ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Local Commands [ it . name ()] Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¯ » æī¾ å¹¶ æī§è¡Į åĳ½ä»¤ ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġfind And Exec Command ( context : ĠContext , Ġlevel : ĠInt , Ġaction : ĠString , Ġparams : ĠMap < String , ĠString >, Ġresult Back : ĠResult Back ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Local Commands [ action ]?. exec ( context , Ġparams , Ġresult Back ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Hit Local Command ( level : ĠInt , Ġaction : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Local Commands . containsKey ( action ) ĊĠĠĠ Ġ} Ċ Ċ }