edwardwongtl
05/31/2018, 8:59 AMretrofitService.login
return Observable<LoginSealed.Success>
instead of Observable<LoginSealed>
droidninja
05/31/2018, 9:07 AMLoginSealed.Failute
in case of HttpException
or IOException
edwardwongtl
05/31/2018, 9:08 AM.map { it -> it as LoginSealed }
droidninja
05/31/2018, 9:20 AMSuccess
, response
is null while there is some response from api.edwardwongtl
05/31/2018, 9:21 AMdroidninja
05/31/2018, 9:26 AMExpose
and SerializedName
but still response is null.edwardwongtl
05/31/2018, 9:28 AMdroidninja
05/31/2018, 9:29 AM{
"session": "Not available",
"returnMsg": "Invalid credentials",
"returnCode": "401"
}
data class data class WSResponse(
@Expose
@SerializedName("session")
val session: String,
@Expose
@SerializedName("returnMsg")
val returnMsg: String,
@Expose
@SerializedName("returnCode")
val returnCode: String
)
edwardwongtl
05/31/2018, 9:41 AMdata class Success(val session: String, val returnMsg: String, val returnCode: String): LoginSealed()
Success
have a extra wrapping layer so it does not fits the modeldroidninja
05/31/2018, 10:48 AMedwardwongtl
05/31/2018, 11:04 AMdroidninja
06/01/2018, 3:38 AMsealed class Result<out T> {
data class Success<out T>(val data: T) : Result<T>()
data class Error<out T>(val t: Throwable) : Result<T>()
}
But i think this won't work in my case. Right?edwardwongtl
06/01/2018, 3:44 AM{"data": { ... } }
droidninja
06/01/2018, 4:02 AMedwardwongtl
06/01/2018, 4:02 AM