)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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\""
    },
    {
      "commit": "3b170173460def252c834fa46706775ed4e1d9a7",
      "tree": "eb8de33784c449b710e463c66da2a457d6352fb9",
      "parents": [
        "5f88ac5ccef78203c62e32e0503f18dd46102c5e"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Wed Feb 15 23:25:21 2017 -0800"
      },
      "committer": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Tue Feb 28 17:30:47 2017 -0800"
      },
      "message": "Add direct sensor report NDK API\n\nAdded libandroid mapping and implementation of the following API:\n\n  * ASensorManager_configureDirectReport\n  * ASensorManager_createSharedMemoryDirectChannel\n  * ASensorManager_createHardwareBufferDirectChannel\n  * ASensorManager_destroyDirectChannel\n  * ASensor_getHighestDirectReportRateLevel\n  * ASensor_isDirectChannelTypeSupported\n\nTest:  cts-tradefed run cts --module CtsSensorTestCases \\\n      --test android.hardware.cts.SensorNativeTest\n\nBug: 30985702\nChange-Id: Ic808cc50d1ecbc789944ef77a4b247dc0c83c28a\n"
    },
    {
      "commit": "2e2c35febfa13c41bc8778137f86429771b27687",
      "tree": "f38ad27023571f4a79a26039c06bb8624855534c",
      "parents": [
        "321ea181673cdf5a33624cfd37fe07e675a66896",
        "5f88ac5ccef78203c62e32e0503f18dd46102c5e"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Mon Feb 27 20:58:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 27 20:58:23 2017 +0000"
      },
      "message": "Merge \"Added implementation of shared memory NDK API\""
    },
    {
      "commit": "5f88ac5ccef78203c62e32e0503f18dd46102c5e",
      "tree": "1bd5f063160e2b605034a1347a5093aef2b3cd70",
      "parents": [
        "a722a2ea38f65eda5e7cfaaff29465d396e6f1a3"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Fri Feb 24 01:53:10 2017 -0800"
      },
      "committer": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Fri Feb 24 02:42:51 2017 -0800"
      },
      "message": "Added implementation of shared memory NDK API\n\nImplemeneted the following APIs:\n\n*  int ASharedMemory_create(const char *name, size_t size);\n*  size_t ASharedMemory_getSize(int fd);\n*  int ASharedMemory_setProt(int fd, int prot);\n\nTest: cts-tradefed run cts --module CtsSensorTestCases \\\n      --test android.hardware.cts.SensorNativeTest\nBug: 5995644, 30985702\n\nChange-Id: I645b35e67293673efce9bb90f042ec0d3b83aa42\n"
    },
    {
      "commit": "fee4a985fd599e5bbfb0eb2d5d75af18ed8ae86e",
      "tree": "007e66054e8d42fbbe26be8e66b5169355b2cf6d",
      "parents": [
        "339dc75d46035f711d8bfee6b0425975c020f311"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 09 18:48:21 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 23 23:28:20 2017 +0000"
      },
      "message": "fallout of libandroid.so split\n\nTest: compiled \u0026 booted\nBug: 35164655\nChange-Id: I786167a21453e17493969cdacfc9d31bdb781d98"
    },
    {
      "commit": "f1cb02e7b53e22655f0e14041b0abf73f51a11b0",
      "tree": "195edc39095749375d567bb92bfd95d7e6513cdc",
      "parents": [
        "0df4c60716a230e2197c99a2224658efe9839e60"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 13 18:46:36 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 12:25:26 2017 -0800"
      },
      "message": "fallout of splitting rect.h out of libandroid.\n\n- Main goal here: libandroid now links against \nlibarect and export its includes.\n\n- Also fix some wrongful makefiles that included \nheaders without proper dependency list.\n\nTest: built and booted device\nBug: 35164655\nChange-Id: Iae17b966bba00fe53424486a75eebff468873787"
    },
    {
      "commit": "e68b4f73a92b4683a668608e1a64548eb7dbd27a",
      "tree": "d6720a164df494bbafc17014225ff6eecd37de1e",
      "parents": [
        "a43d2325752c5b747f517a4351d4944ba48e1b14"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 08 18:48:32 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 10 20:07:33 2017 +0000"
      },
      "message": "separate the JNI part of the NDK into their own source\n\nTest: built and booted device\nBug: 35164655\nChange-Id: I944c9f28730b82e8c428b5384dc57e1b296144b2\n"
    },
    {
      "commit": "99015fe465475ddb442596d4741b75435bd7baf3",
      "tree": "14db4a07304ffbd129ee8dc322ec8009ad57def7",
      "parents": [
        "0c4f715a1406b693c8be59baaadb87def0bcc8df",
        "900510642a97bc1799bf82c6e1a938d17f345c81"
      ],
      "author": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Wed Feb 08 01:42:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 01:42:35 2017 +0000"
      },
      "message": "Merge \"Use gralloc1 flags to allocate AHardwareBuffers\""
    },
    {
      "commit": "900510642a97bc1799bf82c6e1a938d17f345c81",
      "tree": "02f22c7e8ab51c18c7e62327a311c2f245496592",
      "parents": [
        "a59b4912b441db96f392934b56eb8a1721661985"
      ],
      "author": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Thu Feb 02 12:14:30 2017 -0800"
      },
      "committer": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Fri Feb 03 14:24:10 2017 -0800"
      },
      "message": "Use gralloc1 flags to allocate AHardwareBuffers\n\nBug: 34939453\nTest: cts-tradefed run cts -m CtsNativeHardwareTestCases\nChange-Id: I48add1b78c4e1409c0e787d6197f0582f0c3fb4c\n"
    },
    {
      "commit": "f2f6961b7b353be5860ffd343c198efcc80581a1",
      "tree": "242a7c19b665109b44da569c48fded69fda07910",
      "parents": [
        "dfc152bd3264855479bdc9ce9ce47d00a99dd7d2",
        "2e61c0eea327e7689fabd764be70a99818d1e6ca"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Feb 02 21:08:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 02 21:08:08 2017 +0000"
      },
      "message": "Compile native network functionis into libandroid_net. am: f3b7411060 am: af657d14fc am: 74a410ec81\nam: 2e61c0eea3\n\nChange-Id: I7a1d3c40bcf76a3e6eabb3eddff159a53af0c5c1\n"
    },
    {
      "commit": "2be5b9f9663f1f0d6a3b99b679cbfa3b43732e55",
      "tree": "fcdb119b2a6568e2415cb7ba0e095a30f5eef9e2",
      "parents": [
        "5559543e81e5bb82e84433f35453197ef991ce15"
      ],
      "author": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Tue Jan 24 18:14:44 2017 -0800"
      },
      "committer": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Tue Jan 24 18:43:30 2017 -0800"
      },
      "message": "Add support for BLOB format to HardwareBuffer.\n\nTest: updated CTS test to check for error conditions if the blob dimensions are\nbad.\nBug: 34050596\n\nChange-Id: I3ec6e7a43dae8d0ac2b2d04bc4b38cd3c12f8390\n"
    },
    {
      "commit": "0cff9d955e7bd378bcc57d34d34e8829cecb9dd3",
      "tree": "5d84e11d0cb9e4abd1b2accd91de77cb46fcaa5b",
      "parents": [
        "54df14956eb890bcd92ffa1590705f8b417ccf5b"
      ],
      "author": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Fri Dec 16 14:07:03 2016 -0800"
      },
      "committer": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Thu Jan 19 17:01:19 2017 -0800"
      },
      "message": "AHardwareBuffer implementation.\n\nBug: 34050596\nTest: Added gunit tests in CTS (CtsNativeHardwareTestCases)\nChange-Id: I41f914a6d346fbb5f818a6591c86e7bf12f0576c\n"
    },
    {
      "commit": "f3b7411060d5679515786b8792c2e0b518571b97",
      "tree": "594b72711d85d276e288b20bf68bc0ffdb4682be",
      "parents": [
        "0938b22c0ab3f28acfcbcc4099b93dc0a43a691a"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Nov 11 20:37:14 2016 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Jan 13 23:01:32 2017 +0000"
      },
      "message": "Compile native network functionis into libandroid_net.\n\nlibandroid includes some local implementations, but depends on many\nother libraries to provide those (counting transitive dependencies, a\ntotal of 65). This patch copies the native network functions provided\nby android/multinetwork.h header to its own new libandroid_net shared\nlibrary. This new library has only one other shared library dependency.\n\nBug: 32842753\nTest: `make` on aosp_arm-eng\nChange-Id: Ifbd529d9bf74a8d4f754733cff345729de6b1521\n"
    },
    {
      "commit": "98e462df7df5b9b59b6068f29946a8babb320a96",
      "tree": "484a29690031c58c4223831a3af5cacb1870c472",
      "parents": [
        "cc4203221bda6f05902b2fdc16f6fde9f105b932"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 05 16:01:14 2017 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Jan 06 11:04:14 2017 -0800"
      },
      "message": "Unversion NDK stub libraries.\n\nThe system versions of these libraries aren\u0027t versioned yet.\n\nBug: https://github.com/android-ndk/ndk/issues/278\nTest: make ndk\nChange-Id: I74e988be8f60f8728a0bfa7360091cbd9f5b1186\n"
    },
    {
      "commit": "2a8d9c20bd5bc2e9c05ef5909972507c1fa6dbe9",
      "tree": "f4011f18a06c10795e155e30e1a26bd73339bed3",
      "parents": [
        "b05b93a674804f38d327b24e3d660adc3ad8c982"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 23 15:55:49 2016 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Sep 27 13:59:04 2016 -0700"
      },
      "message": "Migrate libandroid.so to ndk_library.\n\nTest: make native\nBug: http://b/30465923\nChange-Id: I956b5014c4da4dce1ce28da706b9d868eba4cce3\n"
    },
    {
      "commit": "9650521ed12d68d3cee37c7bff553b0407816948",
      "tree": "419ed7ea70b52503b818bcc230e1c41bb7aad937",
      "parents": [
        "82957239fea4d09938b5d2ae47c3d6c686f4f6b9",
        "a11a8e50863e53124ec86ac248c0781d83f4bc48"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Aug 04 17:19:10 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 04 17:19:10 2016 +0000"
      },
      "message": "Merge \"Enable clang for arm64.\"\nam: a11a8e5086\n\nChange-Id: If6069ad099ec5068b9b77f1ea84b85ff4a20438d\n"
    },
    {
      "commit": "248bed03344831ebe6c4418605bf6770ea9e8f7c",
      "tree": "135ca464b0cc8d1dc00c91a8d3b1f56386be23a6",
      "parents": [
        "258a554f6299749322750a286d802267c240ec31"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 03 10:56:33 2016 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Aug 04 17:09:55 2016 +0000"
      },
      "message": "Enable clang for arm64.\n\nemutls should work now with latest prebuilt clang/llvm.\n\nBUG: 25642296\nTest: build and boot up on arm64 emulator.\n\nChange-Id: I5c8dd36a1575436e5fd56e91f7c285f2b3e6546f\n(cherry picked from commit 8ffb6b76f7a72e14882e09f882494e5f7d5fc45d)\n"
    },
    {
      "commit": "85e0c89ba55188ecc484538efbfdb570606fc1a2",
      "tree": "9e5d618c4446b2e4933b2035b77c8fb846062f93",
      "parents": [
        "237790ec48e83d1623ce44dd968e15059121df56",
        "1599b981fae5e606713e6c9a1698a7e36ef5ae09"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Apr 28 12:08:15 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Apr 28 12:08:15 2016 -0700"
      },
      "message": "resolve merge conflicts of 1599b981 to nyc-dev-plus-aosp\n\nChange-Id: I90807581e10b6a0024515ff634ac8b29eaa5fc9f\n"
    },
    {
      "commit": "c6baf563ba6aa207a48317c177b29f1d2b70cf3d",
      "tree": "38cb5ab3e8ce0ebe0bcdace644378ad037adb37f",
      "parents": [
        "cd4f7e12037acd16f500dc9a4be98e51fe58a11b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 11:29:23 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 11:38:12 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings.\n\nBug: 28341362\nChange-Id: Ibdd6a210bb7ff228e3624cc319169f77aca3b51e\n"
    },
    {
      "commit": "c0d3d3f80588c1bef5acd7d56ae701ac7271c7c6",
      "tree": "8d5f77a32fa24e36cab672fcf4a0cc02725c7018",
      "parents": [
        "63c168acf7a99a0120566a0a09a40ae04c789c5a"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Jan 26 16:03:25 2016 -0800"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Apr 14 10:18:09 2016 +0200"
      },
      "message": "Change storage duration to static for native choreographer.\n\nThis ensures that the region is zero initialized, regardless of compiler.\n\nChange-Id: Ie0bfa5d2cd2486ba31a45aee4de6c370513bfc62\n"
    },
    {
      "commit": "63c168acf7a99a0120566a0a09a40ae04c789c5a",
      "tree": "649e8cca9ad30b616963843821d4b0eca3e2ff65",
      "parents": [
        "ba23e453487fcb18e91b4919b933012458f17fdd"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Dec 04 17:59:42 2015 +0000"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Apr 08 16:55:02 2016 +0200"
      },
      "message": "Add choreographer API to the NDK.\n\nChange-Id: Icb8cffd3cd3bd06814466be72db3e26f6a62cbc6\n"
    },
    {
      "commit": "ee5c18f038d952ce9378493386310899e4d51c84",
      "tree": "cc06c6abc610a94408c52cf7a4a90643419137b9",
      "parents": [
        "95972768013fe9da93fa4e3a396284acaaf67039"
      ],
      "author": {
        "name": "Aniroop Mathur",
        "email": "a.mathur@samsung.com",
        "time": "Tue Nov 03 02:02:09 2015 +0530"
      },
      "committer": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Wed Mar 16 18:07:00 2016 -0700"
      },
      "message": "Sensor: Add batch support for native applications\n\nCurrently, it is not possible for native applications to use the\nsensor in batch mode. As it is a \u0027C\u0027 header file so function\noverloading is not possible. Therefore, lets add a new function to\nenable the sensor, set the delay and batch timeout, all together.\n\nChange-Id: I565ec2d945d57f31ae11ed43bf9ba351aebd67a0\nSigned-off-by: Aniroop Mathur \u003ca.mathur@samsung.com\u003e\n"
    },
    {
      "commit": "ff20b979e7abf55bef4aa7da85ec36afda3e4fbf",
      "tree": "90f5f2058a9301e65b636ff7cc0c4674cc5bab51",
      "parents": [
        "c9fd313f94f7e0dc1f1f865290a2eb1b1897d2ad"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Jan 26 16:03:25 2016 -0800"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Jan 26 16:03:25 2016 -0800"
      },
      "message": "Change storage duration to static for native choreographer.\n\nThis ensures that the region is zero initialized, regardless of compiler.\n\nChange-Id: Ie0bfa5d2cd2486ba31a45aee4de6c370513bfc62\n"
    },
    {
      "commit": "3d3fe5026a6a3e951ef56ad16a100b8d5ae84574",
      "tree": "80cf611c06bd2e4b1ba0965db1bd5b3ccc8bb1e8",
      "parents": [
        "e501c39e2cbfbe4cac473e97f8cae55ace3bb48c"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Dec 04 17:59:42 2015 +0000"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Jan 21 16:30:33 2016 -0800"
      },
      "message": "Add choreographer API to the NDK.\n\nChange-Id: Icb8cffd3cd3bd06814466be72db3e26f6a62cbc6\n"
    },
    {
      "commit": "2af91d0e104b3a80f3e832e464e52893a55a715f",
      "tree": "88af2f5c66cf2aab1989b9d14ff13110286c2e83",
      "parents": [
        "f9dee58395fa72dc3764292aef4937dfcca0a14a"
      ],
      "author": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Wed Jul 29 18:39:52 2015 -0700"
      },
      "committer": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Thu Jul 30 19:04:40 2015 +0000"
      },
      "message": "Call getInstanceForPackage instead of creating a new SensorManager instance.\n\nBug: 22529981\nChange-Id: If077e042a4af940dfb1fc9c4ac8b9d352dd32685\n"
    },
    {
      "commit": "8d1e344f400fa35f3ddfef78a1dd1d805f3718b0",
      "tree": "2bac448f7c0fd62f2491ff99d9bbaf35826d5924",
      "parents": [
        "5967ddbf05f146bdb6744207e3daed1aa76fc637"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jul 29 09:35:46 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jul 29 09:35:46 2015 +0000"
      },
      "message": "Revert \"Call getInstanceForPackage instead of creating a new SensorManager instance.\"\n\nThis reverts commit 5967ddbf05f146bdb6744207e3daed1aa76fc637.\n\nChange-Id: I6d58129585a30d7c2ef39c8cbe796fd696c93f56\n"
    },
    {
      "commit": "5967ddbf05f146bdb6744207e3daed1aa76fc637",
      "tree": "f057920df521b0ba3a9597187c4bd48282ea67b3",
      "parents": [
        "8924f23d3ecdcb2b1ce4dbc9bb4fbb9ddfa62710"
      ],
      "author": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Fri Jul 24 17:35:31 2015 -0700"
      },
      "committer": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Mon Jul 27 14:19:31 2015 -0700"
      },
      "message": "Call getInstanceForPackage instead of creating a new SensorManager instance.\n\nBug: 22529981\nChange-Id: Id3adfbcf55d1268db1a555c72a06456a5219c086\n"
    },
    {
      "commit": "b902453b40ef5ab0c200680a773923e8bfa99617",
      "tree": "3add56ec7d3b8e2f8fa8b07cd16cb56e10d9690d",
      "parents": [
        "cc87cfa29c4b38d1f119bdce652918565b0fed0f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 09 17:27:15 2015 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jun 10 13:10:36 2015 -0700"
      },
      "message": "Add native tracing API\n\nbug:21195272\n\nChange-Id: I520de9fee7fc40d0570d6bef450d756ce42a1462\n"
    },
    {
      "commit": "2738c96d998dedfae5b4670d588d0cd299c4ca0f",
      "tree": "76b8571676d42a9c0b3bfa00f1937eebf2c05698",
      "parents": [
        "038959e851603500eb39b52fef33cbe75dbd73e3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu May 14 14:25:36 2015 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri May 15 15:10:58 2015 -0700"
      },
      "message": "Add -round and -notround qualifier to android runtime/aapt\n\nThe round qualifier denotes a device with a screen shape that\nis round. The qualifier shows up after the \u0027long/notlong\u0027 qualifier\nand before the orientation \u0027port/land/square\u0027 qualifiers.\n\nChange-Id: I3044258b2703a9165694b79725bade770fa6cea1\n"
    },
    {
      "commit": "cbb56a8f4e8a47fad95db9b1ae6c343055b07acd",
      "tree": "dfcd6faaeeb078c7a68d8fc4e898b79cf598119e",
      "parents": [
        "e91768d4b5c5e185b884a25bcf60457fb2ba8a5c"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 07 10:49:07 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 07 12:56:48 2015 -0700"
      },
      "message": "Fix broke NDK sensor manager API\n\nChange-Id: I0f4e2a3ce20ce20e0aa5a7d38d1f988497c033c0\n"
    },
    {
      "commit": "b9d71a6f89b1183f6389b1774652445a420c6cbf",
      "tree": "b6f17102b2f86b40630e4a7cd681721797a8f324",
      "parents": [
        "9fc943d1a69f2ab0f6d8285b09aef7e344a1fd1a"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Apr 30 10:38:13 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 01 13:56:04 2015 -0700"
      },
      "message": "Add body sensors app op - framework base\n\nChange-Id: Idd5cd573fab3405e5b2a6e51d2d9d115650826e9\n"
    },
    {
      "commit": "25f3b7bb2d05e4a020e7d82ada1543d2cdc75fbb",
      "tree": "726c4e5c76261b4df5be07a3fd5564e20a206869",
      "parents": [
        "0e08a225dab277d367b6665b933869dc7587090e"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Mar 05 15:13:37 2015 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Apr 15 15:32:08 2015 +0900"
      },
      "message": "multinetwork API: native implementation\n\nBug: 19537384\nChange-Id: I04f4a7de2b1e583989b67a853df6ab50289c2185\n"
    },
    {
      "commit": "d2361f2f1f54c8f244d4a25c59a6a0d2b29fe515",
      "tree": "83d7f5d04f19cbcb01c2c1eddd6cf1c94efeeff0",
      "parents": [
        "a31318620bce4e00e80188ee2778b7799cbdf0dc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 16:48:26 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 16:48:58 2014 -0800"
      },
      "message": "Frameworks/base: Wall Werror in native/android\n\nTurn on -Wall -Werror in native/android.\n\nChange-Id: I28bab9ebd2fe3f6935878816773a04531e26450f\n"
    },
    {
      "commit": "99fe16508200510e3d8ea2e3c34872be8cce826d",
      "tree": "64f2c001356aa78c883f338230b45e2e0c33a410",
      "parents": [
        "66b9e91801ba8867514fbcf0ef8f03a2f4fb8798"
      ],
      "author": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Tue Aug 05 15:02:11 2014 -0700"
      },
      "committer": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Tue Aug 05 19:34:04 2014 -0700"
      },
      "message": "Sensor related changes for NDK.\n\n     i) Add ASensor_isWakeUpSensor and ASensorManager_getDefaultSensorEx\n        methods.\n\nBug: 16399898\nChange-Id: Icc252aad068fa337bef8b22f20584f98cd5a155d\n"
    },
    {
      "commit": "27900358f2f5b89e8b01516b28a916d16c99ba9b",
      "tree": "e298a6f85f6afe5f47f885b7574f01c15ebb7fa3",
      "parents": [
        "13d6cfb3b51c4740585cb7881f83ce789527901a"
      ],
      "author": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Tue Jun 03 19:20:42 2014 -0700"
      },
      "committer": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Mon Jun 09 16:56:29 2014 -0700"
      },
      "message": "Add java APIs for Sensor reportingMode.\n\nChange-Id: Iba6bb11f990d9966b86bf02d70ced7312f3e64a8\n"
    },
    {
      "commit": "b5e3f4ea13ad331c0bc4bf9b3a56df7c87cd2f85",
      "tree": "157864caa591b3aff8db95e07d99b301d6223530",
      "parents": [
        "c9c88429a65812b618cf9d14cfd6a4ae6412060b",
        "c7153377cf03303e97185397544a13971a089961"
      ],
      "author": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Fri May 23 18:04:18 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 23 18:04:18 2014 +0000"
      },
      "message": "am c7153377: am 73da981f: Merge \"Remove getRequiredPermission from NDK.\" into klp-modular-dev\n\n* commit \u0027c7153377cf03303e97185397544a13971a089961\u0027:\n  Remove getRequiredPermission from NDK.\n"
    },
    {
      "commit": "c7153377cf03303e97185397544a13971a089961",
      "tree": "372f52faae2f2842bc28c5fccbe4aa8d078c9a76",
      "parents": [
        "1af1371e1b3256b9405f6ef7d828297d152637ca",
        "73da981fd60f9dc855a04ea53e9fff59a011577e"
      ],
      "author": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Thu May 22 22:44:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 22 22:44:49 2014 +0000"
      },
      "message": "am 73da981f: Merge \"Remove getRequiredPermission from NDK.\" into klp-modular-dev\n\n* commit \u002773da981fd60f9dc855a04ea53e9fff59a011577e\u0027:\n  Remove getRequiredPermission from NDK.\n"
    },
    {
      "commit": "8bcdd9b7a5c99e9a5bf1e45f7924b67037898e75",
      "tree": "bc8436e4986410d3a6eb22cb1174561bcc8c9e76",
      "parents": [
        "adb0a906dc71a0133b9345031dd88682e49a519a"
      ],
      "author": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Thu May 22 13:33:52 2014 -0700"
      },
      "committer": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Thu May 22 13:33:52 2014 -0700"
      },
      "message": "Remove getRequiredPermission from NDK.\n\nChange-Id: Ieb1e97e44ef335e6087ba9164058fe3535e9998a\n"
    },
    {
      "commit": "35187bd5c1e40ea52a672c525411d05cbcdd6482",
      "tree": "0eaae3cec2a38f4123c836e5170c93b2afb05bff",
      "parents": [
        "3a025393b50658b988411fbbb7435f8f87a4e16e"
      ],
      "author": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Tue Feb 11 18:44:42 2014 -0800"
      },
      "committer": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Wed Apr 23 17:05:41 2014 -0700"
      },
      "message": "Bug fix for wakeup sensors.\n\nSensorService should hold a wakelock till the app reads events from a wakeup sensor. Currently drivers hold a wakelock with a\ntimeout while delivering events from a wake up sensor like Significant Motion. This hack can be removed now.\nBug: 9774884\n\nChange-Id: I6cab0147c63f57a494a61f4dfe2a64a27dfe1b4e\n"
    },
    {
      "commit": "8ebd66c259602f6b0be26fdfd3fe2f55538f6424",
      "tree": "aa5e2f41ebf2eeb723cfd464ce4a51f54307b31d",
      "parents": [
        "9e99cab7d9a0ec2315140c21bb1958eb7ff76a09",
        "cd4c1c714c37a1bc7ba35ebd2509eca4f0f6a314"
      ],
      "author": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Fri Apr 11 19:34:51 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 11 19:34:51 2014 +0000"
      },
      "message": "am cd4c1c71: Merge \"Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor\" into klp-modular-dev\n\n* commit \u0027cd4c1c714c37a1bc7ba35ebd2509eca4f0f6a314\u0027:\n  Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor\n"
    },
    {
      "commit": "cd9a7bb3ba742606f93dcbd549d6d6eeb1cb5247",
      "tree": "d073c795af27b374151ddb9481e3789924d1614c",
      "parents": [
        "819239e5bec90ee3c861ac45fffac4a832a183a1"
      ],
      "author": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Mon Apr 07 22:55:21 2014 +0000"
      },
      "committer": {
        "name": "Aravind Akella",
        "email": "aakella@google.com",
        "time": "Fri Apr 11 00:05:24 2014 +0000"
      },
      "message": "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor\n\nThis reverts commit 819239e5bec90ee3c861ac45fffac4a832a183a1.\n\nChange-Id: I4bbb222e5c9dc65aed03aa28fd9e0f00fe335819\n"
    },
    {
      "commit": "acf395fd9441bce9fbe68c1b7efbf824570284bc",
      "tree": "de95b1b5999e82a26832560cfdfa7cf663bd6973",
      "parents": [
        "bdfe384106de364ea2effac6ab80108556d11649",
        "819239e5bec90ee3c861ac45fffac4a832a183a1"
      ],
      "author": {
        "name": "Etienne Le Grand",
        "email": "etn@google.com",
        "time": "Sat Apr 05 09:05:50 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 05 09:05:50 2014 +0000"
      },
      "message": "am 819239e5: Revert \"Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor\"\n\n* commit \u0027819239e5bec90ee3c861ac45fffac4a832a183a1\u0027:\n  Revert \"Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor\"\n"
    },
    {
      "commit": "819239e5bec90ee3c861ac45fffac4a832a183a1",
      "tree": "1191459c7cfef8e68928b0d1b320116fc7c8e2a3",
      "parents": [
        "fd53d8352a4617941b0a0449390aa562a01ea1d3"
      ],
      "author": {
        "name": "Etienne Le Grand",
        "email": "etn@google.com",
        "time": "Sat Apr 05 04:47:14 2014 +0000"
      },
      "committer": {
        "name": "Etienne Le Grand",
        "email": "etn@google.com",
        "time": "Sat Apr 05 04:47:14 2014 +0000"
      },
      "message": "Revert \"Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor\"\n\nThis reverts commit fd53d8352a4617941b0a0449390aa562a01ea1d3.\n\nChange-Id: I1c6322d1d992147bb5ef201238374966128c1a61\n"
    },
    {
      "commit": "bdfe384106de364ea2effac6ab80108556d11649",
      "tree": "a35fa2f1dffa3cd29947563ed584a4115b7a634c",
      "parents": [
        "8e2a4b539509f03c4b3521574a910f2ea3296a66",
        "fd53d8352a4617941b0a0449390aa562a01ea1d3"
      ],
      "author": {
        "name": "Etienne Le Grand",
        "email": "etn@google.com",
        "time": "Sat Apr 05 01:52:27 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 05 01:52:27 2014 +0000"
      },
      "message": "am fd53d835: Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor\n\n* commit \u0027fd53d8352a4617941b0a0449390aa562a01ea1d3\u0027:\n  Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor\n"
    },
    {
      "commit": "fd53d8352a4617941b0a0449390aa562a01ea1d3",
      "tree": "d073c795af27b374151ddb9481e3789924d1614c",
      "parents": [
        "8e63696a73dfebae9b2ec123611db6b21968dbfd"
      ],
      "author": {
        "name": "Etienne Le Grand",
        "email": "etn@google.com",
        "time": "Mon Mar 24 21:29:28 2014 -0700"
      },
      "committer": {
        "name": "Etienne Le Grand",
        "email": "etn@google.com",
        "time": "Fri Apr 04 16:31:08 2014 -0700"
      },
      "message": "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor\n\nChange-Id: I16e5da68f860494e24cca64075be76fad02617bc\n"
    },
    {
      "commit": "896043d67d3ac75760bd99db8a1561e31ebee1e1",
      "tree": "8f2ca459558ed89495990bf51d967b4f05363b3e",
      "parents": [
        "1cadc07dd1e3711fb1e57548038e3026682c5ef8"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Fri Jan 17 16:02:38 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Jan 31 14:14:29 2014 +0000"
      },
      "message": "AArch64: Make AssetManager and related classes 64-bit compatible\n\nFollowing changes have been done:\n\n[x] Long is used to store native pointers as pointers can be\n    64-bit.\n\n[x] AssetManager openAsset native function returned -1 if\n    file name was empty and java function considered any\n    non-zero value as success. This has been fixed by native\n    function throwing Illegal Argument Exception as well.\n\n[x] AssetManager incRefsLocked and decRefsLocked now accept\n    long as input to support 64-bit native references.\n\n[x] AssetManager incRefsLocked method incorrecly used\n    \u0027this.hashCode()\u0027 instead of the passed parameter id.\n    This has been fixed.\n\n[x] Some minor changes have been done to conform with\n    standard JNI practice (e.g. use of jint instead of int\n    in JNI function prototypes)\n\nChange-Id: I095b9f900d49e51f43ad6afc47cbc23116a6a64a\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Craig Barber \u003ccraig.barber@arm.com\u003e\nSigned-off-by: Kévin PETIT \u003ckevin.petit@arm.com\u003e\n"
    },
    {
      "commit": "82b007d7572dceb0981b269338bd1ac6c40496c5",
      "tree": "0adfd7d709e3fd4252f3f96c7ef72a9fae1f11d4",
      "parents": [
        "7f8c70a1a48df91ee5541b03dc380c08ab6ebf42"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Dec 12 23:12:55 2013 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Dec 18 17:56:35 2013 -0800"
      },
      "message": "Track Looper decoupling from ALooper\n\nChange-Id: I54f4d36f105e60eaaa453ae60f591d634c681fd7\n"
    },
    {
      "commit": "9d3b1a424c5c61e24e9659d15fb353026a00d925",
      "tree": "0e543391e3ac7b6ac0bff377e08cd2e233ef7363",
      "parents": [
        "8f5e3d13e166e4873e130a5ef7c987333dbac917"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 01 19:07:15 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 01 20:11:42 2013 -0700"
      },
      "message": "Move input library code to frameworks/native.\n\nNo longer compile libandroidfw as a static library on the device\nsince it already exists as a shared library.  Keeping the static\nlibrary would force us to provide a static library version of\nlibinput for the device as well which doesn\u0027t make sense.\n\nChange-Id: I3517881b87b47dcc209d80dbd0ac6b5cf29a766f\n"
    },
    {
      "commit": "64b5f7cc4ca094754d4631ffb801b7bb771081ec",
      "tree": "2b1b8d46bf0f32e321174b0cd7c507e4634ee0be",
      "parents": [
        "ab4a0541994d5de9520ad4ba37c3a11c5f540eb5",
        "09377ddb93a964b9e0def6d84b8beb3a515f4a18"
      ],
      "author": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Tue May 28 17:08:54 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 28 17:08:54 2013 -0700"
      },
      "message": "am 09377ddb: Merge \"Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event\"\n\n* commit \u002709377ddb93a964b9e0def6d84b8beb3a515f4a18\u0027:\n  Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event\n"
    },
    {
      "commit": "c01e1ed68885edafd4ad9d62e0f31e7875651867",
      "tree": "2fc24c931a9bc90ae01fd4d940b6a7f3adf09d70",
      "parents": [
        "7f3ff133c19ed50dd245e025a44e1de7bcc3d38a"
      ],
      "author": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Mon May 27 12:27:10 2013 +0800"
      },
      "committer": {
        "name": "Andrew Hsieh",
        "email": "andrewhsieh@google.com",
        "time": "Mon May 27 12:27:10 2013 +0800"
      },
      "message": "Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event\n\nSee b.android.com/55873\n\nChange-Id: Idff7b71480991e16f57e55748fafa57d5827b10b\n"
    }
  ],
  "next": "a44dd26a75e24cc021802288fb81f4761e47be6b"
}
