)]}'
{
  "log": [
    {
      "commit": "bb9b14f0209d9a83df38c3fdcd27ea0fe4255fc0",
      "tree": "6f16ecb74cfcf53cf1631ae1f972d18743b053f7",
      "parents": [
        "7feb1a1f7d0526dc0518be1ee5068ef51a48e074"
      ],
      "author": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Tue Apr 23 14:10:15 2019 -0700"
      },
      "committer": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Tue Apr 23 14:10:15 2019 -0700"
      },
      "message": "ASurfaceControl: fix surface damage\n\nThere are two problems with surface control.\n1) By merging the rects, the Region turned into 0,0,0,0 instead of\nan or of the Rects.\n2) In the case where an app intends to have a region of 0,0,0,0,\nwe should treat it the same as a region of 0,0,-1,-1.\n\nBug: 131175047\nTest: ASurfaceControl\nChange-Id: Ib2e3b90ac215e069d3d3c2eca81ff1013b4287aa\n"
    },
    {
      "commit": "ddc877300fa606d25b163eda1e3a1de1b6591f87",
      "tree": "627af473fead0dfc0de564cbf3ce37f102926896",
      "parents": [
        "dd07ae579c291a2b6ffe09bd576fd908eb9e5ddd"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Apr 05 15:20:19 2019 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Apr 05 15:20:19 2019 -0700"
      },
      "message": "Pass runMax \u003d 1 to stop unnecessary itemization\n\nBug: 130044291\nTest: N/A\nChange-Id: I124b211f9a3db24d4c70c6d6bc0b1a9fdc93b9f7\n"
    },
    {
      "commit": "b3a7bcea2a48d682fcb91262dba67ad5330f65f3",
      "tree": "6cae8466b4e2153d9c472d03c0c9f17d83af408d",
      "parents": [
        "18c3f9c551db244eb8950be2b8fb1b4a3720e6a5"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Mar 29 14:24:57 2019 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Apr 02 14:28:45 2019 -0700"
      },
      "message": "Update the system font implementation for new API change\n\nBug: 129559385\nTest: TEMPORARY_DISABLE_PATH_RESTRICTIONS\u003dtrue m ndk-docs\nTest: atest CtsGraphicsTestCases:android.graphics.fonts\nChange-Id: I73fd366762e4923886529a49a682cdc1cdceb1aa\n"
    },
    {
      "commit": "5a9151e4926c9eccbf2ff3281f887d2735bbcef7",
      "tree": "49c8fc18ee41e1be9ad23b7fb1340746edada496",
      "parents": [
        "8c4b7ab822f5508a3f99552f449e97b853138be7"
      ],
      "author": {
        "name": "Valerie Hau",
        "email": "vhau@google.com",
        "time": "Thu Mar 21 12:39:04 2019 -0700"
      },
      "committer": {
        "name": "Valerie Hau",
        "email": "vhau@google.com",
        "time": "Thu Mar 21 12:39:04 2019 -0700"
      },
      "message": "Adding AHardwareBuffer lockAndGetInfo to libandroid\n\nBug: 123423521\nTest: build, boot,\nandroid.hardware.nativehardware.cts.AHardwareBufferNativeTests\n\nChange-Id: I81d7fa7352b7720103975ab0910d57953e0a7ec4\n"
    },
    {
      "commit": "a7de534a93310dec10112f9e15668c742f795d7a",
      "tree": "cb50757724cc48171c2ea47090f6a42732d7d000",
      "parents": [
        "3fcab6197ba424944c9ce2c1c50a76ffd973c765",
        "6f6fc4083929c16f1cebf0a933284bddbe6f88c6"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Sat Mar 09 06:04:09 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 09 06:04:09 2019 -0800"
      },
      "message": "Merge \"Add junyulai@ as owner of the core networking dirs\" am: e5e3ac639b am: b0498ba448\nam: 6f6fc40839\n\nChange-Id: I5902959b76797a58884480e3fd219ba53497ae8e\n"
    },
    {
      "commit": "ea89cf2c6e300dd66c34cab43a9fadf94cedf8dd",
      "tree": "070eaa1bb801eda55dd0a166b2f33845033188a5",
      "parents": [
        "1b9adbfdd1f18cb16e82f9a6f158d3ac242fffa1"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Mar 08 20:28:35 2019 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Mar 08 13:04:05 2019 +0000"
      },
      "message": "Add junyulai@ as owner of the core networking dirs\n\nAlso removed emeritus accounts ek@ and silberst@ from various places.\nA cleanup using \u0027include\u0027 would probably be in order...\n\nTest: N/A\nChange-Id: I575e60dd5e600e42d9571ce8e8d7661d30e99bfe\n"
    },
    {
      "commit": "458d3df21f49df7b14a7040e0a56441c32e9bd21",
      "tree": "909dfde2be899a7602ce98366dbac7252523c5b5",
      "parents": [
        "4fa13a19e447c1ef8111c751779ea63e9c12849b"
      ],
      "author": {
        "name": "Santos Cordon",
        "email": "santoscordon@google.com",
        "time": "Wed Feb 20 18:09:00 2019 +0000"
      },
      "committer": {
        "name": "Santos Cordon",
        "email": "santoscordon@google.com",
        "time": "Wed Mar 06 16:24:55 2019 +0000"
      },
      "message": "Add explicit 64-bit postFrameCallback APIs\n\nBug: 123660572\nTest: atest -a android.view.cts.ChoreographerNativeTest\nChange-Id: Idff869a435ddb9b858a95993c1e4c6a5c668322f\n"
    },
    {
      "commit": "a5a21f70e125d58184f5446863fc4e3ac022e149",
      "tree": "6c25e2684812fcc9cd6a05d807c456c53a79fbe4",
      "parents": [
        "6070ce1be356df378857504ea0e586da523034a5"
      ],
      "author": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Wed Feb 13 16:41:59 2019 -0800"
      },
      "committer": {
        "name": "Ady Abraham",
        "email": "adyabr@google.com",
        "time": "Fri Feb 22 17:54:06 2019 -0800"
      },
      "message": "DisplayEventDispatcher: add DISPLAY_EVENT_CONFIG_CHANGED\n\nAdd a new event for display configuration change. This event\nwill be sent by SF anytime it changes the display config.\n\nTest: Generate DISPLAY_EVENT_CONFIG_CHANGED and observe the log\nBug: 122905403\nChange-Id: Ifa473a34d7b313501e5e4e8a67186fb82754fdcd\n"
    },
    {
      "commit": "0e636a8b5f244744cb74d112c15d8ee1ec7543ae",
      "tree": "2eba66c8235e4b3f890d99c3f8f5cecc560ab8db",
      "parents": [
        "95885d602f42d3f0b5dd5bfd15dd9fdc35410055",
        "e9345521e34a72180e80ffb4d3382a10c1e8a0fe"
      ],
      "author": {
        "name": "Marius Renn",
        "email": "renn@google.com",
        "time": "Wed Feb 13 01:16:12 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 01:16:12 2019 +0000"
      },
      "message": "Merge \"Adds new HardwareBuffer plane-locking functions to NDK\""
    },
    {
      "commit": "5ea4f3ce4e8b4c0bede17a4ded9c74cd193e691d",
      "tree": "436b2557ec89cc18b000bf3d9680395cb18563c8",
      "parents": [
        "3d6592b7dcafc89016f602f41699964845a17396",
        "7f24f79bc8788e41442c3ead05743127ff43ff5f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 11 20:36:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 11 20:36:39 2019 +0000"
      },
      "message": "Merge \"ASurfaceControl: dataspace (1/2)\""
    },
    {
      "commit": "7f24f79bc8788e41442c3ead05743127ff43ff5f",
      "tree": "3e1aaee85f57c9d5e09fc86f3d822969cce22c86",
      "parents": [
        "df750469cbf8b62a90035a192a50463087c456da"
      ],
      "author": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Thu Feb 07 14:06:04 2019 -0800"
      },
      "committer": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Fri Feb 08 10:53:56 2019 -0800"
      },
      "message": "ASurfaceControl: dataspace (1/2)\n\nAllow dataspace to be set on the SurfaceControl.\n\nTest: atest CtsViewTestCases:android.view.cts.ASurfaceControlTest\nBug: 80477568\nChange-Id: Idc12d0a4024fc21d570c5190af33559b818b4b08\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": "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": "6bc48231fc24a16c6a9a295c5b61993ac9504f94",
      "tree": "4c7c2d248920ad26101d88df2468288e54e3dafb",
      "parents": [
        "d5b12fd0fc7ea74c3b60cd8041de7eb3b86f8b7f"
      ],
      "author": {
        "name": "Valerie Hau",
        "email": "vhau@google.com",
        "time": "Tue Jan 29 15:01:53 2019 -0800"
      },
      "committer": {
        "name": "Valerie Hau",
        "email": "vhau@google.com",
        "time": "Fri Feb 01 13:18:56 2019 -0800"
      },
      "message": "Combining background color transactions\n\nBug: 122326454\nTest: ASurfaceControlTest cts test\nChange-Id: Ie6d6c5d4d8a27cbf936936200d1c81619d83ca87\n"
    },
    {
      "commit": "0d04f323859ea7df362b16ac5466990aa3da5729",
      "tree": "2756f8bd5c00b40f3981894faf274547d01b8a02",
      "parents": [
        "1bbc8a56c48c38c8dde3df32ed4be606a0d99a4d"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Thu Jan 24 17:49:46 2019 -0800"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Thu Jan 24 17:57:50 2019 -0800"
      },
      "message": "Eliminate the usage of ConfigStore.\n\nIdeally modules above SurfaceFlinger should query ConfigStore through\nISurfaceComposer APIs. Previously getWideColorSupport directly evaluate wide\ncolor support for built-in display, we don\u0027t want that, we should align it with\nSurfaceFlinger.\n\nBUG: 123312783\nTest: Build, flash and boot. Verify in logcat.\nChange-Id: I6299fe1a5483075a98adbb903d3bb68255afb699\n"
    },
    {
      "commit": "5bbfd517576d61ee0802c799c45732b14f4c9c01",
      "tree": "f8f24aeba30c8d68c4782e06d710385dbf01bb4a",
      "parents": [
        "e54b7b549871bf2f475b04a6ad3a4289d55e02cc"
      ],
      "author": {
        "name": "Valerie Hau",
        "email": "vhau@google.com",
        "time": "Tue Jan 22 17:39:43 2019 -0800"
      },
      "committer": {
        "name": "Valerie Hau",
        "email": "vhau@google.com",
        "time": "Wed Jan 23 12:12:27 2019 -0800"
      },
      "message": "Add setColor, setColorAlpha, and setColorDataspace to ASurfaceControl\n\nBug:122326454\nTest: atest CtsViewTestCases:android.view.cts.ASurfaceControlTests\n\nChange-Id: If41f0a6b736315dbdb829cf3f8fefc654ede9bcf\n"
    },
    {
      "commit": "9ce77e9b7f0a1d001428030f3ad738220378ae40",
      "tree": "982ffb725e61b0e3978b74b9fbadb5dc59732abe",
      "parents": [
        "f749198d19964320cf17207f4e1383abe3509e16",
        "1be5a10c39fe78583e68366e4b7cc5fe9103ae53"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 22 22:38:20 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 22 22:38:20 2019 +0000"
      },
      "message": "Merge \"ASurfaceControl: add more support to NDK (1/2)\""
    },
    {
      "commit": "d3ea060251d0f5775f8c412e0f04cd086bf466fe",
      "tree": "f3f8c9f6f1c33f237ce4f810b485896620cba921",
      "parents": [
        "0bec8721ab6fdca0a9e98bb8f228f2298fa0c968",
        "ea2cb0c72f33a91bae3bce6d60e1f80f29c329e6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 22 20:47:43 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 22 20:47:43 2019 +0000"
      },
      "message": "Merge changes from topic \"sensors_ndk_filter\"\n\n* changes:\n  Export ASensorEventQueue_requestAdditionalInfoEvents\n  Add ASensorEventQueue_requestAdditionalInfoEvents\n"
    },
    {
      "commit": "0bec8721ab6fdca0a9e98bb8f228f2298fa0c968",
      "tree": "fff1704bab308c4b5981e53ba73fe047f2308ae8",
      "parents": [
        "61217232ada455cdfd6ecfe863aaa4f9a9528f7f",
        "93c25986de5bc3cb574036ea1c254a00398cf944"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 22 20:44:07 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 22 20:44:07 2019 +0000"
      },
      "message": "Merge \"Export ASensor_getHandle\""
    },
    {
      "commit": "ea2cb0c72f33a91bae3bce6d60e1f80f29c329e6",
      "tree": "673ed608d5bd1a4480651afa167079c46fd6f2c7",
      "parents": [
        "9da89b25ac424daad86f82ed0a2ea30b74af9f7c"
      ],
      "author": {
        "name": "Brian Stack",
        "email": "bstack@google.com",
        "time": "Mon Jan 14 16:10:06 2019 -0800"
      },
      "committer": {
        "name": "Brian Stack",
        "email": "bstack@google.com",
        "time": "Fri Jan 18 17:31:05 2019 -0800"
      },
      "message": "Export ASensorEventQueue_requestAdditionalInfoEvents\n\nBug: 77276247\nTest: Builds\nChange-Id: Ifa65a67aa136dcec884b16241c99a3349d1de2dc\n"
    },
    {
      "commit": "9da89b25ac424daad86f82ed0a2ea30b74af9f7c",
      "tree": "1bcb29842dcf76b3cda4003c16287eb957ae2571",
      "parents": [
        "d46c3e29549fbea8797c1d7b82907ebc3771a00d"
      ],
      "author": {
        "name": "Brian Stack",
        "email": "bstack@google.com",
        "time": "Mon Jan 14 12:15:58 2019 -0800"
      },
      "committer": {
        "name": "Brian Stack",
        "email": "bstack@google.com",
        "time": "Fri Jan 18 17:31:05 2019 -0800"
      },
      "message": "Add ASensorEventQueue_requestAdditionalInfoEvents\n\nImplements the ASensorEventQueue_requestAdditionalInfoEvents which\nallows for a client to request additional information sensor events.\n\nBug: 77276247\nTest: Verified additional information events are only delivered to NDK\n      clients that have explicitly requested them through the\n      ASensorEventQueue_requestAdditionalInfoEvents function\n\nChange-Id: I304ba73908e5dd3eec61360d26e5321d442c6077\n"
    },
    {
      "commit": "1be5a10c39fe78583e68366e4b7cc5fe9103ae53",
      "tree": "e66b30bf01aa1babcbad5b2a20036e803fae1914",
      "parents": [
        "c2f2977c4b5944b85fcece5ba3663f33fe75325d"
      ],
      "author": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Fri Jan 18 16:14:04 2019 -0800"
      },
      "committer": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Fri Jan 18 16:35:49 2019 -0800"
      },
      "message": "ASurfaceControl: add more support to NDK (1/2)\n\nAdds several new functions and updates existing functions.\n - release fences\n - desired present time\n - alpha\n - hdr metadata\n\nTest: atest CtsViewTestCases:android.view.cts.ASurfaceControlTest\nBug: 80477568\nChange-Id: Iabda5936a51030bebabc4328dbd83108401603c2\n"
    },
    {
      "commit": "93c25986de5bc3cb574036ea1c254a00398cf944",
      "tree": "e3b89521302a5c6ffe19e22589dea0c3d721afe9",
      "parents": [
        "38c97d4ff633122d96ba900c8b86e69d0558cc8a"
      ],
      "author": {
        "name": "Brian Stack",
        "email": "bstack@google.com",
        "time": "Wed Jan 09 13:45:44 2019 -0800"
      },
      "committer": {
        "name": "Brian Stack",
        "email": "bstack@google.com",
        "time": "Thu Jan 17 17:01:47 2019 +0000"
      },
      "message": "Export ASensor_getHandle\n\nBug: 122366555\nTest: Verified ASensor_getHandle is available to NDK clients in\n      libandroid and the function returns the correct handle.\n\nChange-Id: Ib08fbcc6862d3d3d4906a457d7708cb600dd161c\n"
    },
    {
      "commit": "d69a4b853b6e51dc01f0410666828243bd0f0e83",
      "tree": "67c9cc807e52bf33a20e6eea006a79ff5af922a1",
      "parents": [
        "3d404e7836afc50009120688c5ad3db8dac3dbc0",
        "38c97d4ff633122d96ba900c8b86e69d0558cc8a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 17 16:54:02 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 16:54:02 2019 +0000"
      },
      "message": "Merge \"Introduce ASensor_getHandle API to Sensors NDK\""
    },
    {
      "commit": "4fd4e36be2baf9d3ab981296a0b6488ed9b77c5d",
      "tree": "730d87c4926b4c6cff30f27a2664401f63437897",
      "parents": [
        "55d9a6042bcd5b54c79f61405eabefdb25276525",
        "f6a73faf8116b9972588d95b01760e827dbbe7bb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 15 18:40:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 18:40:24 2019 +0000"
      },
      "message": "Merge \"ASurfaceControl: add SurfaceControl to NDK (1/2)\""
    },
    {
      "commit": "911bffde218e862d1a7379a986e41ea5f5584255",
      "tree": "ffe87fa4f4387a5c051be37cc3b76dff84d729bc",
      "parents": [
        "44b2b5acfb89b14e331f9b0a3c64b5953e642a5b",
        "3ce18850a49740aa6e0c212a8ed508020eec186d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jan 14 20:24:04 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 14 20:24:04 2019 -0800"
      },
      "message": "Merge \"sharedmem.cpp: replace dup() with fcntl(F_DUPFD_CLOEXEC)\" am: 98546b23b9 am: 9c5c779597\nam: 3ce18850a4\n\nChange-Id: If3ac8e9fd81d17e73304652aca52c7df1316113f\n"
    },
    {
      "commit": "396497085a02f2988d15d54e22cb531dd76254f0",
      "tree": "af6cf95b5b33603e47c2230db33e320b2da9feef",
      "parents": [
        "7ae295368dbb3d9b4dfa67231416cfde2bcdadb0"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jan 14 13:52:43 2019 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jan 14 13:53:40 2019 -0800"
      },
      "message": "sharedmem.cpp: replace dup() with fcntl(F_DUPFD_CLOEXEC)\n\nReplace calls to dup() with fcntl(F_DUPFD_CLOEXEC). The only difference\nbetween the two is that O_CLOEXEC is set on the newly duped file\ndescriptor. This helps address file descriptor leaks crossing an exec()\nboundary.\n\nTest: compiles and boots\nChange-Id: I95218331382b7a3432d31a46c173009dc4df1a6b\n"
    },
    {
      "commit": "f6a73faf8116b9972588d95b01760e827dbbe7bb",
      "tree": "2e97a531bb1d1d940fb9d45cc9880b5ef80135aa",
      "parents": [
        "44b93686b92bf2aed278b636bf8aacaa313957be"
      ],
      "author": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Mon Dec 10 10:41:08 2018 -0800"
      },
      "committer": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Mon Jan 14 12:13:36 2019 -0800"
      },
      "message": "ASurfaceControl: add SurfaceControl to NDK (1/2)\n\nAdd the NDK API for apps to use SurfaceControl for low level compositing\nusing SurfaceFlinger.\n\nTest: atest CtsViewTestCases:android.view.cts.ASurfaceControlTest\nBug: 80477568, 111656650\n\nChange-Id: If2c85a4427f422e41feeadbee0b64de7eb5c925e\n"
    },
    {
      "commit": "38c97d4ff633122d96ba900c8b86e69d0558cc8a",
      "tree": "4d6f202c2bf3d30858c39c59c939694719d8485b",
      "parents": [
        "bc4bfd6ae1da22305988ee708fd5cc7b7498ba02"
      ],
      "author": {
        "name": "Brian Stack",
        "email": "bstack@google.com",
        "time": "Wed Jan 09 13:41:00 2019 -0800"
      },
      "committer": {
        "name": "Brian Stack",
        "email": "bstack@google.com",
        "time": "Fri Jan 11 17:30:13 2019 -0800"
      },
      "message": "Introduce ASensor_getHandle API to Sensors NDK\n\nAdds the ASensor_getHandle API to the Sensors NDK which returns a\nsensors internal sensor handle.\n\nBug: 122366555\nTest: Builds, verified function returns correct handle\nChange-Id: I1358528d2e7ee2918d5f5c2195d51adaa2cc3661\n"
    },
    {
      "commit": "e9345521e34a72180e80ffb4d3382a10c1e8a0fe",
      "tree": "b41acff7a275a025f4db28900f25d1a312060e24",
      "parents": [
        "40335c1be9cb791869bcdc7b340fe12583b3ee41"
      ],
      "author": {
        "name": "renn",
        "email": "renn@google.com",
        "time": "Thu Jan 10 10:27:48 2019 -0800"
      },
      "committer": {
        "name": "renn",
        "email": "renn@google.com",
        "time": "Fri Jan 11 13:40:55 2019 -0800"
      },
      "message": "Adds new HardwareBuffer plane-locking functions to NDK\n\nTest: Run cts-tradefed run commandAndExit cts -m CtsNativeHardwareTestCases\nChange-Id: I253abd9f862dc0fcdc55c228164fc37edf35cb7b\n"
    },
    {
      "commit": "8939f1cf48000e1b2e7259b8f0e87cc07875eacc",
      "tree": "e9c357d6e779af859b072ed86ca70dfb96158dc9",
      "parents": [
        "f9de223000ea73e07f8095074df5b32e6711b8e4",
        "7024b28cfe8239f8634c081d485d0f4ae8452350"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 10 18:27:21 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 10 18:27:21 2019 -0800"
      },
      "message": "Merge \"Add \u0027stubs\u0027 to libandroid\" am: b0a1d4979e am: c70dc011f2\nam: 7024b28cfe\n\nChange-Id: Ie02eaa9c569db2555fd2ba62113d680f966fafb5\n"
    },
    {
      "commit": "b61819e2a5ee3eb74b95d59d4cd05dc3c43605ac",
      "tree": "6110884a9bb191551fa444ab7315bb7080b33355",
      "parents": [
        "dcfef16295126c0197e5e1f6449280efdf787fea"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 09 16:01:01 2019 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 09 16:02:59 2019 -0800"
      },
      "message": "Add \u0027stubs\u0027 to libandroid\n\nIn order to exclude libandroid.so + its dependent libraries from the apex.\n\nTest: build and check if libandroid.so is excluded in the media apex\nBug: 112766913\nChange-Id: I5f1c5692a5395cf673d7868e0a429767d639720f\n"
    },
    {
      "commit": "cf0026e9fb85edce9c15c4cd6c9fb371df20fb53",
      "tree": "f96f331b591115adec77e335f4e4bf9fb656eaba",
      "parents": [
        "db24f2f8c81468da13cfc12aaf0ba599c64e911f",
        "f9f10f804488def7ae2ceba3f345b89fc1c1fda1"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Jan 09 06:01:03 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 09 06:01:03 2019 -0800"
      },
      "message": "Merge \"Add control flags in asynchronous DNS query API\" am: c04f9f731a am: f4a9829a18\nam: f9f10f8044\n\nChange-Id: Idfbe46d0a0b6db28856093942a55dc47c6bef1cf\n"
    },
    {
      "commit": "f3cc2b6aa56a3a3e6fa6abbca5596a9a6fd1e64f",
      "tree": "1e069b6bcb8b8c9aabc53d59d7d7e29063923ce2",
      "parents": [
        "6feab6bf6c769d76c3043c0753831c04bc7fcb66"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Thu Dec 20 14:53:29 2018 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Jan 08 17:58:32 2019 +0800"
      },
      "message": "Add control flags in asynchronous DNS query API\n\nTest: built, flashed, booted\n      cts test: NativeDnsAsyncTest\n\nChange-Id: Ief04d99b2b289d95e54899572d28576d464037b8\n"
    },
    {
      "commit": "a62790c290058569ee7b6de71905ef911fdd91cd",
      "tree": "6bb01e118d465d49a3ea5126fcffe80ffbe75494",
      "parents": [
        "8c38fd7d02c4e9ae07e9ba8488c64aabc7440522",
        "0c1ffb0f9b3185420433315874e32f0e1bc7e3fb"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Dec 19 01:42:53 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 19 01:42:53 2018 -0800"
      },
      "message": "Merge \"Following commit for asynchronous DNS query API\" am: a89f04a742 am: b010078e40\nam: 0c1ffb0f9b\n\nChange-Id: Ia7922edb119c12f185684682fd4d097337125248\n"
    },
    {
      "commit": "d0c47e6e1b7e249ae947b082c403d4a4f1a2488a",
      "tree": "acda37921f28cd2b953670efdc034ee4064b12d2",
      "parents": [
        "a4d036e98b4c93dc1155912eaf66af3df5dcacb3"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Mon Dec 17 15:54:18 2018 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Mon Dec 17 16:47:20 2018 +0800"
      },
      "message": "Following commit for asynchronous DNS query API\n\nTest: built, flashed, booted\n      atest CtsNativeNetDnsTestCases\n\nChange-Id: Ia0f54ff684d2ad37ca82d94bad4e4dd582783d85\n"
    },
    {
      "commit": "f30016dd8b3bf0eacf511ad51e34ec0ef9aa4f69",
      "tree": "32f4ee43fd32ade4c38c53dad209631911ebcdc3",
      "parents": [
        "6f6fbb09dbd9b7e130fed8850c80b9a968c6d181",
        "4bbddfe9dd9cf95083571851a5b91ebe66b41a24"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Dec 12 21:14:41 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 12 21:14:41 2018 -0800"
      },
      "message": "Merge \"Add asynchronous DNS query API\" am: d4ed663b80 am: 62f369e96d\nam: 4bbddfe9dd\n\nChange-Id: Id692d8f9ee870c71da33dec825958199db79cf49\n"
    },
    {
      "commit": "c17821cc111a86574a0edacf9a78f38b5078c0b7",
      "tree": "4c58ee9bfb502a2d290c9a362bd9ae7a81c058b5",
      "parents": [
        "aff267369c2acd92ff0640637e17c2deef9142c4"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Nov 20 11:38:23 2018 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Dec 12 04:17:41 2018 +0800"
      },
      "message": "Add asynchronous DNS query API\n\nAdds support for asynchronous \"raw\" DNS API for clients.\nAPI allows apps to use multinetworking capability correctly\nand also allows other query types than A/AAAA.\n\nTest: built, flashed, booted\n      cts test: NativeDnsAsyncTest\n\nChange-Id: I4701b76bd8f0094ef1bdd7c5371b54387914a91b\n"
    },
    {
      "commit": "77b31a5eb1674f6c01e8f0e20fa6ecee45ff73d9",
      "tree": "202f481d102d097fe06d0c08118f18e6f87a3d17",
      "parents": [
        "f660c012b080496eb70ea77f141f346e80bb6cfa"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Dec 05 18:16:39 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Dec 05 18:16:39 2018 -0800"
      },
      "message": "Add NDK async begin/end \u0026 counter\n\nBug: 111503982\nTest: atest CtsAtraceHostTestCases\nChange-Id: I038b76b505d3103f7b1e85a9469932d23cde2ab8\n"
    },
    {
      "commit": "e463bb6a83b9863f1689f11bba0ce3c81ff63dae",
      "tree": "6c3276f304a332c732c8cf92270e7564dd5754eb",
      "parents": [
        "e9e01e2cfe6ba7c9e6407b94c32787704acf3e93"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Wed Nov 21 21:41:35 2018 -0800"
      },
      "committer": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Wed Nov 21 21:41:35 2018 -0800"
      },
      "message": "Export AHardwareBuffer_isSupported from libandroid.\n\nBug: 115660272\nTest: Builds and passes CTS on Pixel 2.\nChange-Id: Ic67a7db98359b476c6cb146363040844efee475d\n"
    },
    {
      "commit": "36154fdb82ec887c1de308fa7bb2f529e78665e7",
      "tree": "5a88c3153bf432c28ae3f3bf6b09db5656655221",
      "parents": [
        "9005dafb7440db3130c03bfdacf56759c5a1b606",
        "f3fa150b77bd68919dbfff91de5ab3a1a9213460"
      ],
      "author": {
        "name": "Dimitry Ivanov",
        "email": "dimitry@google.com",
        "time": "Tue Nov 13 03:32:18 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 13 03:32:18 2018 -0800"
      },
      "message": "Merge \"Apply version-script to libandroid library.\" am: dbacdb242b am: 5291def66d\nam: f3fa150b77\n\nChange-Id: I3f0673ce51177295fbd8985eea26888501548bcc\n"
    },
    {
      "commit": "499745f900bd05ca3c20a175de96c13bf77f8ede",
      "tree": "5d9ec5baa502e43bfb23f583d549ae9567bc4e0e",
      "parents": [
        "009b2dd158183062f4c9ad681636797350699f57"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Nov 08 15:07:32 2018 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Nov 08 15:07:32 2018 +0100"
      },
      "message": "Apply version-script to libandroid library.\n\nHides unintentionally exported symbols from the library.\n\nTest: make checkbuild\nBug: http://b/69603741\nChange-Id: Id679077267cc5ea6168c0b4701f827458087cb70\n"
    },
    {
      "commit": "75b841bd313fcf4c5e44cbb6b98829da4586139a",
      "tree": "a232544d10f368d84c0ba4659bda8c4a1c2e33f1",
      "parents": [
        "6b82d83d6ba1753eb38b5f885379a6893e49734d"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Oct 30 11:39:49 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Oct 30 12:27:25 2018 -0700"
      },
      "message": "Implement matchFamilyStyleCharacter API\n\nBug: 114479228\nTest: atest CtsGraphicsTestCases:android.graphics.fonts\nChange-Id: Ieaa4251e0ba7c0479f048147141a81766016e9b6\n"
    },
    {
      "commit": "367589889c73ebcb7ceadb946a78078ce2564ff3",
      "tree": "4361c30d6410c38c940518c9de76133b46188f51",
      "parents": [
        "05e2992a74817d8eb41ce439397dd0124bfb2b0b"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Oct 01 19:06:11 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Oct 01 23:08:23 2018 -0700"
      },
      "message": "Read OEM customization XML\n\nWe now moved OEM font customization outside of system image and all\nsystem font modifications are in /product directory.\n\nIn this CL, only customizationType\u003d\"new-named-family\" is supported.\n\nMy previous CL If58711fc038898175fcad0ae095865312bd738e2 breaks test\ncases in CtsGraphicsTestCases but TreeHugger didn\u0027t catch my mistake\nbecasue the test cases are not annotated as Presubmit.\n\nBug: 111544833\nTest: atest CtsGraphicsTestCases:android.graphics.fonts\nChange-Id: I7a7a2d91d8f37c51944d598dde7562733eae5626\n"
    },
    {
      "commit": "50692caa28f09724f04307d811112058839af41b",
      "tree": "66f5b3ef786bbabc25ef37bd2e4c1125a80287de",
      "parents": [
        "7ee06167def672bf961d023fc281878400bf8806"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Aug 31 12:27:15 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Sep 13 15:53:07 2018 -0700"
      },
      "message": "Add native font enumeration API implementation\n\nASystemFont API provides an ability of enumerating the system available\nfont files with some additional information.\n\nASystemFont reads /system/etc/fonts.xml and give the information to\ndevelopers.\n\nLots of developers reads fonts.xml by themselves but that is not a part\nof public API and the structure is subject to change. This API is a\nreplacement of the reading fonts.xml by developers.\n\nBug: 111861508\nTest: atest NativeSystemFontTest\n\nChange-Id: I992902228650303eb10f486f1ec7838f218c15e7\n"
    },
    {
      "commit": "564ca3e2c9ed752f2a9d549ebfb31a78942ecfec",
      "tree": "f5a88d6ac251afadbbcc602047c2d901bf8cac55",
      "parents": [
        "73855d407137e670b1f836ec15b21bd7a4b1a187"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Sep 04 22:00:00 2018 +0000"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Sep 05 01:58:34 2018 +0000"
      },
      "message": "Reland \"TextureView Vulkan support and optimized OpenGL draw\"\n\nFix an issue with incorrect texture matrix, when there is 90/270 rotation.\nThis happened, because after refactoring SkImage has buffer width/height,\ninstead of layer width/height.\nThis reverts commit a683eb3945320f592f58705c3c31b3c044f4bd72.\n\nBug: 113673613\nTest: Ran TextureView CTS and lensblur in camera app\nChange-Id: If3bcf9cd5195de09fd67a753708568a8e3ca3a9a\n"
    },
    {
      "commit": "a683eb3945320f592f58705c3c31b3c044f4bd72",
      "tree": "0d52da520e423da3b41733d63f3be53ce0e31932",
      "parents": [
        "85f9096b5272c9a39e592e2e97cbbe6cb0e767ab"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Sep 04 15:42:18 2018 +0000"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Sep 04 15:42:18 2018 +0000"
      },
      "message": "Revert \"Revert \"Revert \"TextureView Vulkan support and optimized OpenGL draw\"\"\"\n\nThis reverts commit 85f9096b5272c9a39e592e2e97cbbe6cb0e767ab.\n\nReason for revert: lensblur broken.\n\nChange-Id: I83ac163159fc537bc15936a0f8597a7512ca9d6e\n"
    },
    {
      "commit": "85f9096b5272c9a39e592e2e97cbbe6cb0e767ab",
      "tree": "6d63c7fd5f5d8bea10a540d556f44769520b3057",
      "parents": [
        "f5121c964b5cc7ca4c71313b7a25abdd81377e36"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Aug 31 18:35:06 2018 +0000"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Aug 31 22:13:15 2018 +0000"
      },
      "message": "Revert \"Revert \"TextureView Vulkan support and optimized OpenGL draw\"\"\n\nThis reverts commit 867c43de0544217d26c3ee18f4d6603bb2ea97ce.\n\nReason for revert: Fixed issue with unsupported hardware buffer formats by landing https://skia-review.googlesource.com/c/skia/+/150470 \"Support more hardware buffer formats\"\n\nBug: 113673613\nChange-Id: I1f7c528f138e290160e75833c8d989d9535002ee\n"
    },
    {
      "commit": "e6cfb09cc4938078d14b1b4abca1678ac8fb170c",
      "tree": "c71f82bc74a53be28d30c88ca3b8f84b666578de",
      "parents": [
        "c72888de5dec8327da3d1a8d328f2c92a629d91e",
        "867c43de0544217d26c3ee18f4d6603bb2ea97ce"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Aug 30 18:56:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 18:56:41 2018 +0000"
      },
      "message": "Merge \"Revert \"TextureView Vulkan support and optimized OpenGL draw\"\""
    },
    {
      "commit": "867c43de0544217d26c3ee18f4d6603bb2ea97ce",
      "tree": "d780e25edaa90578c80309a105d6fe2e9eea71c8",
      "parents": [
        "c8e22a653297837da9a80b0ba65f6854c8986c96"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 30 16:47:59 2018 +0000"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Aug 30 18:42:08 2018 +0000"
      },
      "message": "Revert \"TextureView Vulkan support and optimized OpenGL draw\"\n\nThis reverts commit c8e22a653297837da9a80b0ba65f6854c8986c96.\n\nReason for revert: broke camera, b/113555199\n\nBug: 113555199\nChange-Id: Iae9b462694d5de0cd99427afead63b567fb4d71d\n"
    },
    {
      "commit": "54b9892f3cc8ed30bfe660ff2957aefeb484b092",
      "tree": "0c9374ad222a99e4c7b709230e594be12d57dc24",
      "parents": [
        "c8344a19637ff39f84cbd6acecb952c80f2c4de5",
        "c8e22a653297837da9a80b0ba65f6854c8986c96"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 29 15:51:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 29 15:51:15 2018 +0000"
      },
      "message": "Merge \"TextureView Vulkan support and optimized OpenGL draw\""
    },
    {
      "commit": "c8e22a653297837da9a80b0ba65f6854c8986c96",
      "tree": "7344df1a8aff45ccbf5b9ffb5b4de49499cc7c94",
      "parents": [
        "660bb2f3a1dde0b5cca5c8293bf0e72d47b2b6fc"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Aug 14 13:30:17 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Aug 29 10:22:03 2018 -0400"
      },
      "message": "TextureView Vulkan support and optimized OpenGL draw\n\nRender TextureView as hardware bitmaps, instead of GL textures.\nCache SkImage for each observed GraphicBuffer, which is faster\neven for GL.\nImplement C++ SurfaceTexture, which allows Java SurfaceTexture\nto be used with Vulkan HWUI render thread and application GL.\nthreads. Delete GLLayer and VkLayer classes and texture code\nfrom old HWUI pipeline.\n\nTest: Ran skiagl and skiavk pipeline with a TextureView app.\nTest: TextureView CTS tests pass for GL pipeline.\nTest: Ran Android NDK Native codec sample app.\nChange-Id: Idc94f864ce2d34fd6ceff4be4fc7d3327e99879c\n"
    },
    {
      "commit": "8e7cf05d27bfc2c425028886f4a7c60f3ba19e31",
      "tree": "c5a3399f0a437fc81aae96bcc08f0d7c3b0f5d4b",
      "parents": [
        "ea412d3b03b93ff8ee51a1f5b16fa460db5114e2",
        "25469aacb8fa4f0198af945b5a9878008e16f2c4"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Tue Aug 28 18:01:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 28 18:01:24 2018 +0000"
      },
      "message": "Merge \"Remove DefaultContainerService usage in StorageManagerService.\""
    },
    {
      "commit": "25469aacb8fa4f0198af945b5a9878008e16f2c4",
      "tree": "41bb78305bbd9b4dc98bb867c7c10d6669050d42",
      "parents": [
        "c0ea4241bb9ea8d0b9dea5147ac839884b42b55d"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Aug 27 15:50:23 2018 -0700"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Aug 27 15:50:59 2018 -0700"
      },
      "message": "Remove DefaultContainerService usage in StorageManagerService.\n\nStorageManagerService uses DefaultContainerService to obtain ObbInfo\nfor files passed through mountObb() transaction. This change moves this\nlogic to client side and so ObbInfo will be passed as part of mountObb()\ntransaction.\n\nBug: 111838160\nTest: atest src/android/os/storage/cts/StorageManagerTest.java\nTest: atest core/tests/coretests/src/android/os/storage/StorageManagerIntegrationTest.java\nTest: atest services/tests/servicestests/src/com/android/server/MountServiceTests.java\nChange-Id: I29aee3aa54a45057df96aae289888161a3e3af71\n"
    },
    {
      "commit": "ff5193f4e3b38104a0452d3eaf245f403e51f8d0",
      "tree": "b5a69de6d7a0d5090ae62f30b034981720182149",
      "parents": [
        "7fe46504bea1d55b83ceec0cb07b4b8d4fd80aeb"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Aug 23 14:34:43 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Aug 23 14:35:37 2018 -0700"
      },
      "message": "Use multiple patterns and/or emails in per-file syntax.\n\nTest: build/make/tools/checkowners.py -c -v OWNERS\nChange-Id: I8f78e02a634d4aab4996a735369dc1fb51232e89\n"
    },
    {
      "commit": "d2cb322e93007dc41fe2880008fe58fc80e315e6",
      "tree": "a3e1952c342def4029c5e19265026ec4bf872488",
      "parents": [
        "d3d564a802bf61b5e3916ed3dcfbd952773102be"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 12:01:03 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 12:22:20 2018 +0900"
      },
      "message": "Add codewiz@, reminv@ to OWNERS for connectivity\n\nTest: m\nChange-Id: I11df4c93ac61b620fc576a2ff17192b7c9ecb984\n"
    },
    {
      "commit": "5652b43cca1145272e011d8f30d56172b250f3a4",
      "tree": "eab896083bc0e512642b7e9cc48ba9429273c832",
      "parents": [
        "a12ca888a59c2488aef0c40887fccdc958b65406",
        "85ec63532fa87f4b5805a65a2e6f2807fa00e51a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri May 11 03:29:21 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 11 03:29:21 2018 -0700"
      },
      "message": "Merge \"Move registration of AssetManager.mObject to zygote.\" into pi-dev\nam: 85ec63532f\n\nChange-Id: I5f8035cb13d51a038b81ddc779e2881f683eb200\n"
    },
    {
      "commit": "a55a59a4f5102c54a08aae0e2e3d38a5095666e1",
      "tree": "0c9c74b21f9951575807aae2f692a9fa049f9034",
      "parents": [
        "618418af0993263c3d9ca833dfb36dd6a2c1b5aa"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 10 15:00:13 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu May 10 15:00:13 2018 +0100"
      },
      "message": "Move registration of AssetManager.mObject to zygote.\n\nbug: 73865351\nTest: m\n\nChange-Id: I9d0f0c8ae016b8823246e25bfdbff0d4fd8eaae1\n"
    },
    {
      "commit": "536a560df29e7bd0db254006ef25c7d44a52f5eb",
      "tree": "e72dd58653075910ca06bce15b487deafe589477",
      "parents": [
        "44027dbc13213dc297a1415dd2f42c2f07a4098b",
        "a9725d2d6d86d29ec22d12b019c6830496c58c75"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Apr 05 19:40:32 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 05 19:40:32 2018 -0700"
      },
      "message": "Merge \"Remove an API that doesn\u0027t exist.\" am: 454b1e37eb\nam: a9725d2d6d\n\nChange-Id: Ie7fea7d068053b4e502e2ac8448d392db9c9d54f\n"
    },
    {
      "commit": "d377f90dc7fd5ebd3682bf7fde588cd35ff29c35",
      "tree": "66eae25502346b4d2af18c8ef56e091b04a8a476",
      "parents": [
        "46be1f15af206d43cf032c5b4dd84743c776fff9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Apr 05 15:00:00 2018 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Apr 05 15:00:00 2018 -0700"
      },
      "message": "Remove an API that doesn\u0027t exist.\n\nApparently this was removed in Jelly Bean:\nhttps://stackoverflow.com/q/24312632/632035. Keeping the decl in the\nNDK just confuses people: https://stackoverflow.com/q/49646596/632035.\n\nTest: make checkbuild\nBug: None\nChange-Id: If549fcd8f4052e633646c4ce8a054a0bbcd8b2bf\n"
    },
    {
      "commit": "bebfcc46a249a70af04bc18490a897888a142fb8",
      "tree": "18f0c31f70495b104ba81a8f340a2c03bbd57d75",
      "parents": [
        "0e35073ec9d02677f189e96b734d87d9dba650bd"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Feb 12 14:27:46 2018 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 28 19:06:48 2018 -0800"
      },
      "message": "Refactor AssetManager\n\nBug: 64071469\nTest: atest CtsContentTestCases\nChange-Id: Ia6856157e8813856268fba003e1e591d690cb26e\n"
    },
    {
      "commit": "df7675f1cb184f09b2a304d1aa8a25112d6b340f",
      "tree": "b0b2e7f23e976ba854c7403360da3ea0d681eacf",
      "parents": [
        "efab39ff7f06323568f6b1a401209f06521486d3",
        "0f4ca4a5c086899f4ab842ae70eb4c9474d2547a"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 28 14:13:52 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 28 14:13:52 2018 +0000"
      },
      "message": "Merge \"Don\u0027t use cutils/Atomic.h\" am: 07735797a2 am: a272d540d8\nam: 0f4ca4a5c0\n\nChange-Id: I4b9798b39d890537f888415b5ac283227970e4de\n"
    },
    {
      "commit": "fb7952f57e07c68cc66a3ec69f86694057f89def",
      "tree": "9f8aaf91b41c21ac0cffcd189e4892da573cab23",
      "parents": [
        "c65d52ff78ec8e5e4752be16c7c6d1bc31ca9593"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Feb 23 14:58:50 2018 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Feb 23 15:02:42 2018 -0800"
      },
      "message": "Don\u0027t use cutils/Atomic.h\n\nTest: builds\nChange-Id: I74485a5cbecb8710714f7bf3e54da61dd787838f\n"
    },
    {
      "commit": "cfaaecf9ce82f90f3ad8d028a5f9e885f3d2d416",
      "tree": "b505f30e37e08e540789562a56514c47c10095b9",
      "parents": [
        "0eb747e51eb19ad328d08c3a2e435cbedda0e352",
        "00d125652e44e940189f3f8be1ea44fbff950798"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Feb 15 14:14:36 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 15 14:14:36 2018 +0000"
      },
      "message": "Merge changes Icd56662d,I0ece820f am: 47ef64b0d2 am: bf66580c0b\nam: 00d125652e\n\nChange-Id: Idbfe334fec6ded270635eb204686a89d4666a61a\n"
    },
    {
      "commit": "8a2105759bf7a5801d7dbbdf4516b7d1fdcc6261",
      "tree": "8ebb9be0599d4c406c3b2f34e2dd022d9213a0b1",
      "parents": [
        "9f1682876751b9e4b14f7919d0205fdd02809575"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Feb 15 15:51:58 2018 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Feb 15 15:57:25 2018 +0900"
      },
      "message": "Add OWNERS to the libandroid_net library.\n\nTest: None\nChange-Id: I0ece820fc0de786a81df9f922135acdf92f1d136\n"
    },
    {
      "commit": "bde1df21adf264d3398b9f3274f353faa6399008",
      "tree": "51909e52f6741528e2b6f69923affc43410e40f2",
      "parents": [
        "2a447172a5b8c4fdb8527602144691802c492c2e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 09 11:12:22 2018 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 09 12:43:24 2018 -0800"
      },
      "message": "Revert \"Replace AssetManager with AssetManager2 implementation\"\n\nThis reverts commit 1187590da38457809dd368d4901c9c47ac5a6958.\n\nBug: 73134570\nChange-Id: I59b4d714e447478ea124f086356f127f42251fb7\n"
    },
    {
      "commit": "3160c8b0f792d2153f020fe810290ddf8d61b15c",
      "tree": "67a972697f6c2a59203008f32b8206da472a23db",
      "parents": [
        "27d86e9088639d70d962a64bb8c2e30c06386592"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 09 11:01:13 2018 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 09 12:42:50 2018 -0800"
      },
      "message": "Revert \"AssetManager2: Fix issue with native cast\"\n\nThis reverts commit 93811532096a2d0d822f64d6271dca4f1147841d.\n\nBug: 73134570\nChange-Id: I5a63ed4b79d5c249ff77059783d9c9d56f0dcf93\n"
    },
    {
      "commit": "93811532096a2d0d822f64d6271dca4f1147841d",
      "tree": "5b8f4c3107c10fade103a24bb196e0d082685897",
      "parents": [
        "09726a5d9dc691762a9bdd52221fbb76bac9dd3b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 08 22:57:00 2018 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Feb 08 23:23:08 2018 -0800"
      },
      "message": "AssetManager2: Fix issue with native cast\n\nThe NDK wasn\u0027t fully updated to be aware of the fact that\nthe implementation of AAssetManager changed.\n\nBug: 73120367\nTest: manual - YouTube TV doesn\u0027t crash\nChange-Id: I6d897ddf197bdcac8118d26e55f40ab9542f5013\n"
    },
    {
      "commit": "1187590da38457809dd368d4901c9c47ac5a6958",
      "tree": "207ff9de48e4ea27560f08cf4c4d1f5269009534",
      "parents": [
        "367358ec364d9aca36b305879672f7c26db27469"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 23 12:58:11 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Feb 05 18:38:49 2018 -0800"
      },
      "message": "Replace AssetManager with AssetManager2 implementation\n\nTest: atest CtsContentTestCases:android.content.res.cts\nTest: make libandroidfw_tests\nChange-Id: I2bb6d7656d2516d371e83e541ed02f91405f6d94\n"
    },
    {
      "commit": "c3c8d423de89f511ce9997a67c97a4fb371f2213",
      "tree": "eabcbb02d68c8844a5549d21aa8a0b53d9b22b85",
      "parents": [
        "2c7ae06c99dccb266dcc2e48fffc5ea933804a98"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jan 30 18:07:27 2018 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 02 03:06:05 2018 +0000"
      },
      "message": "New NDK APIs for SurfaceTexture\n\nThese native APIs give access to most SurfaceTexture\njava APIs from native code.\n\nIn addition to java APIs it also gives access to\nthe current buffer using AHardwareBuffer.\n\nThe main goal of this is to allow game engines\n(mostly) to access things like camera or video\nwithout having to call back into java from\ntheir GL thread.\n\nTest: Manual with filament. Created a SurfaceTexture from java\npointed to a camera stream. Visualized the\ncamera stream on a 3D mesh.\n\nChange-Id: I0aa104c38553b00f9dadbbaecca06be5dd2868ea"
    },
    {
      "commit": "f7d01dd7e14e01420c39e7fb8eca3cfa0f5f31b6",
      "tree": "2ac2502467b144cc9a777f484e6b64aa37d30047",
      "parents": [
        "646265cb2a4af0b1b795fbb2f76ad424ce97cba3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jan 25 15:38:58 2018 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jan 25 17:39:40 2018 -0800"
      },
      "message": "Revert \"Replace AssetManager with AssetManager2 implementation\"\n\nThis reverts commit dcb3c6559b09ec89771858ec27a787027da9af50.\n\nBug:72511998\nChange-Id: I665966ca109f66f85d8665db388c71ea2303c3b8\n"
    },
    {
      "commit": "dcb3c6559b09ec89771858ec27a787027da9af50",
      "tree": "83aeb141e483ec7d059b7089e00b761ace122662",
      "parents": [
        "262cdf0f2724aaeade73a6c9e7b7466e0adf1007"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 23 12:58:11 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 24 15:19:04 2018 -0800"
      },
      "message": "Replace AssetManager with AssetManager2 implementation\n\nTest: atest CtsContentTestCases:android.content.res.cts\nTest: make libandroidfw_tests\nChange-Id: I572eb13c6a4372c7f656f5912821cececd5bf3d4\n"
    },
    {
      "commit": "7fb38311361390e24d7e43ce1eb220faccd251ff",
      "tree": "c4e6dc480cb292306aa2dc3a481b51df983bbc08",
      "parents": [
        "68d10d00a52be904766d69acda98bc934e768e7f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 23 03:17:26 2018 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 23 03:17:26 2018 -0800"
      },
      "message": "Revert \"Replace AssetManager with AssetManager2 implementation\"\n\nThis reverts commit b20a0ce59f59cb5ec857748e056cc341dbd13b92.\n"
    },
    {
      "commit": "1f62f7c72eaa6477950d6c0bf1bde562a68f6301",
      "tree": "b59b8366a72fd41253e8334bcb2533363c875337",
      "parents": [
        "060ac9bc9fe88c18838101eb13568bfff50f5886",
        "392132748416719e3df427e6ac8dc11af194342c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 23 05:28:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 05:28:11 2018 +0000"
      },
      "message": "Merge changes from topic \"assetmanager-refactor\"\n\n* changes:\n  libandroidfw: Improve performance of AssetManager2\n  libandroidfw: Add ApplyStyle and SetConfiguration benchmark\n  Make idiomatic use of ApkAssets and AssetManager\n  Replace AssetManager with AssetManager2 implementation\n"
    },
    {
      "commit": "e4fc6322a4f89c97843ad82950fb6757050b0072",
      "tree": "1be2abf240d4a9e8e5dc8a7d066999dcf8175b88",
      "parents": [
        "639fe64ce0d6daac8698d8ed2db5d526f3a3b015"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Sep 05 11:15:37 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 16 02:08:09 2018 +0900"
      },
      "message": "Change the netId to nethandle mapping.\n\nBeing able to update this handle is necessary to ensure that\nsystem-only OTAs do not break vendor code that relies on\nnethandles.\n\nBug: 63052780\nTest: walleye builds, boots, networking works\nTest: MultinetworkApiTest CTS tests passes\nChange-Id: I049a4ad2610ca68b8f56377b63be7e5e8ce76039\n"
    },
    {
      "commit": "b20a0ce59f59cb5ec857748e056cc341dbd13b92",
      "tree": "6e28d25ea0dbe435b9bcc607827b7c1832f7c79f",
      "parents": [
        "d6808dc0c00ba45fd589449647f792daf9fa8126"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jan 23 12:58:11 2017 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 09 16:28:58 2018 -0800"
      },
      "message": "Replace AssetManager with AssetManager2 implementation\n\nTest: Existing CTS tests pass\nTest: make libandroidfw_tests\nChange-Id: I858f7e1d909c08273b096601136e3f28e15eb5d4\n"
    },
    {
      "commit": "107366ad42567476ced9d6d86e047364e0438e44",
      "tree": "a41837c1e75da405df0c9b57a175f84c64a2f6d8",
      "parents": [
        "a0936c7b897afafbffdf85793b29a494fe98bf29",
        "10663e4f76cbcf647a6cecdede70ae04c00718d6"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 22 19:27:42 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 22 19:27:42 2017 +0000"
      },
      "message": "Merge \"Remove TTS symbols from NDK stub library.\" am: b056324630 am: 8d8c374307 am: 9424fad097\nam: 10663e4f76\n\nChange-Id: Ib9675e2e271bec1f2f0dfae65c915620682a9722\n"
    },
    {
      "commit": "b056324630b8adfeb38393bcab49f3b9c720f4fd",
      "tree": "8e164ac4a0c5b71e2e80174873e85b7f5de882f6",
      "parents": [
        "fa7e99ddf1e7b9625627915bf66ced62b9b62a7d",
        "3644edb0b6084f43446ee65222e0d46f97efa217"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 22 18:03:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 22 18:03:10 2017 +0000"
      },
      "message": "Merge \"Remove TTS symbols from NDK stub library.\""
    },
    {
      "commit": "3644edb0b6084f43446ee65222e0d46f97efa217",
      "tree": "e32fd100b5f2dce4b92aba577199e6985808137f",
      "parents": [
        "42d3eadb37a8788d62bc9dedfa9f4cb37f2a88d7"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 22 00:15:25 2017 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Aug 22 00:15:25 2017 -0700"
      },
      "message": "Remove TTS symbols from NDK stub library.\n\nThese haven\u0027t actually existed in libandroid for some time. We can\u0027t\nfix the past, so just remove the API from the NDK.\n\nTest: make checkbuild\nBug: http://b/64572149\nChange-Id: Ic68e81c63e738e6d341bcae6178cdcc080326da4\n"
    },
    {
      "commit": "e4f60cce8552a565efacf4907242574b9e00492d",
      "tree": "8bc59ea68022818524035e6269e13bd9db1bb40e",
      "parents": [
        "cbf16572eb8121a40ecba67ae15796b40f7bc346"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Aug 07 11:17:06 2017 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Aug 07 15:36:10 2017 -0700"
      },
      "message": "SharedMemory API changes\n\nHides getFd \u0026 getFileDescriptor due to lifecycle concenrs.\nAdds ASharedMemory_dupFromJava to allow sharing a shared\nmemory region between Java \u0026 Native as safe as possible.\nMis-use results in an FD leak instead of double-close.\n\nBug: 64394076\nTest: SharedMemory CTS tests\nChange-Id: I01a5eb978fc4e99559a79baac75754c32f13bdc4\n"
    },
    {
      "commit": "2412b4d979f0dbdb6ac8265bf97b3665fde83719",
      "tree": "54274f575a44904bc55666e661c169b37f48d48d",
      "parents": [
        "6c315479a3cd82ef1fd1ac02acfc270ef69b7956",
        "9f430b2782849090d2e5e3737304cd26724366fa"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 20 03:11:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 20 03:11:00 2017 +0000"
      },
      "message": "Merge \"frameworks/base: use proper nativehelper headers\" am: 826eafd958 am: 5c091dc944 am: c840945a78\nam: 9f430b2782\n\nChange-Id: Ibe321dd4a8aae9342c76da0780edf94b90e8cd3a\n"
    },
    {
      "commit": "5c091dc9449b583e18656a8850a61f557dfcc945",
      "tree": "db4ca724dd661b112d2bd72da67f2a91edce0850",
      "parents": [
        "5f047a68d96f252772144a729f423c172ce816e4",
        "826eafd95885adbfc142f3f70ec82b4091abed85"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 20 02:50:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 20 02:50:53 2017 +0000"
      },
      "message": "Merge \"frameworks/base: use proper nativehelper headers\"\nam: 826eafd958\n\nChange-Id: I36f10ff4d963284a313f1cc5b368f82549a4adb2\n"
    },
    {
      "commit": "2279b2534272282a5b5152723235da397e49195c",
      "tree": "884c0a32e34c87d58e8f36329eb77d6dec7a8ab4",
      "parents": [
        "a1d67fb38ec02150d674bc3b8d8354b53417552b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 09:50:45 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 10:06:40 2017 -0700"
      },
      "message": "frameworks/base: use proper nativehelper headers\n\nlibnativehelper exports headers under nativehelper. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using frameworks/base find headers\nBug: 63762847\nChange-Id: I0f9f231acdebe460f279135462f43d3e32eff64d\n"
    },
    {
      "commit": "7a4f741f561c554e283aa76f717a96e3724798e4",
      "tree": "2a4bc6c2f2cdc661d446c621d8db9eeddd45deae",
      "parents": [
        "363226710523a5662519e8b5814299f8ca4ef7c1"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jun 29 16:53:47 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jun 29 16:53:47 2017 +0900"
      },
      "message": "fix: android/multinetwork.h can\u0027t be imported when using libandroid_net\n\nlibandroid_net is a subset of libandroid exposing the multinetwork\nfunctionality. Contrary to libandroid which is not available to vendors,\nlibandroid_net is available to vendors as ll-ndk.\n\nHowever, the header path for the two libraries are different.\n\nfor libandroid:\ninclude \u003candroid/multinetwork.h\u003e\n\nfor libandroid_net:\ninclude \u003cmultinetwork.h\u003e\n\nThis is because multinetwork.h is located in\n\u003chome_of_libandroid_net\u003e/include directory. Since many vendors are using\n\u003candroid/multinetwork.h\u003e, we need to have a subdirectory \u0027android\u0027.\n\nBug: 63120916\nTest: build\nChange-Id: I1cbc6e1641edda2013c80f9b16b825f0854776c1\n"
    },
    {
      "commit": "e1c426f53c1792dd0ee1c80967539dd6ea84e816",
      "tree": "f19dca5cc31ef207a806c8207544fe0cd3a6b3f9",
      "parents": [
        "c11eecd489d5fa738793b58ad3c114d102aebbe0",
        "cffee96a16857219be43b43dfc010a000a90d670"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri May 26 01:01:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 26 01:01:21 2017 +0000"
      },
      "message": "Merge changes from topic \u0027multinetwork_vndk\u0027 into oc-dev\nam: cffee96a16\n\nChange-Id: I91cac262cdb6af6e441c4750636ec28a97f2ad1a\n"
    },
    {
      "commit": "ec37d5f6a68b8ab87258b0e2e661f72ad030a0c9",
      "tree": "b681e77e3300877f282eab5a2cac4f11db56e167",
      "parents": [
        "addb296226042268122dea73c4b3ae9bda14d4bb"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed May 17 16:50:17 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri May 26 06:02:26 2017 +0900"
      },
      "message": "Allow vendor code to link to libandroid_net.\n\nThis library contains only the multinetwork API, which is part\nof the NDK and has long-term support. It is needed by any native\nthat wants to use network communications on a different network\nthan the default network, and thus is necessary for vendor code\nsuch as IMS clients or carrier applications.\n\nBug: 37527489\nTest: marlin builds and boots\nTest: MultinetworkApiTest CTS tests passes\nChange-Id: I2aa592d1d082aae410173adf2a09f6d1dd8092dc\nMerged-In: I2aa592d1d082aae410173adf2a09f6d1dd8092dc\n"
    },
    {
      "commit": "addb296226042268122dea73c4b3ae9bda14d4bb",
      "tree": "75f6f458591ab958a9a50b25ee5197f5e65ea673",
      "parents": [
        "9eb635c428367f0b67ed8acd5bc11f3275c400af"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed May 17 16:46:02 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri May 26 06:00:00 2017 +0900"
      },
      "message": "Move libandroid_net from Android.mk to Android.bp.\n\nThis is the first step of making libandroid_net available to\nvendor code. This is a partial cherry-pick of ag/2210044 that\nonly moves the build target (hence the Merged-In change ID).\n\nBug: 37527489\nTest: marlin builds and boots\nChange-Id: Id9e4d13d4e75f6f6381c675c4e9f72e9f4769d22\nMerged-In: Ie3c9c3d3c8c75ade36422d1e8ee0a5fe117e9091\n"
    },
    {
      "commit": "d15f0af2fe5cf698e23ee1842814d4594e8eeb97",
      "tree": "02280ecad6b8148e7b7f8276c24dae0fa2812144",
      "parents": [
        "093f1098de43a376f79a9dd956117345f0fcbe3d"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed May 17 16:50:17 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu May 25 16:42:12 2017 +0900"
      },
      "message": "Allow vendor code to link to libandroid_net.\n\nThis library contains only the multinetwork API, which is part\nof the NDK and has long-term support. It is needed by any native\nthat wants to use network communications on a different network\nthan the default network, and thus is necessary for vendor code\nsuch as IMS clients or carrier applications.\n\nBug: 37527489\nTest: marlin builds and boots\nTest: MultinetworkApiTest CTS tests passes\nChange-Id: I2aa592d1d082aae410173adf2a09f6d1dd8092dc\n"
    },
    {
      "commit": "5c5b7f0ed7e9eb5c2452637fde542ba08cab1536",
      "tree": "7ac0af1fff16188c5102b68a37a45962086bb3dc",
      "parents": [
        "58f94a95268b68b8d4b5f6b5f58d0f4ffba52c62"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 20 12:20:20 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat May 06 00:52:03 2017 +0000"
      },
      "message": "Convert libandroid and libandroid_runtime to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m -j checkbuild\nChange-Id: Ie3c9c3d3c8c75ade36422d1e8ee0a5fe117e9091\nMerged-In: Ie3c9c3d3c8c75ade36422d1e8ee0a5fe117e9091\n(cherry picked from commit 3f8fd40f285dba5b3639ee1e3d4e4544048c1446)\n"
    },
    {
      "commit": "af737306f943570dd3d6c8a74681622bdb7ca275",
      "tree": "498645d5b2546dada67fc7e451c077c2b009f98f",
      "parents": [
        "a1103c0b6987b3a1cc29bef85c1732494ebec424"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 20 12:20:20 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat May 06 00:50:39 2017 +0000"
      },
      "message": "Convert libandroid and libandroid_runtime to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m -j checkbuild\nChange-Id: Ie3c9c3d3c8c75ade36422d1e8ee0a5fe117e9091\n(cherry picked from commit 3f8fd40f285dba5b3639ee1e3d4e4544048c1446)\n"
    },
    {
      "commit": "3f8fd40f285dba5b3639ee1e3d4e4544048c1446",
      "tree": "4bed8c8820578088851bbeafac3d90ed0b5ad116",
      "parents": [
        "99c9bf65ae84264498b9d6562cf5bf298e1c584f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 20 12:20:20 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 13:00:21 2017 -0700"
      },
      "message": "Convert libandroid and libandroid_runtime to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m -j checkbuild\nChange-Id: Ie3c9c3d3c8c75ade36422d1e8ee0a5fe117e9091\n"
    },
    {
      "commit": "5f73ab7e2a591d45b67a7aaf1b26cc9dcfe58502",
      "tree": "862378c284b954e961324a24b9fa84a4be82a15d",
      "parents": [
        "b16014169891509543ef229986a4559c1a185ffb"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Apr 17 08:54:43 2017 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Mon Apr 17 08:55:24 2017 -0700"
      },
      "message": "Include vndk/hardware_buffer.h for AHardwareBuffer_getNativeHandle\n\nThis function is now VNDK-only, and not in the NDK header.\n\nBug: 34050596\nTest: build\nChange-Id: Id0147dbdb65157da9692e7f38b1a068be18be2b9\n"
    },
    {
      "commit": "68686dbb410940972c4189eec644608b6435005d",
      "tree": "e1d72616f75ce9fb62e6656210594c94712b92ea",
      "parents": [
        "7bf58d5975a00bb5ec810e21253e200f6e01c732"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 07 15:48:45 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Apr 11 15:15:02 2017 +0000"
      },
      "message": "Remove .(ll)ndk suffix from (ll)ndk_library\n\nSoong handles these automatically now.\n\nBug: 33241851\nTest: Android-aosp_arm.mk is the same before/after\nTest: build.ninja is the same before/after\nTest: build-aosp_arm.ninja is the same before/after\nMerged-In: Ic10796e75bb886cc3f92c234714ab3e6c85112df\nChange-Id: Ic10796e75bb886cc3f92c234714ab3e6c85112df\n"
    },
    {
      "commit": "3dcf0318661fb66073122bd0c4b670b2b50e4546",
      "tree": "7d9e862d613b4c5e0bec8e87e725863bc18b595a",
      "parents": [
        "0ac8fd7adbebbbdfbe0f898fc3a82fbafba130ac"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Apr 07 15:48:45 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 10 12:54:37 2017 -0700"
      },
      "message": "Remove .(ll)ndk suffix from (ll)ndk_library\n\nSoong handles these automatically now.\n\nBug: 33241851\nTest: Android-aosp_arm.mk is the same before/after\nTest: build.ninja is the same before/after\nTest: build-aosp_arm.ninja is the same before/after\nChange-Id: Ic10796e75bb886cc3f92c234714ab3e6c85112df\n"
    },
    {
      "commit": "d28e8283d39e7eb6c714511a0430d4cc836298cb",
      "tree": "e83bd8cf3a0f4d3d4eef9aa10d978b783b22414c",
      "parents": [
        "b43a5305bddb81881992819a40846b52e72afd3e"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Mar 31 11:19:50 2017 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Apr 03 19:13:31 2017 -0700"
      },
      "message": "ANativeWindow_toSurface implementation\n\nThis enables the conversion from an ANativeWindow (created by NDK API\nsuch as: AImageReader_create) to a Java Surface, so that developers can\nhookup a Java Producer to a native buffer consumer.\n\nThis CL also introduces android_view_Surface_createFromSurface helper\nfunction in libandroid_runtime to convert a C++ sp\u003cSurface\u003e to a Java\nSurface object.\n\nBug: 36862948\nTest: android.media.cts.NativeImageReaderTest\nChange-Id: Ia99adb654da505ac117a8e58153ac800df23a650\n"
    },
    {
      "commit": "63483ad25280b66bd077b3b5e6864ff22a129e9d",
      "tree": "8219d77b45477d279261af64a5419f763a8e3a58",
      "parents": [
        "1c83656e3c5518287b3d8cc7dccaf98b81d84adf"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Tue Feb 28 17:00:16 2017 -0800"
      },
      "committer": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Tue Mar 07 15:47:21 2017 -0800"
      },
      "message": "Parameter checks for sensor NDK APIs, fix map file\n\n* Add parameter check for all sensor NDK APIs.\n* Added a previously added API (from AOSP contribution) to\n  libandroid.map.txt file.\n\nTest: SensorNativeTest pass\nChange-Id: I6482a684767034f2a31d806a4cba0d6648dcabff\n"
    },
    {
      "commit": "caf8930960ae68d5be2a8952cc127bf3f154f433",
      "tree": "0dea58fb58cdad356e9e8dc72947f12e8ecce057",
      "parents": [
        "a3d279fa4b258498f3b7ee678e546a82e76cdaaf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 06 16:06:49 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 06 16:09:55 2017 -0800"
      },
      "message": "fallout of splitting libsensor out of libgui\n\nTest: compile \u0026 run\nBug: treble cleanup\nChange-Id: Ib696126506cc9df01dcf9e09779ce05ddb69e4b6"
    },
    {
      "commit": "bce1d3b60b145d75f6ed1fdd16d2bf3e31f41301",
      "tree": "3c848f59ba69e57e8c10a142b5a5aa85e618bb14",
      "parents": [
        "b5144655c20e4362087c3797d17838a4d54fe7b3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Mar 02 18:50:28 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Mar 02 18:55:39 2017 -0800"
      },
      "message": "Revert \"Remove AHardwareBuffer_ API from libandroid\"\n\nThis reverts commit 8e90cc3e3adf1d84b92b0b165193762cc8bb295d.\n\nBoth ANativeWindow and AHardwareBuffer need to be\navailable in libandroid (as well as libnativewindow)\notherwise it would make our developer’s life\nvery difficult when they want to support multiple\nversions of android.\n\nMoreover, this would have an impact on AndroidStudio\nwhen doing an NDK project.\n\nTest: compiled\nBug: treble\n\nChange-Id: I2cc63b06b3f80fa80f7170ba2ba2996228fa9b2c\n"
    },
    {
      "commit": "8e90cc3e3adf1d84b92b0b165193762cc8bb295d",
      "tree": "eccd67cf37f02a48adbeb0392038e8bbc9f2c7d7",
      "parents": [
        "c5e74cc2ff8be0c6b1b6282b151c89dbb1a0e97e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 28 17:02:58 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Mar 01 20:24:21 2017 +0000"
      },
      "message": "Remove AHardwareBuffer_ API from libandroid\n\nIt’s now in libnativewindow. Also tag\nANativeWindow_ symbols as removed (no-op currently)\n\n\nTest: compiled\nBug: treble\nChange-Id: I912a7d09b35f25cf7d33d224f42b9779a3e0ae71\n"
    },
    {
      "commit": "555bf41049bbc387d920704f7a1f23314bc84986",
      "tree": "14e17d2b6d476a6cb67fc7149c48f0b8b3417e06",
      "parents": [
        "abe498d16dad8714e2d71829de0d2451bc863f8d",
        "3b170173460def252c834fa46706775ed4e1d9a7"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Wed Mar 01 17:58:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 01 17:58:36 2017 +0000"
      },
      "message": "Merge \"Add direct sensor report NDK API\""
    }
  ],
  "next": "3b170173460def252c834fa46706775ed4e1d9a7"
}
