Disallow null response in Callback
This commit is contained in:
@@ -29,7 +29,7 @@ internal class MissedMessageUtil(private val api: MessageApi) {
|
|||||||
var since: Long? = null
|
var since: Long? = null
|
||||||
while (true) {
|
while (true) {
|
||||||
val pagedMessages = Api.execute(api.getMessages(10, since))
|
val pagedMessages = Api.execute(api.getMessages(10, since))
|
||||||
val messages = pagedMessages!!.messages
|
val messages = pagedMessages.messages
|
||||||
val filtered = filter(messages, till)
|
val filtered = filter(messages, till)
|
||||||
result.addAll(filtered)
|
result.addAll(filtered)
|
||||||
if (messages.size != filtered.size ||
|
if (messages.size != filtered.size ||
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ import retrofit2.Call
|
|||||||
|
|
||||||
internal object Api {
|
internal object Api {
|
||||||
@Throws(ApiException::class)
|
@Throws(ApiException::class)
|
||||||
fun <T> execute(call: Call<T>): T? {
|
fun <T> execute(call: Call<T>): T {
|
||||||
try {
|
try {
|
||||||
val response = call.execute()
|
val response = call.execute()
|
||||||
|
|
||||||
if (response.isSuccessful) {
|
if (response.isSuccessful) {
|
||||||
return response.body()
|
return response.body() ?: throw ApiException("null response", response)
|
||||||
} else {
|
} else {
|
||||||
throw ApiException(response)
|
throw ApiException(response)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,11 @@ internal class ApiException : Exception {
|
|||||||
code = response.code()
|
code = response.code()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
constructor(exceptionBody: String, response: Response<*>) : super("Api Error", null) {
|
||||||
|
body = exceptionBody
|
||||||
|
code = response.code()
|
||||||
|
}
|
||||||
|
|
||||||
constructor(cause: Throwable?) : super("Request failed.", cause) {
|
constructor(cause: Throwable?) : super("Request failed.", cause) {
|
||||||
code = 0
|
code = 0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -600,7 +600,7 @@ internal class MessagesActivity :
|
|||||||
.createService(ClientApi::class.java)
|
.createService(ClientApi::class.java)
|
||||||
stopService(Intent(this@MessagesActivity, WebSocketService::class.java))
|
stopService(Intent(this@MessagesActivity, WebSocketService::class.java))
|
||||||
try {
|
try {
|
||||||
val clients = Api.execute(api.clients) ?: emptyList()
|
val clients = Api.execute(api.clients)
|
||||||
var currentClient: Client? = null
|
var currentClient: Client? = null
|
||||||
for (client in clients) {
|
for (client in clients) {
|
||||||
if (client.token == settings.token) {
|
if (client.token == settings.token) {
|
||||||
|
|||||||
Reference in New Issue
Block a user