package Ġcom . wz . jet pack demo . li ved ata Ċ Ċ import Ġandroidx . annotation . MainThread Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġjava . math . BigDecimal Ċ Ċ class ĠStock LiveData ( symbol : ĠString ) Ġ: ĠLive Data < BigDecimal >() Ġ{ ĊĠĠĠ Ġprivate Ġval Ġstock Manager : ĠStock Manager Ġ= ĠStock Manager () ĊĊĠĠĠ Ġprivate Ġval Ġlistener Ġ= Ġ{ price : BigDecimal -> ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġprice ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Active () Ġ{ ĊĠĠĠĠĠĠĠ Ġstock Manager . requ set Price Updates ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Inactive () Ġ{ ĊĠĠĠĠĠĠĠ Ġstock Manager . remove Updates ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġs Instance : ĠStock LiveData ĊĊĠĠĠĠĠĠĠ Ġ@ MainThread ĊĠĠĠĠĠĠĠ Ġfun Ġget ( symbol : ĠString ): ĠStock LiveData Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs Instance Ġ= Ġif Ġ(:: s Instance . isInitialized ) Ġs Instance Ġelse ĠStock LiveData ( symbol ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġs Instance ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }