package Ġio . st ip op . data Ċ Ċ import Ġio . st ip op . Config Ċ import Ġio . st ip op . Constants Ċ import Ġio . st ip op . St ip op Ċ import Ġio . st ip op . api . St ip op Api Ċ import Ġio . st ip op . models . St icker Package Ċ import Ġio . st ip op . models . response . St icker Package Response Ċ import Ġio . st ip op . models . response . St ip op Response Ċ Ċ internal Ġclass ĠSt icker Detail Repository ( private Ġval Ġapi Service : ĠSt ip op Api ) Ġ: ĠBase Repository () Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġget St icker Package ( ĊĠĠĠĠĠĠĠ Ġpackage Id : ĠInt , ĊĠĠĠĠĠĠĠ ĠonSuccess : Ġ( data : ĠSt icker Package Response ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsafe Call ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall Ġ= Ġ{ Ġapi Service . get St icker Package ( packageId , ĠSt ip op . userId ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Comp letable Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. let ( on Success ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġsuspend Ġfun Ġpost Download Stick ers ( ĊĠĠĠĠĠĠĠ Ġst icker Package : ĠSt icker Package , ĊĠĠĠĠĠĠĠ ĠonSuccess : Ġ( data : ĠSt ip op Response ?) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġprice : ĠDouble ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ( Config . allow Prem ium Ġ== Ġ" Y ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprice Ġ= Ġif Ġ( st icker Package . package Animated Ġ== Ġ" Y ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConfig . gif Price ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConfig . png Price ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsafe Call ( call Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapi Service . post Download Stick ers ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Id Ġ= Ġst icker Package . packageId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Purchase Ġ= ĠConfig . allow Prem ium , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠSt ip op . userId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlang Ġ= ĠSt ip op . lang , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcountry Code Ġ= ĠSt ip op . country Code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprice Ġ= Ġprice , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentr ance Point Ġ= ĠConstants . Point . STORE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Point Ġ= ĠConstants . Point . STORE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, Ġon Comp letable Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }