)]}'
{
  "log": [
    {
      "commit": "6c0dbe1371c8b356e33335e68b464c152772b1fc",
      "tree": "51e50ba8c80a9998d3d6dc9ca4ba401cc51b670b",
      "parents": [
        "75c56076621c2a473214c7b101a0a68eb402c8b0",
        "b2d7f5343d341c86887d20c61e10fdf8975150de"
      ],
      "author": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Fri Feb 15 20:50:04 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 20:50:04 2019 +0000"
      },
      "message": "Merge \"Signature policy for overlayable items\""
    },
    {
      "commit": "826e270caa1582e706fc008f633f99c4242e53f8",
      "tree": "b4bf09a9f4b17bd1d3c4dd98ecffa65885b43584",
      "parents": [
        "9f5521ad89e4d65b78bf795c7de9f85007d07e21",
        "4ce07298e00876459a5e09bcd54fc541fd2e800a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 15 19:53:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 19:53:22 2019 +0000"
      },
      "message": "Merge \"Add more alert details to incidentd header.\""
    },
    {
      "commit": "8a7428020c77397d1a25dd8baf5df8f340fbc4e3",
      "tree": "c6bfb221ff8872b5f0244889e0df156243376338",
      "parents": [
        "b68b8a84831d480c1c254dcb271f0f31f95f315f",
        "352e9f0b7a60e9f8ee9a8adc767bca1a944a12c2"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Feb 15 17:26:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 17:26:24 2019 +0000"
      },
      "message": "Merge \"Add missing Looper::setForThread\""
    },
    {
      "commit": "352e9f0b7a60e9f8ee9a8adc767bca1a944a12c2",
      "tree": "4211c01038a84ef390bd96af546d7b4b6b35f591",
      "parents": [
        "ac4bccb2ad482260d3fff9c4b84d240484329b45"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Feb 14 16:26:08 2019 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Feb 14 16:26:08 2019 -0800"
      },
      "message": "Add missing Looper::setForThread\n\nUnlike the Java Looper the native one requires manually\nsetting of the looper for a particular thread.\n\nSo... do that.\n\nFixes: 124467483\nTest: really good guess\nChange-Id: Iac9b4a052e79228aea5760262996729d8dadb1b8\n"
    },
    {
      "commit": "b2d7f5343d341c86887d20c61e10fdf8975150de",
      "tree": "8510de4a0261af65514bb61ba3d8f4328385d518",
      "parents": [
        "c20de15455a9551cf290722c502dd3f7d8fb27cb"
      ],
      "author": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Mon Feb 04 16:32:43 2019 -0800"
      },
      "committer": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Thu Feb 14 10:07:13 2019 -0800"
      },
      "message": "Signature policy for overlayable items\n\nAdd encoding/decoding of new policy for overlays. Signature enforces\nthat an overlay package is signed with the same key as the actor of\nthe target resource, so that an overlay can be installed by the user\nas a normal app but restricted to those built by the author of the\nactor (which can be the same as the target).\n\nThis also enforces that a valid policy is specified.\n\nThis doesn\u0027t implement the actors nor the signature check.\n\nBug: 119402606\n\nTest: ResourceParserTest ParseOverlayablePolicy\nTest: ProtoSerializerTest SerializeAndDeserializeOverlayable\nTest: aapt2_tests\n\nChange-Id: I8495ad790c2ebd51759bc6eba81149680c209475\n"
    },
    {
      "commit": "4ce07298e00876459a5e09bcd54fc541fd2e800a",
      "tree": "b2f66ea114a6cd570fae0bc553d72ba77c604ffb",
      "parents": [
        "a99c4f30ee792aff84005b371fb830d5eaa99d70"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Feb 13 13:06:36 2019 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Feb 13 17:21:42 2019 -0800"
      },
      "message": "Add more alert details to incidentd header.\n\n+ Add metric_id, dimension, metric_value in the incident report header\n  to make it easier to identify an anomaly.\n+ In case there is a uid in the dimension, put the its package info in the header too\n\nTest: statsd_test \u0026\u0026 tested locally with a config\n\nChange-Id: I762a1a4b0563fb3104e0d32b616b4a2367485e48\n"
    },
    {
      "commit": "a99c4f30ee792aff84005b371fb830d5eaa99d70",
      "tree": "88813976faf076609a6721f30ff23172b04687e7",
      "parents": [
        "59f5a5ec942dced8ff26eaa2a8c5a0b8e0785791",
        "d25699a122570dfae3c1a634c46cd22876293c10"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 14 00:54:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 00:54:22 2019 +0000"
      },
      "message": "Merge \"Support showTouches on multi-display (2/2)\""
    },
    {
      "commit": "cb26eb117b53f6d556be15801bdf80839bcb38e5",
      "tree": "2f3cf2320d3724f7e238b82e600a278f2a6d56aa",
      "parents": [
        "6c3b856efd5cb18032cda741feb37721a1e48c7e",
        "981afe773aa5b7535f36b126a0b7d6fd4cc78d03"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 13 23:33:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 23:33:17 2019 +0000"
      },
      "message": "Merge \"Decouple VulkanManager from RenderThread\""
    },
    {
      "commit": "981afe773aa5b7535f36b126a0b7d6fd4cc78d03",
      "tree": "c0d8584bbd28f485b9435a69373d052f3b09a2bf",
      "parents": [
        "74d6997124a55043cccf505e7091ba326d51d6f8"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Feb 13 14:24:33 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Feb 13 15:55:45 2019 -0500"
      },
      "message": "Decouple VulkanManager from RenderThread\n\nThis CL allows for more than one VulkanManager to exist.\nVulkanManager ctor are public allowing for classes other\nthan RenderThread to instantiate it.\nSecondary VulkanManager can be used to render on a thread\nother than RT.\n\nTest: Ran HWUI unit tests and several apps\nChange-Id: Ibfd76c86ff67e01617a500902bba7431b928f5c0\n"
    },
    {
      "commit": "d25699a122570dfae3c1a634c46cd22876293c10",
      "tree": "862cc71095e0755c8f6539982d822b2b00fa87ba",
      "parents": [
        "9c6db23f79371ac1a7200fc013739d46cd35a031"
      ],
      "author": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Fri Jan 25 17:53:22 2019 +0800"
      },
      "committer": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Wed Feb 13 16:23:22 2019 +0800"
      },
      "message": "Support showTouches on multi-display (2/2)\n\nCurrently the PointerController would be associated with the top most\nfreeform or external display if enable desktop mode.\nBut for presenting spots when enable showTouches from develop options,\nthey should be shown on the corresponding display where user touched.\n\nAlso changed Vector to std::vector.\n\nTest: atest inputflinger_tests\nTest: Use device support multi-display and touch screen (like mojave).\n      Enable showTaps from develop options and check if show tap spots.\nBug: 120815589\n\nChange-Id: I0854fa97813aabf005dccb8ec6fbda10106126e9\n"
    },
    {
      "commit": "7a6e2195391d916d6dca8f52ae96b9c411da4e28",
      "tree": "de74d8e5b6c4e1c9dd45342c95252ec62462879d",
      "parents": [
        "3fd119dbf705e72c9826904a3b7397b77cf45cc4",
        "dbeb139e260eabcca3af9a8ad80b9e1666d02bbe"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Tue Feb 12 18:48:55 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 12 18:48:55 2019 -0800"
      },
      "message": "Merge \"Mark FrameMetricsObserver::notify() as pure virtual\" am: 0b3cef8697 am: fec4795045\nam: dbeb139e26\n\nChange-Id: I4194a12a2f7b3fadc5e442590946d1de2dd63f17\n"
    },
    {
      "commit": "dbeb139e260eabcca3af9a8ad80b9e1666d02bbe",
      "tree": "08be79a0c2c7f2ace65051a8b7b6c2291c8960a1",
      "parents": [
        "180c7e6d164d826c589a2872c8619deeef177710",
        "fec4795045522b973136c850e573a17cadf59a43"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Tue Feb 12 18:33:24 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 12 18:33:24 2019 -0800"
      },
      "message": "Merge \"Mark FrameMetricsObserver::notify() as pure virtual\" am: 0b3cef8697\nam: fec4795045\n\nChange-Id: I241a6dc1e5dca8ffdc546ff44ea61dad5963dfe2\n"
    },
    {
      "commit": "44b8309ea2bac7d912a708fe6c45e47fba483c9a",
      "tree": "c97681597075c04f7f6c1aa41fc9a9fb244dc079",
      "parents": [
        "4614e4f22c3fb988f17c457224fb5b262ed06a38",
        "c92c4dd6c6442d0876261ec3e634937f16edb3c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 11 03:55:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 11 03:55:13 2019 +0000"
      },
      "message": "Merge \"Surface \u003coverlayable\u003e info in Java AssetManager\""
    },
    {
      "commit": "e26f4ee555be161f987aa71085f6249305863ba1",
      "tree": "0eba665dd2b465957b789250d8c3da9d590105ae",
      "parents": [
        "625e4b6e2b5a860d820244a0d9bd8ec397debb2b",
        "ec216489fc63974e5260cd87e3e6e25b1ddbee11"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 08 20:13:14 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 08 20:13:14 2019 +0000"
      },
      "message": "Merge \"Remove the IncidentHeaderProto dependency from statsd.\""
    },
    {
      "commit": "c92c4dd6c6442d0876261ec3e634937f16edb3c5",
      "tree": "4ac84ec83992807cb889ad40e36d99b5214648b9",
      "parents": [
        "23f34cd61f5569927c746090a626e05f740cb2ae"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Feb 05 01:29:59 2019 +0100"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Feb 07 14:32:16 2019 -0800"
      },
      "message": "Surface \u003coverlayable\u003e info in Java AssetManager\n\nAdd a new, hidden method to AssetManager to extract a mapping\noverlayable name -\u003e overlayable actor for all \u003coverlayable\u003e blocks in a\npackage. [This will eventually be used to check if the caller of the OMS\nAIDL API is the registered actor for a given overlay.]\n\nAlso, teach AssetManager2 to not accept packages that re-use the same\noverlayable name. [Such packages have always been ill-formed.]\n\nBug: 123894537\nTest: make libandroidfw_tests\nChange-Id: I1117fd3503f04fe4c73eb7114901e022508f4d9e\n"
    },
    {
      "commit": "459afe96d13876c1fbeacb1f0d4bd0eddb7342e0",
      "tree": "087bc16ae4236e3bfd67e0c0af7475fb96a4849a",
      "parents": [
        "21b38267fa281b27a8ecac799a4f941f5b9519b8"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Thu Feb 07 13:24:24 2019 -0800"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Thu Feb 07 13:24:24 2019 -0800"
      },
      "message": "Mark FrameMetricsObserver::notify() as pure virtual\n\nBug: http://b/116873221\n\nIf not, Clang assumes that the TU which defines this function will\ncontain the vtable for the class as well.  Since there\u0027s no out-of-line\ndefinition of this funciton, no TU ends up with the vtable.\n\nThis causes a problem with coverage builds, which are built with -O0,\nwhere calls don\u0027t get inlined, thereby requiring a definition of the\nvtable.  For non -O0 builds, the vtable is not required since the\nvirtual calls get inlined/optimized-out.\n\nTest: Build with and without -O0.\nChange-Id: I60a5cefcd1c327f1e00785fedbb2163c682b33d1\n"
    },
    {
      "commit": "86ef44bcc7331b91ff9d03960a662ef2c71880f0",
      "tree": "38e55e29a2bf8ba1c3f75dec622014bf9c685853",
      "parents": [
        "f5ce5eddaea62cfdf36d5502ba2b87bc961780eb",
        "8f004c85a0859b6fad16f26ac0fce7b2dc3db3b1"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Feb 07 19:05:20 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 19:05:20 2019 +0000"
      },
      "message": "Merge \"Add helper methods for View attribute debugging\""
    },
    {
      "commit": "ec216489fc63974e5260cd87e3e6e25b1ddbee11",
      "tree": "a939ad229631db40895d8dc57a72af83d8bdf10b",
      "parents": [
        "a28aa5e6ec9e9be09b8c7982e1479760e35d79bb"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Feb 06 16:45:40 2019 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Feb 07 09:45:13 2019 -0800"
      },
      "message": "Remove the IncidentHeaderProto dependency from statsd.\n\n+ IncidentReportArgs takes the bytes instead of IncidentHeaderProto object\n\nThis cl is the ag/6287053 + build fix.\n\nTest: incidentd_test \u0026\u0026 statsd_test\nChange-Id: I86bcb48f4ab212b36ca4611a1fa05faace9c3702\n"
    },
    {
      "commit": "9ed7c41017a6d7f1f66e122435c5e736a6a8d6f2",
      "tree": "9c9ecf821b947bed0e3cf91b817f8796ad731f8a",
      "parents": [
        "1fc8cdeae0ccc6ceb247516ccaafbd563b260726"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Thu Feb 07 09:35:48 2019 +0000"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Thu Feb 07 12:24:32 2019 +0000"
      },
      "message": "Revert \"Remove the IncidentHeaderProto dependency from statsd.\"\n\nThis reverts commit df6255a0c1b0932a51e98a32441d3332af837634.\nReason for revert: Breaks git master\nTest: manual confirm\n\nChange-Id: Ifd8f437dce826fe7d8f875fc838a250fc010049a\n"
    },
    {
      "commit": "2b92401717ed7491581c78d45c5f457f63a721be",
      "tree": "fdb6dda5beb2a75b62734f8a0c01cb118eabefd5",
      "parents": [
        "d7fb7d59a11cb725d480cc43b73ebb10849d451b",
        "df6255a0c1b0932a51e98a32441d3332af837634"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 07 04:16:40 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 07 04:16:40 2019 +0000"
      },
      "message": "Merge \"Remove the IncidentHeaderProto dependency from statsd.\""
    },
    {
      "commit": "df6255a0c1b0932a51e98a32441d3332af837634",
      "tree": "d2c8ad2da8184bef6ef0ea2784f8f1fdf11ceb8f",
      "parents": [
        "a28aa5e6ec9e9be09b8c7982e1479760e35d79bb"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Feb 06 16:45:40 2019 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Feb 06 17:02:17 2019 -0800"
      },
      "message": "Remove the IncidentHeaderProto dependency from statsd.\n\n+ IncidentReportArgs takes the bytes instead of IncidentHeaderProto object\n\nTest: incidentd_test \u0026\u0026 statsd_test\nChange-Id: Ifb0929ca374a8791cdf8f79f74bdd7c91521139e\n"
    },
    {
      "commit": "8f004c85a0859b6fad16f26ac0fce7b2dc3db3b1",
      "tree": "5fef875e31c2b8038912e079bae15ee1b5f75066",
      "parents": [
        "abb20bebd637c6b282c22dc8992100561181d58a"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Jan 17 17:20:10 2019 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Wed Feb 06 14:46:17 2019 -0800"
      },
      "message": "Add helper methods for View attribute debugging\n\nAdding abilities to debug:\n- Attribute resolution stack (which resources are looked\n  at when resolving an attribute)\n- Attribute value source (where did each attribute value\n  get defined)\n- Get explicit style id (if a view had it set via style\u003d\"...\")\n\nThis feature will be behind Settings.Global flag that Android\nStudio will set to the debugged application package ID.\n\nBug: 111439551\nTest: atest CtsViewTestCases:android.view.cts.ViewStyleTest\nChange-Id: Ib6f9fc81000bb867b5b94a68953c99b0bc802d6c\n"
    },
    {
      "commit": "9e7dce383317d29659d5652c6f12b034345fdc29",
      "tree": "4eb4d3eb9b67d7165f286067820782b90d04494d",
      "parents": [
        "300cdfcd1b8cd46e469d56d9d76961a60be4d1ba",
        "3316a0a08e79739b0508087232efcb3f2803dafe"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Wed Feb 06 22:46:09 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 22:46:09 2019 +0000"
      },
      "message": "Merge \"Generalize physical display management\""
    },
    {
      "commit": "38ce8c2116b808ff3fab144b6bcc9237e28690db",
      "tree": "80579953bc8e369bba4f30896660619a0da88fcb",
      "parents": [
        "ec66bfc7eca526ace6634e7fd39236f36aab4e03",
        "f4795f51f0ac4b965d432cc4a86cccd2a223eba8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 06 21:20:52 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 21:20:52 2019 +0000"
      },
      "message": "Merge \"Use kTopLeft_GrSurfaceOrigin when generating a GPU buffer for CPU readback.\""
    },
    {
      "commit": "60ddf9b48a10e7849457bb45c43309deacd8fb20",
      "tree": "3c405c8c7053c29366b0cd94c0d7c5f24706f297",
      "parents": [
        "6167cf18a69251b570362036d9de263c563abd8a",
        "978d5321b4a055fcc02dd72208bffd62113fde10"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 06 19:43:58 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 19:43:58 2019 +0000"
      },
      "message": "Merge \"Fix RenderThread and worker thread names used by tools\""
    },
    {
      "commit": "f4795f51f0ac4b965d432cc4a86cccd2a223eba8",
      "tree": "02a8c0ce96be5a91b4cc4c1cda22d9699b78183e",
      "parents": [
        "260d75ff714066d4b3f09bd46a3ba6d5f95e4ab6"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Feb 06 13:54:12 2019 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Feb 06 13:54:12 2019 -0500"
      },
      "message": "Use kTopLeft_GrSurfaceOrigin when generating a GPU buffer for CPU readback.\n\nWhen attempting to read back a buffer from the GPU, Skia will perform a\ny-flip of the buffer in CPU memory if the buffer does not have a\ntop-left origin.\n\nTest: CtsUiRenderingTestCases\nBug: 119366261\nChange-Id: I93ec93cc31209cbdd9b886b0d1020fda3aac646e\n"
    },
    {
      "commit": "978d5321b4a055fcc02dd72208bffd62113fde10",
      "tree": "2243da42afaba840f019cf3cddc36160b9aafec4",
      "parents": [
        "b3cd68bc8230dfa38491ee712f33420a02049071"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Feb 06 12:02:28 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Feb 06 12:02:28 2019 -0500"
      },
      "message": "Fix RenderThread and worker thread names used by tools\n\nTest: collected systrace and RenderThread hwuiTask1/2 shown\nChange-Id: I1114ff72a7ed8c9dc86a64ebd15ca783d1b2ff08\n"
    },
    {
      "commit": "6cb185eedeac407bc27b9a896b5a9820f3cfbe1c",
      "tree": "d128d6a74a2abf7b947e6cb33ec4ce7df9b80060",
      "parents": [
        "a7c7b75e34b3a02f7cb700001680bc328ce9dff6",
        "198234502b45449bd3a1e18ba22e8ffd1267657a"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Feb 06 03:13:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 03:13:31 2019 +0000"
      },
      "message": "Merge \"Enforce overlayable API when defined\""
    },
    {
      "commit": "b3cd68bc8230dfa38491ee712f33420a02049071",
      "tree": "44ca1ebe320d7c8390d5800f0cac35ccc873c0bd",
      "parents": [
        "55593a983fa6b5ee0c85a9c71d4dc66d65b3f8d6",
        "80dbc35555d21f65fcfe4ede5d7b406cc4190a97"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 05 23:41:59 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 23:41:59 2019 +0000"
      },
      "message": "Merge \"Tell JVM to not wait for HWUI worker threads upon shutdown\""
    },
    {
      "commit": "04c971ecf9198029a6253b128ea5ec9ebdf42d8e",
      "tree": "96ea2b1cd89545c5c379a0dc28870f97cc34307b",
      "parents": [
        "a30095d965a634494fdd8f83a60a9c1fba43f773",
        "1090f49c5aada61b7ed6eb7743e34cd4ea937b46"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 05 22:37:53 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 22:37:53 2019 +0000"
      },
      "message": "Merge \"Implement batch horizontal advances callback\""
    },
    {
      "commit": "80dbc35555d21f65fcfe4ede5d7b406cc4190a97",
      "tree": "7987c3c94fce4914026bd2b9cbd42674c19b2a21",
      "parents": [
        "912ca4023c22c53d3526ce89fd6e7e1a90fe8e58"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Feb 05 15:31:28 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Feb 05 16:26:58 2019 -0500"
      },
      "message": "Tell JVM to not wait for HWUI worker threads upon shutdown\n\nRenderThread is setup as a daemon thread, which allows JVM to\nexit without waiting on it. This CL does same setup for HWUI\nworker threads, which offload work from the RenderThread.\nThis fixes an issue exposed by Vulkan pipeline, which is pushing\ndifferent loads to the worker threads and causing some java tests\nto hang on exit. This is not a Vulkan specific issue, because GL\nalso hangs if worker thread is started.\n\nBug: 123374538\nTest: Ran DismissDialogsInstrumentation test\nChange-Id: Ie4ee94737ced975323a0792f57f8426c958e8056\n"
    },
    {
      "commit": "adafb1b44e385db4c90520e17936cfa5ddda05e0",
      "tree": "3d82ab28d95b9083961a5922d4be404c63cd71c0",
      "parents": [
        "4f669f7dd765f6d17ba391e483a05b962cac7f04",
        "131654943de33392d35bb4a9686f5feb33b71a0f"
      ],
      "author": {
        "name": "Christopher Dalton",
        "email": "csmartdalton@google.com",
        "time": "Tue Feb 05 19:11:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 19:11:31 2019 +0000"
      },
      "message": "Merge \"Enable CCPR in Ganesh\""
    },
    {
      "commit": "198234502b45449bd3a1e18ba22e8ffd1267657a",
      "tree": "3e04b5ad66a937998c57769269bf40bf45983791",
      "parents": [
        "f727b8cf97a809f094ee14c99a44d300222566dd"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jan 29 12:01:24 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Feb 05 07:56:50 2019 -0800"
      },
      "message": "Enforce overlayable API when defined\n\nIf a package defines overlayable resources, then do not allow resources\nthat are not defined as overlayable to be overlaid.\n\nBug:123600120\nTest: idmap2_tests and cts-tradefed run cts -m CtsRROTestCases\nChange-Id: I35120a97ccf4650e67c7ba65a60f4f3c51b0e627\n"
    },
    {
      "commit": "1090f49c5aada61b7ed6eb7743e34cd4ea937b46",
      "tree": "b1d1a92b1546a6a7f3999d583f0d6e9980a4d300",
      "parents": [
        "49181399d571fa6b8f396ed29b2183ded4a1d565"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Feb 04 21:07:41 2019 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Feb 04 21:07:41 2019 -0800"
      },
      "message": "Implement batch horizontal advances callback\n\nThe SkFont\u0027s overhead is not negligible if we performs glyph width\ncomputation one-by-one. HarfBuzz now supports batch width request,\nso let\u0027s use it for aoviding SkFont\u0027s overhead.\n\nHere is the raw performance scores:\n\nandroid.text.StaticLayoutPerfTest:\n  create\n    RandomText Balanced Hyphenation       : 16,311 -\u003e 15,253: (-1058, -6.5%)\n    RandomText Balanced NoHyphenation     :  6,679 -\u003e  6,164: ( -515, -7.7%)\n    RandomText Greedy Hyphenation         :  6,614 -\u003e  6,083: ( -531, -8.0%)\n    RandomText Greedy NoHyphenation       :  6,613 -\u003e  6,090: ( -523, -7.9%)\n\nBug: 123907498\nTest: minikin_tests\nTest: hwui_unit_tests\nTest: atest CtsTextTestCases\nTest: atest CtsGraphicsTestCases\nTest: atest CtsWidgetTestCases\nTest: TreeHugger\nChange-Id: I5a33e24aa0b5d865f02518c5e80177d5a7706593\n"
    },
    {
      "commit": "d25d1345a3e1d1fc16cb8f1d0a2a799af100a34e",
      "tree": "40b842ce2c3d3e4e196a99cd8f427a33b71fad4e",
      "parents": [
        "d58aa257cddde71c374300e0552aa20cfccb7e54"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Mon Feb 04 14:55:02 2019 -0800"
      },
      "committer": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Mon Feb 04 20:02:18 2019 -0800"
      },
      "message": "Do not call postDrawVk if did not call drawVk\n\nReland enable vulkan webview functor\n\nBug: 123877499\nBug: 115613038\nTest: Gmail in bug no longer crashing.\nChange-Id: I7df761a4691ceaa6c2a02b256d61554e57139409\n"
    },
    {
      "commit": "30780a26f447f402075c4a3441b6c0a05a9ecfcd",
      "tree": "2114d3812f062699227f2863b3b349a919ccb960",
      "parents": [
        "2ce83543e946261cdc7b5faa295e7ad9d54f20af",
        "a2b2535bd71317df91fa82d911e4a6a731041104"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 05 01:15:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 05 01:15:34 2019 +0000"
      },
      "message": "Merge \"Revert \"Enable vulkan webview draw functor\"\""
    },
    {
      "commit": "a2b2535bd71317df91fa82d911e4a6a731041104",
      "tree": "456579bce8f5cf511afb0f1f85dbcae024dec915",
      "parents": [
        "dec730fda539fa941f7db1b9ed231a4585654dbe"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Mon Feb 04 23:05:44 2019 +0000"
      },
      "committer": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Mon Feb 04 23:05:44 2019 +0000"
      },
      "message": "Revert \"Enable vulkan webview draw functor\"\n\nThis reverts commit dec730fda539fa941f7db1b9ed231a4585654dbe.\n\nReason for revert: b/123877499\n\nChange-Id: I14fc562c81f5ef5dab0f5404402b64858e54e364\n"
    },
    {
      "commit": "26a4e7ab0e7b60887d4485f94db0c02ab63f020c",
      "tree": "4c6a3fcd70676d0d32c1a239c7ff80e4d65ab76f",
      "parents": [
        "8490be366d3ec8bcda1a1ec7bd75a18bb427734b",
        "90276c86219c128d1343c6b26d95014fdd40b7fd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 04 20:14:57 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 04 20:14:57 2019 +0000"
      },
      "message": "Merge \"Fix crash when VulkanSurface is no longer valid\""
    },
    {
      "commit": "3316a0a08e79739b0508087232efcb3f2803dafe",
      "tree": "90ae4e9f996c661ed2ec25b4ba2fa9075a877b8a",
      "parents": [
        "1ba86936a955ef4e3206d8e862ce4f1b4550c2e5"
      ],
      "author": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Fri Jan 25 02:56:41 2019 -0800"
      },
      "committer": {
        "name": "Dominik Laskowski",
        "email": "domlaskowski@google.com",
        "time": "Mon Feb 04 10:06:15 2019 -0800"
      },
      "message": "Generalize physical display management\n\nThis CL enables the framework to manage an arbitrary number of physical\ndisplays. It also surfaces physical display IDs, which are stable across\nreboots and encode (model, port) information that will be propagated\nfurther up in a follow-up CL.\n\nBug: 116025192\nTest: Boot with more than two displays\nTest: Hotplug works with any number of displays\nTest: Verify stable display IDs with \"dumpsys display\"\nChange-Id: Idb2eaff66b2e0873be6ad27d337ff18b730d1331\n"
    },
    {
      "commit": "90276c86219c128d1343c6b26d95014fdd40b7fd",
      "tree": "3abb27a51750062bf646390c4dfe2a15a75b077c",
      "parents": [
        "912ca4023c22c53d3526ce89fd6e7e1a90fe8e58"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Sun Feb 03 18:01:02 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Feb 04 11:51:20 2019 -0500"
      },
      "message": "Fix crash when VulkanSurface is no longer valid\n\nSkiaVulkanPipeline::mVkSurface can become obsolete if\nRenderThread destroys Vulkan context. This CL enables\nRenderThread to notify active Vulkan pipelines that their\nsurface is invalid.\nImprove error handling, when trying to draw a frame with null\nVulkanSurface.\n\nBug: 123640274\nBug: 123541940\nTest: Ran several apps\nChange-Id: If7fba00713d097192c96179df36e90b54f4f8090\n"
    },
    {
      "commit": "b8800246cd4e2916ee0cfbedc5096e186f88f0b4",
      "tree": "d1e7ff3a1bbced5954c16ae5d18806015dc61137",
      "parents": [
        "930634c3b01501f98413606e276f457d70481802",
        "c1f5e5ab6e75baa0fc4b06f8af79279e1633b10b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 02 00:46:38 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 02 00:46:38 2019 +0000"
      },
      "message": "Merge \"IWYU\""
    },
    {
      "commit": "ce37d9027d4aba4ac8d133bb5c60a9531d1e9bd3",
      "tree": "1a4828018a346749331932c987fea9bf6718d264",
      "parents": [
        "4d1a60d70f1364249a61b226d681c5b0d5ecf9ac",
        "949b05dbdcefb95c44c5c40f19ceae1336021a61"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Feb 01 20:35:23 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 01 20:35:23 2019 +0000"
      },
      "message": "Merge \"Update TypedArray and TypedValue to store source layouts.\""
    },
    {
      "commit": "c1f5e5ab6e75baa0fc4b06f8af79279e1633b10b",
      "tree": "92a327fdc0c91921ad8dd257f5cfa878416b9292",
      "parents": [
        "3eb331ed027e86a5e499416d21d1e4d9680ce73f"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Feb 01 15:01:08 2019 -0500"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Feb 01 20:04:53 2019 +0000"
      },
      "message": "IWYU\n\nMotivated by https://skia-review.googlesource.com/c/skia/+/188630\n\nTest: make\n\nChange-Id: I0e4c19e863eb020c2bd8a242cf87fc768a13811c\n"
    },
    {
      "commit": "199b8ca10e645f5bc140b03366b3025552313afc",
      "tree": "f62429a7cb0eff463f15bd76a34df56fd412abea",
      "parents": [
        "281103e6752a780b5466fe2c8bed8d6ed9f8f81c",
        "26679ce6bc3aa4c50291afb7137f0bd7b402a37b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 01 15:44:59 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 01 15:44:59 2019 +0000"
      },
      "message": "Merge \"Cache SkImage in SurfaceTexture only if buffer content is same\""
    },
    {
      "commit": "949b05dbdcefb95c44c5c40f19ceae1336021a61",
      "tree": "061dc86de2ea3810976ea4dcbe01f2f7c607ab2f",
      "parents": [
        "c7829fcab8093359bea69406cb00943a063381a5"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Wed Jan 30 17:20:41 2019 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Jan 31 15:44:51 2019 -0800"
      },
      "message": "Update TypedArray and TypedValue to store source layouts.\n\nIn ag/5859897 we started tracking source styles for each TypedValue.\nIt is also useful to keep track of source layouts if the attribute\nwas resolved against a layout (attribute set in XML layout inside\nof \u003cView\u003e tag).\n\nTest: atest CtsContentTestCases:android.content.res.cts.TypedArrayTest\nBug: 111439551\nChange-Id: Ie6bc6ecd9a22b536a2f3288263b896f9cec67d38\n"
    },
    {
      "commit": "124975791084a660c32645260c151e4c3c537e76",
      "tree": "b1ba61664247f7304bc7ac6a56610bd72519bc11",
      "parents": [
        "a170a5a5c20aa97cb3da472139959c893bea91de"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 31 10:06:12 2019 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 31 14:25:32 2019 -0500"
      },
      "message": "Remove references to ANDROID_ENABLE_LINEAR_BLENDING\n\nTest: make\n\nThere is no longer any intent to turn on linear blending.\n\nChange-Id: Ia1016f31833212da6ad4b4c6ebe03d16a509746d\n"
    },
    {
      "commit": "ee3bfe7681d44da520ec646c3e500ccecaaab228",
      "tree": "344bd055b515b3cddc3a4cb8c085820ea793864d",
      "parents": [
        "81973983b02c8cd7289b45afa3cc794eae0833a7"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 31 08:42:23 2019 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 31 10:38:26 2019 -0500"
      },
      "message": "Only decode to F16 if HARDWARE supports it\n\nBug: 123301974\nTest: Infeasible\n\nIf a Bitmap is going to be decoded to F16 and then converted to\nHARDWARE, only decode to F16 if HARDWARE supports it.\n\nPreviously, if we discovered after the decode that HARDWARE did not\nsupport F16, we had to copy back to 8888 before the upload.\n\nChange-Id: I3ceb9d053ba134bb96cfb9d638e54ac652e5db29\n"
    },
    {
      "commit": "e703b1985fdefd223eb8db6b9910a1e169bbc358",
      "tree": "acaf2e1e0c162469c63142f66bb2ad5a38a7212e",
      "parents": [
        "fe05457c57177950ebc3b2a98d8b8f1b6dd8eeed",
        "dec730fda539fa941f7db1b9ed231a4585654dbe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 31 03:41:29 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 31 03:41:29 2019 +0000"
      },
      "message": "Merge \"Enable vulkan webview draw functor\""
    },
    {
      "commit": "26679ce6bc3aa4c50291afb7137f0bd7b402a37b",
      "tree": "4c41aad04e26883bda99d5fe64ebf01822f9e614",
      "parents": [
        "31f977a44344b8930143f16ab7f2fee4c5302d33"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Jan 30 14:04:53 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Jan 30 16:59:11 2019 -0500"
      },
      "message": "Cache SkImage in SurfaceTexture only if buffer content is same\n\nSkImage is immutable and changing GraphicBuffer content after\nthe object is created is not allowed. We still can cache\nthe image when BufferQueue is empty and showing unchanged\nbuffer.\n\nTest: Ran UiRendering CTS, camera app\nChange-Id: I9edefbda534e5d15b41bd7ff804fb29b1f72cc75\n"
    },
    {
      "commit": "2f10a26abac1eefef77d857e2b5cd25c7fbb82ff",
      "tree": "64facf49f37f0ad4724882c7f299f3668041755c",
      "parents": [
        "c717bece33c7876b4a429b4c17799c2bf57bc370",
        "f09ee58eb7edf7efb0cf8e24ad763a582dac0228"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 30 21:05:40 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 30 21:05:40 2019 +0000"
      },
      "message": "Merge \"Put Vulkan WebViews on a HW layer if stencil clip\""
    },
    {
      "commit": "f09ee58eb7edf7efb0cf8e24ad763a582dac0228",
      "tree": "45ee79658df15f788f9647135a9761e5ac9fc28e",
      "parents": [
        "2444f5a5104e8bad7712db0a1087ee0aab93b957"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Nov 06 17:35:50 2018 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Jan 30 13:43:12 2019 -0500"
      },
      "message": "Put Vulkan WebViews on a HW layer if stencil clip\n\nPut WebViews in a HW layer, if the clip is a non-rect.\nThis CL reuses logic implemented by ag/705975. This used\nto be the way GL WebViews were drawn in Android M.\nImplement complex clip detection at recording\ntime, which was not previously supported by the canvas.\nVulkan WebViews using GL interop are already drawn\nin a layer, but this CL will be useful when WebView\nsupports new Vulkan interop.\n\nTest: WebView CTS pass for Vulkan and GL\nBug: 115613038\nChange-Id: I9b02c6f4de8efd504a7507633f3d849004215a16\n"
    },
    {
      "commit": "d8e7d56cdf4e59a346c11c27df3c825190a67edc",
      "tree": "fd75c3830ed772c9b26018927aa523278e0fb182",
      "parents": [
        "06f12cba1c4a40d37d377d67a81857b7addc7a3d",
        "eaf310e1ce16ddee996bd13af648021865ddeff7"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Wed Jan 30 14:24:36 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 30 14:24:36 2019 +0000"
      },
      "message": "Merge \"Update Vulkan skia creation to use apiVersion instead of instanceVersion\""
    },
    {
      "commit": "eaf310e1ce16ddee996bd13af648021865ddeff7",
      "tree": "460920e5864c08f74c50951f131c2b28c7767891",
      "parents": [
        "fdbddda50e329936efe080d742d33bdae83c53fa"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Mon Jan 28 16:10:32 2019 -0500"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Jan 29 15:03:10 2019 -0500"
      },
      "message": "Update Vulkan skia creation to use apiVersion instead of instanceVersion\n\nThis updates to use Skia\u0027s new api which takes the vulkan apiVersion\ninstead of the instance version. This is technically more correct since\nthe application apiVersion is really the only client modifiable version\nvalue in vulkan.\n\nThis change also updates the webview structs to use the apiVersion as\nwell.\n\nTest: manual build and testing.\nChange-Id: I6ce7c20949eb7242f7bbe69955b54c0785696891\n"
    },
    {
      "commit": "2e204fc46857bb5702350ea7da9948b58c897726",
      "tree": "ff3423f3836671c2761162251cb9589c4c1adbb5",
      "parents": [
        "7447f3bda99c200f5c9853615aab1ae8e72e6d8e"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jan 28 13:31:36 2019 -0500"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Jan 29 14:03:49 2019 -0500"
      },
      "message": "don\u0027t pass bounds to textblobbuilder\n\nRely on builder to compute it\n\nTest: make\n\nChange-Id: Ib04b5a79d4e94e269761dd23171ca517e5aebed9\n"
    },
    {
      "commit": "23e1fa48ef1558197ed44b78cb03bdfa119c09ab",
      "tree": "1737de8d9686acb2443ece2b5df6c1d358b360c7",
      "parents": [
        "0b1b7c2b766539161ddb77c2fe41b7b714137214",
        "0ea09a4f4a53019a26b8a25806cff7bb94e9c853"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 25 21:13:38 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 25 21:13:38 2019 +0000"
      },
      "message": "Merge \"IWYU\""
    },
    {
      "commit": "0ea09a4f4a53019a26b8a25806cff7bb94e9c853",
      "tree": "0105af4468affc54559afc5d9e74532715574498",
      "parents": [
        "3e6de26e7a6a0b399f06ab40f038f29f89552e5d"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Jan 25 13:04:14 2019 -0500"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Jan 25 18:06:21 2019 +0000"
      },
      "message": "IWYU\n\nTrying to land https://skia-review.googlesource.com/c/skia/+/185460\n\nTest: make\n\nChange-Id: Ia1dd2fb6911d3e562e9c68e8ad03136f96b2d7c0\n"
    },
    {
      "commit": "c49da3914e1584aa0c8b4fd4a6d84fa2d2b8bc7c",
      "tree": "756bc9ded95f5bb0d9b5f60ec151be4b4a97dcbd",
      "parents": [
        "b091bc943143b04490ca67b745c548c1bff279c6",
        "741e96ff07326292744ee5bc437ba7171f7c3f56"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 25 17:28:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 25 17:28:34 2019 +0000"
      },
      "message": "Merge \"Fix GetResourceName for shared libraries\""
    },
    {
      "commit": "d8cf9da7c2ccf3ec5a5a2bded5b963b5c3010bfc",
      "tree": "8db662e59b0b03e1fa65f7eb944495a2a924516f",
      "parents": [
        "82296cfea23257380b0cf443fb9398438c84529b",
        "f6d86acb9313f4eba66beaa2ba74d07bfc009ce4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 25 14:09:11 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 25 14:09:11 2019 +0000"
      },
      "message": "Merge \"Store SkFont in android::Paint\""
    },
    {
      "commit": "bdd89dbe2adc8cd7eb47015d7ad1db1d80b6d29b",
      "tree": "d9a4437b93264a13ff265dac2ebaff37d56d072f",
      "parents": [
        "f927753d2beb4967b0f9f245c6c2a76fe22e1e89",
        "b6da7f634f12972dac01a2ebeee2545b4c01dadd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 25 13:40:41 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 25 13:40:41 2019 +0000"
      },
      "message": "Merge \"Add color space params to webview gl functor\""
    },
    {
      "commit": "741e96ff07326292744ee5bc437ba7171f7c3f56",
      "tree": "9c4514cb534fd315b5327cb34e86e3407a9df435",
      "parents": [
        "9ce77e9b7f0a1d001428030f3ad738220378ae40"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 23 16:56:51 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Jan 24 15:45:43 2019 -0800"
      },
      "message": "Fix GetResourceName for shared libraries\n\nGetResourceName used GetPAckageById which only works when the compile\ntime package id is eqal to the runtime package id. This change resolves\nresource names correctly using the ruuntime package id.\n\nBug: 79666085\nTest: libandroidfw_tests\nChange-Id: Ic60cb2416329c5cb34e925991cd689ca7574b483\n"
    },
    {
      "commit": "f6d86acb9313f4eba66beaa2ba74d07bfc009ce4",
      "tree": "d649b8d43a2605cb3ff9f458cd13d8ddb026d33e",
      "parents": [
        "38c8934b67d7cb2904b25eaa422a7b56160dcfae"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Jan 18 14:13:23 2019 -0500"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Thu Jan 24 17:18:43 2019 -0500"
      },
      "message": "Store SkFont in android::Paint\n\nTest: CTS\n\nChange-Id: I974fad5a7a8cf54007f0a30f4fe4ae6eb6e01ae1\n"
    },
    {
      "commit": "b6da7f634f12972dac01a2ebeee2545b4c01dadd",
      "tree": "8ea6ea3b73f5a90112e2552ac843fb206f7a400f",
      "parents": [
        "07182c8622947e0407c6cd72fea4f6ab629f4b55"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Wed Jan 23 20:59:00 2019 -0800"
      },
      "committer": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Thu Jan 24 14:04:58 2019 -0800"
      },
      "message": "Add color space params to webview gl functor\n\nBug: 111436479\nTest: Compiles\nChange-Id: I6713afbb871a5c7027bac1e0f52ce2a841f38e25\n"
    },
    {
      "commit": "78a6cb94d6cc0209b2f519d4f4e665f6e36bf5c8",
      "tree": "c9628bd1aff3bd25e561173c476a92a893711358",
      "parents": [
        "d8e2cc5308663886fd37a2e644c0acf5d7faf7b4",
        "da8a5107d99fb3f5170a0ab82379752f780eabe7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 21:49:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 21:49:44 2019 +0000"
      },
      "message": "Merge \"Increase ShaderCache max size to accomodate Vulkan pipeline cache\""
    },
    {
      "commit": "da8a5107d99fb3f5170a0ab82379752f780eabe7",
      "tree": "cfb8caf1b301831ad53af1a754c1fd09c333717b",
      "parents": [
        "9a8406418d88e4d8a4f1ce3ab35aa81f40694cfd"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Jan 24 14:57:01 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Jan 24 14:57:01 2019 -0500"
      },
      "message": "Increase ShaderCache max size to accomodate Vulkan pipeline cache\n\nBug: 123311517\nTest: Ran on device\nChange-Id: Id7127b391e44fb9661ad4eb847180dc3740abe0f\n"
    },
    {
      "commit": "48340af06e6a72fc339aaf95d385c51bb022a3c4",
      "tree": "f3fd7ab73ce9e2a3583b4f5c0e3629c3477950c1",
      "parents": [
        "f1a4991dcc929a6d034a8ae1c7fe5adf834ef2ca",
        "6e35e63740e9becb0976f3dc54ea0cd5ffc26564"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Jan 24 16:32:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 16:32:31 2019 +0000"
      },
      "message": "Merge \"Don\u0027t assume all FP16 bitmaps are linearly encoded.\""
    },
    {
      "commit": "e0cf597556307945a45bcd1ed7154604d182ba77",
      "tree": "dc4d7174efaf87a38f1feeb94efb2baf4b6f8c48",
      "parents": [
        "8d3707bbd5ad908cfa405ce8822a75a04adddb65"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Wed Jan 23 10:41:20 2019 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Jan 24 16:05:05 2019 +0000"
      },
      "message": "Remove use of SkColorSpace::Gamut enum\n\nGet the gamut matrix from the color space, compare against sRGB/P3.\n\nTest: Refactoring CL.\nChange-Id: I9f5bcae8c1f637919ee9da892266ea882f16208c\n"
    },
    {
      "commit": "dec730fda539fa941f7db1b9ed231a4585654dbe",
      "tree": "3cdb6a5400cf95e67f38712825a7d010ebf82b88",
      "parents": [
        "3eee2c51b6f290ae24b1442c6cfef18ee57901a8"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Mon Jan 14 11:21:02 2019 -0800"
      },
      "committer": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Thu Jan 24 04:22:35 2019 +0000"
      },
      "message": "Enable vulkan webview draw functor\n\nBug: 115613038\nTest: Webview with vulkan enabled works\nChange-Id: Ia450e93925ea04ff13d6e1731618a16862c66539\n"
    },
    {
      "commit": "515bd282c5651e8d42f007c47ade8ecc39c802e4",
      "tree": "edb149cb83a2586f56b3f7612ab9fe97a6bc06dc",
      "parents": [
        "c78f97002ef7a463b50768030319007a895303dc",
        "ba7e965316b24abcdce9741c4e276adfcdaba1fe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 23 21:56:55 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 21:56:55 2019 +0000"
      },
      "message": "Merge \"Don\u0027t create RenderThread for dumpsys gfxinfo\""
    },
    {
      "commit": "6e35e63740e9becb0976f3dc54ea0cd5ffc26564",
      "tree": "28ed578f4c0d437261904bcc27f401981dbd4f6e",
      "parents": [
        "38c8934b67d7cb2904b25eaa422a7b56160dcfae"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Jan 22 13:56:25 2019 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Jan 23 16:31:52 2019 -0500"
      },
      "message": "Don\u0027t assume all FP16 bitmaps are linearly encoded.\n\nThe bitmap.create() function that does not take a colorspace does\nnot enforce that the bitmap is linearly encoded and as such it is\npossible for us to end up with FP16 bitmaps that are sRGB encoded.\n\nGiven that we want to remove that restriction (see b/120870651)\nwe update getColorSpace to report the actual colorSpace of the\nunderlying bitmap. This pulls a thread that causes a chain of\nupdates to various classes to ensure proper handling of the native\ncolorspace.\n\nBug: 120904891\nTest: CtsUiRenderingTestCases\nChange-Id: I27780aa603138b0e48f9320c2837bc53e22cdf95\n"
    },
    {
      "commit": "ba7e965316b24abcdce9741c4e276adfcdaba1fe",
      "tree": "4c45988d49d686122873f8c6be0b7b463f7f247b",
      "parents": [
        "6f19cbdd2f285a7d54ce7694488e307bbe26bfc9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 23 10:33:41 2019 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 23 10:33:41 2019 -0800"
      },
      "message": "Don\u0027t create RenderThread for dumpsys gfxinfo\n\nChange-Id: I4cbad14ad6f952ddec11eb732701909fd75ff137\nFixes: 121129527\nTest: guess\n"
    },
    {
      "commit": "5cca8f250cd287d311b9e7b560a6c10fb909c6bc",
      "tree": "4de1ddaf1ac87b697327ac65cf2daf85d04989b5",
      "parents": [
        "6f19cbdd2f285a7d54ce7694488e307bbe26bfc9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 10 17:06:22 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jan 22 13:13:06 2019 -0800"
      },
      "message": "Add continuous SKP capture test api\n\nBug: 122856066\nTest: PictureCaptureDemo\nChange-Id: Iaf3a4bc1c8a2c18c7dff635c5f1cf726b331f8bf\n"
    },
    {
      "commit": "76a293da77a8cb1ef1ea4f024380469fad3226fa",
      "tree": "4fc79acad29a679dcc7baa0ae65c3f13c1c702a0",
      "parents": [
        "15b0f45c4962f1c76a0aa706c670e87f013d21e6",
        "d2f906a6ad899827bf58df761eb11ef6646c80df"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Sun Jan 20 19:31:04 2019 -0800"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Sun Jan 20 21:20:42 2019 -0800"
      },
      "message": "resolve merge conflicts of d2f906a6ad899827bf58df761eb11ef6646c80df to pi-dev-plus-aosp\n\nMerged-In: Ia248aece5250e84e47c815c601133b698bf644c2\nChange-Id: Ib1268a96fa633af3f64057e7ced7e4a2fde27da6\n"
    },
    {
      "commit": "68ea0c3c1375c9a14a0851b90899f36b5d355403",
      "tree": "cdc2c9e5d6b93f789d2be836729def1e19dc20e8",
      "parents": [
        "401e3d4c842ce86569de4477138137dc07a6aa6f"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Wed Dec 26 19:55:07 2018 -0800"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Sat Jan 19 12:07:50 2019 -0800"
      },
      "message": "Update signature files to the new format\n\nThe new format is described in tools/metalava/FORMAT.md.\n\nFixes: 116589402 Switch signature files over to the v2 format\nFixes: 112626813 Drop \"synchronized\" modifier from the signature format\nFixes: 122358225 Omit overriding methods that only differ in final [...]\nFixes: 73088715 API Review: Need doclava to output nullability\nFixes: 79739773 API Review: Metalava enforcing constants are constant\nExempt-From-Owner-Approval: Large-scale tooling change\nTest: make sdk, make update-api, make checkapi\nChange-Id: Ia248aece5250e84e47c815c601133b698bf644c2\n"
    },
    {
      "commit": "8752dedb760cd270e2ecc8f9cd3bb4f00f55e23f",
      "tree": "76efbd9785ea1853a9b288b5738a988d0da7935f",
      "parents": [
        "bc6e433ae488b4ad807c1503a53155a3259fd0b8"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Wed Dec 26 19:55:07 2018 -0800"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Sat Jan 19 07:22:55 2019 -0800"
      },
      "message": "Update signature files to the new format\n\nThe new format is described in tools/metalava/FORMAT.md.\n\nFixes: 116589402 Switch signature files over to the v2 format\nFixes: 112626813 Drop \"synchronized\" modifier from the signature format\nFixes: 122358225 Omit overriding methods that only differ in final [...]\nFixes: 73088715 API Review: Need doclava to output nullability\nFixes: 79739773 API Review: Metalava enforcing constants are constant\nExempt-From-Owner-Approval: Large-scale tooling change\nTest: make sdk, make update-api, make checkapi\nChange-Id: I8314f4e7099fa92e4f8ed7d283ccf836cc9a84a0\nMerged-In: Ia248aece5250e84e47c815c601133b698bf644c2\n"
    },
    {
      "commit": "c407678982811caef636021cacd130c08e46784a",
      "tree": "1434dd400c0176cfd1e7ed9fda957d0a17aedae6",
      "parents": [
        "793f1a793c2b9cd8f7356b83b8a2e5fd8d444e9b"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Jan 08 16:01:18 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Jan 18 18:56:44 2019 +0000"
      },
      "message": "Add support for preTransform in Vulkan swapchain.\n\nTest: manual building and running of apps.\nBug: 110985606\nBug: 122662274\nChange-Id: Id53aa1ce028b448b1f12558eec78a60e09512166\n"
    },
    {
      "commit": "e81dba7bf7fa3b44b9214f4ed67191f776ba3971",
      "tree": "7981436c8000dcce77bb3fc2658c00baf512a125",
      "parents": [
        "2b8e3132f5ed256aa39c57fa707fee73cf96fa1e",
        "fd8666df526a6fe317e4f3bb98a9dc2cbca872e5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 18 03:35:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 03:35:31 2019 +0000"
      },
      "message": "Merge \"Load correct resources for pointer icon on external screen\""
    },
    {
      "commit": "a117526b4a7555a355e784de35cc7750c6c2abdf",
      "tree": "be06363b2157990471cc246d336ffabba0b557bc",
      "parents": [
        "9853845074f1d44c1498b9ca4b7fbd3544122abb",
        "02d9c1e931610d4732d474b1b33ad836db450016"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jan 18 00:41:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 00:41:31 2019 +0000"
      },
      "message": "Merge \"Remove RRO policy product_services\""
    },
    {
      "commit": "9853845074f1d44c1498b9ca4b7fbd3544122abb",
      "tree": "eb1fc4ec60229a9a7fbee2b80b983a147e8c134a",
      "parents": [
        "eb5034ac6e104cb450164787ae5318be32109b26",
        "d10d06d0b01151d6fcdf7ac70b5382e08858e233"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jan 18 00:41:11 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 00:41:11 2019 +0000"
      },
      "message": "Merge \"Add enforcement of idmap policies\""
    },
    {
      "commit": "fd8666df526a6fe317e4f3bb98a9dc2cbca872e5",
      "tree": "79f394fbcb87208bf310d0223cff766e319ce9a1",
      "parents": [
        "a67e674c2270a296aa9aacfe67560103424a28a5"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Fri Oct 05 16:58:39 2018 -0700"
      },
      "committer": {
        "name": "Arthur Hung",
        "email": "arthurhung@google.com",
        "time": "Thu Jan 17 10:34:36 2019 +0800"
      },
      "message": "Load correct resources for pointer icon on external screen\n\nWhen mouse pointer changes displays, it should also reload the\nicon from new resources. Otherwise, if the densities of the\nprevious and new displays are different, the size of the pointer\nsprite will look too small or too large.\n\n- Add getDisplayContext to get the corresponding Context by displayId.\n- Cache system pointer icons per display, clear if display removed.\n- Fix icon moved to default when not resetting out of task bound.\n\nBug: 113559891\nTest: Enable mouse pointer on default display, move to other screen\nChange-Id: Ic42d0ec32d9c979281e13c83b9e8b57134fd4f0d\n"
    },
    {
      "commit": "428ddacfa410898fca9838bf2b5b342b1d4f030a",
      "tree": "4801af84b24f35f46b0e17e3382db48e0ca93378",
      "parents": [
        "7650ea6378af91eb136c491bb147ef969f0ea13a",
        "ce7c99c6617bd8a577126386a37060d356b5d1d4"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Wed Jan 16 21:48:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 16 21:48:46 2019 +0000"
      },
      "message": "Merge \"Add source style for each TypedValue.\""
    },
    {
      "commit": "7650ea6378af91eb136c491bb147ef969f0ea13a",
      "tree": "7bade4d4beb1bdb455bd58215e5c4d57511bd1a6",
      "parents": [
        "8e0e5722f8acb72f51850b74a885d3ccf89de33f",
        "60b3053221448be3969332a666c7c3779b327b1b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 16 21:26:19 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 16 21:26:19 2019 +0000"
      },
      "message": "Merge \"Remove DropBoxManager::getNextEntry\""
    },
    {
      "commit": "02d9c1e931610d4732d474b1b33ad836db450016",
      "tree": "e7eba585fa7280552667fab9c771121b19302c57",
      "parents": [
        "d10d06d0b01151d6fcdf7ac70b5382e08858e233"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Jan 11 16:36:58 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 16 11:47:33 2019 -0800"
      },
      "message": "Remove RRO policy product_services\n\nSince Q will no longer have a product_services partition, remove instances of\nthe product_services policy across aapt2, androidfw, and idmap2.\n\nBug:122745343\nTest: aapt2_tests and libandroidfw_tests\nChange-Id: I97c223a0bf5a2eab95811e5f738b44af6335e0ea\n"
    },
    {
      "commit": "d10d06d0b01151d6fcdf7ac70b5382e08858e233",
      "tree": "40d35254623f0ca31593e020a15c8f79b64f7f28",
      "parents": [
        "f9d106211850390c6ff162ccd1467e6c3ffce219"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Mon Jan 07 17:26:25 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jan 16 11:47:24 2019 -0800"
      },
      "message": "Add enforcement of idmap policies\n\nTeaches idmap2 to recognize policy restrictions put on overlayable\nresources. If overlayable enforcement is turned on for an overlay, then\nany resources defined within the overlayable api of the target will have\npolicy restrictions imposed on them. All resources without overlayable\ndefinitions will continue to be overlayable without policy restrictions.\n\nBug: 119390857\nTest: atest idmap2 and booting\n\nCo-authored-by: Ryan Mitchell \u003crtmitchell@google.com\u003e\nChange-Id: I7e435648eb6e4a87b0b90a7b2a0c3f33c1516ea6\n"
    },
    {
      "commit": "60b3053221448be3969332a666c7c3779b327b1b",
      "tree": "b4425ab017082c1ea5e01987dee4dbb1b816fe58",
      "parents": [
        "efad1da2f1559decf1d8ed41d353dfa338af0a92"
      ],
      "author": {
        "name": "Hector Dearman",
        "email": "hjd@google.com",
        "time": "Wed Jan 16 18:20:56 2019 +0000"
      },
      "committer": {
        "name": "Hector Dearman",
        "email": "hjd@google.com",
        "time": "Wed Jan 16 18:20:56 2019 +0000"
      },
      "message": "Remove DropBoxManager::getNextEntry\n\n- Remove DropBoxManager::getNextEntry as the method was unused.\n- Stop DropBoxManager::Entry inheriting from RefBase.\n  This was causing bugs since DropBoxManager constructs Entry\n  on the stack (in a non-ref counted context).\n\nBug: 119655216\nTest: make\nChange-Id: If0852ab6bcc1a92560132628897977eac16fddea\n"
    },
    {
      "commit": "caa8cc64c2986c2d200df555abb2df2adcd6d6b8",
      "tree": "883ae88b52ec43f70338a5f9e9f63ef57a19ce37",
      "parents": [
        "0ba9ad1dbd674da7d95c1a382ae956464c2a5b01",
        "25833d29acc1da773e38bc0dd99547d655b2ceaf"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Jan 16 14:41:06 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 16 14:41:06 2019 +0000"
      },
      "message": "Merge \"Standardize the surface origin for each HWUI pipeline.\""
    },
    {
      "commit": "34495b9fc8abc8abbe47060ecd2644d67b0a1b43",
      "tree": "563d8ea4d91911e51c6c653e594f44b0adcc6c08",
      "parents": [
        "3b2c2b77924c76eb2b5b1d633cd875afceed48c4",
        "7b8c1eb302109ea77a173663a6cf14b6d80ab0f7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 16 01:21:08 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 16 01:21:08 2019 +0000"
      },
      "message": "Merge \"VkFunctorDrawable implementation\""
    },
    {
      "commit": "ce7c99c6617bd8a577126386a37060d356b5d1d4",
      "tree": "e162e77267c28dcabc0c9621cf88105deb4db06f",
      "parents": [
        "de784fbf3d4b5544ccfd7e7a9162fb4af2ae8f10"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Dec 18 16:20:49 2018 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Jan 15 16:11:23 2019 -0800"
      },
      "message": "Add source style for each TypedValue.\n\nThis API will be used by Android Studio layout inspector to\nquery where a given resource attribute originated from to allow\ndevelopers to have an easier way to find what needs to be changed\nto affect a given resource attribute.\n\nTest: CTS added in the topic\nBug: 111439551\nChange-Id: Ifbb52b39912ed0444030a86164290a1cd4155250\n"
    },
    {
      "commit": "7b8c1eb302109ea77a173663a6cf14b6d80ab0f7",
      "tree": "a34428e9a0e8cba1beb38112c5e3d9323443d327",
      "parents": [
        "d231ab271c04d8742e1c7f4b40f5d4bf89710a47"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Tue Jan 08 20:17:55 2019 -0800"
      },
      "committer": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Tue Jan 15 15:25:04 2019 -0800"
      },
      "message": "VkFunctorDrawable implementation\n\nBug: 115613038\nTest: Turning on vulkan with appropriate webview apk does not crash and\nsort of works.\nChange-Id: If1504da7a35e4bd74a994ab2c2a351e6bc415a18\n"
    },
    {
      "commit": "82637f5e958110959ea3a6c9cf099d2118599f6e",
      "tree": "db7254c7d04c9f267b4fd62680b39f96285c4945",
      "parents": [
        "649357f433f7bb4a4090bc895eecab740e0d8b49",
        "150001aaa7ff4b1bd0ac169f21cf9107caa03d65"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 15 21:56:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 21:56:21 2019 +0000"
      },
      "message": "Merge \"Invoke Vulkan initialize earlier\""
    },
    {
      "commit": "cf9dd94323e0bf4934281582a1851e60f1fa36ac",
      "tree": "1a7a160c3f03987d1929a6c23717f0ffb78bd040",
      "parents": [
        "edb5e1a1b8e6791f85040a6b602d5c7929260be7",
        "ef5673a4c4021ca27b40e48020203928d71c95a8"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jan 15 19:34:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 19:34:30 2019 +0000"
      },
      "message": "Merge \"Add encoding of name and actor overlayable fields\""
    },
    {
      "commit": "55d9a6042bcd5b54c79f61405eabefdb25276525",
      "tree": "547470292747e377b3cbdec793a9e3d232b3b889",
      "parents": [
        "1f49aca8ef96a7de61df7b301fddf0c0fa442582",
        "2f3669b767129bc8739bb03e80abc65eb54a3471"
      ],
      "author": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Tue Jan 15 18:38:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 18:38:17 2019 +0000"
      },
      "message": "Merge \"Add function to return path for last resolved resource\""
    },
    {
      "commit": "40f4cb5d5e440789cc0862a6bd81a39d9b3a271d",
      "tree": "59f173cd6c5ed5e2c8d7fa3b6a86f6e607a3a620",
      "parents": [
        "53ee650b131f1030e9df08d7536a88509e75c609",
        "be8fac26d75584b924abef2f38843f114e942b6a"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Tue Jan 15 15:11:34 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 15:11:34 2019 +0000"
      },
      "message": "Merge \"Switch to skcms-based factories and getters in SkColorSpace\""
    },
    {
      "commit": "20f260b639038f98a7b1e3a35e7cf8d904e97c9f",
      "tree": "76fad3faa2c43cc1f18965082636b5c8761d0387",
      "parents": [
        "8a739a23d505e75da32bdf3ff0d613a782eb303d",
        "7f74aeed501a2e48d64b5cbcd8232a12dbcc9ba1"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 15 03:31:12 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 15 03:31:12 2019 -0800"
      },
      "message": "Merge \"CursorWindow.cpp: replace dup() with fcntl(F_DUPFD_CLOEXEC)\" am: adf025b1ff am: de408b3cb4\nam: 7f74aeed50\n\nChange-Id: I20f72f6de160a38d3b6067e685c396e6a27e2dc7\n"
    },
    {
      "commit": "7f74aeed501a2e48d64b5cbcd8232a12dbcc9ba1",
      "tree": "390e68994d53016b6b3d24ec7aecb65063029885",
      "parents": [
        "76e0bba86b21ccca1013f1cbc838db6f4848aefc",
        "de408b3cb49e4ee95a11c3982f59f52b77b227df"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jan 15 03:19:36 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 15 03:19:36 2019 -0800"
      },
      "message": "Merge \"CursorWindow.cpp: replace dup() with fcntl(F_DUPFD_CLOEXEC)\" am: adf025b1ff\nam: de408b3cb4\n\nChange-Id: I2efa1736d545230283bf4d5ffaca209638723945\n"
    },
    {
      "commit": "4831523575742953cacf19143c276280a3a74e95",
      "tree": "0e2be8a1c7197cccd35101da5405f82c01aa46c6",
      "parents": [
        "560e9f271336148e93ff6f06470306c829f64008",
        "1a2bdc8c65f9c4bd30033f6c931e4b637bf44d45"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 15 08:13:49 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 08:13:49 2019 +0000"
      },
      "message": "Merge \"Put HWUI \u0026 Webview color space in a struct\""
    },
    {
      "commit": "be8fac26d75584b924abef2f38843f114e942b6a",
      "tree": "e7410e2bb15991f64158f0728534892fdcd99de7",
      "parents": [
        "4a09436a63ba29888c39ba7ac631c6473f349a66"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Mon Jan 14 17:02:23 2019 -0500"
      },
      "committer": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Tue Jan 15 03:17:09 2019 +0000"
      },
      "message": "Switch to skcms-based factories and getters in SkColorSpace\n\nTest: Mechanical substitution, still builds.\nChange-Id: I877e4edd61e81279830ffbbcfea18d721abf6943\n"
    },
    {
      "commit": "bc807065993c2d37670443ddc6f41c06b55cc5d7",
      "tree": "c39a71c10c7e409bdc4d80d03486605b4b9351e9",
      "parents": [
        "1c2ceb24ed5cbcf1843fba78c357ac3fa01bdb6a",
        "cd06f9ee04750c886d0a4d64cf49e938b57df75a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Jan 14 14:58:22 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 14 14:58:22 2019 -0800"
      },
      "message": "Merge \"Fix/suppress androidfw google-explicit-constructor warnings\" am: 392f0052c2 am: 99a3d72b98\nam: cd06f9ee04\n\nChange-Id: I0340acdbd6530f9bd9f67333974bcc65ff97e0e5\n"
    },
    {
      "commit": "2f3669b767129bc8739bb03e80abc65eb54a3471",
      "tree": "ccb7294d22f43c64f863defb345a1383294f221b",
      "parents": [
        "0c891e8f4e5d7e1798e564cee80694264751aa9a"
      ],
      "author": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Fri Jan 11 11:28:34 2019 -0800"
      },
      "committer": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Mon Jan 14 14:52:00 2019 -0800"
      },
      "message": "Add function to return path for last resolved resource\n\nAfter an AssetManager.FindEntry call is made, either directly or from any of the resource entry calls, a stack of the steps taken to resolve the resource is saved. Those steps can be retrieved as a log later on by calling AssetManager.GetLastResourceResolution, which returns a formatted string of the resource ID/name and path taken, including the configs and package names of each step.\n\nLogging and the saving of the steps to memory can be enabled/disabled with the @hide .setResourceResolutionLoggingEnabled() method on AssetManager.\n\nBug: 122374289\n\nTest: cases for single and multi ApkAssets loaded\nTest: case for no resolution made\nTest: made test app to display log on device\nTest: added debugging call to source and ran through on-device apps\n\nChange-Id: I6a32b8d4020c3f8510032ff7f431510089fff43f\n"
    },
    {
      "commit": "1a2bdc8c65f9c4bd30033f6c931e4b637bf44d45",
      "tree": "4fa21b302a42dc8224e9df4b9e6ce80599e2433d",
      "parents": [
        "94ae766a983bdaf5f31493f7aa604b4735725830"
      ],
      "author": {
        "name": "Chris Blume",
        "email": "cblume@google.com",
        "time": "Fri Jan 11 16:52:12 2019 -0800"
      },
      "committer": {
        "name": "Chris Blume",
        "email": "cblume@google.com",
        "time": "Mon Jan 14 14:48:46 2019 -0800"
      },
      "message": "Put HWUI \u0026 Webview color space in a struct\n\nThe color space parameters are currently separate members. This was\nmaking passing color space parameters to functions a bit messy.\n\nThis CL puts the color space parameters into their own struct which can\nbe cleanly passed to functions.\n\nTest: Builds locally\nChange-Id: I3709b88dbdedb9616d4905ee973c3099f95b3ca7\n"
    },
    {
      "commit": "cd06f9ee04750c886d0a4d64cf49e938b57df75a",
      "tree": "7afe9c85f97da33cdaf0c72a4d15243d23e7fb40",
      "parents": [
        "d887e0f5f97ef81f98d829e59944ca0bf3d79e76",
        "99a3d72b9855c96b3a1c96aa87f36b6bf3908635"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Jan 14 14:16:59 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 14 14:16:59 2019 -0800"
      },
      "message": "Merge \"Fix/suppress androidfw google-explicit-constructor warnings\" am: 392f0052c2\nam: 99a3d72b98\n\nChange-Id: Icb12400292dae8ed091f1a55eb2f0a7e50e84667\n"
    }
  ],
  "next": "e104df94836ebf34d7f1a8654a9795b0a7619fda"
}
