Skip to content

Commit c2df373

Browse files
committed
Fix nullability of Unit returning endpoints and the send message endpoint
1 parent 474e13d commit c2df373

25 files changed

Lines changed: 78 additions & 52 deletions

library/src/main/kotlin/me/proxer/library/KotlinExtensions.kt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,21 @@ suspend fun <T : Any> ProxerCall<T>.await(): T {
1818
continuation.resumeWithException(NullPointerException())
1919
}
2020
},
21-
{ error ->
22-
continuation.resumeWithException(error)
23-
}
21+
{ error -> continuation.resumeWithException(error) }
22+
)
23+
}
24+
}
25+
26+
@JvmName("awaitNullable")
27+
suspend fun <T : Any> ProxerCall<T?>.await(): T? {
28+
return suspendCancellableCoroutine { continuation ->
29+
continuation.invokeOnCancellation {
30+
cancel()
31+
}
32+
33+
enqueue(
34+
{ result -> continuation.resume(result) },
35+
{ error -> continuation.resumeWithException(error) }
2436
)
2537
}
2638
}

library/src/main/kotlin/me/proxer/library/api/apps/ErrorLogEndpoint.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class ErrorLogEndpoint internal constructor(
1212
private val internalApi: InternalApi,
1313
private val id: String,
1414
private val message: String
15-
) : Endpoint<Unit> {
15+
) : Endpoint<Unit?> {
1616

1717
private var anonym: Boolean? = null
1818
private var silent: Boolean? = null
@@ -27,7 +27,7 @@ class ErrorLogEndpoint internal constructor(
2727
*/
2828
fun silent(silent: Boolean? = true) = this.apply { this.silent = silent }
2929

30-
override fun build(): ProxerCall<Unit> {
30+
override fun build(): ProxerCall<Unit?> {
3131
return internalApi.errorLog(id, message, anonym, silent)
3232
}
3333
}

library/src/main/kotlin/me/proxer/library/api/apps/InternalApi.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ internal interface InternalApi {
1717
@Field("message") message: String?,
1818
@Field("anonym") anonym: Boolean?,
1919
@Field("silent") silent: Boolean?
20-
): ProxerCall<Unit>
20+
): ProxerCall<Unit?>
2121
}

library/src/main/kotlin/me/proxer/library/api/chat/InternalApi.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ internal interface InternalApi {
3939
fun reportMessage(
4040
@Field("message_id") messageId: String?,
4141
@Field("message") message: String?
42-
): ProxerCall<Unit>
42+
): ProxerCall<Unit?>
4343

4444
@GET("chat/roomusers")
4545
fun roomUsers(@Query("room_id") roomId: String?): ProxerCall<List<ChatRoomUser>>

library/src/main/kotlin/me/proxer/library/api/chat/ReportChatMessageEndpoint.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ class ReportChatMessageEndpoint internal constructor(
1212
private val internalApi: InternalApi,
1313
private val messageId: String,
1414
private val message: String
15-
) : Endpoint<Unit> {
15+
) : Endpoint<Unit?> {
1616

17-
override fun build(): ProxerCall<Unit> {
17+
override fun build(): ProxerCall<Unit?> {
1818
return internalApi.reportMessage(messageId, message)
1919
}
2020
}

library/src/main/kotlin/me/proxer/library/api/comment/InternalApi.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ internal interface InternalApi {
2727
@Field("episode") episode: Int?,
2828
@Field("state") state: Int?,
2929
@Field("comment") comment: String?
30-
): ProxerCall<Unit>
30+
): ProxerCall<Unit?>
3131

3232
@FormUrlEncoded
3333
@POST("comment/update")
@@ -37,5 +37,5 @@ internal interface InternalApi {
3737
@Field("episode") episode: Int?,
3838
@Field("state") state: Int?,
3939
@Field("comment") comment: String?
40-
): ProxerCall<Unit>
40+
): ProxerCall<Unit?>
4141
}

library/src/main/kotlin/me/proxer/library/api/comment/UpdateCommentEndpoint.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class UpdateCommentEndpoint internal constructor(
2424
private val internalApi: InternalApi,
2525
private val id: String?,
2626
private val entryId: String?
27-
) : Endpoint<Unit> {
27+
) : Endpoint<Unit?> {
2828

2929
private var rating: Int? = null
3030
private var episode: Int? = null
@@ -69,7 +69,7 @@ class UpdateCommentEndpoint internal constructor(
6969
return this.apply { this.comment = comment }
7070
}
7171

72-
override fun build(): ProxerCall<Unit> {
72+
override fun build(): ProxerCall<Unit?> {
7373
val apiMediaProgress = mediaProgress?.let { ProxerUtils.getSafeApiEnumName(it).toInt() }
7474

7575
return when {

library/src/main/kotlin/me/proxer/library/api/info/InternalApi.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ internal interface InternalApi {
6262
fun modifyUserInfo(
6363
@Field("id") id: String?,
6464
@Field("type") type: UserInfoType?
65-
): ProxerCall<Unit>
65+
): ProxerCall<Unit?>
6666

6767
@GET("info/recommendations")
6868
fun recommendations(@Query("id") id: String?): ProxerCall<List<Recommendation>>

library/src/main/kotlin/me/proxer/library/api/info/ModifyUserInfoEndpoint.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ class ModifyUserInfoEndpoint internal constructor(
1212
private val internalApi: InternalApi,
1313
private val id: String,
1414
private val type: UserInfoType
15-
) : Endpoint<Unit> {
15+
) : Endpoint<Unit?> {
1616

17-
override fun build(): ProxerCall<Unit> {
17+
override fun build(): ProxerCall<Unit?> {
1818
return internalApi.modifyUserInfo(id, type)
1919
}
2020
}

library/src/main/kotlin/me/proxer/library/api/messenger/ConferenceModificationEndpoint.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ class ConferenceModificationEndpoint internal constructor(
2626
private val internalApi: InternalApi,
2727
private val id: String,
2828
private val modification: ConferenceModification
29-
) : Endpoint<Unit> {
29+
) : Endpoint<Unit?> {
3030

31-
override fun build(): ProxerCall<Unit> {
31+
override fun build(): ProxerCall<Unit?> {
3232
return when (modification) {
3333
READ -> internalApi.markConferenceAsRead(id)
3434
UNREAD -> internalApi.unmarkConferenceAsRead(id)

0 commit comments

Comments
 (0)