package Ġcom . core . app . ui . components Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Typed Array Ċ Ċ import Ġandroidx . appcompat . widget . AppCompat TextView Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ProgressBar Ċ import Ġcom . core . app . R Ċ import Ġcom . core . app . base . component . Base Component View Ċ import Ġcom . core . commons . extension .* Ċ Ċ class ĠProgress View Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġattrs : ĠAttributeSet ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġdef Style Attr : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġdef Style Res : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠBase Component View ( context , Ġattrs , Ġdef Style Attr , Ġdef Style Res ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Container : ĠView ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm ProgressBar : ĠProgress Bar ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Progress TextView : ĠAppCompat TextView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġm TextColor : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġm BackgroundColor : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġm In determinate Tint : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġvar Ġm Progress Text : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġval Ġm Style able : ĠInt Array ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠR . style able . Progress View ĊĊĠĠĠ Ġoverride Ġval Ġm Layout Id : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠR . layout . progress _ view ĊĊĠĠĠ Ġoverride Ġfun ĠonLoad Styled Attributes ( attrs : ĠTyped Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm BackgroundColor Ġ= Ġattrs . getColor ( R . style able . Progress View _ progress BackgroundColor , Ġ- 1 ) ĊĠĠĠĠĠĠĠ Ġm TextColor Ġ= Ġattrs . getColor ( R . style able . Progress View _ progress TextColor , Ġ- 1 ) ĊĠĠĠĠĠĠĠ Ġm Progress Text Ġ= Ġattrs . getString ( R . style able . Progress View _ progress Text ) ĊĠĠĠĠĠĠĠ Ġm In determinate Tint Ġ= Ġattrs . getColor ( R . style able . Progress View _ progress In determinate Tint , Ġ- 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Container Ġ= ĠfindViewById ( R . id . progress ) ĊĠĠĠĠĠĠĠ Ġm ProgressBar Ġ= ĠfindViewById ( R . id . progressbar ) ĊĠĠĠĠĠĠĠ Ġm Progress TextView Ġ= ĠfindViewById ( R . id . progress _ label ) ĊĊĠĠĠĠĠĠĠ Ġset Progress Text ( m Progress Text ) ĊĠĠĠĠĠĠĠ Ġset Progress TextColor ( m TextColor ) ĊĠĠĠĠĠĠĠ Ġset Progress BackgroundColor ( m BackgroundColor ) ĊĠĠĠĠĠĠĠ Ġset Progress In determinate Tint ( m In determinate Tint ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Visibility ( visibility : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( visibility ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView . VISIBLE Ġ-> Ġstart Fade In Animation () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView . IN VISIBLE Ġ-> Ġstart Fade Out Animation () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView . GONE Ġ-> Ġstart Fade Out Animation () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . setVisibility ( visibility ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Progress Text ( resourceId : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Progress TextView Ġ== Ġnull Ġ|| Ġresource Id Ġ== Ġnull Ġ|| Ġresource Id Ġ== Ġ 0 ) Ġreturn ĊĠĠĠĠĠĠĠ Ġm Progress TextView ?. text Ġ= Ġcontext . resources . getString ( resourceId ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Progress Text ( text : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Progress TextView Ġ== Ġnull Ġ|| Ġtext Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġm Progress TextView ?. text Ġ= Ġtext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Progress TextColor ( textColor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Progress TextView Ġ== Ġnull Ġ|| ĠtextColor Ġ== Ġ- 1 ) Ġreturn ĊĠĠĠĠĠĠĠ Ġm Progress TextView ?. setTextColor ( textColor ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Progress BackgroundColor ( backgroundColor : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Container Ġ== Ġnull Ġ|| ĠbackgroundColor Ġ== Ġ- 1 ) Ġreturn ĊĠĠĠĠĠĠĠ Ġm Container ?. set BackgroundColor ( backgroundColor ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Progress In determinate Tint ( in determinate Tint : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m ProgressBar Ġ== Ġnull Ġ|| Ġin determinate Tint Ġ== Ġ- 1 ) Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġprogress Drawable Ġ= Ġm ProgressBar ?. in determinate Drawable ?. mutate () ĊĠĠĠĠĠĠĠ Ġprogress Drawable ?. setColor Filter ( in determinate Tint , Ġandroid . graphics . Port er D uff . Mode . MULTI PLY ) ĊĠĠĠĠĠĠĠ Ġm ProgressBar ?. progress Drawable Ġ= Ġprogress Drawable ĊĠĠĠ Ġ} Ċ } Ċ