package Ġcom . outs . core . android . activity Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġcom . outs . core . android . config . Progress Status Ċ import Ġcom . outs . core . android . vm . Base ViewModel Ċ Ċ /** Ċ Ġ* Ġauthor : ĠOut s 3 Ċ Ġ* Ġe - mail : Ġ 3 . 3 nose k ai @ gmail . com Ċ Ġ* Ġdate : Ġ 2 0 2 1 / 1 1 / 2 Ġ 1 3 : 4 9 Ċ Ġ* Ġdesc : Ċ Ġ*/ Ċ abstract Ġclass ĠBase V MA ct ivity < VM Ġ: ĠBase ViewModel > Ġ: ĠAbs Activity () Ġ{ ĊĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġm ViewModel : ĠVM ĊĊĠĠĠ Ġprotected Ġabstract Ġval Ġget ViewModel : ĠVM ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġm ViewModel Ġ= Ġget ViewModel ĊĠĠĠĠĠĠĠ Ġlifecycle . add Observer ( m ViewModel ) ĊĠĠĠĠĠĠĠ Ġm ViewModel . onClick Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġm ViewModel . bind To Self () ĊĠĠĠĠĠĠĠ Ġobserve ( m ViewModel ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠBase ViewModel . bind To Self () Ġ{ ĊĠĠĠĠĠĠĠ Ġprogress Status . observe ( owner ) Ġ{ Ġstatus Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProgress Status . SHOW _ PROGRESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProgress Status . CANCEL _ PROGRESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġobserve ( vm : ĠVM ) Ġ{ ĊĠĠĠ Ġ} Ċ Ċ }