)]}'
{
  "commit": "0834e9f2980c13a8a54334fdb2ec691d2207f952",
  "tree": "927ec571c9f57c3dc546cb90c4c413776e3b7270",
  "parents": [
    "36a571bf15b5c151285429e5a74c29ff44106626"
  ],
  "author": {
    "name": "Chet Haase",
    "email": "chet@google.com",
    "time": "Mon Aug 15 23:01:03 2022 +0000"
  },
  "committer": {
    "name": "Chet Haase",
    "email": "chet@google.com",
    "time": "Fri Aug 26 16:32:11 2022 +0000"
  },
  "message": "Add APIs to make Android Path queryable and more useful\n\nThe underlying Skia implementation of Path has APIs for\nquerying the data in a path (via SkPath::Iter). It also exposes\nthe ability to add conic sections (conicTo()), which is useful\nsince a Path can contain conics (even if it was not created with\nconics directly).  And it adds a method to get the generationId\nfrom a Path, used to see whether a Path changed since the\nlast time that Id was retrieved. Finally, it exposes a simple\ninterpolate() function to allow linear interpolation between\ntwo paths.\n\nThis CL adds PathIterator to enable querying Path data, and\nadds conicTo, isInterpolatable(), and interpolate() to Path,\nall of which wrap the underlying, existing Skia functionality.\n\nBug: 157391114\nBug: 223586753\nTest: Added PathIteratorTest plus new tests on PathTest\nChange-Id: Iddadfde24dd75ac04d0a2f3ebca767613af25360\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6b739bc2f46c1c95d4f13b096f66742c9fa1c3ce",
      "new_mode": 33188,
      "new_path": "apct-tests/perftests/core/src/android/graphics/perftests/PathIteratorPerfTest.java"
    },
    {
      "type": "modify",
      "old_id": "7ed1a4382054e3a89f129876d2a529c84eab33f8",
      "old_mode": 33188,
      "old_path": "core/api/current.txt",
      "new_id": "ba61ca13604cc7608a4c79802b27c97720a5d840",
      "new_mode": 33188,
      "new_path": "core/api/current.txt"
    },
    {
      "type": "modify",
      "old_id": "afcaabebb9fb2e7801987adbd8d8767a82a025c6",
      "old_mode": 33188,
      "old_path": "graphics/java/android/graphics/Path.java",
      "new_id": "052b9af09bc862f8479ab9f0b64c142d62ac5079",
      "new_mode": 33188,
      "new_path": "graphics/java/android/graphics/Path.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "33b9a475ad21433f5509e751584a1f565670fe8f",
      "new_mode": 33188,
      "new_path": "graphics/java/android/graphics/PathIterator.java"
    },
    {
      "type": "modify",
      "old_id": "ad9aa6cdd3d9a761baf4836f87b669e69a283130",
      "old_mode": 33188,
      "old_path": "libs/hwui/Android.bp",
      "new_id": "88f73d6cf25119983abe78f005b3941f3eeebae7",
      "new_mode": 33188,
      "new_path": "libs/hwui/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "942c0506321c1ea980a932bb2031f3d92eacea57",
      "old_mode": 33188,
      "old_path": "libs/hwui/apex/LayoutlibLoader.cpp",
      "new_id": "b7a15633ff6d5e8758ca4938090ca476c724ca33",
      "new_mode": 33188,
      "new_path": "libs/hwui/apex/LayoutlibLoader.cpp"
    },
    {
      "type": "modify",
      "old_id": "e1f5abd786bf02e7f31222bbedc27039ef8e35bd",
      "old_mode": 33188,
      "old_path": "libs/hwui/apex/jni_runtime.cpp",
      "new_id": "39725a55b59411c5b4b4d78210bde37456dd011d",
      "new_mode": 33188,
      "new_path": "libs/hwui/apex/jni_runtime.cpp"
    },
    {
      "type": "modify",
      "old_id": "d67bcf2216817052b4bec8042d68195dd3a74c05",
      "old_mode": 33188,
      "old_path": "libs/hwui/jni/Path.cpp",
      "new_id": "3694ce07b972490f4daee7307da1272f669cb8c2",
      "new_mode": 33188,
      "new_path": "libs/hwui/jni/Path.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3884342d8d379cbb9ffcda6a0453bb194fe6c961",
      "new_mode": 33188,
      "new_path": "libs/hwui/jni/PathIterator.cpp"
    }
  ]
}
