[skottie] Simplify Parse<SkPoint>

Some BM versions wrap point values as single or even multi-element arrays.
Parse<SkScalar> already handles the former case - we can extend that
behavior to also cover the latter and simplify Parse<SkPoint>.

TBR=

Change-Id: I2152928944f43dc03a5d8f0d65865ac43974fd7a
Reviewed-on: https://skia-review.googlesource.com/135800
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/modules/skottie/src/SkottieJson.cpp b/modules/skottie/src/SkottieJson.cpp
index 186cd42..23221af 100644
--- a/modules/skottie/src/SkottieJson.cpp
+++ b/modules/skottie/src/SkottieJson.cpp
@@ -24,7 +24,7 @@
 bool Parse<SkScalar>(const Value& v, SkScalar* s) {
     // Some versions wrap values as single-element arrays.
     if (const skjson::ArrayValue* array = v) {
-        if (array->size() == 1) {
+        if (array->size() > 0) {
             return Parse((*array)[0], s);
         }
     }
@@ -80,16 +80,8 @@
         return false;
     const auto& ov = v.as<ObjectValue>();
 
-    const auto& jvx = ov["x"];
-    const auto& jvy = ov["y"];
-
-    // Some BM versions seem to store x/y as single-element arrays.
-    // TODO: We should be able to check size == 1 below, or just delegate to Parse<SkScalar>,
-    //       but that change introduces diffs.  Investigate.
-    const ArrayValue* jvxa = jvx;
-    const ArrayValue* jvya = jvy;
-    return Parse<SkScalar>(jvxa && jvxa->size() > 0 ? (*jvxa)[0] : jvx, &pt->fX)
-        && Parse<SkScalar>(jvya && jvya->size() > 0 ? (*jvya)[0] : jvy, &pt->fY);
+    return Parse<SkScalar>(ov["x"], &pt->fX)
+        && Parse<SkScalar>(ov["y"], &pt->fY);
 }
 
 template <>