)]}'
{
  "log": [
    {
      "commit": "fa6bc27df0820a362e0ceae7f9ea73e8a058fe47",
      "tree": "cbd6120259c6661d9fbefb32b8a69a46e6ad6096",
      "parents": [
        "e7908d7b624591c4cae55e66f5e603d061addd8f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 26 13:04:41 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Nov 02 11:35:48 2018 -0700"
      },
      "message": "Adapt to google::protobuf::uint64 type change\n\nProtobuf 3.5.2 redefines google::protobuf::uint64 from unsigned long\nlong to uint64_t, which is sometimes unsigned long and sometimes\nunsigned long long.  Use PRIu64 to print it, and add an implementation\nof ProtoOutputStream::write for long.\n\nBug: 117607748\nTest: m checkbuild\nChange-Id: I48912f58e2f63f4a98c3aefaa4f78cc2c719bb68\n"
    },
    {
      "commit": "05c9e5c24a860d8d4a9b0f00ba1b6fbef0dd1b1d",
      "tree": "d2618d6bc621b9044779d475a423fa907b0b1778",
      "parents": [
        "0d63da86e2e4093e9785cfc1df2f8ec4308a9ead"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 26 22:34:06 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Oct 31 08:01:59 2018 -0700"
      },
      "message": "Convert statsd and incidentd to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nMerged-In: I8c80878cec46c9299234c6f4c1e0e19efc0a221e\nChange-Id: I8c80878cec46c9299234c6f4c1e0e19efc0a221e\n"
    },
    {
      "commit": "e8abd0677674aab095aa192f2a85b1632a962791",
      "tree": "a1561a64a462aa2764852ee75be1a06bb45bf754",
      "parents": [
        "fccdf46adf096e9ba200ce79e00f6df379b5c649"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 22 09:56:12 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 22 09:56:12 2018 -0700"
      },
      "message": "Allow implicit-fallthrough warnings locally.\n\nIt will be a global error by default.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: I26616fd50ccf3639fa7c01d850a14d079273ede7\nExempt-From-Owner-Approval: do not block on new warnings\n"
    },
    {
      "commit": "46049f5fece2c40c7c9ba36db9a65b1369782c67",
      "tree": "ef52a2f5aaf5f02411a9a5ccf3836360e487c4c2",
      "parents": [
        "dd68cf76deb2f73b3b159cef27ee0da7803897bc",
        "df891f8a31daafe488c00bb95a5afff14af83e43"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 20 01:08:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 20 01:08:55 2018 +0000"
      },
      "message": "Merge \"Fix implicit-fallthrough warnings. DO NOT MERGE.\""
    },
    {
      "commit": "8f520e6f833d0ddd25dd57f8acb23a860edaccbe",
      "tree": "eaf2f1c5a6c4eb78db621dfa011d54979d4f450e",
      "parents": [
        "50242ce28ad4b0eb00ea0f69ce038cfa130e4770",
        "672a4fd863811d5c3dbe2307c86404be38468340"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 20 00:15:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 20 00:15:20 2018 +0000"
      },
      "message": "Merge \"Fix implicit-fallthrough warnings.\""
    },
    {
      "commit": "df891f8a31daafe488c00bb95a5afff14af83e43",
      "tree": "4db312de182ff6aa233ea0746535e78392556555",
      "parents": [
        "c4b647458c89468f1ad86b1700133a42b740d793"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 19 15:32:26 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 19 15:32:26 2018 -0700"
      },
      "message": "Fix implicit-fallthrough warnings. DO NOT MERGE.\n\nThese changes are not needed in goog/master.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: I75972e680c9502e1b83845f08e79b99a8084cc4c\n"
    },
    {
      "commit": "672a4fd863811d5c3dbe2307c86404be38468340",
      "tree": "ba4e1b14eadfcfcf84be8623ecae95a2655afbf2",
      "parents": [
        "c4b647458c89468f1ad86b1700133a42b740d793"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 19 14:19:29 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 19 14:19:29 2018 -0700"
      },
      "message": "Fix implicit-fallthrough warnings.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: Iaebada5e1a5d94ed06d9b584b888a4f78c0b8505\n"
    },
    {
      "commit": "a34a1e0c97451cc39ddebc46616647468fe793d2",
      "tree": "047ae1bc6d35e13dbef6aff6c0eea6d969540dac",
      "parents": [
        "9ff0f548a98be6ac623bf178a27ddb2ff4ff5427",
        "f79542efd3142e3248e5d501dfb420728b5e659a"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 15 19:06:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 15 19:06:02 2018 -0700"
      },
      "message": "Merge \"Change ZipArchiveHandle from void* to ZipArchive*\"\nam: f79542efd3\n\nChange-Id: Iebca19f2757ae77c07eca46a721c6966621fea14\n"
    },
    {
      "commit": "3addcd39659f2c950c4a5c65ba0ea4fed6818196",
      "tree": "91c8beafe069ee02532e091e659b70c4d09b0a36",
      "parents": [
        "4d9823f3eb12d27610770ea315512e460d8dbab3"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Wed Oct 10 22:20:10 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Oct 15 23:22:47 2018 +0000"
      },
      "message": "Change ZipArchiveHandle from void* to ZipArchive*\n\nBug: none\nTest: m checkbuild\nExempt-From-Owner-Approval: owner is OOO for another week,\n  it\u0027s a fairly minor change to this repository\nChange-Id: If4cf57619034ab98b06115ca60beb2fb26c4cd19\n"
    },
    {
      "commit": "2a656b455d5a585281b55d3f49daf8fe4aa17063",
      "tree": "544ad77f762436fde3170441e41263320c931741",
      "parents": [
        "b7c0800fa0fef9c9ffdc1f0fbb803b9298ab9d74",
        "120b7fba9304025d3c630bf4b3681fc30108c2b4"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Oct 09 16:08:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 16:08:34 2018 -0700"
      },
      "message": "Merge \"libandroidfw: introduce ExecuteBinary (POSIX only)\"\nam: 120b7fba93\n\nChange-Id: I6e0b320e8887e32b8ea3fd1cfcf0804714fe1eb3\n"
    },
    {
      "commit": "b7c0800fa0fef9c9ffdc1f0fbb803b9298ab9d74",
      "tree": "9dc5e02017a73eb7b65cbd03c5c39bcecbdfa3f4",
      "parents": [
        "7672daf8e5dee9cc8e6a3874b9f06eed6b4361dd",
        "b14c8879746474fc021a6a1c869e153a4d347d3c"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Oct 09 16:04:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 16:04:34 2018 -0700"
      },
      "message": "Merge \"libandroidfw: move ConfigDescription from aapt2 to libandroidfw\"\nam: b14c887974\n\nChange-Id: I14be80a2d2c3620919a78da5a42ed56ec1d1737f\n"
    },
    {
      "commit": "7672daf8e5dee9cc8e6a3874b9f06eed6b4361dd",
      "tree": "d2c6cf9f6cbfa464f261728ae2eb817dfd380602",
      "parents": [
        "247f18f47aca15efbb12fa30a9295299606e6402",
        "62a5d4249f531065dc97c2f7e8b9ab349aa1888d"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Oct 09 16:00:31 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 16:00:31 2018 -0700"
      },
      "message": "Merge changes from topic \"idmap2-prerequisites\"\nam: 62a5d4249f\n\nChange-Id: I8db3f5ba0de6510c3327273c56e9fcc75c836694\n"
    },
    {
      "commit": "120b7fba9304025d3c630bf4b3681fc30108c2b4",
      "tree": "216687f8671f36434f7fce9e9b90c234f783b393",
      "parents": [
        "b14c8879746474fc021a6a1c869e153a4d347d3c",
        "2503a49b963b7ebd6272d84cb22909152dfbce4f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "message": "Merge \"libandroidfw: introduce ExecuteBinary (POSIX only)\""
    },
    {
      "commit": "b14c8879746474fc021a6a1c869e153a4d347d3c",
      "tree": "94ce6086c7de4b877cdf17ca15d3f07dac833f33",
      "parents": [
        "62a5d4249f531065dc97c2f7e8b9ab349aa1888d",
        "5c541f6e36c049d2a00628083ca0534bf39db971"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "message": "Merge \"libandroidfw: move ConfigDescription from aapt2 to libandroidfw\""
    },
    {
      "commit": "62a5d4249f531065dc97c2f7e8b9ab349aa1888d",
      "tree": "d5e172014bc7cc5c2eac8312c27e32bc59d83301",
      "parents": [
        "16fcd3dcff4026fe6239478a5901fa121f2439e7",
        "668ec5bd3bd9d5fe6ebf46985eacd3d8d81af937"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "message": "Merge changes from topic \"idmap2-prerequisites\"\n\n* changes:\n  AssetManager2: optionally keep non-matching configs\n  AAPT2: optionally keep resources without default value\n  libandroidfw: add resource ID iterator\n"
    },
    {
      "commit": "668ec5bd3bd9d5fe6ebf46985eacd3d8d81af937",
      "tree": "5860f23364b953800731c71460c89881d936d57d",
      "parents": [
        "f99eda450f172f13affa1c08ebea9c3be00ac4b6"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Mon Jun 11 14:11:33 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Oct 09 20:15:01 2018 +0000"
      },
      "message": "AssetManager2: optionally keep non-matching configs\n\nAssetManager2 maintains a set of configurations [as specified in the\nresource blob] compatible with the currently set configuration [as\nspecified via SetConfiguration]. This helps optimize future resource\nlookups by limiting the set of configurations to iterate over.\n\nHowever, when creating idmaps, all configurations must be considered,\nincluding those not compatible with the currently set configuration. Add\nan optional flag to SetApkAssets to disable the optimization described\nabove.\n\nTest: manual (will be tested by upcoming idmap2 implementation)\nChange-Id: I7526a323ddf90e2f2f49c36e8c110a2cec25357e\n"
    },
    {
      "commit": "5c541f6e36c049d2a00628083ca0534bf39db971",
      "tree": "b96859ed3ac2264eaae528d3eaf11f7a0901aeb0",
      "parents": [
        "61b9b6c9eb7acb7b5f260f43b04d31d17bb59557"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Jun 20 08:46:41 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Oct 08 09:56:09 2018 -0700"
      },
      "message": "libandroidfw: move ConfigDescription from aapt2 to libandroidfw\n\nThis is to allow idmap2 to access ConfigDescription.\n\nTest: libandroidfw_tests\nTest: aapt2_tests\nChange-Id: I54210bbbd8dad5903cb7100807df977efa394ad5\nMerged-In: I54210bbbd8dad5903cb7100807df977efa394ad5\n"
    },
    {
      "commit": "2503a49b963b7ebd6272d84cb22909152dfbce4f",
      "tree": "a5a4eef847ba1162ff73e3ff51a96dd66ca19dc3",
      "parents": [
        "7b532b7370d2f19a08fc373ba0e95663d96cbfd6"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Thu Sep 27 13:32:30 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Oct 04 03:45:32 2018 +0000"
      },
      "message": "libandroidfw: introduce ExecuteBinary (POSIX only)\n\nIntroduce a wrapper around fork and exec.\n\nTest: make libandroidfw_tests\nChange-Id: Iff0de5319bb6bb101a3fbef6413dfb4e77198f11\n"
    },
    {
      "commit": "15dcc77feeb6c7adbea42b0edc8d1ef12aff0201",
      "tree": "489593294ad28b3bde436c08ca81c44d28ca27df",
      "parents": [
        "dcdd224bc0baf7e9452841c49688bb270de52650",
        "9166e8937443f891cb20d8821d17ce5af33793ea"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 18:09:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 18:09:38 2018 -0700"
      },
      "message": "Merge \"Add noexcept to move constructors and assignment operators.\"\nam: 9166e89374\n\nChange-Id: I079060ef610c2d90c57140f001225c163a3dd21a\n"
    },
    {
      "commit": "fc81626ba6851f52c72c9858edf3f6818d66cf82",
      "tree": "30551addf9eeb23a99149d1ca04c644285dacaea",
      "parents": [
        "6c35ea901c364f14198009b00b9e838842516911"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 25 12:01:21 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 20:23:02 2018 +0000"
      },
      "message": "Add noexcept to move constructors and assignment operators.\n\nBug: 116614593\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ic3993d88eb3066aef402d74c4d543c56a1dfd5c3\n"
    },
    {
      "commit": "3f1f4fc11d2e19c4b297a97d21293d05ac3db622",
      "tree": "45756e77808f87ef376117a89028ba8a1dd43f7d",
      "parents": [
        "0b925f85c00a9a3a942269236a16e77040a3eeb3"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Fri Mar 02 09:34:18 2018 +0100"
      },
      "committer": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Fri Sep 28 09:40:20 2018 +0200"
      },
      "message": "libandroidfw: add resource ID iterator\n\nAdd an iterator to LoadedPackage which allows the caller to iterate over\nthe resource IDs in the package. This will be used by idmap when\nconstructing the idmap file.\n\nBug: 78815803\nTest: make libandroidfw_tests\nChange-Id: Ia47daa21390d67ea2ef3665e88eb407837c4764f\n"
    },
    {
      "commit": "4007dd103f915b881065c5c75e99e5f043195eae",
      "tree": "49d1b2c812f66cd63738b6a7478cde621b7a6986",
      "parents": [
        "d050a2edd6f9cc6f73d590b7aca846e2bc034f9a",
        "903dad812e4ce230fff9f81750090c2fd259f232"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 19 18:21:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 19 18:21:47 2018 -0700"
      },
      "message": "Merge \"Don\u0027t run comparisons on non-jank frames\"\nam: 903dad812e\n\nChange-Id: I7cbca9acb9f14149868f18af8970d5324d51e260\n"
    },
    {
      "commit": "903dad812e4ce230fff9f81750090c2fd259f232",
      "tree": "659a3cdddd60705ee90ee54e3af61b6ef09d1a28",
      "parents": [
        "85aadab7e465391bed6a6d8b1afc24a83fc3cd2a",
        "50be3b83783b57492149b235ff220a7f1519327b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 19 23:28:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 19 23:28:55 2018 +0000"
      },
      "message": "Merge \"Don\u0027t run comparisons on non-jank frames\""
    },
    {
      "commit": "50be3b83783b57492149b235ff220a7f1519327b",
      "tree": "1d8e1296670880cae532e938550cfc6451ed6d77",
      "parents": [
        "0b8f17b3ba65d9c8c59600eaa2b0e30dc032e91f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Sep 14 11:25:58 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Sep 14 11:25:58 2018 -0700"
      },
      "message": "Don\u0027t run comparisons on non-jank frames\n\nUnclear why mSwapDeadline doesn\u0027t already\naccount for this, but the handling of vsync\nphase offsets may be throwing things off a bit.\n\nFor now just do the simple fix.\n\nBug: 109894489\nTest: builds, patch was verified by reporter\nChange-Id: I5a6f25ceac4986d366293fe7b5e3af64a326114c\n"
    },
    {
      "commit": "0bb76346f5f049d25c6eeee0a4369a7c571cf75f",
      "tree": "77eb3660833dc8233803d325a3f54d0433a734fd",
      "parents": [
        "eda353bc524e1d1eafee4f4ba8c41be08456105e",
        "b848ce8e2035243a4135eea16f0d2a1f9cefdc81"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Sep 12 16:57:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 12 16:57:17 2018 -0700"
      },
      "message": "Merge \"ByteBucketArray.h: fix typo\"\nam: b848ce8e20\n\nChange-Id: I81aff763f5572b6c72e1a845fda518179cf95e15\n"
    },
    {
      "commit": "b848ce8e2035243a4135eea16f0d2a1f9cefdc81",
      "tree": "43603f0ac15317011b12ab8c746446bcee0eae0a",
      "parents": [
        "14faaf660d61d6d779b7a93ea8e6d8dad443ee6b",
        "cb54cd2dac24e128bcf8d235993305359a04d3f8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 12 22:26:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 12 22:26:22 2018 +0000"
      },
      "message": "Merge \"ByteBucketArray.h: fix typo\""
    },
    {
      "commit": "cb54cd2dac24e128bcf8d235993305359a04d3f8",
      "tree": "8f82ba986b9a73b485d7642f8db44fbabb601844",
      "parents": [
        "7a8e363c0bbe7d2ad2eea99af8187da8c31ed538"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Feb 28 09:52:16 2018 +0100"
      },
      "committer": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Sep 11 14:24:40 2018 +0200"
      },
      "message": "ByteBucketArray.h: fix typo\n\nBug: 78815803\nTest: builds, boots\nChange-Id: I93d7ce5255911797d6afdb05caf0cf7dbfdc22b9\n"
    },
    {
      "commit": "cccd03859ca4f7870d05ee679530c6d3c0c967e0",
      "tree": "19a2153dc8027c13732a49af963314a3edb8d792",
      "parents": [
        "2795cca1cfa9f3004eb63525c135289d19e63f4e"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Jun 22 17:33:43 2018 -0400"
      },
      "committer": {
        "name": "Po-Chien Hsueh",
        "email": "pchsueh@google.com",
        "time": "Wed Aug 29 15:03:08 2018 +0800"
      },
      "message": "Don\u0027t apply filter in readback, when there is no scaling\n\nFix check for scaling in SkiaOpenGLReadback: old code was not\ntaking into account that matrix rotation swaps width/height.\n\nTest: Passed PixelCopyTest#testWindowProducerCopyToRGBA16F\nBug: 110097060\nBug: 111776948\nChange-Id: I0d26416fa72a026bc376417773d5a73548b1f1a5\nMerged-In: I0d26416fa72a026bc376417773d5a73548b1f1a5\n(cherry picked from commit d50edd004b60bec3f1d36066725129276b4a53ec)\n(cherry picked from commit ee7b63aa646c937e326ac5f39f07f724020533bb)\n"
    },
    {
      "commit": "421449a4a66d39ece6436b2413746c91139a6d57",
      "tree": "9993a8c7bb8fe8d4e594b46ebe1da0918c82bc55",
      "parents": [
        "c96760f4f30279bdddcbdc83398bc069740970f1"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Jul 12 16:53:59 2018 -0400"
      },
      "committer": {
        "name": "Po-Chien Hsueh",
        "email": "pchsueh@google.com",
        "time": "Wed Aug 29 14:54:53 2018 +0800"
      },
      "message": "Fix TextureView.getBitmap with scale layer transform\n\nFix TextureView.getBitmap to capture content only from the layer.\n\nBug: 111401911\nTest: A new test TextureViewTest.testTransformScale is passing\nChange-Id: I2b9cee17fc48de7b12ed03d5b4f173ce5445dbfe\nMerged-In: I2b9cee17fc48de7b12ed03d5b4f173ce5445dbfe\n(cherry-picked from ff129aefe2b68c5dc6fe51a9b1d34f98750d4973)\n(cherry picked from commit 9675537555913a6aa7c25a71a6b854a083e22ede)\n"
    },
    {
      "commit": "ddedd24e963fea1332125d2bdd43dbb709557f14",
      "tree": "8eb293ef5bd75cc83d1e28adc149300918745466",
      "parents": [
        "83c37379dafdf687da290cf412129ea21573dea9",
        "9d10637e016f40b4fc58db4fd204174f03312c30"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Fri Aug 24 15:38:07 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 24 15:38:07 2018 -0700"
      },
      "message": "Merge changes Ie072511b,I6424f90c\nam: 9d10637e01\n\nChange-Id: I06ca7319633534e38b45ab960f285a072cff84da\n"
    },
    {
      "commit": "174b50fa506b0d33551670cbc595412bf943113c",
      "tree": "c5c6b98f831d06405bac535aa81dfc23c0002fd9",
      "parents": [
        "a95435b836a09084b213ba0809eba7d37825cd5e"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Thu Aug 23 17:02:39 2018 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Fri Aug 24 06:10:18 2018 -0700"
      },
      "message": "TreeInfo: Make ~ErrorHandler() virtual\n\nErrorHandler has a pure virtual function, so we also make its\ndestructor virtual, to assure any children classes will get\nproperly destructed.\n\nTest: TreeHugger\nChange-Id: Ie072511b450d507f8764b0888d232ffac8f6d6f5\n"
    },
    {
      "commit": "a95435b836a09084b213ba0809eba7d37825cd5e",
      "tree": "5e53312f42e6cfcd940b5a1edae59098529ed29e",
      "parents": [
        "0d9029cf3cf2979d4f3a44a844b6b9f3b354feaa"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Thu Aug 23 16:58:18 2018 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Thu Aug 23 17:07:56 2018 -0700"
      },
      "message": "RenderThread: Make ~IFrameCallback() virtual\n\nIFrameCallback has a pure virtual method, but its destructor was\nnon-virtual.  While CanvasContext, which inherits from\nIFrameCallback, declares its own destructor virtual, this is not\nsufficient when accessing via an IFrameCallback pointer.\n\nWe fix this by making the base destructor virtual.\n\nTest: Treehugger\nChange-Id: I6424f90c16caea417b5f80b60d76a7ca7c7ef97c\n"
    },
    {
      "commit": "0678660c8d425532ba06b0320343c05bc70a78c7",
      "tree": "e373d90199067f654f2d19021354c67e9af7eaa3",
      "parents": [
        "c9756c9193bbbec8bc3a22536f6967c56c833135",
        "f5d4ea6132065a99927a47faaab4dd2fcedea6dd"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Jul 18 16:54:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 18 16:54:22 2018 -0700"
      },
      "message": "Merge \"Fix TextureView.getBitmap with scale layer transform\" into pi-dev\nam: f5d4ea6132\n\nChange-Id: I76c8480c0ce5583ce75a91d665862032415c54d8\n"
    },
    {
      "commit": "f5d4ea6132065a99927a47faaab4dd2fcedea6dd",
      "tree": "fb535897f216e96a7cba354003c621c5b0217734",
      "parents": [
        "2f8a3a4bb8ba700321af9e050a95640f6ac60ce3",
        "ff129aefe2b68c5dc6fe51a9b1d34f98750d4973"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 18 23:39:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 18 23:39:26 2018 +0000"
      },
      "message": "Merge \"Fix TextureView.getBitmap with scale layer transform\" into pi-dev"
    },
    {
      "commit": "c9756c9193bbbec8bc3a22536f6967c56c833135",
      "tree": "a960658374860a4c331e9568a9556b07438b1970",
      "parents": [
        "08f22c1e2d2762788f617e2a6c1c3bbd150f5970",
        "2f8a3a4bb8ba700321af9e050a95640f6ac60ce3"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 18 15:06:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 18 15:06:29 2018 -0700"
      },
      "message": "Merge \"Move allocateBuffers to RT\" into pi-dev\nam: 2f8a3a4bb8\n\nChange-Id: I6c8f84406a40fa324a4486f71fccf01f6acfe60a\n"
    },
    {
      "commit": "2f8a3a4bb8ba700321af9e050a95640f6ac60ce3",
      "tree": "4f05bd30a825d4efa9fe0fd77e6ed4b401fc9679",
      "parents": [
        "ca53cf7f9a0b234cc0a562e69f7d95f4e1c11c31",
        "7823ee73ee504fcb5b0448b0b8f1b4804309df45"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 18 21:47:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 18 21:47:59 2018 +0000"
      },
      "message": "Merge \"Move allocateBuffers to RT\" into pi-dev"
    },
    {
      "commit": "7823ee73ee504fcb5b0448b0b8f1b4804309df45",
      "tree": "f8da6181ceba92bf79e44981bf8305bcb1cd862b",
      "parents": [
        "0c84996a12ace0a81ecfeb5f3a79e55127a06af0"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 17 15:24:16 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 17 17:34:49 2018 +0200"
      },
      "message": "Move allocateBuffers to RT\n\nSuch that it gets executed after setSurface, in order that\nmReqUsage has the correct flags set.\n\nTest: Take trace, ensure that allocateBuffers actually allocates\nin the right format/usage by ensuring that dequeueBuffer doesn\u0027t\ntrash them immediately again.\nBug: 111517695\nChange-Id: I94b402d7b29d565155a77a2d09106246261712d2\n"
    },
    {
      "commit": "60413d0697a0bdaf6ac597f4388ff954d3dcfcf0",
      "tree": "568a12c1191c8a47f1633fe487c7fc6c953e978c",
      "parents": [
        "deb8dbad23eab0d2ac2e0fbb89b735a5a0bdc540",
        "cf0b12711057a2a23dc08f1ac6acfe67892b945d"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Jul 16 14:15:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 16 14:15:09 2018 -0700"
      },
      "message": "Merge \"Loosen resource file verification\" into pi-dev\nam: cf0b127110\n\nChange-Id: I0b4012085579aa172a1a3f5a83325f0827523af5\n"
    },
    {
      "commit": "ff129aefe2b68c5dc6fe51a9b1d34f98750d4973",
      "tree": "a162b93d1e3eaf5987a96ba69834fdefd686eb71",
      "parents": [
        "cf0b12711057a2a23dc08f1ac6acfe67892b945d"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Jul 12 16:53:59 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Jul 16 21:03:39 2018 +0000"
      },
      "message": "Fix TextureView.getBitmap with scale layer transform\n\nFix TextureView.getBitmap to capture content only from the layer.\n\nBug: 111401911\nTest: A new test TextureViewTest.testTransformScale is passing\nChange-Id: I2b9cee17fc48de7b12ed03d5b4f173ce5445dbfe\n"
    },
    {
      "commit": "28e663cbed28fb6c8c8dec0849e0277daf67651b",
      "tree": "7d0ddd6373a15fbbf69f878c61eafc571c2eccea",
      "parents": [
        "4ab42d5b8aa2cb2e36f46b34962dd23832f45280"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Jul 12 13:15:54 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Jul 16 20:52:55 2018 +0000"
      },
      "message": "Loosen resource file verification\n\nBug: 77808145\nTest: Tried to install corrupt APK prior to the change, install failed\nTest: Tried to install corrupt APK after the change, install succeeded\nTest: atest CtsAppSecurityHostTestCases:CorruptApkTests\nChange-Id: I19a69e52a17c1080beaf2cc575c32f564b1033a3\n"
    },
    {
      "commit": "888f73388bc855f4e090c5d8f64b4c4b28f78d4a",
      "tree": "590adaf9815be7cb019dbd2fc219f51b155c5922",
      "parents": [
        "a35f24bc96e1d2d03086ae248508ea5be746a88b",
        "af3e763358a4bdb435ca75133c8f30189d1f3720"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jul 11 15:09:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 11 15:09:34 2018 -0700"
      },
      "message": "Merge \"Disable LTO on -eng\" am: 1918b39942\nam: af3e763358\n\nChange-Id: I5146424fc06ad7c62088a0ac6f957e0a02b0ec66\n"
    },
    {
      "commit": "af3e763358a4bdb435ca75133c8f30189d1f3720",
      "tree": "e47b02129683127e4aa01aa930e667e5d3b69008",
      "parents": [
        "22590b06e8b955b743a95f330e70d72f0b7aa7cf",
        "1918b39942f7d7df706e069e20cfcab2d1fe575f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jul 11 14:48:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 11 14:48:50 2018 -0700"
      },
      "message": "Merge \"Disable LTO on -eng\"\nam: 1918b39942\n\nChange-Id: I925182b722d7bf6b1bb63c298a8ec9e345f0c4ac\n"
    },
    {
      "commit": "2729418128d227a4e4d04fc43700899de2ba85d4",
      "tree": "a82c032ae1ee11ebe5223b50a2c785b41888bf9a",
      "parents": [
        "c1e5c3ea8205ea4c65fc76070210fce714c08be5"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jul 11 11:21:09 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jul 11 18:24:58 2018 +0000"
      },
      "message": "Disable LTO on -eng\n\nSpeeds up incremental compile of one cpp file change\nfrom over a minute to around 15 seconds\n\nBug: 111277863\nTest: touch a .cpp file in hwui \u0026 mmm\nChange-Id: I946ecad411a7a59f87ed9e1eeb146d6f57bd038a\n"
    },
    {
      "commit": "6fc2f09b35a54c4c60ae95c526ed04e78c8b7ed4",
      "tree": "3b5cc8f4c6b8935c4b0ca0b011ac90c6aff66776",
      "parents": [
        "ad08a8b21d798de1af13c04fe697e73c5aec546b",
        "9fada2364fa5f80d22ff6ec8a193d55b6040cd10"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Mon Jul 09 15:44:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 09 15:44:54 2018 -0700"
      },
      "message": "Merge \"Remove CSV support\" am: 0faecf7b89\nam: 9fada2364f\n\nChange-Id: Ibf1fe01c8e69407decf760307ad3747f1c3cb317\n"
    },
    {
      "commit": "9fada2364fa5f80d22ff6ec8a193d55b6040cd10",
      "tree": "97b1fc26eb2789faa81e41bfa579ea54d13d0eb5",
      "parents": [
        "50f29d8ecf5122521304a8c3149b5053d3953a03",
        "0faecf7b89baf5acce025601e6dd58e773ea12fd"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Mon Jul 09 14:41:03 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 09 14:41:03 2018 -0700"
      },
      "message": "Merge \"Remove CSV support\"\nam: 0faecf7b89\n\nChange-Id: I02e8b74299afda2642567e3fcf9a41653cb7b888\n"
    },
    {
      "commit": "783d76ec31bbc30105941e76a921b4f350fecc57",
      "tree": "aef50497d3ecb0082130e38d18cb09679783003a",
      "parents": [
        "ff801e5fd719c9aa797edd14e13562727b0e1236"
      ],
      "author": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Fri Jul 06 16:55:27 2018 -0700"
      },
      "committer": {
        "name": "Haibo Huang",
        "email": "hhb@google.com",
        "time": "Fri Jul 06 16:55:27 2018 -0700"
      },
      "message": "Remove CSV support\n\nCSV is deprecated upstream. See:\nhttps://github.com/google/benchmark/commit/7b8d0249d8d66040ce9ffe6b94cc8421ef3e61d8\n\nTest: m checkbuild\nChange-Id: I4b85535d4296c6f0d1f0eec95b40c065b3143134\n"
    },
    {
      "commit": "3be9f7072a9b7663c362a495ac169d7a9e569150",
      "tree": "ed31b0a64f1a9e28528e861b60990348a79a29f3",
      "parents": [
        "cee918d9253985bf3fd629a33081c1f7481a3891",
        "35d6bafc57bb5384c7ba58bdce35639de754abde"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Thu Jun 28 20:53:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 28 20:53:52 2018 -0700"
      },
      "message": "Merge \"Build com.android.future.usb.accessory with java_sdk_library\" am: 10cfc61774\nam: 35d6bafc57\n\nChange-Id: I205f0f1811b68aa41d105fbd8db24db52ae2d35e\n"
    },
    {
      "commit": "35d6bafc57bb5384c7ba58bdce35639de754abde",
      "tree": "622835a55ae31f3c15c5d5dc173cc5ed2820d4ba",
      "parents": [
        "44b19140009a392b31a1f8bd1e2706a20799eb0d",
        "10cfc61774ba3364e3ad4e673552216e94980cab"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Thu Jun 28 20:38:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 28 20:38:09 2018 -0700"
      },
      "message": "Merge \"Build com.android.future.usb.accessory with java_sdk_library\"\nam: 10cfc61774\n\nChange-Id: Ie6abdaa1c9f58ada60da5514bbd1ed261d09fd0b\n"
    },
    {
      "commit": "10cfc61774ba3364e3ad4e673552216e94980cab",
      "tree": "dc0e95e8d9f0c632627ee0dc1444bb56ccaedf81",
      "parents": [
        "855f0f03e1168d0e4002b6bc866dd794c0a94b55",
        "9794d2a5b902e68e10b8fad20a79df6caf8f546b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 29 02:51:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 29 02:51:43 2018 +0000"
      },
      "message": "Merge \"Build com.android.future.usb.accessory with java_sdk_library\""
    },
    {
      "commit": "1c300861d2f0c12ac9aa8d36390e90b81fb8003b",
      "tree": "ad7f287c666b62f848b852d5c07f7b4949bfc8a2",
      "parents": [
        "6bebb8418ceecf44d2af40033870f3aabacfe36e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jun 26 11:41:34 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jun 26 12:37:42 2018 -0700"
      },
      "message": "Fix memory leak in RenderThread::dumpGraphicsMemory.\n\nThis would have been a double-close of fd, except we just leak the\nFILE* instead.\n\nTest: treehugger\nChange-Id: I519366fbcf0eb6f03f79c22abfa2b1b1b493a70a\n"
    },
    {
      "commit": "a69eae92c7eca8bb5c264a511deb59f3ca11cc32",
      "tree": "b5453de0666c9411bfcc291cded571c1cb5d9eec",
      "parents": [
        "d3f3a2354aff7ce468ef6f0cffae8f2fa996f2ab",
        "cea247e135dd8059098ac8c4aec7c573e830d878"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Jun 25 16:33:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 25 16:33:36 2018 -0700"
      },
      "message": "Merge \"Don\u0027t apply filter in readback, when there is no scaling\" into pi-dev\nam: cea247e135\n\nChange-Id: Ibfcc41e052376d159886410d11130bb89ade168d\n"
    },
    {
      "commit": "d50edd004b60bec3f1d36066725129276b4a53ec",
      "tree": "10249fcbe71fb2c742c449acd5e24f627feb2de6",
      "parents": [
        "bcae0ff7a2843ce86ba01d31cdfafe1d7cb90bd4"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Jun 22 17:33:43 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Jun 22 17:33:43 2018 -0400"
      },
      "message": "Don\u0027t apply filter in readback, when there is no scaling\n\nFix check for scaling in SkiaOpenGLReadback: old code was not\ntaking into account that matrix rotation swaps width/height.\n\nTest: Passed PixelCopyTest#testWindowProducerCopyToRGBA16F\nBug: 110097060\nChange-Id: I0d26416fa72a026bc376417773d5a73548b1f1a5\n"
    },
    {
      "commit": "399ac24bdfe0c06e04ff239bb77c57c6170ee074",
      "tree": "ee9cde9f8fc5ca6588c7e20374279a905d12a823",
      "parents": [
        "946957bc324c1edc9b5a85f260d3eaa70b4fe8fb",
        "b352dcd153445e32c74701b89ec1d26e73a97e47"
      ],
      "author": {
        "name": "zhangkuili",
        "email": "zhangkuili@xiaomi.com",
        "time": "Thu Jun 21 14:53:15 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 21 14:53:15 2018 -0700"
      },
      "message": "Merge \"[Stability][hwui] check mmap return value\"\nam: b352dcd153\n\nChange-Id: I8d04c5433ca881e62a23e0aa13e022cdf8d16d9a\n"
    },
    {
      "commit": "24a1bc39bb7c4af1c5565816c66338ae231cf41c",
      "tree": "cdc393bc60c490a7d0f076a713c0026993821d92",
      "parents": [
        "faf31f86381122507398624698b7c89273f01ff5"
      ],
      "author": {
        "name": "zhangkuili",
        "email": "zhangkuili@xiaomi.com",
        "time": "Tue May 29 10:23:29 2018 +0800"
      },
      "committer": {
        "name": "yuanhao",
        "email": "yuanhao@xiaomi.com",
        "time": "Thu Jun 21 17:43:10 2018 +0800"
      },
      "message": "[Stability][hwui] check mmap return value\n\nIf mmap failed, it return -1 (MAP_FAILED)\n\nBug:110507462\nTest: manual\n\nChange-Id: I3d0bac2e7c8b0bdc9cfb4ebb7b766d858876679d\nSigned-off-by: zhangkuili \u003czhangkuili@xiaomi.com\u003e\n"
    },
    {
      "commit": "0e6f553743e69dfe3a7dfbf31842463d48e72d94",
      "tree": "b9050d621acc809132daf2cf0b64ba52047efcdb",
      "parents": [
        "a54d5e31e32f1fe77c1a0a86c477176c8b3d9b5f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 01 09:50:28 2017 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 20 22:52:35 2018 +0000"
      },
      "message": "Fix PixelCopyTest failure in CTS\n\nThis feature needs support for renderable float textures, but the checks\nwere only guaranteeing support for float texture reads.\n\nBug: 68754504\nTest: CtsViewTestCases\n\nChange-Id: I0ce4a81cb8e09c10a5f1e65234685767a24ef8c4\nMerged-In: I0ce4a81cb8e09c10a5f1e65234685767a24ef8c4\n(cherry picked from commit 8472ac67fd1d815022874f5addace0c4334ae9f6)\n(cherry picked from commit 8dc7f8275e5ba9004d219d7d7d990e91fc702095)\n"
    },
    {
      "commit": "9794d2a5b902e68e10b8fad20a79df6caf8f546b",
      "tree": "0cae32cb928644c59994a352e4d2dec99d3ee8c6",
      "parents": [
        "a9bf7a881056cda29ee2dc04179ed9a89e5884a0"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Mon Jun 04 14:05:57 2018 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Jun 19 10:22:30 2018 +0900"
      },
      "message": "Build com.android.future.usb.accessory with java_sdk_library\n\ncom.android.future.usb.accessory is built with java_sdk_library and api\nfiles are added by running \"make update-api\".\n\nBug:77577799\nTest: make -j\nTest: make checkapi\nTest: adb shell cmd package list libraries |\\\n      grep com.android.future.usb.accessory\n      And check the com.android.future.usb.accessory library\n\nChange-Id: I21c635c06ab809b3d1b34b2a8de055fa20d9b066\n"
    },
    {
      "commit": "7dbefdcb9268375f3636ffdfb0d14b2ceca3a61e",
      "tree": "8a7084cb7141716ca1843347ad8b6519de98e003",
      "parents": [
        "c218182fcd2e77c86ad2b55e32ad6d30f1c95041",
        "26119befba89e1d656e6c2237f15e2b3a74865fd"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 07 20:02:59 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 07 20:02:59 2018 +0100"
      },
      "message": "resolve merge conflicts of 26119befba89e1d656e6c2237f15e2b3a74865fd to pi-dev-plus-aosp\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Iea64af5a88c9bf399fb26468e931be3c73061bac\n"
    },
    {
      "commit": "6899839e0712880f7c539b1035006dd2855a63e6",
      "tree": "76eebdec36c09092682165c66ec95c1a1cc5fd89",
      "parents": [
        "c4aa718dbfe3931da691196e9de023366dab2515",
        "5ae85666ac3272ea34e943ec8e2a8e9e2a86306a"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jun 06 16:09:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 06 16:09:35 2018 -0700"
      },
      "message": "Merge \"Fix DynamicRefTable::load security bug\" into oc-mr1-dev am: 2b6805fedc\nam: 5ae85666ac\n\nChange-Id: I64521a290482adb5ade95b641ce9c0c27031a814\n"
    },
    {
      "commit": "5ae85666ac3272ea34e943ec8e2a8e9e2a86306a",
      "tree": "bed7f75a26c8032961f75c516db5c98764d62eb4",
      "parents": [
        "c69da1474aef2ef9fd78b3908eca99b4c89427ed",
        "2b6805fedc69735ee79dcec7ac5d4a5963f202d2"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jun 06 15:50:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 06 15:50:57 2018 -0700"
      },
      "message": "Merge \"Fix DynamicRefTable::load security bug\" into oc-mr1-dev\nam: 2b6805fedc\n\nChange-Id: I5ef0a789b16dc8aa0936d8fcca3917ce2f884d74\n"
    },
    {
      "commit": "d2f29d7a6fa988c6752cbb0a3779d9b42a329ace",
      "tree": "dd76bf99b1c6717c30bb55782010cad82bdc68ca",
      "parents": [
        "b044b885cf51ef350745e9178e763c0b4db8a86a"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jun 04 15:35:31 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Jun 06 17:03:55 2018 +0100"
      },
      "message": "Remove CommonClock / CommonTimeManagementService\n\nThe service and associated code is unused.\n\nBug: 80462439\nTest: build / boot\nMerged-In: Ibdfab1b7d2951a0c45e07bd47850af037990841b\nChange-Id: Ibdfab1b7d2951a0c45e07bd47850af037990841b\n"
    },
    {
      "commit": "18a6ada4aa136da4f50f03fff91d61d448ced195",
      "tree": "6e92164af48a4e38ea2a8fbb6fee1a3ebb7f914d",
      "parents": [
        "2d6209f71de8f88526f97526d40304eef626219a"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed May 30 12:17:01 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jun 05 22:05:11 2018 +0000"
      },
      "message": "Fix DynamicRefTable::load security bug\n\nDynamicRefTables parsed from apks are missing bounds checks that prevent\nbuffer overflows. This changes verifies the bounds of the header before\nattempting to preform operations on the chunk.\n\nBug: 79488511\nTest: run cts -m CtsAppSecurityHostTestCases \\\n        -t android.appsecurity.cts.CorruptApkTests\n\nChange-Id: I02c8ad957da244fce777ac68a482e4e8fa70f846\nMerged-In: I02c8ad957da244fce777ac68a482e4e8fa70f846\n"
    },
    {
      "commit": "048c6751d77ea038b17b8cef4fbfb324f4b6b0f4",
      "tree": "76055b61cfba6603e2c35c5c19a9357c9b31e29b",
      "parents": [
        "5c6e5f189a7f3716b6601c2a60862ae382605516",
        "d490e788f170aefed957753dd1f5f9e05500970e"
      ],
      "author": {
        "name": "Yu Jia",
        "email": "jiayu1016@gmail.com",
        "time": "Mon Jun 04 19:42:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 04 19:42:29 2018 -0700"
      },
      "message": "Merge \"cts case com.android.server.cts.GraphicsStatsValidationTest#testDaveyDrawFrame in modue CtsIncidentHostTestCases failed\" am: 2dd3d8cbef\nam: d490e788f1\n\nChange-Id: I6e3507cfb5b6501dd28fb2b6019fdbb74fb745f0\n"
    },
    {
      "commit": "8b3480c66746a26e6bea9d4a5dd453ce1145435f",
      "tree": "e3b2470f8d64be494966b0d01e09eb537c18110b",
      "parents": [
        "fe1c990a57fe52abc1ab20e577bde33eb33751af",
        "b559512508a44b49adee1066939244ee9f076587"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 01 04:31:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 01 04:31:50 2018 -0700"
      },
      "message": "Merge \"Attempting to fix the black flicker\" into pi-dev\nam: b559512508\n\nChange-Id: I95ee7346a8d2f10c07185d3c386a7ee778f6bd98\n"
    },
    {
      "commit": "fe1c990a57fe52abc1ab20e577bde33eb33751af",
      "tree": "6c1518307d4f3ff55a0d1713e851a2cc950260f0",
      "parents": [
        "5ccabc2c665dec978dde8be73d26d31f12c1e775",
        "6a1df0d54191208f5e6a33bba154fb6d4e5a7562"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu May 31 20:51:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 31 20:51:45 2018 -0700"
      },
      "message": "Merge \"Bind correct FBO when drawing a WebView into a layer.\" into pi-dev\nam: 6a1df0d541\n\nChange-Id: Idd4a3432df50e502a84747d240a1940bf3cb6b8c\n"
    },
    {
      "commit": "b559512508a44b49adee1066939244ee9f076587",
      "tree": "1ddf92674f0f2ffbbd688cb9a6e148ff12752943",
      "parents": [
        "6a1df0d54191208f5e6a33bba154fb6d4e5a7562",
        "5b02c629bd8da951331e5e464fe78e03b3393a72"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 01 03:05:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 01 03:05:51 2018 +0000"
      },
      "message": "Merge \"Attempting to fix the black flicker\" into pi-dev"
    },
    {
      "commit": "0fba15b2ba81c8bcf316063304f0f334bc4fb852",
      "tree": "d775f0ff3dbfef4259e009c40293a55abb016241",
      "parents": [
        "8997b7e4c9eef423f73b7c61e926a66648473c24"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed May 30 18:08:57 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jun 01 01:08:15 2018 +0000"
      },
      "message": "Bind correct FBO when drawing a WebView into a layer.\n\nThe WebView was unable to draw into either a standard clipped\nlayer or the \"fading edges\" unclipped layer. This CL and its\ncompanion test cases ensure that both work with simple and\ncomplex clips.\n\nBug: 79619253\nBug: 80443556\nBug: 80477645\nTest: atest CtsUiRenderingTestCases:.LayerTests\nMerged-In: I0e16b724f74415a61cc2a841ccf4a491f293ac94\nChange-Id: I4900222975fc841b11828916878fb0ea6d87dcda\n"
    },
    {
      "commit": "5b02c629bd8da951331e5e464fe78e03b3393a72",
      "tree": "5b39981a81b63b59c179402635ace31fa4d0c88c",
      "parents": [
        "1031bf5f761304987e6a2c5bbb5743a65c3253bf"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 17 10:44:00 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 31 12:56:28 2018 -0700"
      },
      "message": "Attempting to fix the black flicker\n\nBug: 79231206\nTest: Repro steps from bug\n\nMerged-In: I4c2810c42a7a4358f64584da3ab0cdf1499e71b6\nChange-Id: I4c2810c42a7a4358f64584da3ab0cdf1499e71b6\n"
    },
    {
      "commit": "e57493ab1907c5f1685bbf02b33d83f2d2ba3e56",
      "tree": "85acc93c8e85a8d59fd7cfc13b79155c5fc8260a",
      "parents": [
        "e03b8ee7e0bc1a585f4847f5ab1d564bdc56e3f6"
      ],
      "author": {
        "name": "Yu Jia",
        "email": "jiayu1016@gmail.com",
        "time": "Wed May 30 11:18:05 2018 +0800"
      },
      "committer": {
        "name": "Jia Yu",
        "email": "jiayu1016@gmail.com",
        "time": "Wed May 30 13:34:19 2018 +0800"
      },
      "message": "cts case\ncom.android.server.cts.GraphicsStatsValidationTest#testDaveyDrawFrame in\nmodue CtsIncidentHostTestCases failed\n\nThis cts case design 20 frames, every 4 frames include 700ms frame and\n150ms frame\n\nWhen activity launched, first 3 frames need allocate buffer during\ndequeue buffer, bug some low-end platform took too long (\u003e6ms), so\nit will skip the fourth frame(150ms) and post a new draw callback that will cause cts failed\n"
    },
    {
      "commit": "8deb6ac7cd81db578b0bff0fc948030cf9041aa1",
      "tree": "cb0825e7208abdb91630864a3b4af6f2ec7f7401",
      "parents": [
        "801f05120f73502d0970d9399468586dccbe7a93",
        "a2cc38e7fb6350ee772f36891f910b085a9ccd3e"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed May 23 18:36:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 23 18:36:42 2018 -0700"
      },
      "message": "Merge \"Make sure frame buffer 0 is bound before calling GL functor\" into pi-dev\nam: a2cc38e7fb\n\nChange-Id: Iedbd9549e754bb2884f447e3d964b9601e9161e5\n"
    },
    {
      "commit": "a2cc38e7fb6350ee772f36891f910b085a9ccd3e",
      "tree": "e3a6ab4cd306fd5d96475eb4345f9df9c87914b8",
      "parents": [
        "261a101ac2d923edf246f50a9837e43a18449cbb",
        "357c63d1e9906492ac2cf5341a77d3550d0dd474"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 23 22:14:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 23 22:14:21 2018 +0000"
      },
      "message": "Merge \"Make sure frame buffer 0 is bound before calling GL functor\" into pi-dev"
    },
    {
      "commit": "357c63d1e9906492ac2cf5341a77d3550d0dd474",
      "tree": "0dbaa936c83e50e72dc005fd70999335898d330d",
      "parents": [
        "6555a9fa16d4eb53872b8d1f5876166c81641203"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed May 23 15:29:09 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed May 23 15:29:09 2018 -0400"
      },
      "message": "Make sure frame buffer 0 is bound before calling GL functor\n\nMake sure view port and frame buffer are set to the correct values\nbefore calling GL functor (WebView) draw.\nImprove correctness for stencil clip by doing a second flush that\nguarantees the stencil clear will be executed after draw commands.\n\nBug: 79619253\nTest: XFINITY Connect app draws correctly\nChange-Id: Ieb3d0d70caf0469b6393e6287f8529cd86519301\n"
    },
    {
      "commit": "9964297b44ff34602bc02b78b477b167cb55b50c",
      "tree": "06054c976dda17088b8107b8ba6fde83f992f07f",
      "parents": [
        "fab272e03707ac74f986580c706e3dd5902508b4",
        "8dd9ef190bf580fae6aa8e850f60985458b70c21"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 22 14:16:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 22 14:16:13 2018 -0700"
      },
      "message": "Merge \"ResStringPool: Prevenet boot loop from se fix\" into pi-dev\nam: 8dd9ef190b\n\nChange-Id: I0000c4a3f06e002804aa7172505e07bb57c550c6\n"
    },
    {
      "commit": "f05f47b2c1838529e682ad8f931d3da72244b1a1",
      "tree": "9f3feff045c55d3ddc20fee09f8ebe0abf750c4c",
      "parents": [
        "76cb7fe2f6eec83f8cc1f7f19ed23ae76254bdb7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 21 13:59:23 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 21 13:59:23 2018 -0700"
      },
      "message": "ResStringPool: Prevenet boot loop from se fix\n\nChanges the logs adding in a previous security fix to warnings so\ndevices with malformed APKs currently on them will not undergo DOS when\nthey are upgraded to P.\n\nBug: 79724567\nTest: run cts -m CtsAppSecurityHostTestCases \\\n          -t android.appsecurity.cts.CorruptApkTests\n\nChange-Id: Ied54e4bb14abdaf79da562022c7ea6075187c1f8\n"
    },
    {
      "commit": "b3da3a9673181771805a356613146d282e4730b8",
      "tree": "f1de4494afb1e09981b3f786ab53fbcd3611bcb6",
      "parents": [
        "33ad5a99dde7418f45335c7e6c66f29de1cacf1a",
        "fd37ec90b888b6b83792dca18c5c831aabf63de1"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 21 11:53:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 21 11:53:56 2018 -0700"
      },
      "message": "Merge \"ResXMLTree: Clone DynamicRefTable on creation\" into pi-dev\nam: fd37ec90b8\n\nChange-Id: I3030d62104142b33dfb9844faa2fcb9840d8ee61\n"
    },
    {
      "commit": "fd37ec90b888b6b83792dca18c5c831aabf63de1",
      "tree": "08d3e405211849cd408505448b40e119c4483c38",
      "parents": [
        "35426e5e690cc8466d5e9d1d038efa490f451e62",
        "a41e66af586a2fe60d450f4a9f4b8e8f06c5f6c4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 21 17:59:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 21 17:59:35 2018 +0000"
      },
      "message": "Merge \"ResXMLTree: Clone DynamicRefTable on creation\" into pi-dev"
    },
    {
      "commit": "9ac7de096db72fb453367357931940951b92fd3b",
      "tree": "eaef97a1cdc71ee20e7e00a34e6838d2560960c9",
      "parents": [
        "413d00c1c031b467920d64233c7de430040fd567",
        "e4a8d4c7e94ac72cf7978306160994015b99227c"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri May 18 05:01:44 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 18 05:01:44 2018 -0700"
      },
      "message": "Merge changes I608d4b61,Ia7900e75 into pi-dev\nam: e4a8d4c7e9\n\nChange-Id: Idedbe8e08b17c52d8d9e6b6d83286f66218d41f9\n"
    },
    {
      "commit": "e4a8d4c7e94ac72cf7978306160994015b99227c",
      "tree": "64afdef7fa5c27081c06672deaff15958f233183",
      "parents": [
        "2b3c858296d34741e32c03b144b14f9532b19bb2",
        "2d39fb90d0bf08f7e13f38db287934ac3b86ea52"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri May 18 11:49:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 18 11:49:56 2018 +0000"
      },
      "message": "Merge changes I608d4b61,Ia7900e75 into pi-dev\n\n* changes:\n  Follow up to Ia7900e753b29187a7a7b81f393666687e8b8e04b\n  Apply surface parameters in sync with RenderThread\n"
    },
    {
      "commit": "89794158a1a5bca01abd834387d6e4e95e70f806",
      "tree": "32efdabbbe0eea9c24bb077ada404d98906b0adf",
      "parents": [
        "646dfc77039404a52e51d44df78fc819cfb263dd"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Mar 02 12:10:25 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 17 22:13:11 2018 -0700"
      },
      "message": "Change ownership of AAPT2 and libandroidfw\n\ntoddke@ is now the new owner of these projects.\n\nExempt-From-Owner-Approval: setting new owners\nTest: none\nChange-Id: Ie92b020e0ba063f48ce8a76ebaef768fe0d554f1\nMerged-In: Ie92b020e0ba063f48ce8a76ebaef768fe0d554f1\n(cherry picked from commit a95e841846c3add37cab0ca228e1e1a4eb0a1455)\n"
    },
    {
      "commit": "6353ff5bb55e706b9eda91ec4cc66d25b1b0eaa8",
      "tree": "3cdc4494ad7dc3605993c5974545f2cad9353e4b",
      "parents": [
        "a9d9e2b20667e77f0f03544dd1d27b5e9cb5d5dc",
        "a2113aa4ad5fc241819c672ed5317aa7017331f7"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu May 17 13:06:32 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 17 13:06:32 2018 -0700"
      },
      "message": "Merge \"AnimatedImageDrawable: Eliminate unnecessary calls to redraw\" into pi-dev\nam: a2113aa4ad\n\nChange-Id: Ice3ac92ebd4ae68d1fe9b8ae46f86e320058d169\n"
    },
    {
      "commit": "a2113aa4ad5fc241819c672ed5317aa7017331f7",
      "tree": "6fa34672d440fbe9954a5b089023440e319ff42a",
      "parents": [
        "44aeaafc34523ae7d60a8abe017276de6842d80a",
        "4afdd1caa4ff5f0890c3f4d73c6d475f9e06cefd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 19:54:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 19:54:50 2018 +0000"
      },
      "message": "Merge \"AnimatedImageDrawable: Eliminate unnecessary calls to redraw\" into pi-dev"
    },
    {
      "commit": "64be98d5d27a2a2b786e28ae7afbff5ac987f163",
      "tree": "c19cbfcb4c583b3a327148e88258c2af430a7095",
      "parents": [
        "1b43af094e5de196566762ca07e6f4207dc1c289"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Apr 26 23:23:29 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu May 17 01:57:31 2018 +0000"
      },
      "message": "Apply surface parameters in sync with RenderThread\n\nOtherwise it could lead to parameters applied in the wrong frame,\nleading to jank.\n\nTest: Open notification\nBug: 78611607\nChange-Id: Ia7900e753b29187a7a7b81f393666687e8b8e04b\nMerged-In: Ia7900e753b29187a7a7b81f393666687e8b8e04b\n"
    },
    {
      "commit": "4afdd1caa4ff5f0890c3f4d73c6d475f9e06cefd",
      "tree": "5273aecef15d3644e794416ababff8cbaacddd94",
      "parents": [
        "1936031cbe804fc53eb7529b3fd60f3457cb1780"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon May 14 14:59:30 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed May 16 18:51:07 2018 -0400"
      },
      "message": "AnimatedImageDrawable: Eliminate unnecessary calls to redraw\n\nBug: 78866720\nTest: Manual + systrace; existing CTS\n\nPreviously, we set hasAnimations to true when the AnimatedImageDrawable,\nso that we would get a call to redraw. But if the image does not need to\nshow its next frame yet, the redraw was unnecessary.\n\nInstead, add a new field to TreeInfo::Out, representing the delay time\nuntil the image will need to be redrawn - i.e. when the duration of the\ncurrent frame has passed. Each call to prepareTree will post at most one\nmessage to redraw, in time for the earliest animated image to be\nredrawn. Post the message for one rendered frame ahead of time, so that\nwhen it is time to show the next frame, the image has already gotten the\nmessage to update.\n\nOn a screen with a single animated image, this drops the number of calls\nto dispatchFrameCallbacks to as infrequent as possible. It is called\nonly when we need to draw a new frame of the image. On a screen with\nmultiple animated images, the calls may be redundant, but they will not\nbe more frequent than they would be without this change.\n\nSwitch to nsecs_t and systemTime internally, matching the rest of HWUI.\n\nRemove mDidDraw and related. Its purpose was to prevent advancing the\nanimation while the image is not being drawn. But it isn\u0027t really\nnecessary. If it\u0027s not drawn, onDraw is not called, which is where we\ntrigger decoding. And onDraw already has a defense against getting too\nfar ahead - if its timer indicates that it should skip a frame or show\nit very briefly, it will back up its timer. More importantly, mDidDraw\ncaused a bug, when combined with less frequent redraws. If the display\nlist containing the drawable doesn\u0027t need to be redrawn for other\nreasons, the drawable\u0027s timer never advanced, so its animation stopped.\n\nFix software drawing. Compute the milliseconds in the future to draw the\nnext frame, and add that to SystemClock.uptimeMillis() to compute the\ntime to pass to scheduleSelf.\n\nChange-Id: I13aab49922fa300f73b327be25561d7120c09ec4\n"
    },
    {
      "commit": "a41e66af586a2fe60d450f4a9f4b8e8f06c5f6c4",
      "tree": "bc195700aa127b9c461d516d71e4db49c8c64d93",
      "parents": [
        "7692904a7b20e489b4de1511b7bc64357eb21282"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 15 15:08:58 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 15 15:08:58 2018 -0700"
      },
      "message": "ResXMLTree: Clone DynamicRefTable on creation\n\nXmlBlocks are cached in ResourcesImpl::loadXmlResourceParser(...) and\nwhen asset manager invalidates itself, the references to the dynamic\nreference tables point to garbage. Now, the reference table is cloned\nwhen the XmlBlock is created so invalidation will not affect the\nXmlTree.\n\nBug: 74240254\nTest: Tested GoogleMaps on 9.75.7 and saw crashes stop\nChange-Id: I932db7a85fddc640c4d6ec327f534b5a1ad6d0b1\n"
    },
    {
      "commit": "d00c851e55a487d03e11ce48e58cba5ff65fa59b",
      "tree": "a01d99cd4906dc6f1dac035ee2f73d7d35f6bf91",
      "parents": [
        "73e4d170c542d0d68ed857e433d04b77dd12aff3",
        "b1005a8a2affd887b1503945fa94a4bc0240a42b"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue May 15 15:06:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 15:06:19 2018 -0700"
      },
      "message": "Merge \"Convert to Soong\" am: acbd94d76f\nam: b1005a8a2a\n\nChange-Id: If5cb26e0669f79240d8fee1d40aaa2162d8e611f\n"
    },
    {
      "commit": "4888b1f6f0f607de913fbd0dc5eaed6575464c06",
      "tree": "662ea285f420c21f406e8dc09b6fbf42b7b28880",
      "parents": [
        "5d58a302e3dc3e63c1d5cc87807f29863e89b2a9"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed May 09 20:30:33 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon May 14 16:47:02 2018 -0700"
      },
      "message": "Convert to Soong\n\nSee build/soong/README.md for more information.\n\nTest: m libframeworks_coretests_jni\nTest: m FrameworkCoreTests_install\nTest: m libshim_jni\nTest: m CtsShimPrivUpgrade\nTest: m libfilterfw\nTest: m PMTest_Java_dual\nTest: m libdefcontainer_jni\nTest: m libperftestscore_jni\nTest: m libpmtest32 libpmtest64\nTest: m libprintspooler_jni\nTest: m libsmartcamera_jni\nTest: m idmap\nTest: m libdrmframework_jni\nTest: m libdvr_loader com.google.vr.platform com.google.vr.platform.xml\nTest: m libfilterpack_imageproc libfilterpack_base\nTest: m libwebviewchromium_loader\nTest: m shared_mem_test\nTest: m test-touchlag\nChange-Id: I868561dd237fa28647896d59049ab9260373ada1\n"
    },
    {
      "commit": "3ea0aae1d116da670980f33c7bfe249e7ec569f0",
      "tree": "b8f25b05521ca1f99b82855c7269b26c2a0b01c3",
      "parents": [
        "93ba4e7a425a94b091896e1788da24d87744b39f",
        "b638985cc1399504216101afcd4d52d8b4def48b"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed May 09 09:54:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 09 09:54:47 2018 -0700"
      },
      "message": "Merge \"Use filtering when drawing nine-patches\" into pi-dev\nam: b638985cc1\n\nChange-Id: Id7dfab69b931a96d802c0ab43a06fc74267aff5c\n"
    },
    {
      "commit": "b638985cc1399504216101afcd4d52d8b4def48b",
      "tree": "7a257247bbe529ce75ecd6b100faa27d205d4295",
      "parents": [
        "b5eca33bca14d2675e0cf6857caaa1e7925f3b6a",
        "5a663768c463d70fa8ff0bc3080e178c16241a07"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed May 09 16:38:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 16:38:41 2018 +0000"
      },
      "message": "Merge \"Use filtering when drawing nine-patches\" into pi-dev"
    },
    {
      "commit": "d94160943d9dbae6946520fe58419c57ec0e6954",
      "tree": "218f0e4680d4c88e1dc17561dcc6f8f0357929ba",
      "parents": [
        "f0013528bca27c6e62623d120fdcbde387ecefd5",
        "fb07d82086e7b4375467f492ba1a5f49dc68da8b"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 08 10:28:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 10:28:36 2018 -0700"
      },
      "message": "Merge \"AAPT: Fixed split resource dumping\" into pi-dev\nam: fb07d82086\n\nChange-Id: I66dedae28679c07e0bfa76cfafba97d563356fcb\n"
    },
    {
      "commit": "5a663768c463d70fa8ff0bc3080e178c16241a07",
      "tree": "26ea7516fdc5f19b355b08cbff5be794dc73a291",
      "parents": [
        "4a7913c268c3d65c060f7f8f8df5c2ff0218245e"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Apr 23 11:15:00 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue May 08 17:23:11 2018 +0000"
      },
      "message": "Use filtering when drawing nine-patches\n\nBug: 77917978\nTest: Look at toggles; CtsUiRenderingTestCases\n\nPrior to this change, the toggles look pixelated due to using a\n\"nearest\" filter instead of a \"bilerp\".\n\nThis matches the behavior of the hwui renderer.\n\nDepends on changes in Skia (Ib7d0abdd51981bddf36ec5c3fd84bb651f405f0f)\nto respect the filter quality when drawing to a GPU canvas and to\nremove the resulting \"bleeding\" effect from drawImageLattice.\n\nChange-Id: I59d81a17f351e18574539479a38a580a02e1619b\n"
    },
    {
      "commit": "fb07d82086e7b4375467f492ba1a5f49dc68da8b",
      "tree": "b99e732b35fc697135c430c68e098063a20ce3d3",
      "parents": [
        "8ea760c8158b27129a9838338d209d8841be0cc0",
        "30487e0a7913aa6856d803a73811809d1a2edfdf"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 08 17:17:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 17:17:17 2018 +0000"
      },
      "message": "Merge \"AAPT: Fixed split resource dumping\" into pi-dev"
    },
    {
      "commit": "ccb89f926375a377643075b376d157608ecfb468",
      "tree": "0aea75ee040940fd635f390cc9ad6a1dbeda06b4",
      "parents": [
        "769039598b54e8c5757a2591269591b1bc5426c0",
        "291b944d89e15ee6236e0f2dcc97126bbfeb639c"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Tue May 08 08:11:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 08:11:22 2018 -0700"
      },
      "message": "Merge \"Adding batterystats history to proto dump.\" into pi-dev\nam: 291b944d89\n\nChange-Id: Ie1766ac31bc048eeba13d540c446372ef56c2da6\n"
    },
    {
      "commit": "291b944d89e15ee6236e0f2dcc97126bbfeb639c",
      "tree": "5a5133cb45c49266f6d58f24dc9ba4e32a1c9bd5",
      "parents": [
        "ae4a20c75b84debb4f29cd9099a11a822d2e72ee",
        "71a9531806d9d37f5482c4d242f95416c04715bf"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Tue May 08 14:58:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 14:58:09 2018 +0000"
      },
      "message": "Merge \"Adding batterystats history to proto dump.\" into pi-dev"
    },
    {
      "commit": "71a9531806d9d37f5482c4d242f95416c04715bf",
      "tree": "8eff29e64b4d22ac886f1a48d8645f3bd8820dcd",
      "parents": [
        "564942d0655e841fcb7c7dd7032f04b8fb45a111"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon Apr 16 16:54:24 2018 -0700"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon May 07 17:53:57 2018 -0700"
      },
      "message": "Adding batterystats history to proto dump.\n\nIt will only print out a dump for userdebug or eng builds.\n\nBug: 77727638\nTest: flash device and check output of incident proto and\n\u0027dumpsys batterystats -c --history\u0027\n\nMerged-In: Ib74d4c664f23a61e6fc33f700ba6a3c6fad32c74\nChange-Id: Ia0c993d1281cc350d93f9c13f5540b349a4bfb84\n"
    },
    {
      "commit": "30487e0a7913aa6856d803a73811809d1a2edfdf",
      "tree": "33e7fd422381db028ad8da0b202754d33aa464cd",
      "parents": [
        "e4cf84138c465a6767286ae711d255819ae575d6"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri May 04 14:16:20 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 07 15:36:44 2018 -0700"
      },
      "message": "AAPT: Fixed split resource dumping\n\nAAPT would not print resource values for splits passed in with the -I\nflag. This fix prints out each split separately with the correct type\nspecs and values.\n\nBug: 79195967\nTest: aapt dump --values -I base-hdpi.apk resources base-master.apk\nChange-Id: I223186136e98180fec4a3d96f92f53407db59e2d\n"
    },
    {
      "commit": "d41c17308bc2dc4564b0cc3f81a90646e5155413",
      "tree": "4b23bf35c2ee79d9414b610eb2ef3631c8d70a22",
      "parents": [
        "0e765611d96dd5f8d86d0e88bed049a185446b9e",
        "bf39913bbcfeb1fb4fd9c889a243137563bc38cf"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 07 13:34:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 07 13:34:52 2018 -0700"
      },
      "message": "Merge \"Ensure GL \u0026 Gralloc both support FP16 before using it\" into pi-dev\nam: bf39913bbc\n\nChange-Id: Ic3a72f4684966e04b64101b2798c4ec3c0549549\n"
    },
    {
      "commit": "bf39913bbcfeb1fb4fd9c889a243137563bc38cf",
      "tree": "06fe9fce934f4a32aada9f109f3b6e93fac19d0e",
      "parents": [
        "4e9bdcdcac7c3e3d621d7a8be189eeae5e0e804c",
        "b29c772429ce78d826c501b27c097a301ecd1112"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 07 20:26:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 07 20:26:02 2018 +0000"
      },
      "message": "Merge \"Ensure GL \u0026 Gralloc both support FP16 before using it\" into pi-dev"
    },
    {
      "commit": "b29c772429ce78d826c501b27c097a301ecd1112",
      "tree": "b861b7402357a216519158da3364faf8214d82ee",
      "parents": [
        "eb43503f1925d36caf346ca9d76eb7a8dfa7725a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 04 15:55:33 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 07 16:49:45 2018 +0000"
      },
      "message": "Ensure GL \u0026 Gralloc both support FP16 before using it\n\nChange-Id: I3bda750b6011d9a69969fc938a230c2445ee8dae\nMerged-In: Id8a53885178d698c7b2fd6fc5ea8d4e36ce2ef15\nFixes: 77973662\nTest: builds \u0026 CTS passes\n"
    },
    {
      "commit": "1babd54e4ce1d66bb090a13f1af028edd39af4c2",
      "tree": "af27989ae914c6371b27f78aea48195e8b3a82dd",
      "parents": [
        "20086c70453452ee392c606cd68a4f66416e3a5c",
        "2324991a77bfe35705c6105f87dcc4fad5f4626c"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri May 04 12:00:32 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 04 12:00:32 2018 -0700"
      },
      "message": "Support readback of TextureView into 565 and extended sRGB.\nam: 2324991a77\n\nChange-Id: If80572b06965089415c32b6ded8b6b1b5fda19b5\n"
    },
    {
      "commit": "2324991a77bfe35705c6105f87dcc4fad5f4626c",
      "tree": "fe739ff34f446e74e55cbc9eb3cef683fe030529",
      "parents": [
        "1ed9f4294c408dade7575cae9a7814f79b965be6"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu May 03 16:12:18 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri May 04 18:46:52 2018 +0000"
      },
      "message": "Support readback of TextureView into 565 and extended sRGB.\n\nBug: 78906699\nTest: CtsViewTestCases\nChange-Id: I89e8544a883dcb3eb222c164ab57d20e55a073c3\n"
    },
    {
      "commit": "68a16c42773f7b3969de4003f0a4b680d6fc62de",
      "tree": "eb950e4d0735f7eb125a0b8ec5bfbf68b0bda6e3",
      "parents": [
        "3a419327ea1fddd00fc182dfdf9cb8beb349100b",
        "e09cde0cd986223fd152e7629411254015de016f"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed May 02 15:10:58 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 15:10:58 2018 -0700"
      },
      "message": "Merge \"Add a section flag to bypass failure if a specific path can\u0027t be found.\" into pi-dev\nam: e09cde0cd9\n\nChange-Id: I01c5a7a2c1ead02f5af0514cf9bf9b83f1682316\n"
    }
  ],
  "next": "e09cde0cd986223fd152e7629411254015de016f"
}
