)]}'
{
  "commit": "445513061089eda47eed0063a1069011251db370",
  "tree": "ff60ad03bd17d4e8d6a3473cb73c4a53d0014245",
  "parents": [
    "465f8527ddf1e495055e50a91267c3d8d3577068"
  ],
  "author": {
    "name": "Paul Duffin",
    "email": "paulduffin@google.com",
    "time": "Tue May 09 15:52:46 2017 +0100"
  },
  "committer": {
    "name": "Paul Duffin",
    "email": "paulduffin@google.com",
    "time": "Mon May 15 15:17:48 2017 +0100"
  },
  "message": "Moved c.a.i.u.Predicate[s] into legacy-test\n\nThese classes are only used by android.test classes that are\nbeing removed. As their name suggests they should not be in the\nAndroid API at all so it makes sense to remove them. Especially\nas there is java.lang.function.Predicate available now.\n\nIt appears as though Predicate was only added in to the API\nbecause it was used by a method in the API as the directory in\nwhich it and Predicates live was not on the list of classes to\nexplicitly index. Moving it into legacy-test meant that they are\nnow being indexed explicitly which means that Predicates needs\nto be hidden.\n\nKeeps running the tests as part of the existing target.\n\nAt runtime apps targeted at the API version before these are\nremoved will have the legacy-test library automatically added\nto their classpath so they should see no effect. Apps that\ntarget a later API will have to include those classes from the\nandroid.legacy.test.jar which will contain all the android.test\nclasses that depend on it as well.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ia8502ec77ac11f85e078d70b68df214a9435eee7\nMerged-In: I6f6f5f16fe93bd80227a450c6254166632fc6813\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "faf04b119e7bd7c06fa3851b8cb18e0800340424",
      "old_mode": 33188,
      "old_path": "core/tests/utiltests/Android.mk",
      "new_id": "e69a2cc53f205a9d51d040d4cd798c6dbd4ddff5",
      "new_mode": 33188,
      "new_path": "core/tests/utiltests/Android.mk"
    },
    {
      "type": "modify",
      "old_id": "0835cadbe6982984873e328dbc2857e583c3769e",
      "old_mode": 33188,
      "old_path": "legacy-test/Android.mk",
      "new_id": "8efda2ad0c203697025bb6d316f3c5bee7015ca1",
      "new_mode": 33188,
      "new_path": "legacy-test/Android.mk"
    },
    {
      "type": "rename",
      "old_id": "1b5eaff67b87d1f14e90087348f9aeed9bcc03d9",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/util/Predicate.java",
      "new_id": "1b5eaff67b87d1f14e90087348f9aeed9bcc03d9",
      "new_mode": 33188,
      "new_path": "legacy-test/src/com/android/internal/util/Predicate.java",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "c006564f129a4054448cc04c864a3b62aace5bb7",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/util/Predicates.java",
      "new_id": "fe1ff1529138f8943c2ba9846b39b61936454ede",
      "new_mode": 33188,
      "new_path": "legacy-test/src/com/android/internal/util/Predicates.java",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "c46ff051dd335d66d52ef89fa5d13d3ad370bfd7",
      "old_mode": 33188,
      "old_path": "core/tests/utiltests/src/com/android/internal/util/PredicatesTest.java",
      "new_id": "c46ff051dd335d66d52ef89fa5d13d3ad370bfd7",
      "new_mode": 33188,
      "new_path": "legacy-test/tests/com/android/internal/util/PredicatesTest.java",
      "score": 100
    }
  ]
}
