package Ġde . s cout . fire place . feature . login Ċ Ċ import Ġde . s cout . fire place . feature . models . Token Ċ import Ġde . s cout . fire place . feature . network . Scheduling Strategy Ċ import Ġio . reactivex . Single Ċ import Ġjavax . inject . Inject Ċ Ċ internal Ġclass ĠLogin Client Ġ@ Inject Ġconstructor ( private Ġval Ġservice : ĠLogin Service , Ġprivate Ġval Ġstrategy : ĠS cheduling Strategy ) Ġ{ ĊĊĠ Ġfun Ġclient Credentials ( id : ĠString , Ġsecret : ĠString ): ĠSingle < Token > Ġ{ ĊĠĠĠ Ġreturn Ġservice . token ( CLIENT _ CRED ENTIAL S , Ġid , Ġsecret ). compose ( strategy . single ()) ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠCLIENT _ CRED ENTIAL S Ġ= Ġ" client _ credentials " ĊĠ Ġ} Ċ } Ċ