Skip to content

Commit 9638bc4

Browse files
Merge same interfaces into one
1 parent ccd14b8 commit 9638bc4

File tree

8 files changed

+37
-88
lines changed

8 files changed

+37
-88
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 & 6 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
@@ -42,9 +42,6 @@ import io.getstream.android.core.api.socket.monitor.StreamHealthMonitor
4242
import io.getstream.android.core.api.subscribe.StreamSubscription
4343
import io.getstream.android.core.api.subscribe.StreamSubscriptionManager
4444
import io.getstream.android.core.internal.client.StreamClientImpl
45-
import io.getstream.android.core.internal.http.interceptor.StreamApiKeyInterceptor
46-
import io.getstream.android.core.internal.http.interceptor.StreamAuthInterceptor
47-
import io.getstream.android.core.internal.http.interceptor.StreamConnectionIdInterceptor
4845
import io.getstream.android.core.internal.serialization.StreamCompositeEventSerializationImpl
4946
import io.getstream.android.core.internal.serialization.StreamCompositeMoshiJsonSerialization
5047
import io.getstream.android.core.internal.serialization.StreamMoshiJsonSerializationImpl
@@ -55,7 +52,6 @@ import kotlinx.coroutines.Job
5552
import kotlinx.coroutines.SupervisorJob
5653
import kotlinx.coroutines.flow.MutableStateFlow
5754
import kotlinx.coroutines.flow.StateFlow
58-
import okhttp3.OkHttpClient
5955

6056
/**
6157
* Entry point for establishing and managing a connection to Stream services.
@@ -297,7 +293,7 @@ fun StreamClient(
297293
StreamCompositeEventSerializationImpl(
298294
internal =
299295
serializationConfig.eventParser
300-
?: StreamClientEventSerialization(compositeSerialization),
296+
?: StreamEventSerialization(compositeSerialization),
301297
external = serializationConfig.productEventSerializers,
302298
),
303299
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/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)