package Ġcom . sky do ves . movie compose . core Ċ Ċ import Ġandroid . webkit . Javascript Interface Ċ import Ġcom . sky do ves . movie compose . addons . Web Addons Repository Ċ import Ġcom . tencent . smt t . sdk . WebView Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject Ċ import Ġtim ber . log . Tim ber Ċ Ċ const Ġval ĠJS _ BR ID GE _ NAME Ġ= Ġ" Od oo Device Utility " Ċ Ċ @ Deprecated (" no use ") Ċ class ĠWeb Js Bridge Ġ( private Ġval ĠwebView : ĠWebView , Ġprivate Ġval Ġweb Addons Repository : ĠWeb Addons Repository ) Ġ{ ĊĊĠĠĠ Ġ@ Javascript Interface ĊĠĠĠ Ġfun Ġexecute ( name : ĠString , Ġargs : ĠString ?, Ġid : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . d ("$ JS _ BR ID GE _ NAME , ĠExec uting : Ġ$ name ; ĠArgs : Ġ$ args , ĠCallback : Ġ$ id ") ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbase . crash Manager (...) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbarcode . scan Barcode (...) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsplit Ġ= Ġname . split ("\\ .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( split . size Ġ>= Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweb Addons Repository . exec ( web View , Ġsplit [ 0 ], Ġsplit [ 1 ], ĠJSONObject ( args ), Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Javascript Interface ĊĠĠĠ Ġfun Ġlist _ plugins (): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Array Ġ= ĠJSONArray () ĊĠĠĠĠĠĠĠ Ġweb Addons Repository . addons . forEach Ġ{ Ġweb Addon Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweb Addon . method Met as . values . forEach Ġ{ Ġmethod Meta Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠjsonObject Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠjsonObject . put (" name ", Ġmethod Meta . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. put (" action ", Ġ"${ web Addon . alias Name }.${ method Meta . name }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson Array . put ( jsonObject ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġjson Array . toString () Ċ // ĠĠĠĠĠĠĠ Ġval ĠjSON Array Ġ= ĠJSONArray () Ċ // ĠĠĠĠĠĠĠ Ġfor Ġ( plugin Meta Ġin Ġthis . plugin Utils . get Plugins (). values ()) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( plugin Method Meta Ġin Ġplugin Meta . get Methods (). values ()) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠjSON Object Ġ= ĠJSONObject () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠjSON Object . put ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" action ", Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjava . lang . String . format ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"% s .% s ", Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin Meta . get Alias (), Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin Method Meta . get MethodName () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠjSON Object . put (" name ", Ġplugin Method Meta . get MethodName ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠjSON Array . put ( j SON Object ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġreturn ĠjSON Array . toString () ĊĠĠĠ Ġ} Ċ } Ċ