)]}'
{
  "log": [
    {
      "commit": "3212bdbb3e57022fcc25dd4373e833f613f4d455",
      "tree": "05e46ea5c50f87e2278dbd9c9fd18bc64038612c",
      "parents": [
        "7c691c606c0e68eea5ddea4a910232df68501332"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 30 13:01:30 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jan 31 11:21:22 2018 +0000"
      },
      "message": "Create test-legacy/ for android.test.legacy target\n\nThe android.test.legacy (and legacy-android-test) target depends on\ncode from both test-base/ and test-runner/ and do not really belong\nin either folder.\n\nHaving a separate folder will also provide a convenient place for\nthe artifacts needed to publish android.test.legacy to\nmaven.google.com.\n\nBug: 30188076\nTest: make checkbuild\n\n(cherry picked from commit 898e7de6c71e00e11f299b67bd62d4af5fd12ca2)\n\nChange-Id: I0538281980a55178dd72e5fae16d817cd31aa104\n"
    },
    {
      "commit": "af06ed42b5316a12b0c37d4296cc86cb112d0021",
      "tree": "f93931dd4ee496493f87045f74cc0d2c7454209e",
      "parents": [
        "4ce53a04d3992281a230ac8fc61eb802bc32c5b2"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 26 15:10:36 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 26 15:10:36 2018 +0000"
      },
      "message": "Add android.test.legacy.jar to SDK build\n\nThis is needed in order to create a prebuilts version of this JAR that\ncan be used for unbundled builds.\n\nBug: 30188076\nTest: wait for pi-release build and check\nChange-Id: Ia7ae0db4ae20e9e70c1430f50f4574d1a777564d\n"
    },
    {
      "commit": "924431ff1a77016e496207fc4f23a8cf40db5beb",
      "tree": "fee278f16351127abe88dda8c1cdb1a9ba62df1c",
      "parents": [
        "0158d976c8abc5f5ff5cf4d84afda637e2d878d6",
        "2b3bf45c73f7986f00492eee3848b66b14b99282"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 16 11:52:20 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 16 11:52:20 2018 +0000"
      },
      "message": "Merge \"Replace legacy-test with android.test.base in bp files\" am: 2285630e4b am: caacf3e7c4\nam: 2b3bf45c73\n\nChange-Id: I0c4b7705176b0ae7eb4b06bf5a138757d6b16e9c\n"
    },
    {
      "commit": "b36eb542a9157c488bcc7dc7eb5a65b7b7288155",
      "tree": "251a3793d3b05859b8298b08f43135ed3592cd50",
      "parents": [
        "9cb0b520114c1a166f4972b53cb2bfac7d1a1b78"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 15 15:47:47 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 15 15:47:47 2018 +0000"
      },
      "message": "Replace legacy-test with android.test.base in bp files\n\nThe legacy-test target is deprecated and will be replaced by\nandroid.test.base. This replaces a few usages of the legacy-test target\nin Android.bp files with android.test.base.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I3575f638114fe2a3b703e67837496346bde24472\n"
    },
    {
      "commit": "f64a24307fbf5268a701b887a5dfb890b91f5cad",
      "tree": "51369a254a3467366e558ed1061bc59159efc73a",
      "parents": [
        "e7403b47c35d081d567672d3c94dce5c1d3aca4e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 15 15:15:15 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 15 15:15:15 2018 +0000"
      },
      "message": "Switch legacy-test to android.test.base to match AOSP\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I359b8840304656e9c9c08b1e7367a6b088202064\n"
    },
    {
      "commit": "4d5420f06613901aafb2cc35f317fecda43a1964",
      "tree": "2e9ca396f33b4bff268eaf3994214ab0e79f54ff",
      "parents": [
        "82548f4bc32cab54fd8f3959c245659b8e04cae2",
        "8e632576edd5c8121ee60af4de62eacc41d92968"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Sat Jan 13 21:36:33 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 13 21:36:33 2018 +0000"
      },
      "message": "Merge \"Remove junit classes from legacy-android-test\" am: 4418418adb am: d724c112f3\nam: 8e632576ed\n\nChange-Id: I5b8f7a0c93e90741f0eba1d0761d2c26e8b24513\n"
    },
    {
      "commit": "a88eb29f9e0bd363fb3f1e02f379a54324a3e5ec",
      "tree": "e2a0a2a13fd60ead3bea8becacaea94eeba4b050",
      "parents": [
        "22bd015cbacfd67b0901733740a01ac4674d8f92"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 12 16:08:35 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Sat Jan 13 09:37:37 2018 +0000"
      },
      "message": "Remove junit classes from legacy-android-test\n\nA mistake during the conversion of the legacy-android-test target from\nAndroid.mk to Android.bp caused some junit classes to be accidentally\nincluded in the legacy-android-test target. That caused some warnings\nabout duplicate classes to be output during the build.\n\nThe junit classes are being included as part of the static library\nandroid.test.runner. This fixes that by adding a new\nandroid.test.runner-minus-junit which excludes the junit classes\nand then using that instead.\n\nTest: make checkbuild\nChange-Id: Icd00b38c64d3416a55c1055f9716ddb78ec278f8\n"
    },
    {
      "commit": "e95a895ef416822bbdefa2302ba6ba362a352f9f",
      "tree": "4de7a567af628408e42388c7b41921e72af8cc1d",
      "parents": [
        "21418277009ee848e095b35903d7fde213d3d5fe"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 15:53:09 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 12 16:31:08 2018 +0000"
      },
      "message": "Added new android.test.base targets\n\nRenames ...-legacy-test-... targets related to stubs generation to\n...-android-test-base-....\n\n(cherry picked from commit 5c99382a1995723637814221cd5432c458c622ad)\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I40b39c5250b7d990a903052c0b1ebd694242b5b3\nMerged-Id: I54204733612d6d3f14dd8023973e993a5ddab51d\n"
    },
    {
      "commit": "21418277009ee848e095b35903d7fde213d3d5fe",
      "tree": "d9ec3bcd5ffcaa23e26fd177669e249d837999d1",
      "parents": [
        "f0561142f3b7ddd85947d7ee268d5b98a39489b9"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 15:47:05 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 12 15:52:39 2018 +0000"
      },
      "message": "Move legacy-test to test-base\n\nMake it consistent with the test-mock and test-runner directories.\nAlso renames the files in api/ subdirectory.\n\n(cherry picked from commit f779efd62cd579f67bd3b387d59fda11ee0cbe90)\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ied3621e6201d8717223fe1ccd4ea77d458126b25\nMerged-In: If4f99a65fcca416ede5b3e63481398f0b451bcb7\n"
    },
    {
      "commit": "a70f66cb5e40105d4b0ec535f011eea83a38c86a",
      "tree": "197a525946d470dc89ab91a96402cd5f16cd03c5",
      "parents": [
        "20af1df63f77f6b3ab12fd6221f581fe84182091"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 05 15:11:18 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 09 14:38:43 2018 +0000"
      },
      "message": "Add android.test.legacy target\n\nAdds a library that builds against the public API and so can be safely\nstatically included into applications to avoid them having to depend\non the android.test.base and android.test.runner runtime libraries.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Iae7e3c64392e11035322092ed8e194740ba2d321\n"
    },
    {
      "commit": "20af1df63f77f6b3ab12fd6221f581fe84182091",
      "tree": "fc4e8c026bcb326b9d696b9d381b5aca55fded7c",
      "parents": [
        "772b6923206a34e97c45bc48e7ad4bebfd3eae29"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 05 13:52:17 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 09 14:38:43 2018 +0000"
      },
      "message": "Modify android.test.runner to use new mock APIs\n\nPrevious change added some new public APIs to allow the\nandroid.test.runner classes to be built against the public API stubs\nrather than the internal classes. This change updates the\nandroid.test.runner classes to use that new API.\n\nThis in turn is preparation for building an android.test.legacy library\nthat can be safely statically included in APKs.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I302626abb7e048ef0c3169e9a5209b85f2f87d34\n"
    },
    {
      "commit": "fc7ba9e61f0991c74a161502da4432da45ce384e",
      "tree": "3752cad98fb5958c90e3a330aa802226a37161b0",
      "parents": [
        "c16130898432e5622e60fd7aeb05a9b7db8f9550"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 07 13:11:06 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 12 23:24:40 2017 +0000"
      },
      "message": "Convert legacy-test, test-runner, and test-mock to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nChange-Id: I110f752d2fa94c44581f20d4f308d9d429da0517\nMerged-In: I110f752d2fa94c44581f20d4f308d9d429da0517\n(cherry-picked from commit 2b7d71c7f8028741c2200bfeba8913b7f4f55cde)\n"
    },
    {
      "commit": "69516f4df7129b39dfa05654b9e5163442438c72",
      "tree": "3e21c3ef15385e32487c3750cdc43af95c2b21f6",
      "parents": [
        "eb652a47a180092b397ec40c718dfc13935f7fb6"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Nov 15 11:39:14 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 12 23:23:31 2017 +0000"
      },
      "message": "Separate android.test.mock from test-runner source\n\nExtracts the source for the android.test.mock library from the\nframeworks/base/test-runner directory into its own\nframeworks/base/test-mock directory. They are already treated separately\nat runtime and compile time so this just makes the separation complete.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6\nMerged-In: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6\n(cherry picked from commit e254526f0fe5d22681555bd4a00b7ee96fee1dc1)\n"
    },
    {
      "commit": "1abbb6a6fd44dc42f2955b9191aa32fc31858580",
      "tree": "c171d7fcc6eed200d7971413b2dffdc91438eeb1",
      "parents": [
        "006b7a2b760b89211b9530804118a8333cee314b"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 11 15:50:05 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 11 21:39:31 2017 +0000"
      },
      "message": "Stop statically including legacy-android-test\n\nStatically including legacy-android-test leads to duplicate classes\nwhich causes build time problems (with Proguard) and runtime problems on\nolder SDK versions. This change:\n* Stops statically including legacy-android-test.\n* Adds compile time dependencies on andoid.test.base, android.test.mock\n  and android.test.runner where necessary.\n* Adds \u003cuses-library android:name\u003d\"android.test.runner\"/\u003e to any\n  affected package to ensure that the classes that were included by\n  legacy-android-test are still available at runtime. That also adds a\n  dependency on android.test.base and android.test.mock.\n\nThe following change descriptions were generated automatically and so\nmay be a little repetitive. They are provided to give the reviewer\nenough information to check the comments match what has actually been\nchanged and check the reasoning behind the changes.\n\n* test-runner/tests/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because FrameworkTestRunnerTests\u0027s source\n    depends on their classes and because of these changes they are no\n    longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    FrameworkTestRunnerTests results in duplicate classes which leads\n    to build time and compile time issues.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I52a91fe4f6016de8edf4753fbd2bc4d2e4c9f317\n"
    },
    {
      "commit": "006b7a2b760b89211b9530804118a8333cee314b",
      "tree": "b2580cf79de575f66ad5235d1ee75180157cb69a",
      "parents": [
        "0b62766d27da6867cc6d00347cd81427a6ec9e86"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 11 15:13:08 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 11 21:39:23 2017 +0000"
      },
      "message": "Build test-runner/tests\n\nPrevious change e254526f0fe5d22681555bd4a00b7ee96fee1dc1 inadvertently\nremoved the line to include the tests/Android.mk file.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ia0ba14a70d2232d464420265a7a5f9c4dde3661b\n"
    },
    {
      "commit": "2b7d71c7f8028741c2200bfeba8913b7f4f55cde",
      "tree": "43f9394367779b2f9cd32dcb5f8da61c8f619f7d",
      "parents": [
        "c22e7735c31b711f8bf598c07fc872baba9af0dd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 07 13:11:06 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 08 21:01:53 2017 +0000"
      },
      "message": "Convert legacy-test, test-runner, and test-mock to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nChange-Id: I110f752d2fa94c44581f20d4f308d9d429da0517\n"
    },
    {
      "commit": "2337aec921d051da0d6b506e5fbb564ea2e49911",
      "tree": "45312f63da4f26b64dc1e432fa31d74f6745c93e",
      "parents": [
        "bc4f48b21d4f78a81a78a120a59e523369e41e7b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 06 21:12:23 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 07 00:22:25 2017 -0700"
      },
      "message": "Deeper sanity checking of emitted types.\n\nWhen emitting a method or field, verify that we\u0027re able to reference\nall mentioned types.  This ensures that we don\u0027t accidentally\nreference undefined classes/interfaces.\n\nTest: manual inspection of API files\nBug: 69791141\nChange-Id: I84e0c87fe83daa118661f61dbdf17b58ea5282d4\nMerged-In: I84e0c87fe83daa118661f61dbdf17b58ea5282d4\n"
    },
    {
      "commit": "bc4f48b21d4f78a81a78a120a59e523369e41e7b",
      "tree": "2a4d62b613e1c08543eb31aa422c5871045da2f5",
      "parents": [
        "983df8cc6cd450c6e30881aa6a1b429ebe09d383"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 06 21:02:11 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 06 21:56:12 2017 -0700"
      },
      "message": "Emit all APIs using Predicates.\n\nGenerate APIs using updated doclava.\n\nTest: manual inspection of API text files\nBug: 69505783\nChange-Id: I2efd22998a64ebb57588b073c4a591242f4aef91\nMerged-In: I2efd22998a64ebb57588b073c4a591242f4aef91\n"
    },
    {
      "commit": "5c99382a1995723637814221cd5432c458c622ad",
      "tree": "150cf4f91801e1798fc6e97936fd8f22d9923e22",
      "parents": [
        "178dfc661de3c0c19502a615c44f9695204c552f"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 15:53:09 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 28 15:42:05 2017 +0000"
      },
      "message": "Added new android.test.base targets\n\nRenames ...-legacy-test-... targets related to stubs generation to\n...-android-test-base-....\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I54204733612d6d3f14dd8023973e993a5ddab51d\n"
    },
    {
      "commit": "f779efd62cd579f67bd3b387d59fda11ee0cbe90",
      "tree": "056bc7384db35e1c12ddffc3381ebc332d60947d",
      "parents": [
        "10d0658bf020197c16264a1da4637e0d20ee6445"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 15:47:05 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 28 12:03:53 2017 +0000"
      },
      "message": "Move legacy-test to test-base\n\nMake it consistent with the test-mock and test-runner directories.\nAlso renames the files in api/ subdirectory.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: If4f99a65fcca416ede5b3e63481398f0b451bcb7\n"
    },
    {
      "commit": "c204c223a77237e13d084d58590acb16b025c676",
      "tree": "5c9a11890a222d60deabfccef5292c3a63d9f11f",
      "parents": [
        "71b4882da60867e948bbaaf86c03066bc07ccc85"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 27 15:02:10 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 27 17:07:40 2017 -0700"
      },
      "message": "Deeper sanity checking of emitted types.\n\nWhen emitting a method or field, verify that we\u0027re able to reference\nall mentioned types.  This ensures that we don\u0027t accidentally\nreference undefined classes/interfaces.\n\nTest: manual inspection of API files\nBug: 69791141\nChange-Id: I84e0c87fe83daa118661f61dbdf17b58ea5282d4\n"
    },
    {
      "commit": "e254526f0fe5d22681555bd4a00b7ee96fee1dc1",
      "tree": "c8e450764c8d6704bdac446117634951822f7675",
      "parents": [
        "42753a512e2719ca078851a62760a19890641e6f"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Nov 15 11:39:14 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 13:15:29 2017 +0000"
      },
      "message": "Separate android.test.mock from test-runner source\n\nExtracts the source for the android.test.mock library from the\nframeworks/base/test-runner directory into its own\nframeworks/base/test-mock directory. They are already treated separately\nat runtime and compile time so this just makes the separation complete.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6\n"
    },
    {
      "commit": "e144602d9c94d46b2da11d70f526d747b5e05750",
      "tree": "ba7ec4869caf2e9be38d40eae6641c34008f17fc",
      "parents": [
        "c09be98f2f8c3b12c5e01e2a480ca6c4d32287f3"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 07 07:33:11 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Nov 07 08:22:11 2017 +0000"
      },
      "message": "Use prebuilt android.test. stubs jars for app builds\n\nBug: 30188076\nTest: tapas Launcher3\nChange-Id: If632c39c9d98d89d597d410ebc7973903c9fa91e\n"
    },
    {
      "commit": "d41d847c83c598082a6572f38d0d40f5dee427ef",
      "tree": "45ffb59d37962023aa83656383c95e342014544a",
      "parents": [
        "584886319aca5f6a183ea368e2888418b35a6660"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jun 30 16:02:09 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Oct 24 13:04:27 2017 +0100"
      },
      "message": "Build stubs against SDK and clear local variables\n\nThe stubs need to be built against the current SDK where possible and\nnot the internal modules.\n\nBug: 30188076\nTest: delete stub files and remake targets\nChange-Id: Id724c16e56d1e8fe7f61cfafe7f11ea27e01e659\n"
    },
    {
      "commit": "b882daa10537958c352ced5eba15c25e47fde6a4",
      "tree": "ad64cddd710ae75ba6895425a096a2284f32c640",
      "parents": [
        "93dac12f10c562dbda2483f1ac50a21b28f6e44c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 05 22:59:27 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 06 15:29:12 2017 +0000"
      },
      "message": "Fix intermittent build failures with droiddoc generated sources\n\nJack builds fail very rarely with missing droiddoc generated\nsource files.  This happens because jack builds have an extra\nrule that does a quick check of the sources and touches a\njack.check.timestamp file.  The manual dependencies for the\ngenerated sources didn\u0027t cover this case.  If the sources are\npartially generated when the jack.check.timestamp rule runs,\nthe rule can see partial sources and fail.  The same problem\nmight also happen for javac builds after\nhttps://android-review.googlesource.com/c/platform/build/+/404743\nseparated the source list generation rule out of the\n$(full_classes_jar) rule.\n\nUse LOCAL_ADDITIONAL_DEPENDENCIES instead, which covers these\ncases and will be updated to cover future changes.\n\nBug: 65255877\nTest: m -j ANDROID_COMPILE_WITH_JACK\u003dtrue out/target/common/obj/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/jack.check.timestamp\n      make sure sources are generated\n\nChange-Id: I4466b3128eb0bba6447c24abf921a6655a3d451f\nMerged-In: I4466b3128eb0bba6447c24abf921a6655a3d451f\n(cherry picked from commit 85ab406eb2abd2e98fa9a67384223592692c08a9)\n"
    },
    {
      "commit": "85ab406eb2abd2e98fa9a67384223592692c08a9",
      "tree": "7cb36dfbab9070851ab0c4037e9f9ab4ee5adbfd",
      "parents": [
        "3d6e6a63e9ab8b11a56bf103e112713599534d06"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 05 22:59:27 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Sep 05 23:17:35 2017 -0700"
      },
      "message": "Fix intermittent build failures with droiddoc generated sources\n\nJack builds fail very rarely with missing droiddoc generated\nsource files.  This happens because jack builds have an extra\nrule that does a quick check of the sources and touches a\njack.check.timestamp file.  The manual dependencies for the\ngenerated sources didn\u0027t cover this case.  If the sources are\npartially generated when the jack.check.timestamp rule runs,\nthe rule can see partial sources and fail.  The same problem\nmight also happen for javac builds after\nhttps://android-review.googlesource.com/c/platform/build/+/404743\nseparated the source list generation rule out of the\n$(full_classes_jar) rule.\n\nUse LOCAL_ADDITIONAL_DEPENDENCIES instead, which covers these\ncases and will be updated to cover future changes.\n\nBug: 65255877\nTest: m -j ANDROID_COMPILE_WITH_JACK\u003dtrue out/target/common/obj/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/jack.check.timestamp\n      make sure sources are generated\n\nChange-Id: I4466b3128eb0bba6447c24abf921a6655a3d451f\n"
    },
    {
      "commit": "ef86310c44dea7c3994fd91a93dba82720e9cad8",
      "tree": "32282a2fcd667573a139c2243995373b3b109cf4",
      "parents": [
        "003bd7e3ec71284b46a706c2ac9e298b3ffea732"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Aug 11 10:42:14 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Aug 11 10:42:14 2017 -0700"
      },
      "message": "@hide new API\n\nChange-Id: Ic9cf7ecd80dd99eb8bcfc9810f4a9fddfe8f8fe4\nFixes: 64568898\nTest: None. No code change.\n"
    },
    {
      "commit": "9da8b8a7fc8c68c17e1bf8cce24e2f73abe5138e",
      "tree": "f58e436de30b56b87e5e3f5a378b35c16ec7dfbf",
      "parents": [
        "340e7d257362fddb0fad0450b88556745381ce4b"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Jul 25 15:38:39 2017 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Jul 31 11:29:37 2017 -0700"
      },
      "message": "Add new API to retrieve app names in a batch\n\nChange-Id: I57e5c132bc58a32d70007a7a105775b526ff7bb9\nFixes: 62805090\nTest: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.pm.cts.PackageManagerTest#testGetNamesForUids_null\nTest: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.pm.cts.PackageManagerTest#testGetNamesForUids_empty\nTest: cts-tradefed run commandAndExit cts-dev -m CtsContentTestCases -t android.content.pm.cts.PackageManagerTest#testGetNamesForUids_valid\n"
    },
    {
      "commit": "855d702cb78f81abbf2a541f01afeacf280d5621",
      "tree": "0091fe94a6818ae7dffd4d6d01921cd5a651a4bf",
      "parents": [
        "07001e8313f56174734e216360ead3c7dce8d982"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jul 10 15:16:07 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jul 17 15:25:04 2017 +0100"
      },
      "message": "Separate android.test.mock classes from android.test.runner\n\nThe android.test.runner library contained classes in the\nandroid.test.mock. Those classes have been extracted into a separate\nandroid.test.mock library but are still part of the android.test.runner\nlibrary. This change removes them from the android.test.runner library.\n\nThe PackageParser change ensures that applications which specify\n\u003cuses-library android:name\u003d\"android.test.runner\"/\u003e still see the same\nset of classes at runtime as they did before this change.\n\nThe logic for updating the Package to maintain backwards compatibility\nwas extracted into its own class for a number of reasons:\n* PackageParser is already huge.\n* It is easier to test in separate class.\n* It reduces potential for conflicts.\n\nBug: 30188076\nTest: cts/tests/signature/runSignatureTests.sh CtsAndroidTestRunnerCurrentApiSignatureTestCases\nChange-Id: I19042b3f9ffff8bf0f8437db7bb8341c703e4244\n\nRemove android.test.mock classes from android.test.runner\n\nBug: 30188076\nTest: cts/tests/signature/runSignatureTests.sh CtsAndroidTestRunnerCurrentApiSignatureTestCases\nChange-Id: I8ddbdb0bda7bef8858202bc085881af14d7f0c92\n"
    },
    {
      "commit": "8eaf94be5252779f89ebb6226cfbcfa5683244a1",
      "tree": "f710b0bfedd712345153b41c24cb5d1922b271b7",
      "parents": [
        "3594b9f4fda1e83c48aba8ace4c688d5c0ea21c6"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jul 05 09:51:25 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jul 05 10:09:52 2017 +0100"
      },
      "message": "Add repackaged legacy-test and android.test.runner\n\nThe CtsSignatureTestCases test verifies that the API described in the\napi/current.txt file is actually available at runtime. The test class,\nSignatureTest, requires junit and android.test classes, some from\nlegacy-test, some from android.test.runner which makes it impossible\n(without classpath scanning) for it to verify that those classes are\naccessible at runtime when they should be and inaccessible when they\nshould not be which is needed for the work to remove JUnit from the\nAndroid API.\n\nThis change uses jarjar to repackage the junit and android.test classes\ninto repackaged.junit and repackaged.android.test packages in the\nrepackaged-legacy-test and repackaged.android.test.runner modules\nrespectively. A follow on change will switch SignatureTest over to\nusing the repackaged classes thus allowing it to work even when junit\nand android.test classes are not visible.\n\nTested by making the modules and manually verifying that they contain\nthe classes in the repackaged package.\n\nBug: 35192974\nBug: 30188076\nTest: see above\nChange-Id: If0355a0d50b7540f416d464fdf7ffae0e4766b1c\n"
    },
    {
      "commit": "09c29c1324b96e5404400947da7eeb9f0976353a",
      "tree": "f7a0f65ed1d5106f324b9168a7a70b0e10dfddef",
      "parents": [
        "28e703a05aecaedd167f9cdb6acbb1d7e78957c6"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 29 10:26:30 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 29 10:32:44 2017 +0100"
      },
      "message": "Update android.test.runner API\n\nBug 62675475 changed DocLava to add some missing methods to the API\ndefinition file. This updates the API definition for the\nandroid.test.runner API.\n\nThe reason this was not found when it was uploaded is because there is a\ndiscrepancy between the checkapi target and the update-api. The checkapi\ntarget will not detect that the update-api needs to make changes. This\nissue has been reported.\n\nBug: 30188076\nTest: make update-api \u0026\u0026 make checkapi\nChange-Id: I598774d3239d58eb5c58ff78e24e8ca84078e64a\n"
    },
    {
      "commit": "bacad4088dafc37553f8ceb0a1b11711b18c6733",
      "tree": "06032c14bd9dfb89f50b00ea45cec7f8f62ae46b",
      "parents": [
        "e70848b8a915d2c1042932f246d790f508e98f74"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 28 11:57:59 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 28 12:55:31 2017 +0100"
      },
      "message": "Stubs/api check for legacy-test and android.test.runner\n\nAdds stub generation for legacy-test classes and android.test.runner\nclasses. Changes name of android.test.mock.sdk to\nandroid.test.mock.stubs for consistency and clarity, adds new\ntemporary android.test.mock.sdk target to prevent build breakage.\n\nAdds api check and update targets for legacy.test.stubs,\nandroid.test.runner.stubs and android.test.mock.stubs to prevent\naccidental changes to the API.\n\nBug: 30188076\nTest: make checkapi and make update-api\nChange-Id: I40cc7b967f1ab1c7e148407d6965526550ee2f9b\n"
    },
    {
      "commit": "2d6ef698950e81567eb340d91e07b2befdf9d19a",
      "tree": "93449db8ad7a627ef96dc121e4421c8e938b9626",
      "parents": [
        "7b02a2f41a613d8f49ea1a2fdbce4e73c167dfa4",
        "06620ee22dca4af6646a2d0f6f25b2ecd755d9fd"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 27 11:09:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 27 11:09:09 2017 +0000"
      },
      "message": "Merge \"Clean up ClassPathPackageInfoSource\" am: 8c7026c5a3 am: 1c6a5ad92e am: 88d54c3080\nam: 06620ee22d\n\nChange-Id: I1a4de01fe23a03b42c052f23733d95e07135ab73\n"
    },
    {
      "commit": "06620ee22dca4af6646a2d0f6f25b2ecd755d9fd",
      "tree": "18a7a55085471337bf06265b98ef7942d395b2f4",
      "parents": [
        "0ee8c0357ac26b3dc96a797cfccb1431db16da6d",
        "88d54c30800377021c58af3a1f2605e871442812"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 27 11:03:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 27 11:03:11 2017 +0000"
      },
      "message": "Merge \"Clean up ClassPathPackageInfoSource\" am: 8c7026c5a3 am: 1c6a5ad92e\nam: 88d54c3080\n\nChange-Id: I3716fc728a6789a33851f4f0ad30a3ad9f421a17\n"
    },
    {
      "commit": "1c6a5ad92e84780be005877493fd5a281517194e",
      "tree": "12f5b16d9039d1b3ef8d301013e983bc65214f0b",
      "parents": [
        "516bd5f8622c24d774b72ed3825cdc860cd045d2",
        "8c7026c5a32684976ffb745daf7ec5bab729f274"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 27 10:52:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 27 10:52:39 2017 +0000"
      },
      "message": "Merge \"Clean up ClassPathPackageInfoSource\"\nam: 8c7026c5a3\n\nChange-Id: I503ae16c4d47ce3cecb79987da919c7f579347da\n"
    },
    {
      "commit": "aaaba76810c0b5b61c609a929536b64ac7e368fc",
      "tree": "9dabcf4edf22526ff3a057fcd5a0bb2d0be0ae53",
      "parents": [
        "3c5ab7d3243e646137d9e60c2a54ffc907a85a27"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 16:18:07 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 17:00:21 2017 +0100"
      },
      "message": "Clean up ClassPathPackageInfoSource\n\nPart of the work of removing JUnit and dependent android.test classes\nfrom the Android API involves providing a static library that developers\ncan include in their test applications to ease migration. That library\nwill be built directly from the source (as opposed to android.jar which\nis built from stubs) and so developers will be able to see classes and\nmethods that are not present in the stubs. This change is one of a\nnumber of similar changes that cleanup the existing non-API code in\norder to minimize the additional methods and classes exposed externally.\nThe basic approach is to remove unused classes and methods, use least\nvisible access modifier possible and generally minimize the amount of\npublicly visible code.\n\nPackageInfoSources only provided a static field and accessor method so\nthey were moved into ClassPathPackageInfoSource and PackageInfoSources\nwas removed.\n\nClassPathPackageInfo was only used in ClassPathPackageInfoSource and in\nTestGrouping. In the latter it was simply used as an intermediate value\nbetween ClassPathPackageInfoSource.getPackage(String packageName) and\nClassPathPackageInfo.getTopLevelClassesRecursive(String packageName).\nMoving that method into ClassPathPackageInfoSource allowed the\nClassPathPackageInfo to become an inner class of\nClassPathPackageInfoSource. As it is an inner class it no longer needed\nan explicit reference to the containing ClassPathPackageInfoSource.\n\nBug: 30188076\nTest: make checkbuild and ran FrameworkTestRunnerTests\nChange-Id: Idb0b6a585030805b9cff8562abb93b7e5920c53a\n"
    },
    {
      "commit": "9dbcd9306167af7d834522667796c06f4145a70d",
      "tree": "fb4b3104fa737ac68f81d0c1e6c65bdac0e88385",
      "parents": [
        "7d70f99ac1de27df2f2ed2d290959c9e40343840",
        "8d33b10edbc032db98a97eb9d4f5349afdab0709"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 14:57:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 14:57:34 2017 +0000"
      },
      "message": "Merge \"Remove a.t.TestCase\" am: 3c5ab7d324 am: 930ab689f0 am: 143f5d652c\nam: 8d33b10edb\n\nChange-Id: I372ea1e9456a303903bb57929129cc3f922cb8d9\n"
    },
    {
      "commit": "8d33b10edbc032db98a97eb9d4f5349afdab0709",
      "tree": "4d8f688326ec1b660dce01e95f01b03a93ba3b1a",
      "parents": [
        "4f9d89a380879a8d14d72e9c14eb2cce95ca01dd",
        "143f5d652ce31ff1ba7d42c45e8010de2dfc5c73"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 14:50:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 14:50:38 2017 +0000"
      },
      "message": "Merge \"Remove a.t.TestCase\" am: 3c5ab7d324 am: 930ab689f0\nam: 143f5d652c\n\nChange-Id: I1b2212164ab566f3619cdbe307ff9ee600242424\n"
    },
    {
      "commit": "143f5d652ce31ff1ba7d42c45e8010de2dfc5c73",
      "tree": "2bb43ff6448ffd46abe05b34695db4d80909d1f7",
      "parents": [
        "50826c5f2efd8e301a17db2164709c12e6ff0d06",
        "930ab689f031118fc2aeec241ff76e769c1d9955"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 14:43:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 14:43:13 2017 +0000"
      },
      "message": "Merge \"Remove a.t.TestCase\" am: 3c5ab7d324\nam: 930ab689f0\n\nChange-Id: I0d61b4e26c9551d177b5bb7bbdaab25885976c0d\n"
    },
    {
      "commit": "3c5ab7d3243e646137d9e60c2a54ffc907a85a27",
      "tree": "388daaef474e61398bf0c01145c807b8fae62140",
      "parents": [
        "98f2decdadaebe5160ce2661c1c1f4208b9cdd59",
        "e24e60ecacd956375a5cabdf9e67fefe7acabce0"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 14:24:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 26 14:24:31 2017 +0000"
      },
      "message": "Merge \"Remove a.t.TestCase\""
    },
    {
      "commit": "210a7331aa75923b3b8f79e5b2b9226059bc86cd",
      "tree": "70d0912c222a2ade826f044986823438e23b95dd",
      "parents": [
        "d709a3a3a3db30dbfcb87019dd6c945c048b99b5",
        "4f9d89a380879a8d14d72e9c14eb2cce95ca01dd"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 13:29:23 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 13:29:23 2017 +0000"
      },
      "message": "Merge \"Clean up Predicate related code in android.test\" into oc-dev-plus-aosp am: 50826c5f2e\nam: 4f9d89a380\n\nChange-Id: I24b978bb63875ed7e1af7041f8ecbbfc482e0614\n"
    },
    {
      "commit": "4f9d89a380879a8d14d72e9c14eb2cce95ca01dd",
      "tree": "20bdde0f9bb1bd7cdef268f32198540eb9cb98c1",
      "parents": [
        "99979253ddb67d257bef29e06b047a877f9f5412",
        "50826c5f2efd8e301a17db2164709c12e6ff0d06"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 13:21:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 13:21:28 2017 +0000"
      },
      "message": "Merge \"Clean up Predicate related code in android.test\" into oc-dev-plus-aosp\nam: 50826c5f2e\n\nChange-Id: Ica9b9b478b670ec5467732a09cf123dd63780c97\n"
    },
    {
      "commit": "50826c5f2efd8e301a17db2164709c12e6ff0d06",
      "tree": "d9c473bfd9195b66684505627adcffb24cd7d48a",
      "parents": [
        "834cf8d664d4955696555b7bc47dbe8d58d8164d",
        "fedb4b745693afba9627f8971346d5151101fb88"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 13:15:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 26 13:15:09 2017 +0000"
      },
      "message": "Merge \"Clean up Predicate related code in android.test\" into oc-dev-plus-aosp"
    },
    {
      "commit": "99c879f1d39fce2682950b0d0bbcb29ecad66731",
      "tree": "0c1654fcf62ecae9cae634828656d195272f9447",
      "parents": [
        "da1495346ecdde2e4984bc9ff8570c1c360dbcfd",
        "88f06cba46b17f2782f838548ff9305795fd5b87"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 11:49:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 11:49:54 2017 +0000"
      },
      "message": "Merge \"Removed a.t.TestRunner and cleanup a.t.TestPrinter\" am: 1ed43cafb6 am: 4601ebf945 am: 1fee4dcd5d\nam: 88f06cba46\n\nChange-Id: I4c8b5ff724ccb73a681ba5bef86ebe5a502383be\n"
    },
    {
      "commit": "88f06cba46b17f2782f838548ff9305795fd5b87",
      "tree": "203d55060a77b6c315ed184343d408dc13b6487a",
      "parents": [
        "59410a96edf87aee848b648cb4a618a04424aeda",
        "1fee4dcd5d761a7631acbc499b63138abf9f9f35"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 11:42:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 11:42:54 2017 +0000"
      },
      "message": "Merge \"Removed a.t.TestRunner and cleanup a.t.TestPrinter\" am: 1ed43cafb6 am: 4601ebf945\nam: 1fee4dcd5d\n\nChange-Id: I6362ff0e8e76efd4d7b8c326f77b282740d01e03\n"
    },
    {
      "commit": "1fee4dcd5d761a7631acbc499b63138abf9f9f35",
      "tree": "b1cef15ecd508ae6481b8c41f1754c9a1ac31b66",
      "parents": [
        "c584a2596e297d0cde852ea7cea5471933cd0ab5",
        "4601ebf94525a9533c33ed0d3474bb79a161e757"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 11:35:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 11:35:00 2017 +0000"
      },
      "message": "Merge \"Removed a.t.TestRunner and cleanup a.t.TestPrinter\" am: 1ed43cafb6\nam: 4601ebf945\n\nChange-Id: Icf7b8d1f5a3e0d18cd9a096a8171d6dab98b5992\n"
    },
    {
      "commit": "1ed43cafb62fd8ee7f8e95c49501e1b0d4f534bf",
      "tree": "cada6562d9202b095d478bbc89fd118bc1f67482",
      "parents": [
        "43851d01d86f53d3a3a71b22a9af861de2a03afe",
        "b3f83ae66b2128bdb69c087f40595e3265717e7c"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 11:21:19 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 26 11:21:22 2017 +0000"
      },
      "message": "Merge \"Removed a.t.TestRunner and cleanup a.t.TestPrinter\""
    },
    {
      "commit": "19290e456f9316aa965c5d88680a94f9e8787669",
      "tree": "22b79b5e73c917c83bc72d781edf7afe6f8ea71c",
      "parents": [
        "d9dd77ea6a04ccea47c9366785ec7d7171c5c32a",
        "ad654a3af546764a6840cdb8521dd7aab5facb43"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 09:50:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 09:50:09 2017 +0000"
      },
      "message": "Merge \"Clean up TestCaseUtil\" am: 43851d01d8 am: e38d503394 am: b5b6e7cf45\nam: ad654a3af5\n\nChange-Id: Idd36689c3a90728ee543be0ffa7457fe79b66ba3\n"
    },
    {
      "commit": "ad654a3af546764a6840cdb8521dd7aab5facb43",
      "tree": "164eb5fe61236b679b44c47fa8c29be324922830",
      "parents": [
        "a18500b50807031ede92253416d44ea00689e9c1",
        "b5b6e7cf450c84be596ef895bda17ee09e6fa602"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 09:41:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 09:41:44 2017 +0000"
      },
      "message": "Merge \"Clean up TestCaseUtil\" am: 43851d01d8 am: e38d503394\nam: b5b6e7cf45\n\nChange-Id: I98265e973df1bf7ac28b7f79f6ccd0a865762304\n"
    },
    {
      "commit": "b5b6e7cf450c84be596ef895bda17ee09e6fa602",
      "tree": "ea7db2722cb0b201607b43fd553c642494bbf356",
      "parents": [
        "a29861b0c970055927675731e00e93c51f1c5668",
        "e38d5033944216f221a0a8e72bd12167373aae20"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 26 09:33:23 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 26 09:33:23 2017 +0000"
      },
      "message": "Merge \"Clean up TestCaseUtil\" am: 43851d01d8\nam: e38d503394\n\nChange-Id: I62a80b405d05ec7b4da050bd6b01df4c965d6187\n"
    },
    {
      "commit": "c25c3da8b67568bbcf52ae2060c5555f82b9e563",
      "tree": "71509d2077dc6cbde3b6af2dfeacc2799e248af2",
      "parents": [
        "17c78a1e6b3cff406893c09bfcc6b145346bcd36"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jun 22 08:22:18 2017 -0700"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Jun 23 12:27:23 2017 +0000"
      },
      "message": "Stop loading other package\u0027s font by default.\n\nSince CONTEXT_RESTRICTED is not a default flag of createPackageContext,\nwe can\u0027t rely on it for preventing unexpected font injections.\nTo protect developers and existing apps from a risk of font injection,\nstop loading font from other package\u0027s resouce unless the developer\nexplicitly set CONTEXT_IGNORE_SECURITY.\n\nBug: 62813533\nBug: 62879353\nTest: Manually done\nMerged-In: I4442ddc48dadb5c968b444be86038b602074d301\nChange-Id: I4442ddc48dadb5c968b444be86038b602074d301\n(cherry picked from commit 6d6cd68660635d670b0cb17f348b7c1da13704b3)\n"
    },
    {
      "commit": "ba12631bba5ea856b78c3488d988584ead8969fb",
      "tree": "fc679362c6ccdf8a2eb06f9128b098839a661b12",
      "parents": [
        "41b743d8ad10a48f7be164f0943b01047928a987",
        "824d75e0e13b916155623a83be8115f3d526db7c"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Jun 23 04:23:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 23 04:23:44 2017 +0000"
      },
      "message": "Merge \"Stop loading other package\u0027s font by default.\" into oc-dev\nam: 824d75e0e1\n\nChange-Id: I5518dbd8b5d8a4548ea00bbfca0e3aee87880ee7\n"
    },
    {
      "commit": "80f6a985c3662bc65ffba83975ec23c1a93ed888",
      "tree": "49632f94afc3270d5759dcf4160e8f77847ca7b9",
      "parents": [
        "2ef19c1d73f89ca4718b5a8f0c2e7221621e844f"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jun 22 08:22:18 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jun 22 19:07:17 2017 -0700"
      },
      "message": "Stop loading other package\u0027s font by default.\n\nSince CONTEXT_RESTRICTED is not a default flag of createPackageContext,\nwe can\u0027t rely on it for preventing unexpected font injections.\nTo protect developers and existing apps from a risk of font injection,\nstop loading font from other package\u0027s resouce unless the developer\nexplicitly set CONTEXT_IGNORE_SECURITY.\n\nThis CL contains Iac2a6fb3d82ef23d5ca6ee33f4aaa9ed28455271 by manual\nmerging to handle repository split.\n\nBug: 62813533\nBug: 62879353\nTest: Manually done\nMerged-In: I4442ddc48dadb5c968b444be86038b602074d301\nChange-Id: I4442ddc48dadb5c968b444be86038b602074d301\n"
    },
    {
      "commit": "abc6fd57de4450a9a3769e064ca69e05aeb2d5de",
      "tree": "b3a6b7729cc679b51341161da6b909de978a05db",
      "parents": [
        "6de0d0983078ab933fcea43e750d6d22f05bf426",
        "6d6cd68660635d670b0cb17f348b7c1da13704b3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 22 22:28:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 22 22:28:10 2017 +0000"
      },
      "message": "Merge \"Stop loading other package\u0027s font by default.\""
    },
    {
      "commit": "60184293e10d4cf8474b5e5c247c105b3519fc4f",
      "tree": "9fecf96f52111e5857f22fae932575ee81375035",
      "parents": [
        "e0e4324d49ae73fc7b73f06f6f2e82ef9def0411",
        "989b7db027647b2e385d86a9b28fec49aa777a3e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 20:50:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 22 20:50:34 2017 +0000"
      },
      "message": "Merge \"Merge \"Ensure that android.test tests pass\" am: 156775fea8 am: 34dc5a58b3 am: e211119fea\" into oc-dr1-dev-plus-aosp\nam: 989b7db027\n\nChange-Id: I1e3bcb0b3607464ab2267c14ff2e8dcd96a19f56\n"
    },
    {
      "commit": "aa7f42c5c1784795ded23d96c745d71754f95c08",
      "tree": "8b56f69ecdfb97c3d08fda0764a683357535661f",
      "parents": [
        "8b25f26308c6760f11f90ec832a95a13af6dab60",
        "e211119fea8e01e573ecde57ced2e9bf8dfbf65e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 20:15:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 22 20:15:27 2017 +0000"
      },
      "message": "Merge \"Ensure that android.test tests pass\" am: 156775fea8 am: 34dc5a58b3\nam: e211119fea\n\nChange-Id: I4692f9a86dae8bb2c5476eb477924230034cdd6b\n"
    },
    {
      "commit": "6d6cd68660635d670b0cb17f348b7c1da13704b3",
      "tree": "46ff413dabcfa566e5e7174ed24b41da1ce13ec8",
      "parents": [
        "58aeff811f2da99537a8a9531fc58cea8ffbb867"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jun 22 08:22:18 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jun 22 08:36:03 2017 -0700"
      },
      "message": "Stop loading other package\u0027s font by default.\n\nSince CONTEXT_RESTRICTED is not a default flag of createPackageContext,\nwe can\u0027t rely on it for preventing unexpected font injections.\nTo protect developers and existing apps from a risk of font injection,\nstop loading font from other package\u0027s resouce unless the developer\nexplicitly set CONTEXT_IGNORE_SECURITY.\n\nBug: 62813533\nBug: 62879353\nTest: Manually done\nChange-Id: I4442ddc48dadb5c968b444be86038b602074d301\n"
    },
    {
      "commit": "fedb4b745693afba9627f8971346d5151101fb88",
      "tree": "73d4ab78b4a0877817f19ff34b60dbff9ddc9e0d",
      "parents": [
        "e211119fea8e01e573ecde57ced2e9bf8dfbf65e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 10:47:25 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 15:48:44 2017 +0100"
      },
      "message": "Clean up Predicate related code in android.test\n\nPart of the work of removing JUnit and dependent android.test classes\nfrom the Android API involves providing a static library that developers\ncan include in their test applications to ease migration. That library\nwill be built directly from the source (as opposed to android.jar which\nis built from stubs) and so developers will be able to see classes and\nmethods that are not present in the stubs. This change is one of a\nnumber of similar changes that cleanup the existing non-API code in\norder to minimize the additional methods and classes exposed externally.\nThe basic approach is to remove unused classes and methods, use least\nvisible access modifier possible and generally minimize the amount of\npublicly visible code.\n\nThe HasClassAnnotation and HasMethodAnnotation were never used\nseparately and only used by HasAnnotation. This merges the functionality\ninto a single nested class in TestPredicates, hidden behind the new\nTestPredicates.hasAnnotation(). The HasAnnotationTest was renamed as\nTestPredicatesTest and the HasClassAnnotationTest and\nHasMethodAnnotationTest classes were removed as their tests provide no\nadditional coverage. The removal of the Has*Annotation.java files means\nthat the test-runner/src/android/test/suitebuilder/annotation/ directory\nis empty apart from the package.html file so that was moved to\nlegacy-test to sit alongside the actual annotation classes.\n\nThe Predicates class, while part of the legacy-test module was only\never used by the test-runner module and only its not() method was\nactually used. So, the not() method and associated nested class were\nmoved to TestPredicates, the tests for not() were moved to\nTestPredicatesTest and the Predicates* classes were removed.\nThat allowed for the removal of the legacy-android-tests as that is now\nempty.\n\nTestPredicates has a number of constants that were public. They were\nhidden by moving them to the class that actually used them.\n\nA minor generic issue was fixed in AssignableFrom.\n\nBug: 30188076\nTest: make checkbuild and run FrameworkTestRunnerTests\nChange-Id: I861da388a4146bb28e1e480d1b7ba9137b7b270e\n"
    },
    {
      "commit": "e211119fea8e01e573ecde57ced2e9bf8dfbf65e",
      "tree": "9e2e6ff8e81cb56b7d74c25af9e031c51fd6f2a6",
      "parents": [
        "78def25969de6aa4af000e6387618fb2c5b10490",
        "34dc5a58b33811b55263629c500966d44978288b"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 14:39:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 22 14:39:08 2017 +0000"
      },
      "message": "Merge \"Ensure that android.test tests pass\" am: 156775fea8\nam: 34dc5a58b3\n\nChange-Id: I546ea542d0781f825e131eb94bc54e22adadfc4e\n"
    },
    {
      "commit": "bd96f408085701fe04fb46acdd3a101cfdebe064",
      "tree": "211204ffbd93dbe997cbde7f1c78409ff902ae4d",
      "parents": [
        "2a637cf9b0f2c2ebaf573a1f478e31dc1e6a8354"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 13:29:26 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 15:21:32 2017 +0100"
      },
      "message": "Clean up TestCaseUtil\n\nPart of the work of removing JUnit and dependent android.test classes\nfrom the Android API involves providing a static library that developers\ncan include in their test applications to ease migration. That library\nwill be built directly from the source (as opposed to android.jar which\nis built from stubs) and so developers will be able to see classes and\nmethods that are not present in the stubs. This change is one of a\nnumber of similar changes that cleanup the existing non-API code in\norder to minimize the additional methods and classes exposed externally.\nThe basic approach is to remove unused classes and methods, use least\nvisible access modifier possible and generally minimize the amount of\npublicly visible code.\n\nTestCaseUtil.getTestCaseNames() is only used by tests but its tests did\nprovide some coverage of the getTests() method so remove the method and\nthe tests the method was simply moved into TestCaseUtilTest and the\ntests renamed to make it clearer that they are testing\nTestCaseUtil.getTests().\n\nSimilarly, TestCaseUtil.createTestSuite() was only used by tests but its\ntests did provide some coverage of the invokeSuiteMethodIfPossible()\nmethod so the tests were modified and renamed to preserve that coverage.\n\nTestCaseUtil.getTestAtIndex() was completely unused so was just removed.\n\nBug: 30188076\nTest: make checkbuild and ran FrameworkTestRunnerTests\nChange-Id: I62bbdbab428d7560f0c7df11f313fe60cfd31d13\n"
    },
    {
      "commit": "e24e60ecacd956375a5cabdf9e67fefe7acabce0",
      "tree": "0c6acb116f80662e2f72ac9e594c5a6dd1317474",
      "parents": [
        "2a637cf9b0f2c2ebaf573a1f478e31dc1e6a8354"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 14:48:58 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 15:21:11 2017 +0100"
      },
      "message": "Remove a.t.TestCase\n\nPart of the work of removing JUnit and dependent android.test classes\nfrom the Android API involves providing a static library that developers\ncan include in their test applications to ease migration. That library\nwill be built directly from the source (as opposed to android.jar which\nis built from stubs) and so developers will be able to see classes and\nmethods that are not present in the stubs. This change is one of a\nnumber of similar changes that cleanup the existing non-API code in\norder to minimize the additional methods and classes exposed externally.\nThe basic approach is to remove unused classes and methods, use least\nvisible access modifier possible and generally minimize the amount of\npublicly visible code.\n\nThe android.test.TestCase class is only referenced from the\nDatabasePerformanceTests class. There do not seem to be any references\nto that class either and there is a NewDatabasePerformanceTests.java\nfile in the same directory that looks to be a JUnit based replacement.\n\nBug: 30188076\nTest: make checkbuild and ran FrameworkTestRunnerTests\nChange-Id: Iafb26dc98a40715244f07d1c9e05ada5b1602ebf\n"
    },
    {
      "commit": "b3f83ae66b2128bdb69c087f40595e3265717e7c",
      "tree": "7be50193362fec7c0f66a0eaa17103261352d061",
      "parents": [
        "2a637cf9b0f2c2ebaf573a1f478e31dc1e6a8354"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 14:17:29 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 15:17:26 2017 +0100"
      },
      "message": "Removed a.t.TestRunner and cleanup a.t.TestPrinter\n\nPart of the work of removing JUnit and dependent android.test classes\nfrom the Android API involves providing a static library that developers\ncan include in their test applications to ease migration. That library\nwill be built directly from the source (as opposed to android.jar which\nis built from stubs) and so developers will be able to see classes and\nmethods that are not present in the stubs. This change is one of a\nnumber of similar changes that cleanup the existing non-API code in\norder to minimize the additional methods and classes exposed externally.\nThe basic approach is to remove unused classes and methods, use least\nvisible access modifier possible and generally minimize the amount of\npublicly visible code.\n\nThe TestRunner class is not part of the API and is unused anywhere\nwithin Android code (apart from one unused import which is in the\nprocess of being removed) and in TestPrinter.\n\nTestPrinter is not part of the API and its only use of TestRunner is to\nimplement the TestRunner.TestListener interface. It was safe to stop\nTestPrinter from implementing TestRunner.TestListener because the latter\nis only called from TestRunner which itself is never used. TestPrinter\nwas made package private as it is only used from the same package.\n\nOne the usages in TestPrinter were removed it was safe to remove\nTestRunner.\n\nBug: 30188076\nTest: make checkbuild and ran FrameworkTestRunnerTests\nChange-Id: I0f4a6cf1fbec14c4778c6e09b8eabf822802774f\n"
    },
    {
      "commit": "2a637cf9b0f2c2ebaf573a1f478e31dc1e6a8354",
      "tree": "f17fafccf21c1fb0351ada95564628ff775fd843",
      "parents": [
        "e74f3adba563d95159916014b21e9463a6c40a07"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 12:52:18 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 22 12:58:58 2017 +0100"
      },
      "message": "Ensure that android.test tests pass\n\nIt looks as though the tests in test-runner/tests have not actually been\nrun successfully for over 7 years. As a result they have degraded. This\nchange fixes the tests so that they will pass and provides instructions\non how to run them.\n\nTestCaseUtilTest.testGetTestCaseNamesForTestSuiteWithSuiteMethod\n    This fails because it expected 2 names to be returned but only\n    returns 0. The reason for that is although TwoTestsInTestSuite has a\n    Test suite() method that does create a TestSuite with two tests the\n    TestCaseUtil method does not actually call suite(). Instead, because\n    TwoTestsInTestSuite is a TestSuite it just calls the tests() method\n    on it which returns an empty Enumeration because TwoTestsInTestSuite\n    is empty.\n\n    The support for \"static Test suite() {}\" is broken but fixing this\n    will affect the behavior of InstrumentationTestRunner which is used\n    in thousands of different places both in and outside Google and so\n    could cause untold problems.\n\nTestSuiteBuilderTest.testIncludeAllPackagesUnderHere\n    Reformat the list, one per line and then add missing name\n    \"testPublicConstructor\".\n\nErrorTest/FailingTest\n    These tests are not meant to be run on their own, only as part of a\n    separate test. The RunAsPartOfSeparateTest annotation was added to\n    allow these to be excluded using notAnnotation as shown in the\n    instructions for running the tests.\n\nBug: 30188076\nTest: followed new instructions in test-runner/tests/Android.mk\nChange-Id: I60e7bee9cd08a9ab7777a2578fc58da772de5c1f\n"
    },
    {
      "commit": "00d4d01c3ae855690b8770090b10c80ca12088e0",
      "tree": "d4143ed10e2718fedbc277ccd3eb129b452357a6",
      "parents": [
        "915ede0fc3abc0b7ccb76c35084020602e2a1b4c",
        "5361c48199edb15a4de2e74cd6ae4df28f598b68"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 11:26:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 21 11:27:01 2017 +0000"
      },
      "message": "Merge \"Remove android.test dependencies on a.o.PerformanceCollector\""
    },
    {
      "commit": "d2cc32bcdef5feefb42b3897cfd7efbed1728eff",
      "tree": "97acd9258e550f8885547c6b36e91a763c1f6261",
      "parents": [
        "2a7f6b8f8483116b94a0c0e7246470dd949ecc22",
        "e2744c2705698390dfc280efef72f1bb9a1ce7f7"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 09:24:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 09:24:58 2017 +0000"
      },
      "message": "Merge \"Cleanup a.t.TestGrouping\" am: 01dcf54e9a am: e6ac3a4efc\nam: e2744c2705\n\nChange-Id: I3493057c8362733f117dbc25f654497b9f22f219\n"
    },
    {
      "commit": "e2744c2705698390dfc280efef72f1bb9a1ce7f7",
      "tree": "892839a67d70d70ef2513f624aed25a879b2a868",
      "parents": [
        "b4da12905f53a604d1aaf699fb7172e25bca2e7d",
        "e6ac3a4efc8464b32831c5c85d7d2be3c4212392"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 09:18:01 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 09:18:01 2017 +0000"
      },
      "message": "Merge \"Cleanup a.t.TestGrouping\" am: 01dcf54e9a\nam: e6ac3a4efc\n\nChange-Id: Id41ba23de38e5131460cad283fd5d7bea66d2156\n"
    },
    {
      "commit": "01dcf54e9a0a77bdfb9694b1c40626c1bebc2168",
      "tree": "118c15632d66022069f7ec32160b104c6b4bad55",
      "parents": [
        "0e4f1358d6b2a1b321f8deaded61643eed908abb",
        "e2e557976f1d68bf4d6a147ec484e5455f15eeef"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 21 09:03:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 09:03:29 2017 +0000"
      },
      "message": "Merge \"Cleanup a.t.TestGrouping\""
    },
    {
      "commit": "37bd29af8892fec2b7a11f9475b7221b77320d03",
      "tree": "e3b168a5c08eeaa00608ed60cdaa817c927d9ad0",
      "parents": [
        "e1b439a06dc44be7e40e3c056fb21759bac1a6db",
        "b4621a4072042ccfab275407afed1fc9a688965e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 08:32:18 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 08:32:18 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.InstrumentationUtils\" am: 0e4f1358d6 am: 08c12d21f5\nam: b4621a4072\n\nChange-Id: I76b035a84dd184b2ff92fc175df383bc9983f616\n"
    },
    {
      "commit": "e1b439a06dc44be7e40e3c056fb21759bac1a6db",
      "tree": "00fadfa42d8e151a9d17eec0fd03a4e7e8e91dc7",
      "parents": [
        "6aff0ffe8befb646f1aa46ea513e7e89701cec00",
        "4d7e8fb79e6cf3e294c130ace28c1c7de0af96f9"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 08:29:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 08:29:30 2017 +0000"
      },
      "message": "Merge \"Cleanup a.t.InstrumentationTestRunner\" am: 9d5576e081 am: 66b8ef6615\nam: 4d7e8fb79e\n\nChange-Id: I6d1de1dcb677e6c2c85c75fe8c5166b07cf713dd\n"
    },
    {
      "commit": "d1d3d0fcfc82eb5550be4660fe9cfec3b19db7db",
      "tree": "0d848ee9789e2e962ec2be09e4ea32c2340e15cd",
      "parents": [
        "4aef87575c13cc3e62e837232fe46a9d20989bcf",
        "28600f2cae318f5977734f17a509031e0c39ebb4"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 08:20:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 08:20:29 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.s.InstrumentationTestSuiteBuilder\" am: 1935dce8eb am: a4d2464189\nam: 28600f2cae\n\nChange-Id: I9004d50829d18736f6d50f6bd48cb6d7c3b6e605\n"
    },
    {
      "commit": "b4621a4072042ccfab275407afed1fc9a688965e",
      "tree": "4cc52765705255a0240f24930524f99a44a9e8a3",
      "parents": [
        "4d7e8fb79e6cf3e294c130ace28c1c7de0af96f9",
        "08c12d21f5c17c82e2d2f0af393a61b9bbfa4546"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 08:16:42 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 08:16:42 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.InstrumentationUtils\" am: 0e4f1358d6\nam: 08c12d21f5\n\nChange-Id: I46ab06228623aa4e350b1285761e062e1d7393c0\n"
    },
    {
      "commit": "4d7e8fb79e6cf3e294c130ace28c1c7de0af96f9",
      "tree": "67dd38e83394c16998a13bf5324803b03aa15e20",
      "parents": [
        "28600f2cae318f5977734f17a509031e0c39ebb4",
        "66b8ef6615ad10454ea98268bfc764e39edd3a97"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 08:13:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 08:13:05 2017 +0000"
      },
      "message": "Merge \"Cleanup a.t.InstrumentationTestRunner\" am: 9d5576e081\nam: 66b8ef6615\n\nChange-Id: I3ca3f23c2f8a741daf867aad08f57bac373e5d91\n"
    },
    {
      "commit": "4aef87575c13cc3e62e837232fe46a9d20989bcf",
      "tree": "a951a6c500f5e51185b15a08370a0ba1574c116d",
      "parents": [
        "c009f2edcdfbef75a981678076530bc0681d43ae",
        "f18dd720d36fb7dffb0f65ab31bff1f838737cd7"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 08:12:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 08:12:05 2017 +0000"
      },
      "message": "Merge \"Remove unused android.test.DatabaseTestUtils\" am: 3724e7e5e9 am: e6e0601862\nam: f18dd720d3\n\nChange-Id: I06d4ce8bf1b5ea985c5deda2e2d0fe5b1e7d79e5\n"
    },
    {
      "commit": "28600f2cae318f5977734f17a509031e0c39ebb4",
      "tree": "328253ee0fbf1c15a07553bc5f9c955148883ee0",
      "parents": [
        "f18dd720d36fb7dffb0f65ab31bff1f838737cd7",
        "a4d24641895bb93a30fe96b002ab153a0a44197d"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 08:07:14 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 08:07:14 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.s.InstrumentationTestSuiteBuilder\" am: 1935dce8eb\nam: a4d2464189\n\nChange-Id: I88278d5cfd8fc3466cce39de3de54e34d67cbe0f\n"
    },
    {
      "commit": "f18dd720d36fb7dffb0f65ab31bff1f838737cd7",
      "tree": "ec17ea212db8a46758115070f647f029f32469e8",
      "parents": [
        "cc6cd46d707ab68984810bf51020f9718661d237",
        "e6e060186201580c070009d43efb8eed3c6a66eb"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 08:03:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 21 08:03:56 2017 +0000"
      },
      "message": "Merge \"Remove unused android.test.DatabaseTestUtils\" am: 3724e7e5e9\nam: e6e0601862\n\nChange-Id: I2c5e4c7af30893d9183ee35326814fcb4506d0e8\n"
    },
    {
      "commit": "0e4f1358d6b2a1b321f8deaded61643eed908abb",
      "tree": "848f4fa13bfa9fb8ec2b9e4842ff4825abd76b0b",
      "parents": [
        "9d5576e081f74d6b77d9d98c96534c82298f6e44",
        "44c717386d0aaacfdc19cf4786cd0f44f3a935fd"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 07:46:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 07:46:41 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.InstrumentationUtils\""
    },
    {
      "commit": "9d5576e081f74d6b77d9d98c96534c82298f6e44",
      "tree": "bf1f5dc8f48f47bacd2600b912be087b347d69dc",
      "parents": [
        "1935dce8ebdf888013dfb310528f66b26ae44840",
        "575f9da647c2006d3e895adb2c418b51e50d3d63"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 07:46:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 07:46:05 2017 +0000"
      },
      "message": "Merge \"Cleanup a.t.InstrumentationTestRunner\""
    },
    {
      "commit": "1935dce8ebdf888013dfb310528f66b26ae44840",
      "tree": "8e9888fb00e5a065744a1eaf4f859428a4daf317",
      "parents": [
        "3724e7e5e92f1bbaf3aea0d72ae1359c5a755d13",
        "4f1dbfed97ed482110dea1d606809dcd4355105b"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 07:46:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 07:46:03 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.s.InstrumentationTestSuiteBuilder\""
    },
    {
      "commit": "3724e7e5e92f1bbaf3aea0d72ae1359c5a755d13",
      "tree": "53cc89a126ec7457c9187396963fdc5318a8fb9c",
      "parents": [
        "ecbe6fa147a38369c2309c1b6fb7d7313d9ca320",
        "20fb642a5c9a34d2ec6d18d856e07305b1f4181e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 21 07:46:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 21 07:46:00 2017 +0000"
      },
      "message": "Merge \"Remove unused android.test.DatabaseTestUtils\""
    },
    {
      "commit": "c66966d750f31aba21016bc357733846b4dd74c2",
      "tree": "11835a71f9b883c40fb6562e83b86f188abe4fee",
      "parents": [
        "0cdbff8d205d6353b83e285563c6185be4b4ebb1",
        "b3be07bc775e8f68273bc2097122751892c9d762"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 15:14:22 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 20 15:14:22 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.InstrumentationCoreTestRunner\" am: 1bfccadc81 am: dfc6939ed5\nam: b3be07bc77\n\nChange-Id: I12a6133de7ec7101327424854cf7a46debe3362d\n"
    },
    {
      "commit": "b3be07bc775e8f68273bc2097122751892c9d762",
      "tree": "16f39ca1958c43ba742b147233e5f733c7f60103",
      "parents": [
        "7f5e9bd68c24f5b7751de06a0d416cde1a70c593",
        "dfc6939ed57c0bda2715e3264f816a7d640a16bc"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 15:05:46 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 20 15:05:46 2017 +0000"
      },
      "message": "Merge \"Remove unused a.t.InstrumentationCoreTestRunner\" am: 1bfccadc81\nam: dfc6939ed5\n\nChange-Id: I5ccdb58bbcde73a33bdce9b65d95aad2bf7b931f\n"
    },
    {
      "commit": "e2e557976f1d68bf4d6a147ec484e5455f15eeef",
      "tree": "22b1af76216a1465201e9a1b91aa9f1e13c4ee49",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:53:48 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 15:29:57 2017 +0100"
      },
      "message": "Cleanup a.t.TestGrouping\n\nTestGrouping is not part of the API but is used by classes that are and\nso will need to be included in the static library we ship as part of the\nSDK. As that library will be built directly from the source (as opposed\nto android.jar which is built from stubs) developers will be able to see\nclasses and methods that are hidden and so not present in the stubs.\n\nThis change makes TestGrouping and its members as inaccessible as\npossible. Unused methods and fields were removed and the TestGrouping\nclass was simplified by passing the ClassLoader into the constructor,\ninitializing the classLoader, making the classLoader field final,\nand removing the setClassLoader(ClassLoader) method.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ie0545b1a61b74cdbc78667417f360b5197e2e128\n"
    },
    {
      "commit": "44c717386d0aaacfdc19cf4786cd0f44f3a935fd",
      "tree": "24edbc9099ff67c9c40768e0e0f13a7c05b670b9",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:04:27 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 15:02:57 2017 +0100"
      },
      "message": "Remove unused a.t.InstrumentationUtils\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ia06e4ae77f2c0ca341ef7c04f5f32bdd6a06d59c\n"
    },
    {
      "commit": "575f9da647c2006d3e895adb2c418b51e50d3d63",
      "tree": "39b7eff77e5d97c348f4075828a84f30d7c4671b",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:41:20 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 15:02:38 2017 +0100"
      },
      "message": "Cleanup a.t.InstrumentationTestRunner\n\nARGUMENT_TEST_CLASS, ARGUMENT_TEST_PACKAGE, ARGUMENT_TEST_SIZE_PREDICATE\nand ARGUMENT_DELAY_MSEC were made package private because they are not\npart of the API and are only used from within the same package.\n\nThe JavaDoc comment was changed to a multi-line comment because it is\nnot and should not be associated with any member.\n\nFixed a couple of minor JavaDoc issues.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: If28460aec2fd0080e0f5346a83abae393b7a9fb2\n"
    },
    {
      "commit": "4f1dbfed97ed482110dea1d606809dcd4355105b",
      "tree": "85c210535f6dc287c799c8230401151b27ff52ee",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:03:28 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 15:01:36 2017 +0100"
      },
      "message": "Remove unused a.t.s.InstrumentationTestSuiteBuilder\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I30514123c077e6047227f888f5f1a20e71ee1988\n"
    },
    {
      "commit": "57d5b8d02d29fae063794c3515ea33cf4cd84304",
      "tree": "f62e6d28055c4a3b688cecddd5df534bb275f3b5",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 11:05:25 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:58:33 2017 +0100"
      },
      "message": "Remove unused a.t.InstrumentationCoreTestRunner\n\nThe only usage of this was in the unused\ncts/tests/vm-tests-tf/AndroidManifest.xml which was deleted in\nhttps://android-review.googlesource.com/#/c/418900/.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I96f3586a7017f4cd14fa31207e0fff19c92f0de4\n"
    },
    {
      "commit": "20fb642a5c9a34d2ec6d18d856e07305b1f4181e",
      "tree": "bdab134a95b171e4681a16595b380feab4ab441c",
      "parents": [
        "48bc4c1f420d8f60c4d83d0ded4be0f37a37dd22"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:00:03 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 14:00:03 2017 +0100"
      },
      "message": "Remove unused android.test.DatabaseTestUtils\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I11b1a3b90b9d17af9278ec8b28483eee01b75e81\n"
    },
    {
      "commit": "5361c48199edb15a4de2e74cd6ae4df28f598b68",
      "tree": "3546b7b961a5c48d458fef100582d2580bdf5978",
      "parents": [
        "dcfaccd3cc65b48eeb1c3730f2be09670550658f"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 15 14:50:08 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 20 10:26:29 2017 +0100"
      },
      "message": "Remove android.test dependencies on a.o.PerformanceCollector\n\nThe a.t.TimedTest annotation was removed because it was not in the API\nand was only used by the code that has been removed.\n\nThe a.t.PerformanceCollectorTestCase was removed because it was not in\nthe API and its only purpose was to allow the AndroidTestRunner to\nsupply a PerformanceCollector.PerformanceResultsWriter to a test.\n\nBug: 62652137\nTest: make checkbuild\nChange-Id: Ie90a7004ade1448cb6bc7e029f6ba5620db29bfd\n"
    },
    {
      "commit": "2fa69bdfcebbd038742347dbadc2d87420724468",
      "tree": "6c921f6e29b97a6ba81012edf7e59e05cbb2392b",
      "parents": [
        "6ce08f623ce706e1451caba4a2fa93592640389a",
        "e468747115da8a027a5b782fd2fa88547043b3ed"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 06 08:13:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 08:13:12 2017 +0000"
      },
      "message": "Merge \"Added android.test.mock and android.test.mock.sdk targets\" am: 46f8d427c4 am: de30ee2d40\nam: e468747115\n\nChange-Id: I50e3ae83eabe75cb87e0dd25acd05eee811c25ce\n"
    },
    {
      "commit": "4823935a84c0b1b27fee0af91ecbbf85fdde508b",
      "tree": "791eb288b95a1fc8f9a7829d028245e5c17cb096",
      "parents": [
        "12fe022fbda6d11fea9c3ee78fa66a8225250b72"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri May 19 09:05:54 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 05 13:49:50 2017 +0100"
      },
      "message": "Added android.test.mock and android.test.mock.sdk targets\n\nThe android.test.mock will be used for any targets that require\nandroid.test.mock classes but which do not already depend on the\nsdk. It is also the library that will be added to the classpath\nat runtime when an app has the following in their manifest.\n    \u003cuses-library android:name\u003d\"android.test.mock\"/\u003e\n\nThe android.test.mock.sdk will be used by targets that require\nandroid.test.mock classes and which build against the SDK. It\ncontains stub classes (like android.jar). It is also the library\nthat will be copied into the optional directory of the SDK.\n\n(cherry picked from f74752293d1d25633aebc42c600717d0296a0820)\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: If199180e1136da1927a9e7c7bcafbcfb29cf1274\nMerged-In: Ia3fcd47c644b8e5a573f891571a7b3772eac63f9\n"
    },
    {
      "commit": "f74752293d1d25633aebc42c600717d0296a0820",
      "tree": "ea46557fff5541398533081512a49fb71148514c",
      "parents": [
        "570227e82c441b3831bb52aff1aeacdca70b244a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri May 19 09:05:54 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 05 11:19:58 2017 +0100"
      },
      "message": "Added android.test.mock and android.test.mock.sdk targets\n\nThe android.test.mock will be used for any targets that require\nandroid.test.mock classes but which do not already depend on the\nsdk. It is also the library that will be added to the classpath\nat runtime when an app has the following in their manifest.\n    \u003cuses-library android:name\u003d\"android.test.mock\"/\u003e\n\nThe android.test.mock.sdk will be used by targets that require\nandroid.test.mock classes and which build against the SDK. It\ncontains stub classes (like android.jar). It is also the library\nthat will be copied into the optional directory of the SDK.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ia3fcd47c644b8e5a573f891571a7b3772eac63f9\n"
    },
    {
      "commit": "fe2368c38cc8ed57dbf7fb2614ca2d7939262818",
      "tree": "2d0bdd7afcc6fc7b6a8b2cf646dbbf135d2ffb82",
      "parents": [
        "1bd58ef4b1563bf02e6051b6468ddc9bac10866c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed May 17 15:42:35 2017 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue May 30 12:41:39 2017 -0700"
      },
      "message": "Refresh in-memory SharedPreferences instances after restore\n\nExisting instances don\u0027t know that the file has changed out from\nunder them, so they continue to return stale values from reads, and\nrisk overwriting restored data with stale content if writes are\nperformed.  We now tell the backing cache system to induce a\nreload after restore (i.e. after we might have written a relevant\nfile out from under it).\n\nAlong the way we shook out an irregularity in the way we were\nsetting up the context topology of non-lifecycle instances of\nthe metadata-handling BackupAgent subclass, so that\u0027s fixed\nnow too.\n\nBug 12061817\nTest: cts-tradefed run cts -m CtsBackupHostTestCases\n\nChange-Id: I401fe9297235b55d8a8f041e430d122dc6e24129\n"
    },
    {
      "commit": "51829ae72f5785845cd7a24f448bdaab5091dd28",
      "tree": "3bc48f9eb0015a42de002d53bccf473abc482f55",
      "parents": [
        "763b36c7eb6a641127b291aa41b40648977538b1",
        "1e0a89055d4ebfcdb217e90da7242fec2179e3d9"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Fri May 12 21:27:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 21:27:37 2017 +0000"
      },
      "message": "Merge \"Setting Session commited broadcast when an existing apk is enabled for a different user\" into oc-dev am: fc157e702f\nam: 1e0a89055d\n\nChange-Id: Ifefcd98f5df6a3175ad2d25aa058555ed02a4854\n"
    },
    {
      "commit": "1e0a89055d4ebfcdb217e90da7242fec2179e3d9",
      "tree": "b753e1b769278c3dcd051d8be8c04e1ee880a071",
      "parents": [
        "75a7b33a1aedde73e8c89d76b2575d28fee9e7d4",
        "fc157e702f7bc79a1156bb8e54efa495984981a5"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Fri May 12 21:16:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 21:16:32 2017 +0000"
      },
      "message": "Merge \"Setting Session commited broadcast when an existing apk is enabled for a different user\" into oc-dev\nam: fc157e702f\n\nChange-Id: I4cabbad8bac8fb24c86506a89c29d0a34b90a564\n"
    },
    {
      "commit": "a31a74b993578573eca33ca68762a98c6f6cb904",
      "tree": "6e6d5082ecff304a06d065b2cbca665bfd6af871",
      "parents": [
        "731c41950af2a950f2fb7dbb265ca1ac39710f10"
      ],
      "author": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Thu May 11 15:59:19 2017 -0700"
      },
      "committer": {
        "name": "Sunny Goyal",
        "email": "sunnygoyal@google.com",
        "time": "Fri May 12 10:00:30 2017 -0700"
      },
      "message": "Setting Session commited broadcast when an existing apk is enabled for\na different user\n\nTest: Manual tests and CTS\nBug: 38204385\nChange-Id: Ic3bddbc2e6070c11b11f0685077db7737f2b8849\n"
    },
    {
      "commit": "e1124dee82bdcb870c6a34b4dd7f7c30d970b88a",
      "tree": "1753db598953c1c1bcab1069f0dd818b860a53b0",
      "parents": [
        "60d3808761aec695d5f4c6ff87e259466558d8bd",
        "943041abd2c6ca56868361479760e3cb4017757e"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri May 12 13:10:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 13:10:58 2017 +0000"
      },
      "message": "Merge changes I4c0e7fdd,I9ea3827a am: c876eece68 am: 557996e1d0 am: a158b3cb15\nam: 943041abd2\n\nChange-Id: Icc328d9243de8ff1e167313b5554a5bf757eab93\n"
    },
    {
      "commit": "943041abd2c6ca56868361479760e3cb4017757e",
      "tree": "317dda07375ba65630869060d248ab121152b45a",
      "parents": [
        "9bc7405c30bdcf42308da0cb6153132800c8f58e",
        "a158b3cb15df89b549812e2f54769947bb62ecda"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri May 12 13:03:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 13:03:29 2017 +0000"
      },
      "message": "Merge changes I4c0e7fdd,I9ea3827a am: c876eece68 am: 557996e1d0\nam: a158b3cb15\n\nChange-Id: Ia76a1e34c541c64d4b226b9492ca6f05d30fc5a4\n"
    },
    {
      "commit": "2231eb42ec82ce4996e65803b59fc01057a887f4",
      "tree": "cc6b062196de70c7411c52440584d84f959b298a",
      "parents": [
        "8c5a24d16926fb14f407ba51026f9a5b973b2e01"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed May 10 15:05:24 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu May 11 12:42:33 2017 +0100"
      },
      "message": "Remove dependency on internal FileUtils class\n\nIn preparation for building android.legacy.test library against\nthe test API this removes a dependency on internal classes.\n\nBug: 30188076\nTest: make checkbuild cts-tradefed run cts -m CtsContentTestCases -t android.content.cts.SyncStorageEngineTest\nChange-Id: I4c0e7fdd368e96459c8404ff7cea8738683d0ec1\n"
    },
    {
      "commit": "8c5a24d16926fb14f407ba51026f9a5b973b2e01",
      "tree": "5ffa82b89064abbadc1d7ef6e20c6a9a9ac5cac7",
      "parents": [
        "9588b607f048d0f513d674e90f9d0823928d1d26"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed May 10 13:30:16 2017 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu May 11 12:41:31 2017 +0100"
      },
      "message": "Remove dependency on com.google.android.collect classes\n\nIn preparation for building android.legacy.test library against\nthe SDK this removes a dependency on internal classes.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I9ea3827ab5db167c8cbddad25f0815c942681092\n"
    },
    {
      "commit": "3d2af7f72a2e6be36f0f2cbf899ad4d0bde451b4",
      "tree": "a7f0d7b1b431a824ce4e57663c1875ffe1c94cc9",
      "parents": [
        "d600fce5746366d4d0251455a3499a6ec69275d5"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Apr 19 19:56:21 2017 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Apr 27 17:16:16 2017 -0700"
      },
      "message": "SystemApi for dex module registration\n\nPackageManager#registerDexModule() allows apps which can call\nsystem apis to register a dex module with the Package Manager.\n\nThe PM may optimize the modules on the spot if needed. This is\nparticular useful for shared dex modules (e.g. chimera modules)\nwhich are loaded in multiple processes.\n\nTest:  adb  shell am instrument -e class\n\u0027android.content.pm.PackageManagerTests\u0027 -w\n\u0027com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\u0027\nBug: 37290820\nChange-Id: I9ea8f937a76d2549a29e90a6c84c53c2e44a1ee4\n"
    }
  ],
  "next": "1f4e053aef81e38ed905c210687c00d8f8d8bda4"
}
