From acbd23a7aa4e5d37700f54b309da6a4c41046a5f Mon Sep 17 00:00:00 2001 From: Yueyu Date: Fri, 11 Jun 2021 06:19:44 +0800 Subject: [PATCH] add missing files --- .../android/JavaScriptDirectInterface.java | 18 +++++------------- ios/ScratchJr/src/IO.m | 5 ++++- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/android/ScratchJr/app/src/main/java/org/scratchjr/android/JavaScriptDirectInterface.java b/android/ScratchJr/app/src/main/java/org/scratchjr/android/JavaScriptDirectInterface.java index c2a58b2..f1ec612 100644 --- a/android/ScratchJr/app/src/main/java/org/scratchjr/android/JavaScriptDirectInterface.java +++ b/android/ScratchJr/app/src/main/java/org/scratchjr/android/JavaScriptDirectInterface.java @@ -682,21 +682,13 @@ public class JavaScriptDirectInterface { /** * Record a user property - * @param prefObjStr single key-value JSON string, like "{\"school\": \"Central High\"}" + * @param key like "school" + * @param propertyString like "Central High" */ @JavascriptInterface - public void setAnalyticsPref(String prefObjStr) { - if (prefObjStr != null) { - try { - JSONObject jsonObject = new JSONObject(prefObjStr); - JSONArray jsonArray = jsonObject.names(); - String key = jsonArray.getString(0); - String value = jsonObject.getString(key); - _activity.setAnalyticsPref(key, value); - } catch (JSONException e) { - Log.e(LOG_TAG, "JSON error: " + e.getMessage(), e); - return; - } + public void setAnalyticsPref(String key, String propertyString) { + if (key != null) { + _activity.setAnalyticsPref(key, propertyString); } } } diff --git a/ios/ScratchJr/src/IO.m b/ios/ScratchJr/src/IO.m index f5e1230..eb8c189 100644 --- a/ios/ScratchJr/src/IO.m +++ b/ios/ScratchJr/src/IO.m @@ -313,7 +313,10 @@ NSMutableDictionary *soundtimers; NSDictionary *page = [json valueForKey:name]; for (NSString *spriteName in [page valueForKey:@"sprites"]) { NSDictionary *sprite = [page valueForKey:spriteName]; - [sprites setValue:sprite forKey:[sprite valueForKey:@"md5"]]; + NSString *md5 = [sprite valueForKey:@"md5"]; + if (md5 != nil) { + [sprites setValue:sprite forKey:md5]; + } } }