package Ġcom . github . r ws bil ly ang . app base . view Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . github . r ws bil ly ang . app base . R Ċ import Ġcom . github . r ws bil ly ang . app base . ap ire sponse . Resource Ċ import Ġcom . github . r ws bil ly ang . app base . ap ire sponse . Status Ċ import Ġcom . github . r ws bil ly ang . app base . util . visible Ċ import Ġkotlinx . android . synt hetic . main . loading state .* Ċ Ċ /** Ċ Ġ* Ġ ç»ĳå®ļ äºĨ loading _ state . xml çļĦ Fragment Ċ Ġ* Ġ*/ Ċ abstract Ġclass ĠLoading Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġretry Button . setOnClickListener Ġ{ Ġretry () Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġabstract Ġfun Ġretry () ĊĠĠĠ Ġprotected Ġopen Ġfun Ġrender Loading ( resource : ĠResource < *> ?) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġloading Visible Ġ= Ġresource ?. status Ġ== ĠStatus . LOADING Ġ|| Ġresource ?. status Ġ== ĠStatus . ERR ĊĊĠĠĠĠĠĠĠ Ġloading . visible Ġ= Ġloading Visible ĊĠĠĠĠĠĠĠ Ġerror _ msg . visible Ġ= Ġloading Visible ĊĠĠĠĠĠĠĠ Ġretry Button . visible Ġ= Ġresource ?. status Ġ== ĠStatus . ERR ĊĊĊĠĠĠĠĠĠĠ Ġval Ġprogress visible Ġ= Ġresource ?. status Ġ== ĠStatus . LOADING ĊĠĠĠĠĠĠĠ Ġprogress _ bar . visible Ġ= Ġprogress visible ĊĠĠĠĠĠĠĠ Ġif ( progress visible ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror _ msg . text Ġ= ĠgetString ( R . string . loading ) ĊĠĠĠĠĠĠĠ Ġ} else Ġif ( resource ?. status Ġ== ĠStatus . ERR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġresource . message Ġ?: Ġresources . getString ( R . string . unknown _ error ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror _ msg . text Ġ= Ġresource . http Status ?. toString ()?. let Ġ{ it Ġ+ ": Ġ" Ġ+ Ġmsg Ġ} Ġ?: Ġ Ġmsg ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// log (" update Loading , Ġloading Visible =$ loading Visible , progress visible =$ progress visible ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġprotected Ġopen Ġfun Ġhide Loading () ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġloading . visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġerror _ msg . visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġretry Button . visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġprogress _ bar . visible Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ }