package Ġcom . f int ek . utils _ android x . log Ċ Ċ import Ġandroid . content . Clip Data Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġcom . f int ek . utils _ android x . Utils Bridge Ċ import Ġcom . f int ek . utils _ android x . throwable . saf ely Void Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject Ċ import Ġjava . io . String Reader Ċ import Ġjava . io . String Writer Ċ import Ġjava . util .* Ċ import Ġjavax . xml . transform . Output Keys Ċ import Ġjavax . xml . transform . Source Ċ import Ġjavax . xml . transform . Transformer Factory Ċ import Ġjavax . xml . transform . stream . Stream Result Ċ import Ġjavax . xml . transform . stream . Stream Source Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠCh ao Sh en Ġon Ġ 2 0 2 0 / 1 1 / 1 2 Ċ Ġ*/ Ċ object ĠTim ber Formatter Ġ{ ĊĊĠĠĠ Ġfun Ġobject 2 String ( any : ĠAny ?): ĠString Ġ= Ġobject 2 String ( any , Ġ- 1 ) ĊĊĠĠĠ Ġfun Ġobject 2 String ( any : ĠAny ?, Ġtype : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( any Ġ== Ġnull ) Ġreturn ĠNULL ĊĠĠĠĠĠĠĠ Ġif Ġ( any . java Class . isArray ) Ġreturn Ġarray 2 String ( any ) ĊĠĠĠĠĠĠĠ Ġif Ġ( any Ġis ĠThrowable ) Ġreturn ĠUtils Bridge . getFull StackTrace ( any ) ĊĠĠĠĠĠĠĠ Ġif Ġ( any Ġis ĠBundle ) Ġreturn Ġbundle 2 String ( any ) ĊĠĠĠĠĠĠĠ Ġif Ġ( any Ġis ĠIntent ) Ġreturn Ġobject 2 String ( any ) ĊĠĠĠĠĠĠĠ Ġwhen ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJSON Ġ-> Ġobject 2 String ( any ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠXML Ġ-> Ġformat Xml ( any . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġany . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbundle 2 String ( bundle : ĠBundle ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġiterator Ġ= Ġbundle . keySet (). iterator () ĊĠĠĠĠĠĠĠ Ġif Ġ(! iterator . hasNext ()) Ġreturn Ġ" Bundle Ġ{} " ĊĊĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder ( 1 2 8 ). append (" Bundle Ġ{ Ġ") ĊĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġiterator . next () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġbundle . get ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( key ). append (" =") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġis ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( if Ġ( value Ġ== Ġbundle ) Ġ"( this ĠBundle )" Ġelse Ġbundle 2 String ( value )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( Tim ber Util . format Object ( value )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! iterator . hasNext ()) Ġreturn Ġsb . append (" Ġ} "). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (',' ). append (' Ġ') ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġintent 2 String ( intent : ĠIntent ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder ( 1 2 8 ) ĊĠĠĠĠĠĠĠ Ġsb . append (" Intent Ġ{ ") ĊĠĠĠĠĠĠĠ Ġvar Ġfirst Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġval Ġfirst Append Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! first ) Ġsb . append (' Ġ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( intent . action Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" action =" ). append ( intent . action ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcategories Ġ= Ġintent . categories ĊĠĠĠĠĠĠĠ Ġif Ġ(! categories . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Append () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" categories =[ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfirst Category Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategories . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! first Category ) Ġsb . append (',') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Category Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" ]") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġintent . run Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Append () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" data =" ). append ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Append () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" type =" ). append ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( flags Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Append () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" flags = 0 x "). append ( flags . to HexString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . D ON UT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ` package ` ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Append () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" package =" ). append ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcomponent ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Append () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" component =" ). append ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . E CL AIR _ MR 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Bounds ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Append () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" source Bounds =" ). append ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . J EL LY _ BE AN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . clip Data ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Append () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclip Data 2 String ( it , Ġsb ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġextras ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Append () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" extras ={ "). append ( bundle 2 String ( it )). append (' }') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . ICE _ CRE AM _ S AND W ICH _ MR 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . selector ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Append () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" selector ={ "). append ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġintent ) Ġ"( this ĠIntent )" Ġelse Ġintent 2 String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (" }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" Ġ} ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsb . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġobject 2 Json ( any : ĠAny ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( any Ġis ĠCharSequence ) Ġreturn ĠUtils Bridge . format Json ( any . toString ()) ĊĠĠĠĠĠĠĠ Ġreturn ĠCONFIG . json Convert ?. convert ( any ) Ġ?: Ġany . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġformat Json ( json : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġsafely Void Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġ== Ġ'{ ' Ġ-> Ġreturn ĠJSONObject ( json ). toString ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġ== Ġ'[' Ġ-> Ġreturn ĠJSONArray ( json ). toString ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! Character . is Whitespace ( it ) Ġ-> Ġreturn Ġjson ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġformat Xml ( xml : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġxml Shadow Ġ= Ġxml ĊĠĠĠĠĠĠĠ Ġsafely Void Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġxml Input : ĠSource Ġ= ĠStream Source ( String Reader ( xml Shadow )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġxml Output Ġ= ĠStream Result ( String Writer ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransformer Ġ= ĠTransformer Factory . newInstance (). new Transformer () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformer . setOutput Property ( Output Keys . IND ENT , Ġ" yes ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformer . setOutput Property ("{ http :// xml . apache . org / xsl t } indent - amount ", Ġ" 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformer . transform ( xml Input , Ġxml Output ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġxml Shadow Ġ= Ġxml Output . writer . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace First ("> ". to Regex (), Ġ"> $ LINE _ SEP ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġxml Shadow ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġarray 2 String ( any : ĠAny ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( any ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠArray < *> Ġ-> Ġany . content Deep ToString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Array Ġ-> Ġany . content ToString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠByteArray Ġ-> Ġany . content ToString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠChar Array Ġ-> Ġany . content ToString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDouble Array Ġ-> Ġany . content ToString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Array Ġ-> Ġany . content ToString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Array Ġ-> Ġany . content ToString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Array Ġ-> Ġany . content ToString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠShort Array Ġ-> Ġany . content ToString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Array Ġhas Ġincompatible Ġtype : Ġ" Ġ+ Ġany ?. java Class ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclip Data 2 String ( clip Data : ĠClip Data , Ġsb : Ġjava . lang . StringBuilder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġclip Data . getItem At ( 0 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( item Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" Clip Data . Item Ġ{} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsb . append (" Clip Data . Item Ġ{ Ġ") ĊĠĠĠĠĠĠĠ Ġval Ġm Html Text Ġ= Ġitem . html Text ĊĠĠĠĠĠĠĠ Ġif Ġ( m Html Text Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" H :") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( m Html Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġm Text Ġ= Ġitem . text ĊĠĠĠĠĠĠĠ Ġif Ġ( m Text Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" T :") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( m Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġitem . uri ĊĠĠĠĠĠĠĠ Ġif Ġ( uri Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" U : "). append ( uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġitem . intent ĊĠĠĠĠĠĠĠ Ġif Ġ( intent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" I :") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( intent 2 String ( intent )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsb . append (" NULL ") ĊĠĠĠĠĠĠĠ Ġsb . append (" }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠInt . to HexString (): ĠString Ġ= ĠInteger . to HexString ( this ) Ċ }