package org.ntlab.tag.api.regist import io.reactivex.Observer import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers import org.ntlab.tag.Constant import org.ntlab.tag.api.BaseApi import org.ntlab.tag.model.RxBus /** * Created by matsumoto_k on 2017/07/07. */ object RoomApiClient : BaseApi() { fun getRooms() { val getRoomService = getClient().create(RoomService::class.java).getRooms() getRoomService.subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Observer<ArrayList<RoomApiResponse>> { override fun onSubscribe(d: Disposable?) { println("onSubscribeGetRoom") } override fun onComplete() { println("test") } override fun onNext(value: ArrayList<RoomApiResponse>?) { if (value != null) { RxBus.send(value) } } override fun onError(e: Throwable?) { println("onError") println(e?.message) } }) } fun postRooms(userId: Int, roomName: String) { val getRoomService = getClient().create(RoomService::class.java).postRooms(userId, roomName) getRoomService.subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Observer<RoomApiResponse> { override fun onSubscribe(d: Disposable?) { println("onSubscribePostRoom") } override fun onComplete() { } override fun onNext(value: RoomApiResponse?) { if (value != null) { RxBus.send(value) } } override fun onError(e: Throwable?) { println("onError") println(e?.message) } }) } fun putRooms(userId: Int, roomId: Int) { val getRoomService = getClient().create(RoomService::class.java).putRooms(userId, roomId) getRoomService.subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Observer<RoomApiResponse> { override fun onSubscribe(d: Disposable?) { println("onSubscribePutRoom") } override fun onComplete() { } override fun onNext(value: RoomApiResponse?) { if (value != null) { RxBus.send(value) } } override fun onError(e: Throwable?) { println("onError") println(e?.message) } }) } fun outRoom(out: String) { println("${Constant.END_POINT}rooms/${out}") print("outRoomですよ") val outRoomService = getClient().create(RoomService::class.java).outRooms(out) outRoomService.subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object :Observer<Void>{ override fun onComplete() { } override fun onError(e: Throwable?) { println(e) } override fun onSubscribe(d: Disposable?) { } override fun onNext(value: Void?) { println("onNext") } }) } fun deleteRoom(roomId: Int) { getClient().create(RoomService::class.java).deleteRoom(roomId) } fun getInRoom(userId: Int, roomId: Int) { val getRoomService = getClient().create(RoomService::class.java).getRoom(roomId = roomId, userId = userId) getRoomService.subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Observer<RoomApiResponse> { override fun onSubscribe(d: Disposable?) { println("onSubscribePutRoom") } override fun onComplete() { } override fun onNext(value: RoomApiResponse?) { if (value != null) { RxBus.send(value) } } override fun onError(e: Throwable?) { println("onError") println(e?.message) } }) } fun updateRoom(userId: Int, roomId: Int, start: Boolean, ready: Boolean) { val getRoomService = getClient().create(RoomService::class.java).updateRoom(roomId = roomId, userId = userId, ready = ready, start = start) getRoomService.subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Observer<RoomApiResponse> { override fun onSubscribe(d: Disposable?) { println("onSubscribePutRoom") } override fun onComplete() { } override fun onNext(value: RoomApiResponse?) { if (value != null) { RxBus.send(value) } } override fun onError(e: Throwable?) { println("onError") println(e?.message) } }) } }