package Ġpl . app lover . android architecture . inter actors . sil a _ mi asta Ċ Ċ import Ġio . reactivex . Single Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġpl . app lover . android architecture . App Ċ import Ġpl . app lover . android architecture . data . example . internet . api _ endpoints . Api Endpoints S ila Mi asta Ċ import Ġpl . app lover . android architecture . data . example . internet . params . Params Login Ċ import Ġpl . app lover . android architecture . data . example . internet . params . Params Sing Up Ċ import Ġpl . app lover . android architecture . util . My Scheduler Ċ import Ġpl . app lover . android architecture . util . extensions . print Error Ċ import Ġretrofit 2 . Response Ċ import Ġretrofit 2 . Ret rofit Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠJan us z ĠH ain Ġon Ġ 2 0 1 8 - 0 1 - 1 0 . Ċ Ġ*/ Ċ class ĠInter actor Sing Up ( private Ġval Ġretrofit : ĠRet rofit Ġ= ĠApp . get Main Ret rofit ()) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdis posable : ĠDis posable ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġexecute ( on Success : Ġ() Ġ-> ĠUnit , Ġon Failure : Ġ( code : ĠInt ?) Ġ-> ĠUnit , Ġparams Sing Up : ĠParams Sing Up ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdis posable Ġ= Ġget Single ( ret rofit , Ġparams Sing Up ). subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . body ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Failure ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Failure ( it . code ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint Error ( this , Ġthrowable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Failure ( null ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġunsubscribe () Ġ{ ĊĠĠĠĠĠĠĠ Ġdis posable ?. dispose () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Single ( ret rofit : ĠRet rofit , Ġparams Sing Up : ĠParams Sing Up ): ĠSingle < Response < Void >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġapi Ġ= Ġretrofit . create < Api Endpoints S ila Mi asta >( Api Endpoints S ila Mi asta :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġapi . sing Up ( params Sing Up . params Body ) Ġ// it Ġcan Ġbe Ġapi . get Example List ( params Example . userId ) Ġtoo Ġas Ġwe Ġgot Ġdefault Ġvalue Ġset Ġin Ġget Example List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( My Scheduler . get MainThread Scheduler ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( My Scheduler . get Scheduler ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }