package Ġcom . example . android . z he ta i . android learning Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . webkit . WebView Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġcom . example . android . z he ta i . android learning . Utils . Easy Schedulers Ċ import Ġcom . example . android . z he ta i . android learning . Utils . Network Util Ċ import Ġio . reactivex . Single Ċ import Ġio . reactivex . Single On Subscribe Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ Ċ class ĠNetwork Test Activity Ġ: ĠActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠwebView : ĠWebView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġurl EditText : ĠEditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrequest Button : ĠButton ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdis posable : ĠComposite Disposable ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ network _ test ) ĊĠĠĠĠĠĠĠ Ġdis posable Ġ= ĠComposite Disposable () ĊĠĠĠĠĠĠĠ ĠwebView Ġ= ĠfindViewById ( R . id . webview _ test ) ĊĠĠĠĠĠĠĠ Ġurl EditText Ġ= ĠfindViewById ( R . id . edit _ text _ url ) ĊĠĠĠĠĠĠĠ Ġrequest Button Ġ= ĠfindViewById ( R . id . button _ request _ url ) ĊĠĠĠĠĠĠĠ Ġrequest Button . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" http ://" Ġ+ Ġurl EditText . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdis posable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSingle . create ( Single On Subscribe < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . on Success ( Network Util . load URL ( url )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Easy Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Easy Schedulers . ui ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġcontent Ġ-> Ġupdate WebView ( content ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate WebView ( content : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠwebView . load Data ( content , Ġ" text / html ; charset = utf - 8 ", Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠLoad Network Res ou ce Task ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġurl : ĠString ĊĠĠĠ Ġ) Ġ: ĠAsync Task < Any , ĠAny , ĠString >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwebView . load Data ( result , Ġ" text / html ; charset = utf - 8 ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠAny ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠNetwork Util . load URL ( url ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġdis posable . dispose () ĊĠĠĠ Ġ} Ċ } ĊĊĊ