package Ġcom . tom sz om . repo browser . owner Ċ Ċ import Ġcom . tom sz om . repo browser . Build Config Ċ import Ġcom . tom sz om . repo browser . core . presentation . Base Presenter Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠOwner Presenter Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġval Ġview : ĠOwner Contract . View , ĊĠĠĠ Ġprivate Ġval Ġget Owners UseCase : ĠGet Owners UseCase Ċ ) Ġ: ĠBase Presenter (), ĠOwner Contract . Presenter Ġ{ ĊĊĠĠĠ Ġval Ġowners Ġ= Ġmutable ListOf (" ts m ", Ġ" github ") ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġrefresh Action () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh Action () Ġ{ ĊĠĠĠĠĠĠĠ Ġget Owners UseCase . get Observable ( owners ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Progress () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . hide Empty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Terminate Ġ{ Ġview . hide Progress () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Owners ( list . sorted By Ġ{ Ġit . login () Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Error () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). add Weak Disposable ( Get Owners UseCase . TAG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Owner Click ( login : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . start Repository Activity ( login ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Owner ( new Owner : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( new Owner . isNotBlank () Ġ&& Ġ! owners . contains ( new Owner )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowners . add ( new Owner ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Action () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview . reset New Owner Input () ĊĠĠĠ Ġ} Ċ }