package Ġcom . did ich ux ing . d ora emon kit . extension Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . util . Log Ċ import Ġcom . did ich ux ing . d ora emon kit . aop . D okit Third Lib Info Ċ import Ġcom . did ich ux ing . d ora emon kit . kit . core . Abs D okit View Ċ import Ġcom . did ich ux ing . d ora emon kit . kit . network . room _ db . D okit Db Manager Ċ import Ġcom . did ich ux ing . d ora emon kit . util . Encode Utils Ċ import Ġcom . did ich ux ing . d ora emon kit . util . Gson Utils Ċ import Ġcom . did ich ux ing . d ora emon kit . util . Log Helper Ċ import Ġkotlinx . coroutines . Coroutine Name Ċ import Ġkotlinx . coroutines . Main Scope Ċ import Ġkotlinx . coroutines . plus Ċ import Ġokhttp 3 . RequestBody Ċ import Ġok io . Buffer Ċ import Ġorg . checker framework . common . returns receiver . qual . This Ċ import Ġjava . util .* Ċ import Ġkotlin . reflect . K Class Ċ Ċ /** Ċ Ġ* Ġ================================= =============== Ċ Ġ* Ġ ä½ľ ĠĠĠ Ġ èĢħ ï¼ļ jint ï¼Ī éĩĳ åı° ï¼ī Ċ Ġ* Ġ çīĪ ĠĠĠ Ġæľ¬ ï¼ļ 1 . 0 Ċ Ġ* ĠåĪĽå»º æĹ¥æľŁ ï¼ļ 2 0 2 1 / 2 / 8 - 1 0 : 4 2 Ċ Ġ* Ġæı ı ĠĠĠ Ġ è¿° ï¼ļ Ċ Ġ* Ġ ä¿® è®¢ åİĨåı² ï¼ļ Ċ Ġ* Ġ================================= =============== Ċ Ġ*/ ĊĊ Ċ val Ġdo Kit Global Scope Ġ= ĠMain Scope () Ġ+ ĠCor outine Name (" Do Kit ") ĊĊ Ċ val ĠActivity . tagName : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . java Class . canonical Name Ġ?: Ġ"" ĊĠĠĠ Ġ} Ċ Ċ val ĠAbs D okit View . tagName : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . java Class . canonical Name Ġ?: Ġ"" ĊĠĠĠ Ġ} Ċ Ċ val ĠK Class < out ĠAny >. tagName : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . java . canonical Name Ġ?: Ġ"" ĊĠĠĠ Ġ} Ċ Ċ val ĠClass < out ĠAny >. tagName : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . canonical Name Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĊ Ċ /** Ċ Ġ* ĠBoolean Ġ æī©å±ķ åĩ½æķ° Ċ Ġ*/ Ċ fun ĠBoolean ?. isTrue ( ĊĠĠĠ Ġerror : Ġ( String ) Ġ-> ĠUnit Ġ= Ġ{ ĠLog Helper . e (" Do Kit ", Ġit ) Ġ}, ĊĠĠĠ Ġis False : Ġ() Ġ-> ĠUnit Ġ= Ġ{}, ĊĠĠĠ Ġaction : Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġerror (" Boolean Ġis Ġnull ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( this Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġis False () ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠBoolean ?. isTrue With Cor ( ĊĠĠĠ Ġerror : Ġsuspend Ġ( String ) Ġ-> ĠUnit Ġ= Ġ{ ĠLog Helper . e (" Do Kit ", Ġit ) Ġ}, ĊĠĠĠ Ġis False : Ġsuspend Ġ() Ġ-> ĠUnit Ġ= Ġ{}, ĊĠĠĠ Ġaction : Ġsuspend Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġerror (" Boolean Ġis Ġnull ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( this Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġis False () ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ /** Ċ Ġ* ĠBoolean Ġ æī©å±ķ åĩ½æķ° Ċ Ġ*/ Ċ fun ĠBoolean ?. isFalse ( ĊĠĠĠ Ġerror : Ġ( String ) Ġ-> ĠUnit Ġ= Ġ{ ĠLog Helper . e (" Do Kit ", Ġit ) Ġ}, ĊĠĠĠ Ġis True : Ġ() Ġ-> ĠUnit Ġ= Ġ{}, ĊĠĠĠ Ġaction : Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġerror (" Boolean Ġis Ġnull ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( this Ġ== Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġis True () ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠBoolean Ġ æī©å±ķ åĩ½æķ° Ċ Ġ*/ Ċ suspend Ġfun ĠBoolean ?. isFalse With Cor ( ĊĠĠĠ Ġerror : Ġsuspend Ġ( String ) Ġ-> ĠUnit Ġ= Ġ{ ĠLog Helper . e (" Do Kit ", Ġit ) Ġ}, ĊĠĠĠ Ġis True : Ġsuspend Ġ() Ġ-> ĠUnit Ġ= Ġ{}, ĊĠĠĠ Ġaction : Ġsuspend Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġerror (" Boolean Ġis Ġnull ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( this Ġ== Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaction () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġis True () ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠæŁ¥ æī¾ ä¸ī æĸ¹ åºĵ æĹ¶åĢĻ åŃĺåľ¨ Ċ Ġ*/ Ċ fun Ġhas Third Lib ( groupId : ĠString , Ġartifact Id : ĠString ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠD okit Third Lib Info . TH IRD _ LIB _ INFO S _ SIMPLE [" ${ groupId }:${ artifactId } "] ĊĠĠĠĠĠĠĠ Ġvalue Ġ!= Ġnull ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġa = aa & b = bb & c = cc Ċ Ġ* Ġquery éĶ® åĢ¼ å¯¹ åŃĹç¬¦ä¸² è½¬ æĪĲ Map Ċ Ġ*/ Ċ fun ĠString . toMap (): ĠMutable Map < String , ĠString > Ġ{ ĊĊĠĠĠ Ġval Ġmap Ġ= Ġmutable Map Of < String , ĠString >() ĊĊĠĠĠ Ġif Ġ( this . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġparams Ġ= Ġthis . split ("& ") ĊĠĠĠ Ġparams . forEach Ġ{ Ġkv Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġk vs Ġ= Ġkv . split (" =") ĊĠĠĠĠĠĠĠ Ġif Ġ( k vs . size Ġ== Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap [ k vs [ 0 ]] Ġ= Ġk vs [ 1 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġmap Ċ } Ċ Ċ /** Ċ Ġ* Ġquery Body è½¬ æĪĲ Map Ċ Ġ*/ Ċ fun ĠRequest Body ?. toMap (): ĠMutable Map < String , ĠString > Ġ{ ĊĠĠĠ Ġvar Ġmap Ġ= Ġmutable Map Of < String , ĠString >() ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull Ġ|| Ġthis . contentType () Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġbuffer Ġ= ĠBuffer () ĊĠĠĠ Ġthis . writeTo ( buffer ) ĊĠĠĠ Ġval Ġstr Body Ġ= ĠEncode Utils . url Decode ( buffer . read Utf 8 ()) ĊĠĠĠ Ġstr Body ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠcontentType Ġ= Ġthis . contentType (). toString (). toLowerCase ( Locale . ROOT ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcontentType . contains ( D okit Db Manager . MEDIA _ TYPE _ FORM ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġstr Body . toMap () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcontentType . contains ( D okit Db Manager . MEDIA _ TYPE _ JSON ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Ġ= ĠGson Utils . fromJson < Mutable Map < String , ĠString >>( str Body , ĠMutable Map :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" json "] Ġ= Ġstr Body ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcontentType . contains ( D okit Db Manager . MEDIA _ TYPE _ PLAIN ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" plain "] Ġ= Ġstr Body ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" other "] Ġ= Ġstr Body ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġmap Ċ } ĊĊ Ċ /** Ċ Ġ* Ġå¯¹ map Ġ éĴĪå¯¹ key è¿Ľè¡Į æİĴåºı Ċ Ġ*/ Ċ fun ĠMutable Map < String , ĠString >. sorted ByKey (): ĠMap < String , ĠString > Ġ{ ĊĠĠĠ Ġreturn Ġthis . toList (). sorted By Ġ{ Ġ( key , Ġ_) Ġ-> Ġkey Ġ}. toMap () Ċ } ĊĊ