// package Ġcom . example . android . architecture . blueprint s . be et v . manager Ċ // Ċ // import Ġcom . example . android . architecture . blueprint s . be et v . data . models . BB illing Ċ // Ċ // class ĠBilling Manager Ġ{ Ċ // Ċ // ĠĠĠ Ġprivate Ġlateinit Ġvar Ġexpired Date : ĠString Ċ // ĠĠĠ Ġprivate Ġvar Ġnumber Days : ĠLong Ġ= Ġ 0 Ċ // ĠĠĠ Ġprivate Ġvar Ġm Bill ings : ĠMutable List < BB illing > Ġ= Ġmutable ListOf () Ċ // Ċ // ĠĠĠ Ġcompanion Ġobject Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġprivate Ġvar Ġm Instance : ĠBilling Manager ? Ġ= Ġnull Ċ // ĠĠĠĠĠĠĠ Ġfun ĠgetInstance (): ĠBilling Manager Ġ{ Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Instance Ġ== Ġnull ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Instance Ġ= ĠBilling Manager () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Instance !! Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġfun ĠsetData ( expired Date : ĠString , Ġnumber Days : ĠLong , Ġbill ings : ĠList < BB illing >) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġthis . expired Date Ġ= Ġexpired Date Ċ // ĠĠĠĠĠĠĠ Ġthis . number Days Ġ= Ġnumber Days Ċ // ĠĠĠĠĠĠĠ Ġthis . m Bill ings . clear () Ċ // ĠĠĠĠĠĠĠ Ġthis . m Bill ings . addAll ( bill ings ) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġfun Ġcheck Billing Exist ( billing : ĠString ): ĠBoolean Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġm Bill ings . forEach Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . enable ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( billing Ġ== Ġ" TO LL ") Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . media Ġ== Ġ" M " Ġ|| Ġit . media Ġ== Ġ" LM ") Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . media Ġ== Ġ" L " Ġ|| Ġit . media Ġ== Ġ" LM ") Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġfalse Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġfun Ġget Number Days () Ġ= Ġnumber Days Ċ // ĠĠĠ Ġfun Ġget Expired Date () Ġ= Ġexpired Date Ċ // Ċ //}