From e1beb33f612ff3b1e4ff594bb186d646d5ca3c77 Mon Sep 17 00:00:00 2001 From: Nicklas Ansman Giertz Date: Tue, 12 Jan 2021 19:40:44 -0500 Subject: [PATCH] Use Okio's base64 implementation java.util.Base64 is only available on API 26+ on Android while Okio's implementation works on all API levels. This fixes #2857 --- .../apollo/subscription/AppSyncOperationMessageSerializer.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apollo-runtime/src/main/java/com/apollographql/apollo/subscription/AppSyncOperationMessageSerializer.kt b/apollo-runtime/src/main/java/com/apollographql/apollo/subscription/AppSyncOperationMessageSerializer.kt index b78930e1446..cf8f8fca70f 100644 --- a/apollo-runtime/src/main/java/com/apollographql/apollo/subscription/AppSyncOperationMessageSerializer.kt +++ b/apollo-runtime/src/main/java/com/apollographql/apollo/subscription/AppSyncOperationMessageSerializer.kt @@ -9,7 +9,6 @@ import okio.Buffer import okio.BufferedSink import okio.BufferedSource import okio.IOException -import java.util.Base64 /** * An [OperationMessageSerializer] that uses the format used by @@ -112,7 +111,7 @@ class AppSyncOperationMessageSerializer( private fun Map.base64Encode(): String { val buffer = Buffer() Utils.writeToJson(this, JsonWriter.of(buffer)) - return Base64.getUrlEncoder().encodeToString(buffer.readByteArray()) + return buffer.readByteString().base64Url() } } } \ No newline at end of file