Skip to content

Commit 88d909c

Browse files
authored
Fix issue with UTF8 strings in RC SDK 19.0.0 (#718)
* Fix issue in firebase-config 19.0.0 with UTF-8 values * Formatted modified files
1 parent 12e5da8 commit 88d909c

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

firebase-config/src/main/java/com/google/firebase/remoteconfig/internal/ConfigFetchHttpClient.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@
4646
import com.google.firebase.remoteconfig.FirebaseRemoteConfigException;
4747
import com.google.firebase.remoteconfig.FirebaseRemoteConfigServerException;
4848
import com.google.firebase.remoteconfig.internal.ConfigFetchHandler.FetchResponse;
49-
import java.io.BufferedInputStream;
5049
import java.io.BufferedOutputStream;
50+
import java.io.BufferedReader;
5151
import java.io.IOException;
52-
import java.io.InputStream;
52+
import java.io.InputStreamReader;
5353
import java.io.OutputStream;
5454
import java.net.HttpURLConnection;
5555
import java.net.URL;
@@ -178,7 +178,7 @@ FetchResponse fetch(
178178
byte[] requestBody =
179179
createFetchRequestBody(instanceId, instanceIdToken, analyticsUserProperties)
180180
.toString()
181-
.getBytes();
181+
.getBytes("utf-8");
182182
setFetchRequestBody(urlConnection, requestBody);
183183

184184
urlConnection.connect();
@@ -321,10 +321,11 @@ private void setFetchRequestBody(HttpURLConnection urlConnection, byte[] request
321321

322322
private JSONObject getFetchResponseBody(URLConnection urlConnection)
323323
throws IOException, JSONException {
324-
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
324+
BufferedReader br =
325+
new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "utf-8"));
325326
StringBuilder responseStringBuilder = new StringBuilder();
326327
int current = 0;
327-
while ((current = in.read()) != -1) {
328+
while ((current = br.read()) != -1) {
328329
responseStringBuilder.append((char) current);
329330
}
330331

firebase-config/src/test/java/com/google/firebase/remoteconfig/internal/ConfigFetchHttpClientTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,12 @@ public void setUp() throws Exception {
103103
hasChangeResponseBody =
104104
new JSONObject()
105105
.put(STATE, "UPDATE")
106-
.put(ENTRIES, new JSONObject().put("key_1", "value_1").put("key2", "value_2"))
106+
.put(
107+
ENTRIES,
108+
new JSONObject()
109+
.put("key_1", "value_1")
110+
.put("key2", "value_2")
111+
.put("key_emoji", "\uD83C\uDDFA\uD83C\uDDF3"))
107112
.put(
108113
EXPERIMENT_DESCRIPTIONS,
109114
new JSONArray()

0 commit comments

Comments
 (0)