Skip to content

Commit 5ecc0d5

Browse files
Merge remote-tracking branch 'origin/adjustments' into adjustments
2 parents be5d47b + 12d0433 commit 5ecc0d5

File tree

9 files changed

+46
-92
lines changed

9 files changed

+46
-92
lines changed

app/src/main/java/io/getstream/android/core/sample/client/StreamClient.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import io.getstream.android.core.api.processing.StreamBatcher
2929
import io.getstream.android.core.api.processing.StreamRetryProcessor
3030
import io.getstream.android.core.api.processing.StreamSerialProcessingQueue
3131
import io.getstream.android.core.api.processing.StreamSingleFlightProcessor
32-
import io.getstream.android.core.api.serialization.StreamProductEventSerialization
32+
import io.getstream.android.core.api.serialization.StreamEventSerialization
3333
import io.getstream.android.core.api.socket.StreamConnectionIdHolder
3434
import io.getstream.android.core.api.socket.StreamWebSocketFactory
3535
import io.getstream.android.core.api.socket.listeners.StreamClientListener
@@ -107,7 +107,7 @@ fun createStreamClient(
107107
healthMonitor = healthMonitor,
108108
serializationConfig =
109109
StreamClientSerializationConfig.default(
110-
object : StreamProductEventSerialization<Unit> {
110+
object : StreamEventSerialization<Unit> {
111111
override fun serialize(data: Unit): Result<String> = Result.success("")
112112

113113
override fun deserialize(raw: String): Result<Unit> = Result.success(Unit)

stream-android-core/src/main/java/io/getstream/android/core/api/StreamClient.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import io.getstream.android.core.api.processing.StreamBatcher
3333
import io.getstream.android.core.api.processing.StreamRetryProcessor
3434
import io.getstream.android.core.api.processing.StreamSerialProcessingQueue
3535
import io.getstream.android.core.api.processing.StreamSingleFlightProcessor
36-
import io.getstream.android.core.api.serialization.StreamClientEventSerialization
36+
import io.getstream.android.core.api.serialization.StreamEventSerialization
3737
import io.getstream.android.core.api.socket.StreamConnectionIdHolder
3838
import io.getstream.android.core.api.socket.StreamWebSocket
3939
import io.getstream.android.core.api.socket.StreamWebSocketFactory
@@ -293,7 +293,7 @@ fun StreamClient(
293293
StreamCompositeEventSerializationImpl(
294294
internal =
295295
serializationConfig.eventParser
296-
?: StreamClientEventSerialization(compositeSerialization),
296+
?: StreamEventSerialization(compositeSerialization),
297297
external = serializationConfig.productEventSerializers,
298298
),
299299
healthMonitor = healthMonitor,

stream-android-core/src/main/java/io/getstream/android/core/api/model/config/StreamClientSerializationConfig.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
package io.getstream.android.core.api.model.config
1717

1818
import io.getstream.android.core.annotations.StreamCoreApi
19-
import io.getstream.android.core.api.serialization.StreamClientEventSerialization
19+
import io.getstream.android.core.api.model.event.StreamClientWsEvent
2020
import io.getstream.android.core.api.serialization.StreamJsonSerialization
21-
import io.getstream.android.core.api.serialization.StreamProductEventSerialization
21+
import io.getstream.android.core.api.serialization.StreamEventSerialization
2222

2323
/**
2424
* Configuration for serialization and deserialization in the Stream client.
@@ -31,8 +31,8 @@ import io.getstream.android.core.api.serialization.StreamProductEventSerializati
3131
data class StreamClientSerializationConfig
3232
private constructor(
3333
val json: StreamJsonSerialization? = null,
34-
val eventParser: StreamClientEventSerialization? = null,
35-
val productEventSerializers: StreamProductEventSerialization<*>,
34+
val eventParser: StreamEventSerialization<StreamClientWsEvent>? = null,
35+
val productEventSerializers: StreamEventSerialization<*>,
3636
val internalTypes: Set<String> = setOf("connection.ok", "connection.error", "health.check"),
3737
val alsoExternal: Set<String> = emptySet(),
3838
) {
@@ -45,7 +45,7 @@ private constructor(
4545
* @return A default [StreamClientSerializationConfig].
4646
*/
4747
fun <T> default(
48-
productEvents: StreamProductEventSerialization<T>,
48+
productEvents: StreamEventSerialization<T>,
4949
alsoExternal: Set<String> = emptySet(),
5050
) =
5151
StreamClientSerializationConfig(
@@ -63,7 +63,7 @@ private constructor(
6363
*/
6464
fun <T> json(
6565
serialization: StreamJsonSerialization,
66-
productEvents: StreamProductEventSerialization<T>,
66+
productEvents: StreamEventSerialization<T>,
6767
alsoExternal: Set<String> = emptySet(),
6868
) =
6969
StreamClientSerializationConfig(
@@ -81,8 +81,8 @@ private constructor(
8181
* @return A [StreamClientSerializationConfig] with the given event parsing.
8282
*/
8383
fun <T> event(
84-
serialization: StreamClientEventSerialization,
85-
productEvents: StreamProductEventSerialization<T>,
84+
serialization: StreamEventSerialization<StreamClientWsEvent>,
85+
productEvents: StreamEventSerialization<T>,
8686
alsoExternal: Set<String> = emptySet(),
8787
) =
8888
StreamClientSerializationConfig(

stream-android-core/src/main/java/io/getstream/android/core/api/model/exceptions/StreamEndpointErrorData.kt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package io.getstream.android.core.api.model.exceptions
1717

18+
import com.squareup.moshi.Json
1819
import com.squareup.moshi.JsonClass
1920
import io.getstream.android.core.annotations.StreamCoreApi
2021

@@ -40,12 +41,12 @@ import io.getstream.android.core.annotations.StreamCoreApi
4041
@StreamCoreApi
4142
@JsonClass(generateAdapter = true)
4243
public data class StreamEndpointErrorData(
43-
val code: Int,
44-
val duration: String,
45-
val message: String,
46-
val moreInfo: String,
47-
val statusCode: Int,
48-
val details: List<Int>,
49-
val unrecoverable: Boolean? = null,
50-
val exceptionFields: Map<String, String>? = null,
44+
@Json(name = "code") val code: Int,
45+
@Json(name = "duration") val duration: String? = null,
46+
@Json(name = "message") val message: String? = null,
47+
@Json(name = "more_info") val moreInfo: String? = null,
48+
@Json(name = "StatusCode") val statusCode: Int? = null,
49+
@Json(name = "details") val details: List<Int>? = null,
50+
@Json(name = "unrecoverable") val unrecoverable: Boolean? = null,
51+
@Json(name = "exception_fields") val exceptionFields: Map<String, String>? = null,
5152
)

stream-android-core/src/main/java/io/getstream/android/core/api/serialization/StreamClientEventSerialization.kt

Lines changed: 0 additions & 61 deletions
This file was deleted.

stream-android-core/src/main/java/io/getstream/android/core/api/serialization/StreamProductEventSerialization.kt renamed to stream-android-core/src/main/java/io/getstream/android/core/api/serialization/StreamEventSerialization.kt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
package io.getstream.android.core.api.serialization
1717

1818
import io.getstream.android.core.annotations.StreamCoreApi
19+
import io.getstream.android.core.api.model.event.StreamClientWsEvent
20+
import io.getstream.android.core.internal.serialization.StreamClientEventSerializationImpl
1921

2022
/**
2123
* Interface for serializing and deserializing product event objects.
@@ -26,7 +28,7 @@ import io.getstream.android.core.annotations.StreamCoreApi
2628
* @param T The product event type handled by this interface.
2729
*/
2830
@StreamCoreApi
29-
interface StreamProductEventSerialization<T> {
31+
interface StreamEventSerialization<T> {
3032

3133
/**
3234
* Encodes a product event into a [String] suitable for transport or storage.
@@ -46,3 +48,17 @@ interface StreamProductEventSerialization<T> {
4648
*/
4749
fun deserialize(raw: String): Result<T>
4850
}
51+
52+
53+
54+
/**
55+
* Creates a new [StreamEventSerialization] instance that can serialize [io.getstream.android.core.api.model.event.StreamClientWsEvent] objects.
56+
*
57+
* @param jsonParser The [StreamJsonSerialization] to use for JSON serialization and
58+
* deserialization.
59+
* @return A new [StreamEventSerialization] instance.
60+
*/
61+
@StreamCoreApi
62+
fun StreamEventSerialization(
63+
jsonParser: StreamJsonSerialization
64+
): StreamEventSerialization<StreamClientWsEvent> = StreamClientEventSerializationImpl(jsonParser)

stream-android-core/src/main/java/io/getstream/android/core/internal/serialization/StreamClientEventSerializationImpl.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
package io.getstream.android.core.internal.serialization
1717

1818
import io.getstream.android.core.api.model.event.StreamClientWsEvent
19-
import io.getstream.android.core.api.serialization.StreamClientEventSerialization
19+
import io.getstream.android.core.api.serialization.StreamEventSerialization
2020
import io.getstream.android.core.api.serialization.StreamJsonSerialization
2121

2222
internal class StreamClientEventSerializationImpl(private val jsonParser: StreamJsonSerialization) :
23-
StreamClientEventSerialization {
23+
StreamEventSerialization<StreamClientWsEvent> {
2424
override fun serialize(data: StreamClientWsEvent): Result<String> = jsonParser.toJson(data)
2525

2626
override fun deserialize(raw: String): Result<StreamClientWsEvent> =

stream-android-core/src/main/java/io/getstream/android/core/internal/serialization/StreamCompositeEventSerializationImpl.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ package io.getstream.android.core.internal.serialization
1717

1818
import com.squareup.moshi.JsonReader
1919
import io.getstream.android.core.api.model.event.StreamClientWsEvent
20-
import io.getstream.android.core.api.serialization.StreamClientEventSerialization
21-
import io.getstream.android.core.api.serialization.StreamProductEventSerialization
20+
import io.getstream.android.core.api.serialization.StreamEventSerialization
2221
import io.getstream.android.core.api.utils.runCatchingCancellable
2322
import okio.Buffer
2423

@@ -65,8 +64,8 @@ private constructor(val core: StreamClientWsEvent? = null, val product: T? = nul
6564
* @param T The type of the product-specific event.
6665
*/
6766
internal class StreamCompositeEventSerializationImpl<T>(
68-
private val internal: StreamClientEventSerialization,
69-
private val external: StreamProductEventSerialization<T>,
67+
private val internal: StreamEventSerialization<StreamClientWsEvent>,
68+
private val external: StreamEventSerialization<T>,
7069
private val internalTypes: Set<String> =
7170
setOf("connection.ok", "connection.error", "health.check"),
7271
private val alsoExternal: Set<String> = emptySet(),

stream-android-core/src/test/java/io/getstream/android/core/internal/serialization/StreamCompositeEventSerializationImplTest.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,16 @@
1616
package io.getstream.android.core.internal.serialization
1717

1818
import io.getstream.android.core.api.model.event.StreamClientWsEvent
19-
import io.getstream.android.core.api.serialization.StreamClientEventSerialization
20-
import io.getstream.android.core.api.serialization.StreamProductEventSerialization
19+
import io.getstream.android.core.api.serialization.StreamEventSerialization
2120
import io.mockk.*
2221
import org.junit.Assert.*
2322
import org.junit.Before
2423
import org.junit.Test
2524

2625
class StreamCompositeEventSerializationImplTest {
2726

28-
private lateinit var internalSer: StreamClientEventSerialization
29-
private lateinit var externalSer: StreamProductEventSerialization<String>
27+
private lateinit var internalSer: StreamEventSerialization<StreamClientWsEvent>
28+
private lateinit var externalSer: StreamEventSerialization<String>
3029
private lateinit var coreEvent: StreamClientWsEvent
3130

3231
@Before

0 commit comments

Comments
 (0)