package Ġcom . example . j ing bin . cloud reader . ui . wan . child Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . Editable Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . example . j ing bin . cloud reader . R Ċ import Ġcom . example . j ing bin . cloud reader . app . Rx Code Constants Ċ import Ġcom . example . j ing bin . cloud reader . databinding . Activity Publish Binding Ċ import Ġcom . example . j ing bin . cloud reader . ui . WebView Activity Ċ import Ġcom . example . j ing bin . cloud reader . utils . Base Tools Ċ import Ġcom . example . j ing bin . cloud reader . utils . Toast Util Ċ import Ġcom . example . j ing bin . cloud reader . view . My Text Watch Ċ import Ġcom . example . j ing bin . cloud reader . view model . wan . Publish ViewModel Ċ import Ġme . j ing bin . by mv vm . base . Base Activity Ċ import Ġme . j ing bin . by mv vm . r xb us . Rx Bus Ċ import Ġme . j ing bin . by mv vm . r xb us . Rx Bus Base Message Ċ Ċ /** Ċ Ġ* ĠåĪĨ äº« æĸĩç«ł Ċ Ġ* ĠCreated Ġby Ġj ing bin Ġon Ġ 2 0 2 1 / 1 / 1 7 . Ċ Ġ*/ Ċ class ĠPublish Activity Ġ: ĠBase Activity < Publish ViewModel , ĠActivity Publish Binding >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġclip Content : ĠString Ġ= Ġ"" ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ publish ) ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" åĪĨäº« æĸĩç«ł " ĊĠĠĠĠĠĠĠ Ġshow ContentView () ĊĠĠĠĠĠĠĠ Ġbinding View . viewModel Ġ= ĠviewModel ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding View . et Title . post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding View . et Title . request Focus () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBase Tools . show Soft Key Board ( this , Ġbinding View . et Title ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ 1 5 0 ) ĊĠĠĠĠĠĠĠ Ġbinding View . et Title . add TextChanged Listener ( object Ġ: ĠMy Text Watch () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġbinding View . et Title . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . handle Icon ( title , Ġclip Content , Ġ 1 , Ġbinding View . iv Up ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġbinding View . et Link . add TextChanged Listener ( object Ġ: ĠMy Text Watch () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlink Ġ= Ġbinding View . et Link . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . handle Icon ( link , Ġclip Content , Ġ 2 , Ġbinding View . iv Down ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġbinding View . iv Up . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġbinding View . et Title . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( title . isNotBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding View . et Title . text . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding View . et Title . text Ġ= ĠEdit able . Factory . getInstance (). new Editable ( clip Content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding View . et Title . setSelection ( clip Content . length ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding View . iv Down . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlink Ġ= Ġbinding View . et Link . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( link . isNotBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding View . et Link . text . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding View . et Link . text Ġ= ĠEdit able . Factory . getInstance (). new Editable ( clip Content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding View . et Link . setSelection ( clip Content . length ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** åĪĨäº« */ ĊĠĠĠ Ġfun Ġpublish ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . push Article (). observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ!= Ġnull Ġ&& Ġit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æĪĲåĬŁ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast Util . show Toast (" åĪĨäº« æĪĲåĬŁ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Publish Activity . finish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Bus . getDefault (). post ( Rx Code Constants . LOGIN , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Bus . getDefault (). post ( Rx Code Constants . REFRESH _ S QUARE _ DATA , ĠRx Bus Base Message ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġbinding View . et Link . post Delayed ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclip Content Ġ= ĠBase Tools . get Clip Content () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( clip Content . isNotBlank () Ġ&& Ġ" null " Ġ!= Ġclip Content ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġbinding View . et Title . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( title . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! clip Content . contains (" http ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . is Show Title Iv . set ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding View . iv Up . setImage Resource ( R . drawable . icon _ paste ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . is Show Title Iv . set ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlink Ġ= Ġbinding View . et Link . text . toString (). trim () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( link . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( clip Content . contains (" http ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . is Show Link Iv . set ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding View . iv Down . setImage Resource ( R . drawable . icon _ paste ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . is Show Link Iv . set ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, Ġ 1 5 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ web , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item . itemId Ġ== ĠR . id . action bar _ web ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWebView Activity . load Url ( this , Ġ" https :// www . wan android . com / user _ article / add ", Ġ" åĪĨäº« æĸĩç«ł ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġopen Link ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! viewModel . link . get (). isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWebView Activity . load Url ( view . context , ĠviewModel . link . get (), Ġ" åĬłè½½ ä¸Ń ...") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast Util . show Toast (" è¯·è¾ĵåħ¥ éĵ¾æİ¥ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠPublish Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĠActivity Options Compat . make Scene Transition Animation ( context , Ġview , ĠCommon Utils . getString ( R . string . transition _ publish _ bt )) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Compat . startActivity ( context , Ġintent , Ġoptions . to Bundle ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }