package Ġcom . nan . x arch . widget Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġcom . nan . x arch . R Ċ import Ġcom . nan . x arch . databinding . View Prompt Binding Ċ import Ġcom . nan . x arch . util . Network Helper Ċ Ċ /** Ċ Ġ* Ġ å°ģè£ħ ä¸Ģä¸ª éĢļ çĶ¨çļĦ ç©º çĻ½ é¡µ ï¼Į çĶ¨äºİ æĺ¾ç¤º : Ċ Ġ* Ġ 1 . Ġ æĹł ç½ĳç»ľ Ċ Ġ* Ġ 2 . Ġ ç©º çĻ½ é¡µ Ċ Ġ* Ġ 3 . Ġ ç½ĳç»ľ å¼Ĥå¸¸ éĩį è¯ķ Ċ Ġ* Ġ 4 . Ġ æŃ£åľ¨ åĬłè½½ Ċ Ġ*/ Ċ class ĠPrompt View Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠConstraint Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġval Ġview Binding Ġ= ĠView Prompt Binding . inflate ( LayoutInflater . from ( context ), Ġthis , Ġtrue ) ĊĊĠĠĠ Ġfun Ġshow No Network (@ Drawable Res Ġimage Res : ĠInt Ġ= ĠR . drawable . icon _ no _ network , Ġmessage : ĠString Ġ= Ġresources . getString ( R . string . page _ state _ no _ network )) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Binding . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Error . setImage Resource ( image Res ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Error . text Ġ= Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Action . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Action . text Ġ= Ġresources . getString ( R . string . action _ set _ network ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Action . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ è·³è½¬ åĪ° ç½ĳç»ľ è®¾ç½® é¡µéĿ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNetwork Helper . to Network Setting ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Error . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Error . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Action . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Loading . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Loading . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Empty (@ Drawable Res Ġimage Res : ĠInt Ġ= ĠR . drawable . icon _ empty , Ġmessage : ĠString Ġ= Ġresources . getString ( R . string . page _ state _ empty )) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Binding . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Error . setImage Resource ( image Res ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Error . text Ġ= Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Action . setOnClickListener ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Error . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Error . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Action . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Loading . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Loading . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Network Error ( retry OnClickListener : ĠOn ClickListener , Ġ@ Drawable Res Ġimage Res : ĠInt Ġ= ĠR . drawable . icon _ network _ error , Ġmessage : ĠString Ġ= Ġresources . getString ( R . string . page _ state _ network _ error )) Ġ{ ĊĠĠĠĠĠĠĠ Ġview Binding . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Error . setImage Resource ( image Res ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Error . text Ġ= Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Action . text Ġ= Ġresources . getString ( R . string . action _ retry ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Action . setOnClickListener ( retry OnClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Error . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Error . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Action . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Loading . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Loading . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġview Binding . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Error . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Error . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Action . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Loading . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Loading . play Animation () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Loading . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Showing (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisibility Ġ== ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhide () Ġ{ ĊĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} Ċ }