package Ġdev . hit ools . no ah . modules . sample . detail . views . status view Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġdev . hit ools . common . utils . Toast Utils Ċ import Ġdev . hit ools . common . widget . Status View Ċ import Ġdev . hit ools . no ah . R Ċ import Ġdev . hit ools . no ah . databinding . Fragment Sample Status View Binding Ċ import Ġdev . hit ools . no ah . modules . base . mv vm . view . App Bind Fragment Ċ import Ġdev . hit ools . no ah . modules . base . mv vm . view model . App Base ViewModel Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġy uh ai yang Ġon Ġ 2 0 1 8 - 1 0 - 2 9 . Ċ Ġ* ĠStatus View Ċ Ġ*/ Ċ class ĠSample Status View Fragment Ġ: ĠApp Bind Fragment < Fragment Sample Status View Binding , ĠApp Base ViewModel >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Layout (): ĠInt Ġ= ĠR . layout . fragment _ sample _ status _ view ĊĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding . status View . setOn Status View Listener ( this ) ĊĠĠĠĠĠĠĠ Ġrequest Loading () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon View Click ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( v . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . loading Ġ-> Ġrequest Loading () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . empty Ġ-> Ġbinding . status View . show Empty () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . error Ġ-> Ġbinding . status View . show Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Loading 1 () ĊĠĠĠĠĠĠĠ Ġrequest Loading 2 () ĊĠĠĠĠĠĠĠ Ġrequest Loading 3 () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest Loading 1 () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . status View . show Loading (" tag 1 ") ĊĠĠĠĠĠĠĠ Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 3 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . status View . dismiss (" tag 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . status View . show Error () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest Loading 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . status View . show Loading (" tag 2 ") ĊĠĠĠĠĠĠĠ Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 7 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Thread Ġ{ Ġbinding . status View . dismiss (" tag 2 ") Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest Loading 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . status View . show Loading (" tag 3 ") ĊĠĠĠĠĠĠĠ Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Thread Ġ{ Ġbinding . status View . dismiss (" tag 3 ") Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Status Click ( v : ĠView , Ġwhich : ĠStatus View . Which ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( which ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStatus View . Which . Reload Ġ-> ĠToast Utils . show ( context , Ġ" reload Click ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStatus View . Which . Title Ġ-> ĠToast Utils . show ( context , Ġ" Title ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStatus View . Which . Sub Title Ġ-> ĠToast Utils . show ( context , Ġ" Sub Title ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }