)]}'
{
  "log": [
    {
      "commit": "bb6b6046237d06e81440dfc2fc788640cbc48d1f",
      "tree": "5860a45cb489528fbe1b79a30f03142fffc33131",
      "parents": [
        "1d3df546d5ee4dcc9e7cae6f8b8b790f741539af"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Oct 25 18:18:24 2016 +0000"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Oct 25 18:34:42 2016 +0000"
      },
      "message": "DO NOT MERGE. Revert \"Dumpstate should hold a wakelock to save bug report time.\"\n\nThis reverts commit f87959e00732d7d737527f1248a71adea99ae29d.\n\nBUG: 32402587\nFixes: 32365477\n\nChange-Id: Ic4daec37efbaef1906450bf6609d5588d5c9a835\n"
    },
    {
      "commit": "1d3df546d5ee4dcc9e7cae6f8b8b790f741539af",
      "tree": "a1a723f5eda7794819643431ba5fb8742e9bece5",
      "parents": [
        "f920891b71cbd33c96e7e44231524ee0b8e83760"
      ],
      "author": {
        "name": "Steve Pfetsch",
        "email": "spfetsch@google.com",
        "time": "Thu Sep 29 17:16:29 2016 -0700"
      },
      "committer": {
        "name": "Steve Pfetsch",
        "email": "spfetsch@google.com",
        "time": "Tue Oct 18 18:36:25 2016 -0700"
      },
      "message": "services: surfaceflinger: ASAN fix\n\nMove layer removal to the main thread, while the display is on.\n\nBug: 30281222\nChange-Id: Id9f956c1e626819734868340e7fa12abf257b702\n"
    },
    {
      "commit": "f920891b71cbd33c96e7e44231524ee0b8e83760",
      "tree": "9eaf861e6c13fde116a3c9d155f67ca94cd78445",
      "parents": [
        "2cc37eaaa7f76b690987a09b0674161583403c84"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Oct 11 15:26:06 2016 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Oct 11 22:51:30 2016 +0000"
      },
      "message": "Move atrace init into on fs trigger\n\nsysfs should be ready on ealier stage than boot\n\nBug: 32025203\nTest: take systrace\nChange-Id: Id73b6959f3075dc793d93551963193a211060da8\n"
    },
    {
      "commit": "2cc37eaaa7f76b690987a09b0674161583403c84",
      "tree": "f56d041e79ff9adc34de006391e2c2f336e7af4b",
      "parents": [
        "a4bb5c7173ceaf58893924e84187bb97c88d10a1"
      ],
      "author": {
        "name": "Wei Liu",
        "email": "luciferleo@google.com",
        "time": "Fri Aug 26 14:51:42 2016 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Oct 03 17:43:12 2016 -0700"
      },
      "message": "Dumpstate should hold a wakelock to save bug report time. DO NOT MERGE.\n\nBUG: 31828706\nBUG: 30832947\n\nChange-Id: I0a4b1fcce91caa96ccbc4e890d9968e3033487de\n(cherry picked from commit f87959e00732d7d737527f1248a71adea99ae29d)\n"
    },
    {
      "commit": "a4bb5c7173ceaf58893924e84187bb97c88d10a1",
      "tree": "1ee2086cc1e1f5938430cfe85bf93973b7433a86",
      "parents": [
        "d6e9946cdd57a92c9bc86ba97a4ca42078153008",
        "53ca94ab3422c278830f96752cab932c1f038a7d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 30 17:00:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 30 17:00:17 2016 +0000"
      },
      "message": "Merge \"Add \"ip xfrm policy\" to dumpstate output\" into nyc-mr1-dev"
    },
    {
      "commit": "d6e9946cdd57a92c9bc86ba97a4ca42078153008",
      "tree": "1a1b22c76ae8b2eb9d12143a8e1a1e49b1500e58",
      "parents": [
        "d3b809baff20a2ff7e41f4add801f71cce0665f7"
      ],
      "author": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Sep 28 11:26:57 2016 -0700"
      },
      "committer": {
        "name": "Jesse Hall",
        "email": "jessehall@google.com",
        "time": "Wed Sep 28 14:30:54 2016 -0700"
      },
      "message": "EGL: check that display is still valid\n\nBug: 31522731\nChange-Id: I84d82e55aba5b58dfdbcac9e208c36767fbedfd1\n"
    },
    {
      "commit": "53ca94ab3422c278830f96752cab932c1f038a7d",
      "tree": "77a02d3c858fb04d90b70158cfbf787ba6fc5aab",
      "parents": [
        "d3b809baff20a2ff7e41f4add801f71cce0665f7"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Sep 28 17:26:26 2016 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Sep 28 20:20:38 2016 +0900"
      },
      "message": "Add \"ip xfrm policy\" to dumpstate output\n\nBug: 30869013\nChange-Id: I1f0e5d820f0153484c38ecb0f9c764fca02d786c\n"
    },
    {
      "commit": "d3b809baff20a2ff7e41f4add801f71cce0665f7",
      "tree": "4ad0e74906dbb37c798253dd2abab52abb7b3036",
      "parents": [
        "6cc1933af9c0cf656f9a511155f6613f8dbba667"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Sep 26 13:37:45 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Sep 26 13:37:45 2016 +0900"
      },
      "message": "Add socket dumps via ss to bugreports.\n\nBug: 23113288\nChange-Id: I6304425f968fcb22c75c3f6e64bf7992e34e0889\n"
    },
    {
      "commit": "6cc1933af9c0cf656f9a511155f6613f8dbba667",
      "tree": "4d57fdfa9778f946444837610eacad960d5633dc",
      "parents": [
        "993de79607f5bef0f92004f1ed8a388eda9078bc",
        "97b9c86338e2d364d47ea7522c2d81a8014f0e07"
      ],
      "author": {
        "name": "Rob Carr",
        "email": "racarr@google.com",
        "time": "Thu Sep 22 21:17:40 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 22 21:17:40 2016 +0000"
      },
      "message": "Merge \"Surface: Add force disconnection method.\" into nyc-mr1-dev"
    },
    {
      "commit": "993de79607f5bef0f92004f1ed8a388eda9078bc",
      "tree": "ae4661e4e8b8274442ed092f1488562af7d9a558",
      "parents": [
        "5df47cb648a6911dd62527901bb209fd65c73bed"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 20 18:21:42 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Thu Sep 22 17:58:38 2016 +0000"
      },
      "message": "Recursively restorecon when SELinux label changes.\n\nPackageManager has been pretty aggressive about asking installd to\nrestorecon over app data when it thinks something might have\nchanged.  However, in the vast majority of cases these are no-op\nrequests, and we waste a bunch of time recursively walking all\nprivate data, easily costing 60+ seconds on dogfooder devices.\n\nThis change updates the initial \"create_app_data\" command to kick off\na recursive restorecon if it detects that the top-level SELinux label\non the app private data directory changes.  The \"create_app_data\"\ncommand is designed to ensure that an app\u0027s storage is ready, so\nPackageManager always calls it at least once per boot before apps\ncan run.  (This change means that PackageManager no longer needs to\nmake separate \"restorecon_app_data\" calls.)\n\nTest: booted, verified that a label change triggered restorecon\nBug: 30768146\nChange-Id: I0c8d4018cf8ff888d0ae07a82adc3d61a6002aad\n"
    },
    {
      "commit": "5df47cb648a6911dd62527901bb209fd65c73bed",
      "tree": "294d3154578def8cb56655b720218b68153e23c1",
      "parents": [
        "186c4c93a7d35d14dd5e6a6850f2cb884c31db79"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Thu Sep 15 16:38:42 2016 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Thu Sep 15 16:41:53 2016 -0700"
      },
      "message": "HWC2On1: Fall back to GLES for SolidColor\n\nEven though SolidColor layers map cleanly to HWC_BACKGROUND composition\nin HWC1, SurfaceFlinger never used HWC_BACKGROUND, so we can\u0027t trust\nthat HWC1 devices implemented it correctly. To preserve backwards\ncompatibility, this changes the behavior to fall back to client\ncomposition to minimize incompatibilities with existing devices.\n\nBug: 30479781\nChange-Id: I638339062e03f2c057b3e1624e7157587ddee7ec\n"
    },
    {
      "commit": "97b9c86338e2d364d47ea7522c2d81a8014f0e07",
      "tree": "263e7e5a01758911cf2ee61c926ebf85db3d5f27",
      "parents": [
        "669867835ba2a8120cc3c171c8dc3e41ae9b9c8c"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Thu Sep 08 13:54:35 2016 -0700"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Wed Sep 14 09:48:40 2016 -0700"
      },
      "message": "Surface: Add force disconnection method.\n\nAdd a new method forceScopedDisconnect to Surface. This will\nbe used by the framework to force disconnection at times where\nthe underlying GraphicBufferProducer may be about to be reused.\nThis is scoped by PID to avoid conflicting with remote producers.\n\nBug: 30236166\nChange-Id: I857216483c0b550f240b3baea41977cbc58a67ed\n"
    },
    {
      "commit": "186c4c93a7d35d14dd5e6a6850f2cb884c31db79",
      "tree": "4c86528278fe6d76c85b85b527f09d651477d2f8",
      "parents": [
        "a721faee570a215b1e9f965c6b07d7e438393f6a",
        "6a2593ac53c6eccf5505e17594e57dab51f816ea"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 13 18:25:41 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 18:25:42 2016 +0000"
      },
      "message": "Merge \"Increase YV12BufferPow2 test threshold\" into nyc-mr1-dev"
    },
    {
      "commit": "a721faee570a215b1e9f965c6b07d7e438393f6a",
      "tree": "906b69044d7074effbdfc9d8044a37c3015b763a",
      "parents": [
        "e373a97bd767a9b0a9b80fdfdb6996e2ed410cae",
        "3964da0636624ff9af42d1f316bed0752e37c490"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Sep 13 16:37:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 13 16:37:47 2016 +0000"
      },
      "message": "Merge \"Installd: Add a delete_odex command\" into nyc-mr1-dev"
    },
    {
      "commit": "6a2593ac53c6eccf5505e17594e57dab51f816ea",
      "tree": "ea6e301ca63003711df7ebfef0daa524e6e5b3b8",
      "parents": [
        "e373a97bd767a9b0a9b80fdfdb6996e2ed410cae"
      ],
      "author": {
        "name": "Kalle Raita",
        "email": "kraita@google.com",
        "time": "Tue Aug 02 16:19:15 2016 -0700"
      },
      "committer": {
        "name": "Courtney Goeltzenleuchter",
        "email": "courtneygo@google.com",
        "time": "Tue Sep 13 10:22:37 2016 -0600"
      },
      "message": "Increase YV12BufferPow2 test threshold\n\nThe NPOT version already has 3 as the threshold and at least one\nplatform seems to have diff of 3 in one of the internal pixels for POW2\nvariant.\n\nBug: 21306103\nBug: 30920650\nChange-Id: I7882a6ff43ffc862d95fea32c8ee8e7f19fb759d\nCherry-pick from master (e3747fd25918c943caef4d9c7158a668c786c55d)\n"
    },
    {
      "commit": "3964da0636624ff9af42d1f316bed0752e37c490",
      "tree": "a969479e7de1853640e44f984edbe2cea2d6c788",
      "parents": [
        "4df766b00ac6801f2e4462b20b6dd6f195051afb"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Sep 09 17:07:04 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Sep 12 17:40:26 2016 -0700"
      },
      "message": "Installd: Add a delete_odex command\n\nAdd a command to delete odex files.\n\nBug: 31347757\nChange-Id: I29bca8751bcee8d6981c682fbbc816c73b78ac68\n"
    },
    {
      "commit": "e373a97bd767a9b0a9b80fdfdb6996e2ed410cae",
      "tree": "57ee6cdd1b671a177345991120d605449665ed6f",
      "parents": [
        "0c083d43f275382b25ed01baf57c6ee72532e7ea",
        "7b265d8ab5c73e5478789e7ed925fd8184ee8668"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 12 19:31:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 12 19:31:58 2016 +0000"
      },
      "message": "DO NOT MERGE ANYWHERE: BufferQueue consumers: Add discardFreeBuffer method am: 8211047138  -s ours\nam: 7b265d8ab5  -s ours\n\nChange-Id: I555ef520067d4300450ef3b0e91f127d06e55b66\n"
    },
    {
      "commit": "7b265d8ab5c73e5478789e7ed925fd8184ee8668",
      "tree": "e794c6350eb475c1ecdcf891ad19ea0981ca8a4a",
      "parents": [
        "a1d24b45ccb6f68448f478e2a847a5544276002b",
        "8211047138ea7892c73f4e6f6291a85a11759e0c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 12 19:26:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 12 19:26:18 2016 +0000"
      },
      "message": "DO NOT MERGE ANYWHERE: BufferQueue consumers: Add discardFreeBuffer method\nam: 8211047138  -s ours\n\nChange-Id: If827f77c9c8cb36ad3a8f2eaeb6157bc59258a7a\n"
    },
    {
      "commit": "0c083d43f275382b25ed01baf57c6ee72532e7ea",
      "tree": "57ee6cdd1b671a177345991120d605449665ed6f",
      "parents": [
        "93ec87d2da0d2c42734492f689cef0bf64e5b66b",
        "28ffe198bfab3761f97ce2f74ef479bafc5bbd99"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Sep 12 17:37:52 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 12 17:37:52 2016 +0000"
      },
      "message": "Merge \"Update default DispSync offsets\" into nyc-mr1-dev"
    },
    {
      "commit": "93ec87d2da0d2c42734492f689cef0bf64e5b66b",
      "tree": "08864a8eb802ca8cb393552cb814186a68960ece",
      "parents": [
        "a029c0726d082d117f85cc7bc2faef1f1af6d51d",
        "eb05947ae2c4ac3a80712fed9382d82cb9aedad5"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Sat Sep 10 03:00:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Sep 10 03:00:01 2016 +0000"
      },
      "message": "Merge \"Fix dangerous unsafe_get() in SensorRecord\" into nyc-mr1-dev"
    },
    {
      "commit": "a029c0726d082d117f85cc7bc2faef1f1af6d51d",
      "tree": "8c779fd44104a429f3a22b3e4a6d83e5e820f320",
      "parents": [
        "4df766b00ac6801f2e4462b20b6dd6f195051afb"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 09 16:15:52 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Sep 09 16:19:24 2016 -0700"
      },
      "message": "Unlink app image if copy fails for A/B OTA\n\nUsually this happens when the app was recompiled with interpret-only.\nIn this case, move_ab_path will fail for the app image. If this\noccurs, delete the existing app image to not have a stale one wasting\nstorage space.\n\nTest: Make fake AB ota, delete the a/b generated app image, take the\nOTA, ensure there is no stale app image after reboot. Also tested\nthat other apps with valid app images still had an image.\n\nBug: 31323617\nChange-Id: I699b5eb3dc8f82759c284a1d299865b2c3a890d0\n"
    },
    {
      "commit": "8211047138ea7892c73f4e6f6291a85a11759e0c",
      "tree": "a203d0338086a05099054f2924a3e8c945f39bb1",
      "parents": [
        "083f4ecca201e508f0f5cbe0aa95882a82abdf5e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 21 17:06:58 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 09 15:11:02 2016 -0700"
      },
      "message": "DO NOT MERGE ANYWHERE: BufferQueue consumers: Add discardFreeBuffer method\n\nThis method releases all free buffers owned by the buffer queue,\nin order to save memory (at the cost of potential future\nreallocation of buffers).\n\nBug: 28695173\nChange-Id: I458d10373e639e3144faf673af2ba01aca36e65a\n"
    },
    {
      "commit": "28ffe198bfab3761f97ce2f74ef479bafc5bbd99",
      "tree": "4967193c03aef5a39fc101ceda5435501d99d2cb",
      "parents": [
        "686715335adfe17628a1132140f6a0d51e730cf6"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Fri Sep 09 13:50:19 2016 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Fri Sep 09 13:50:19 2016 -0700"
      },
      "message": "Update default DispSync offsets\n\nUpdates the default DispSync offsets to 1ms/1ms to avoid SurfaceFlinger\nracing against hardware vsync on untuned video-mode panels, which can\nresult in a significant number of dropped frames. Also moves and\nupdates the documentation of the offsets, which used to live in\nbuild/target/board/generic/BoardConfig.mk.\n\nBug: 30801895\nChange-Id: I4cb09d840e2f16fb3d05df4d7abf58d9ba36f83b\n"
    },
    {
      "commit": "4df766b00ac6801f2e4462b20b6dd6f195051afb",
      "tree": "d05a807cdf1052ba9967244f83dd6d0c2f0d015c",
      "parents": [
        "a020f00bc156ebdf6ea1f3c2de8af049dac9d5e6",
        "35520634e298f53bd8433825640d6999760f25b3"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Thu Sep 08 17:47:25 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 17:47:25 2016 +0000"
      },
      "message": "Merge \"Boost priority of short-running SF FIFO threads slightly.\" into nyc-mr1-dev"
    },
    {
      "commit": "a020f00bc156ebdf6ea1f3c2de8af049dac9d5e6",
      "tree": "a7ceefb1af72789ecea63532ed36ac015436ad22",
      "parents": [
        "0f97c1d775dd95fab5142d7aae6d34b80b4c2312",
        "e22aec741f1530cde86c38989bcc2f87626b93b0"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Thu Sep 08 16:56:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 16:56:24 2016 +0000"
      },
      "message": "Merge \"SF/HWC2: Add a layer minidump\" into nyc-mr1-dev"
    },
    {
      "commit": "0f97c1d775dd95fab5142d7aae6d34b80b4c2312",
      "tree": "d6d2876ea243781fb684141fc37232da7fc92b91",
      "parents": [
        "669867835ba2a8120cc3c171c8dc3e41ae9b9c8c"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Sep 07 11:33:26 2016 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Sep 07 13:41:10 2016 -0700"
      },
      "message": "Added a NETWORK trace tag.\n\nBUG: 31281543\n\nChange-Id: Idc5759eec12f2704c9b9cc48db181f2e669ccc32\n"
    },
    {
      "commit": "35520634e298f53bd8433825640d6999760f25b3",
      "tree": "2200eac51013ffa6aa15a01a6f95c53d75c7123d",
      "parents": [
        "669867835ba2a8120cc3c171c8dc3e41ae9b9c8c"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Wed Sep 07 12:18:17 2016 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Wed Sep 07 12:18:17 2016 -0700"
      },
      "message": "Boost priority of short-running SF FIFO threads slightly.\n\nThe short-running FIFO threads should preempt the SurfaceFlinger main\nthread in order to prevent deadlock.\n\nbug 31223682\n\nChange-Id: I29e7b4b8439bb876998a8aeeb2b8d6ee5b6b7d36\n"
    },
    {
      "commit": "669867835ba2a8120cc3c171c8dc3e41ae9b9c8c",
      "tree": "f91547eba108df0c061ebf923cffe6a85ee7705a",
      "parents": [
        "4a8039121fe648a3773a3aade091527baba35058",
        "eddbef88cf78deb9b08a6cad2c9cb67e4ddcea0d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 01 19:46:30 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 01 19:46:30 2016 +0000"
      },
      "message": "Merge \"libgui: Add null pointer check in setDisplaySurface\" into nyc-mr1-dev"
    },
    {
      "commit": "eddbef88cf78deb9b08a6cad2c9cb67e4ddcea0d",
      "tree": "7fe4b47f5ba4f9f8c5d30dc380849da1dff40dd3",
      "parents": [
        "8e0b50b01a96545380ef61301c8eb9177739cb4a"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Thu Sep 01 11:21:21 2016 -0700"
      },
      "committer": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Thu Sep 01 11:21:21 2016 -0700"
      },
      "message": "libgui: Add null pointer check in setDisplaySurface\n\nBug 31236602\n\nChange-Id: I78d4e28e40db93f7e7e304355b370af0fa790b9d\n"
    },
    {
      "commit": "4a8039121fe648a3773a3aade091527baba35058",
      "tree": "5bfe71c98d88516c6eebb37e6fb08bc02a83fe94",
      "parents": [
        "8e0b50b01a96545380ef61301c8eb9177739cb4a",
        "529a103fde484a6512aaffd9ae063decb93765eb"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 30 17:44:07 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 30 17:44:07 2016 +0000"
      },
      "message": "Merge \"Surface: Add parcel/unparceling for missing field.\" into nyc-mr1-dev"
    },
    {
      "commit": "529a103fde484a6512aaffd9ae063decb93765eb",
      "tree": "5bfe71c98d88516c6eebb37e6fb08bc02a83fe94",
      "parents": [
        "4db50cec13f5fb69e847d1106c78cb972bc62149"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 29 17:33:08 2016 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 29 23:23:39 2016 -0700"
      },
      "message": "Surface: Add parcel/unparceling for missing field.\n\nRead/write new isSingleBuffered field in native code as well.\nCurrently just write \u0027no\u0027 unconditionally and discard on read.\n\nBug: 31162160\nChange-Id: Icfb7a37fb37a41f6437fe08bcfad271474ba6983\n"
    },
    {
      "commit": "8e0b50b01a96545380ef61301c8eb9177739cb4a",
      "tree": "761c7094dff7ef2b942e86da19539a4fd6f63993",
      "parents": [
        "4db50cec13f5fb69e847d1106c78cb972bc62149",
        "a1d24b45ccb6f68448f478e2a847a5544276002b"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Aug 29 23:59:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 29 23:59:26 2016 +0000"
      },
      "message": "Add requestor name to GraphicBuffer alloc metadata\nam: a1d24b45cc  -s ours\n\nChange-Id: I2108a173cf5b6df98c1e404ce634b2181ac4a536\n"
    },
    {
      "commit": "4db50cec13f5fb69e847d1106c78cb972bc62149",
      "tree": "761c7094dff7ef2b942e86da19539a4fd6f63993",
      "parents": [
        "af671072ca936d12917b4ccdebeb07d306082fb3",
        "1aad24c0c47598b0cce5ea2cadd5c2a5f3c5196d"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Mon Aug 29 17:41:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 17:41:57 2016 +0000"
      },
      "message": "Merge \"Fail setDisplaySurface if can\u0027t enable async\" into nyc-mr1-dev"
    },
    {
      "commit": "a1d24b45ccb6f68448f478e2a847a5544276002b",
      "tree": "e794c6350eb475c1ecdcf891ad19ea0981ca8a4a",
      "parents": [
        "b10cd89507e8c492b2f5bb346d7839c8e04ffdfa"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Aug 22 17:26:41 2016 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Thu Aug 25 13:13:08 2016 -0700"
      },
      "message": "Add requestor name to GraphicBuffer alloc metadata\n\nAdds a requestor name (usually the BufferQueue consumer\u0027s name) to the\nmetadata that GraphicBufferAllocator stores on allocation so that\n`dumpsys SurfaceFlinger` can attempt to attribute buffer usage to the\ncorrect client.\n\nBug: 30776557\nChange-Id: I6e0f346584c871bb3b9d5481f82b697b0475a916\n"
    },
    {
      "commit": "af671072ca936d12917b4ccdebeb07d306082fb3",
      "tree": "1f7d7ebd2d621897b29cf6a05f83126df59a38e8",
      "parents": [
        "329b90922b15683a02a8179b89598525fd9ba480",
        "d4079aff759713e7c7dd14cecb585a7290e80772"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Thu Aug 25 16:48:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 16:48:16 2016 +0000"
      },
      "message": "Merge \"Add requestor name to GraphicBuffer alloc metadata\" into nyc-mr1-dev"
    },
    {
      "commit": "d4079aff759713e7c7dd14cecb585a7290e80772",
      "tree": "81a3c7e863ca1cbc1fc492ef5dc8754c6e0dd592",
      "parents": [
        "686715335adfe17628a1132140f6a0d51e730cf6"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Aug 22 17:26:41 2016 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Wed Aug 24 12:13:37 2016 -0700"
      },
      "message": "Add requestor name to GraphicBuffer alloc metadata\n\nAdds a requestor name (usually the BufferQueue consumer\u0027s name) to the\nmetadata that GraphicBufferAllocator stores on allocation so that\n`dumpsys SurfaceFlinger` can attempt to attribute buffer usage to the\ncorrect client.\n\nBug: 30776557\nChange-Id: I6e0f346584c871bb3b9d5481f82b697b0475a916\n"
    },
    {
      "commit": "329b90922b15683a02a8179b89598525fd9ba480",
      "tree": "8a945f4c7a6b4c43836f779517cfb355902790e2",
      "parents": [
        "686715335adfe17628a1132140f6a0d51e730cf6"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Fri Aug 12 16:33:12 2016 -0700"
      },
      "committer": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Tue Aug 23 15:46:21 2016 -0700"
      },
      "message": "Add mangle table in dump_iptables\n\nBug: 30839895\nChange-Id: I3f939c74246db96f65e7aa06b60c3b9cf6a02606\n"
    },
    {
      "commit": "686715335adfe17628a1132140f6a0d51e730cf6",
      "tree": "7147d34353a51ac3b198b67baea2bf0c699ae4e1",
      "parents": [
        "46eee7d103edd45b169b2861e231ad786bf64769"
      ],
      "author": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Mon Jul 18 10:19:54 2016 -0700"
      },
      "committer": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Tue Aug 23 09:14:51 2016 -0700"
      },
      "message": "Create graphic buffer using binder interfaces\n\nUsing binder interfaces rather than directly allocating the buffer prevents\nSELinux warnings.\n\nBug: 29402015\n\nChange-Id: I26616dcabf46b5419f0841873faaa6a3ee87ff68\n"
    },
    {
      "commit": "eb05947ae2c4ac3a80712fed9382d82cb9aedad5",
      "tree": "0cde0b3057bb4d770c7d470a128f235a00ed9011",
      "parents": [
        "46eee7d103edd45b169b2861e231ad786bf64769"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Fri Aug 12 16:39:44 2016 -0700"
      },
      "committer": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Sat Aug 20 01:20:40 2016 +0000"
      },
      "message": "Fix dangerous unsafe_get() in SensorRecord\n\nChange raw pointers to wp\u003c\u003e and constify relevant lines in\nSensorRecord.\n\nBug: 30261110\n\nChange-Id: I7f28c593366af44192991061fa5f71cf925b22a8\n(cherry picked from commit ded526e8c3539b5986b46dffc1ff8ab15d7da570)\n"
    },
    {
      "commit": "46eee7d103edd45b169b2861e231ad786bf64769",
      "tree": "592c5b4bb2cd3a3c1a1fd78647d4cd9ef39b824a",
      "parents": [
        "90ba9eb2f155a4123ec4c8b08863572360d55776",
        "b10cd89507e8c492b2f5bb346d7839c8e04ffdfa"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Fri Aug 19 13:22:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 13:22:58 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services am: e6bbe69ba7 am: 2cb14836ac am: c29c3734af am: ce0e72911c am: 2c39ea1025 am: fa5aafc9f3 am: 1f36bcd2ba am: 75469c1fc9 am: 083f4ecca2\nam: b10cd89507\n\nChange-Id: I78dd4d0aa005ffa5e88b2dbce5464c771cb3b98f\n"
    },
    {
      "commit": "b10cd89507e8c492b2f5bb346d7839c8e04ffdfa",
      "tree": "592c5b4bb2cd3a3c1a1fd78647d4cd9ef39b824a",
      "parents": [
        "90ba9eb2f155a4123ec4c8b08863572360d55776",
        "083f4ecca201e508f0f5cbe0aa95882a82abdf5e"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Fri Aug 19 01:21:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 01:21:01 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services am: e6bbe69ba7 am: 2cb14836ac am: c29c3734af am: ce0e72911c am: 2c39ea1025 am: fa5aafc9f3 am: 1f36bcd2ba am: 75469c1fc9\nam: 083f4ecca2\n\nChange-Id: Ie1931218577e24e4ab0eb7328ccff60a2ca54400\n"
    },
    {
      "commit": "083f4ecca201e508f0f5cbe0aa95882a82abdf5e",
      "tree": "b99292fd79e9573b38bd9c35864160768647bf2c",
      "parents": [
        "a4ef62b8594454373423292f92fe90c4575a8212",
        "75469c1fc95c276ab098b61f696d9e49b2968d78"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Fri Aug 19 01:15:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 01:15:05 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services am: e6bbe69ba7 am: 2cb14836ac am: c29c3734af am: ce0e72911c am: 2c39ea1025 am: fa5aafc9f3 am: 1f36bcd2ba\nam: 75469c1fc9\n\nChange-Id: Icbe1e240a365b6f473ee060cdec384db3b49db24\n"
    },
    {
      "commit": "75469c1fc95c276ab098b61f696d9e49b2968d78",
      "tree": "71e76c2a02ff00028ea108d1214518d516ee9345",
      "parents": [
        "1864a8748d12f60d000d508bc7da2f9fd8be3d62",
        "1f36bcd2bab3d20ab05c0993d41dd29cefda26ab"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Fri Aug 19 01:11:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 01:11:01 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services am: e6bbe69ba7 am: 2cb14836ac am: c29c3734af am: ce0e72911c am: 2c39ea1025 am: fa5aafc9f3\nam: 1f36bcd2ba\n\nChange-Id: Ic4225509044c66a55910b827e8076cf20c4b5bba\n"
    },
    {
      "commit": "1f36bcd2bab3d20ab05c0993d41dd29cefda26ab",
      "tree": "9ef8e700e749772f8c9005ff2457b586a1a4ca49",
      "parents": [
        "b8d937caeb047534ab885deed746055307d591cc",
        "fa5aafc9f3f32175e1442fe2940a02805eb76c8a"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Fri Aug 19 01:07:30 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 01:07:30 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services am: e6bbe69ba7 am: 2cb14836ac am: c29c3734af am: ce0e72911c am: 2c39ea1025\nam: fa5aafc9f3\n\nChange-Id: I2b83c66f04f7dbfb1740d525ba6d424c9ea42c2b\n"
    },
    {
      "commit": "fa5aafc9f3f32175e1442fe2940a02805eb76c8a",
      "tree": "ed5f384bc43faa2df941bf747d2dd1b434afc1ad",
      "parents": [
        "1414d7b372fa44b3a3cae075ab6aed14e4277987",
        "2c39ea10255c4cddf3e97fd00c2aa1548bc54c4f"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Fri Aug 19 01:04:30 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 01:04:30 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services am: e6bbe69ba7 am: 2cb14836ac am: c29c3734af am: ce0e72911c\nam: 2c39ea1025\n\nChange-Id: I355431fb0c566965759cd3d07d481c475cb494d0\n"
    },
    {
      "commit": "2c39ea10255c4cddf3e97fd00c2aa1548bc54c4f",
      "tree": "ca5e80e9eaf52bf666fb3733f3447b5e0e0d0300",
      "parents": [
        "e8cb9c898299d277f88895177dcb0bf32ef96ae1",
        "ce0e72911c1f7234d70678066b21094ab0cbf350"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Fri Aug 19 01:01:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 01:01:29 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services am: e6bbe69ba7 am: 2cb14836ac am: c29c3734af\nam: ce0e72911c\n\nChange-Id: I2c36fdb4c92359a03af1c8a563d4d73b9e2898a2\n"
    },
    {
      "commit": "ce0e72911c1f7234d70678066b21094ab0cbf350",
      "tree": "60de7b1cfdf94bd9a98fd3f600e744791d2bb7ad",
      "parents": [
        "ce472fbb54c1a1bb3245235b21b17ab101d4e25e",
        "c29c3734afa4898dd67a6ff9d368cbfb91238c03"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Fri Aug 19 00:58:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 00:58:34 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services am: e6bbe69ba7 am: 2cb14836ac\nam: c29c3734af\n\nChange-Id: I72992d6662bbace5cecce2b96389139c96d2e181\n"
    },
    {
      "commit": "c29c3734afa4898dd67a6ff9d368cbfb91238c03",
      "tree": "cbfeea99f09ae2824b6aa44e4b4363db4a3cd778",
      "parents": [
        "1c220583e4e7905ffabed4e62d3945a9d82b89a6",
        "2cb14836ac536fe85bd2293a69a92de3d3768a62"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Fri Aug 19 00:49:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 00:49:29 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services am: e6bbe69ba7\nam: 2cb14836ac\n\nChange-Id: Ia7deecedc7eff4fb35742ba9c7475ca32ecf48aa\n"
    },
    {
      "commit": "2cb14836ac536fe85bd2293a69a92de3d3768a62",
      "tree": "cbfeea99f09ae2824b6aa44e4b4363db4a3cd778",
      "parents": [
        "a82f82293a203efae774fe9e2eefbc8df47ac9cb",
        "e6bbe69ba739c8a08837134437aaccfea5f1d943"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Fri Aug 19 00:46:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 00:46:28 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services\nam: e6bbe69ba7\n\nChange-Id: Iebb7be5ff42026adb2ff2d2b610902b995acdbc0\n"
    },
    {
      "commit": "e6bbe69ba739c8a08837134437aaccfea5f1d943",
      "tree": "6566c31b7d4afed0767d59eacc86354a9b4ee097",
      "parents": [
        "eb304f0a369aa0573a6999057b0b53e22c5dce81"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Thu Aug 18 15:42:35 2016 -0700"
      },
      "committer": {
        "name": "Arve Hjønnevåg",
        "email": "arve@google.com",
        "time": "Thu Aug 18 23:07:00 2016 +0000"
      },
      "message": "ServiceManager: Allow system services running as secondary users to add services\n\nThis should be reverted when all system services have been cleaned up to not\ndo this. A process looking up a service while running in the background will\nsee the service registered by the active user (assuming the service is\nregistered on every user switch), not the service registered by the user that\nthe process itself belongs to.\n\nBUG: 30795333\nChange-Id: I1b74d58be38ed358f43c163692f9e704f8f31dbe\n"
    },
    {
      "commit": "90ba9eb2f155a4123ec4c8b08863572360d55776",
      "tree": "2b44623d8190a66cdf4eb6ce58c37489f6afdbdd",
      "parents": [
        "e7d555267725ca050ddd5e891267a61a55c9e16a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 16 17:43:33 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Aug 16 17:43:33 2016 -0700"
      },
      "message": "Otapreopt: Allow A/B dexopt only when bootcomplete\n\nUnder certain circumstances cmd may not return because it is waiting\nfor a service manager. Avoid this situation by restricting the otapreopt\nscript to only do work when the system has completed boot (which\nmeans that a service manager must exist).\n\nBug: 30797145\nChange-Id: Ic1445e20f1ca06fb38e7707771bde818836c3adc\n"
    },
    {
      "commit": "e7d555267725ca050ddd5e891267a61a55c9e16a",
      "tree": "da5d6943d77c7ea10a88e2e23eb0aff326ab9d72",
      "parents": [
        "e26ce9f612d3afe54b9806beee3fd0a3dc1638be"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 12 19:35:57 2016 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 12 19:35:57 2016 -0700"
      },
      "message": "otapreopt: Collect and print size of artifacts\n\nCollect and print the size of artifacts when moving after a reboot.\nThis helps in diagnosing issues after the fact.\n\nBug: 30832951\nChange-Id: Iee410adf59dcbb74fa4b49edb27d028025cd8bf9\n"
    },
    {
      "commit": "e26ce9f612d3afe54b9806beee3fd0a3dc1638be",
      "tree": "08a09e463ce3ded8afb90971fca13a3398d22905",
      "parents": [
        "1ff2b85b032f1088263700470aa7bcaa385e9091",
        "3cf4bfe2368020b50a3e22360910b6af6590c5be"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Fri Aug 12 16:36:04 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 12 16:36:04 2016 +0000"
      },
      "message": "Merge \"DO NOT MERGE SF: Add property to disable HWC virtual displays\" into nyc-mr1-dev"
    },
    {
      "commit": "3cf4bfe2368020b50a3e22360910b6af6590c5be",
      "tree": "c10331f1f1eef193be7affd37d6f3f0c3d3b8c95",
      "parents": [
        "cf6e673296e8a3a7072f055770da59543935ae48"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Aug 02 10:27:31 2016 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Wed Aug 10 12:56:46 2016 -0700"
      },
      "message": "DO NOT MERGE SF: Add property to disable HWC virtual displays\n\nAdds the property debug.sf.disable_hwc_vds, which will disable the use\nof Hardware Composer virtual displays inside SurfaceFlinger (falling\nback to SurfaceFlinger management and client composition of such\ndisplays).\n\nAlso adds a Binder debug interface for controlling this behavior.\n\nBug: 30510632\nChange-Id: I2c1a199213a24195b144bfa0c0f1679f2dfd0668\n"
    },
    {
      "commit": "1ff2b85b032f1088263700470aa7bcaa385e9091",
      "tree": "dbc062c70df35a9770b66c93f134c0c981d1d0b1",
      "parents": [
        "27f9c827300e0d18742803f67fcd80b5c314129b",
        "92cd24e5f648175944deef5899258981807a9ca4"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Aug 09 22:25:37 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 22:25:38 2016 +0000"
      },
      "message": "Merge \"SF: Fix a couple of Layer ref count issues\" into nyc-mr1-dev"
    },
    {
      "commit": "27f9c827300e0d18742803f67fcd80b5c314129b",
      "tree": "d467322fa367f4715de76e3148ef87ac4f2d2b51",
      "parents": [
        "d3866c201b5620f820ab320234bcaf076d2219ba",
        "a4ef62b8594454373423292f92fe90c4575a8212"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:22:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:22:25 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: eb304f0a36  -s ours am: a82f82293a am: 1c220583e4 am: ce472fbb54  -s ours am: e8cb9c8982 am: 1414d7b372 am: b8d937caeb am: 1864a8748d  -s ours\nam: a4ef62b859\n\nChange-Id: I471e71c1abbb065d2e3c87671dadbff614fc4a9d\n"
    },
    {
      "commit": "a4ef62b8594454373423292f92fe90c4575a8212",
      "tree": "6ddc440163b55ae352432bca9b8dda60631e7a9f",
      "parents": [
        "66818cfeae9fd76db14d8f7b0e0af18af7f77d5f",
        "1864a8748d12f60d000d508bc7da2f9fd8be3d62"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:18:53 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:18:53 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: eb304f0a36  -s ours am: a82f82293a am: 1c220583e4 am: ce472fbb54  -s ours am: e8cb9c8982 am: 1414d7b372 am: b8d937caeb\nam: 1864a8748d  -s ours\n\nChange-Id: I2e022f5c528ded283a40ad3e3a4ac230070a242b\n"
    },
    {
      "commit": "d3866c201b5620f820ab320234bcaf076d2219ba",
      "tree": "d467322fa367f4715de76e3148ef87ac4f2d2b51",
      "parents": [
        "8ea9d9a8f9c0c977fad9134f7d827badde17f116",
        "66818cfeae9fd76db14d8f7b0e0af18af7f77d5f"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:16:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:16:24 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: 247ae46340 am: 171ab27931 am: 101c678909  -s ours am: e55418a857 am: 419626b496 am: 12151706b2 am: 899d956cf3  -s ours\nam: 66818cfeae\n\nChange-Id: Ie8be0fb9b943e5bc8b1046e8e3eb3384e52b223a\n"
    },
    {
      "commit": "1864a8748d12f60d000d508bc7da2f9fd8be3d62",
      "tree": "0416b429c93ea8d015922bed459be801efa60169",
      "parents": [
        "899d956cf318b60b6a8a1cb665e9afa930f9a311",
        "b8d937caeb047534ab885deed746055307d591cc"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:16:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:16:23 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: eb304f0a36  -s ours am: a82f82293a am: 1c220583e4 am: ce472fbb54  -s ours am: e8cb9c8982 am: 1414d7b372\nam: b8d937caeb\n\nChange-Id: I82f6a95334c5c8e484260f120b54ac1d386274da\n"
    },
    {
      "commit": "b8d937caeb047534ab885deed746055307d591cc",
      "tree": "434324630d908dde2e365938f85cfa8558e9cc30",
      "parents": [
        "12151706b202a1826a52fe8155a9a03d732da361",
        "1414d7b372fa44b3a3cae075ab6aed14e4277987"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:13:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:13:23 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: eb304f0a36  -s ours am: a82f82293a am: 1c220583e4 am: ce472fbb54  -s ours am: e8cb9c8982\nam: 1414d7b372\n\nChange-Id: I50541ba686cafded699568f710627bf3e4f8aa1d\n"
    },
    {
      "commit": "1414d7b372fa44b3a3cae075ab6aed14e4277987",
      "tree": "23e9e0ab1420bf79ee6e1c6d7960f843ae4415a5",
      "parents": [
        "419626b49612454f83cd2d922eb5edb8e3e0c122",
        "e8cb9c898299d277f88895177dcb0bf32ef96ae1"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:10:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:10:26 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: eb304f0a36  -s ours am: a82f82293a am: 1c220583e4 am: ce472fbb54  -s ours\nam: e8cb9c8982\n\nChange-Id: I9445235baf1ea98e3e47af3034fa49b0593ae1b2\n"
    },
    {
      "commit": "66818cfeae9fd76db14d8f7b0e0af18af7f77d5f",
      "tree": "6ddc440163b55ae352432bca9b8dda60631e7a9f",
      "parents": [
        "cc453b9926e2de0d7528413a02b83346a4b7cbe2",
        "899d956cf318b60b6a8a1cb665e9afa930f9a311"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:10:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:10:26 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: 247ae46340 am: 171ab27931 am: 101c678909  -s ours am: e55418a857 am: 419626b496 am: 12151706b2\nam: 899d956cf3  -s ours\n\nChange-Id: I107ec23f410d6ee30603596e4bd4b93c93619791\n"
    },
    {
      "commit": "e8cb9c898299d277f88895177dcb0bf32ef96ae1",
      "tree": "ad41230e0c9531f80f497038b67dd94e2d8886bb",
      "parents": [
        "e55418a8571823ce411bbe724096967c5b91adfd",
        "ce472fbb54c1a1bb3245235b21b17ab101d4e25e"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:07:31 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:07:31 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: eb304f0a36  -s ours am: a82f82293a am: 1c220583e4\nam: ce472fbb54  -s ours\n\nChange-Id: I9ac9efe65b6985fc7bd4e7be8a37e471023bd450\n"
    },
    {
      "commit": "899d956cf318b60b6a8a1cb665e9afa930f9a311",
      "tree": "0416b429c93ea8d015922bed459be801efa60169",
      "parents": [
        "0c63d9490cb9554c8fae3df93d90b3a40aed1ecf",
        "12151706b202a1826a52fe8155a9a03d732da361"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:07:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:07:23 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: 247ae46340 am: 171ab27931 am: 101c678909  -s ours am: e55418a857 am: 419626b496\nam: 12151706b2\n\nChange-Id: I0e550c834f988591d761a1830bee72e99be968f1\n"
    },
    {
      "commit": "ce472fbb54c1a1bb3245235b21b17ab101d4e25e",
      "tree": "c8acec6d76e686e401d23d6eb81e122ddcfe715e",
      "parents": [
        "101c678909be68f602b0fb992a7629a833fa7f46",
        "1c220583e4e7905ffabed4e62d3945a9d82b89a6"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:04:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:04:24 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: eb304f0a36  -s ours am: a82f82293a\nam: 1c220583e4\n\nChange-Id: Ie1ab626a476ecada3ed5171489dc3fec0cf5a1f5\n"
    },
    {
      "commit": "12151706b202a1826a52fe8155a9a03d732da361",
      "tree": "434324630d908dde2e365938f85cfa8558e9cc30",
      "parents": [
        "cac59eae3bfa847c5896032f62c078ec45b4865c",
        "419626b49612454f83cd2d922eb5edb8e3e0c122"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:04:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:04:24 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: 247ae46340 am: 171ab27931 am: 101c678909  -s ours am: e55418a857\nam: 419626b496\n\nChange-Id: Ibe41eb3a2c9a0e28211d546b6b79469bb0523d01\n"
    },
    {
      "commit": "8ea9d9a8f9c0c977fad9134f7d827badde17f116",
      "tree": "d467322fa367f4715de76e3148ef87ac4f2d2b51",
      "parents": [
        "3f505a247e7066021c17044c84ee7b1a00abd1e0",
        "cc453b9926e2de0d7528413a02b83346a4b7cbe2"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:01:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:01:24 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: f03ba2c0d8 am: a9963dcfb7 am: cac59eae3b am: 0c63d9490c  -s ours\nam: cc453b9926\n\nChange-Id: Ib6cd35f8e1fbabfeca37626854eba9c927b120ca\n"
    },
    {
      "commit": "1c220583e4e7905ffabed4e62d3945a9d82b89a6",
      "tree": "ae14f84ec61ab5b8043470885ed35c98014ebb64",
      "parents": [
        "171ab279319bbc70c80dd8ada2d03455721422b4",
        "a82f82293a203efae774fe9e2eefbc8df47ac9cb"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 21:01:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 21:01:23 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: eb304f0a36  -s ours\nam: a82f82293a\n\nChange-Id: Ib91d630f70f4fa434915ac15938c7dca94fe3de5\n"
    },
    {
      "commit": "419626b49612454f83cd2d922eb5edb8e3e0c122",
      "tree": "23e9e0ab1420bf79ee6e1c6d7960f843ae4415a5",
      "parents": [
        "a9963dcfb72a36c58bf5fc119deb3ffa28025bab",
        "e55418a8571823ce411bbe724096967c5b91adfd"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 20:58:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 20:58:24 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: 247ae46340 am: 171ab27931 am: 101c678909  -s ours\nam: e55418a857\n\nChange-Id: If0008ff56fb3348ac1bef2c77e99032bf6d51680\n"
    },
    {
      "commit": "cc453b9926e2de0d7528413a02b83346a4b7cbe2",
      "tree": "6ddc440163b55ae352432bca9b8dda60631e7a9f",
      "parents": [
        "2b74d2c1d2a2c1bb6e9c420f7e9b339ba2a95179",
        "0c63d9490cb9554c8fae3df93d90b3a40aed1ecf"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 20:58:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 20:58:24 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: f03ba2c0d8 am: a9963dcfb7 am: cac59eae3b\nam: 0c63d9490c  -s ours\n\nChange-Id: I2d17ab94a66c5ee9b5aa7d0bd8a89e31f39d7b9d\n"
    },
    {
      "commit": "e55418a8571823ce411bbe724096967c5b91adfd",
      "tree": "ad41230e0c9531f80f497038b67dd94e2d8886bb",
      "parents": [
        "f03ba2c0d878071603d73b7f8e9a4a468364ac27",
        "101c678909be68f602b0fb992a7629a833fa7f46"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 20:55:31 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 20:55:31 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: 247ae46340 am: 171ab27931\nam: 101c678909  -s ours\n\nChange-Id: I3c98fc1516193caab37bcb9cf88ffe6104dd65b1\n"
    },
    {
      "commit": "a82f82293a203efae774fe9e2eefbc8df47ac9cb",
      "tree": "ae14f84ec61ab5b8043470885ed35c98014ebb64",
      "parents": [
        "247ae46340bd5aa3e384090f325cd1f7e566e88f",
        "eb304f0a369aa0573a6999057b0b53e22c5dce81"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 20:55:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 20:55:23 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check\nam: eb304f0a36  -s ours\n\nChange-Id: I6bae641d0ec80aaba79b716ef8bcd46279aca0ed\n"
    },
    {
      "commit": "0c63d9490cb9554c8fae3df93d90b3a40aed1ecf",
      "tree": "0416b429c93ea8d015922bed459be801efa60169",
      "parents": [
        "0ec362e0248aa4cce166140abe80a6b3b45a15d8",
        "cac59eae3bfa847c5896032f62c078ec45b4865c"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 20:55:19 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 20:55:19 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: f03ba2c0d8 am: a9963dcfb7\nam: cac59eae3b\n\nChange-Id: I672617263a66261b36de2f3fb6c7829d39f87e51\n"
    },
    {
      "commit": "cac59eae3bfa847c5896032f62c078ec45b4865c",
      "tree": "434324630d908dde2e365938f85cfa8558e9cc30",
      "parents": [
        "0e85f4d48da5a7d5bf9ce6fe2c0463b38efac512",
        "a9963dcfb72a36c58bf5fc119deb3ffa28025bab"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 20:52:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 20:52:18 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: f03ba2c0d8\nam: a9963dcfb7\n\nChange-Id: Id42cd61ca837cc5e9da644feaae10f8f7d0e6c11\n"
    },
    {
      "commit": "101c678909be68f602b0fb992a7629a833fa7f46",
      "tree": "c8acec6d76e686e401d23d6eb81e122ddcfe715e",
      "parents": [
        "b990d753154a1675ddcb608806a5996c762b7c2f",
        "171ab279319bbc70c80dd8ada2d03455721422b4"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 20:49:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 20:49:54 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check am: 247ae46340\nam: 171ab27931\n\nChange-Id: I3cfc70e8fb1dd393a92ace283d36ee2b35585ea4\n"
    },
    {
      "commit": "3f505a247e7066021c17044c84ee7b1a00abd1e0",
      "tree": "d467322fa367f4715de76e3148ef87ac4f2d2b51",
      "parents": [
        "cf6e673296e8a3a7072f055770da59543935ae48",
        "2b74d2c1d2a2c1bb6e9c420f7e9b339ba2a95179"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 20:49:53 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 20:49:53 2016 +0000"
      },
      "message": "ServiceManager: Restore basic uid check\nam: 2b74d2c1d2\n\nChange-Id: I01ebfcff30a8b25e3d8435b96bd437fb6e41f8a5\n"
    },
    {
      "commit": "92cd24e5f648175944deef5899258981807a9ca4",
      "tree": "53d4d8e69aa07232b992d5f4838099ee0ea35011",
      "parents": [
        "cf6e673296e8a3a7072f055770da59543935ae48"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Aug 09 13:21:03 2016 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Aug 09 13:47:42 2016 -0700"
      },
      "message": "SF: Fix a couple of Layer ref count issues\n\nThis is an attempt at fixing two reference counting issues for Layers.\n\nThe first issue is that since we were holding an sp\u003cIBinder\u003e (really a\nreference to a LayerCleaner) inside the layer state for deferred\ntransactions, there was a possibility that it could end up being the\nlast strong reference to the LayerCleaner such that when it was\ndestroyed while applying a non-deferred transaction, it would attempt\nto grab the SurfaceFlinger main lock to destroy its Layer. Since this\noccurred in the main SurfaceFlinger loop, which was already holding\nthe lock to process transactions, this would cause a deadlock.\n\nTo fix this, the sp\u003cIBinder\u003e inside the layer state was changed to a\nwp\u003cIBinder\u003e, only being promoted when it actually needs to be accessed\n(i.e., when the deferred transaction is created).\n\nThe second issue is that we were promoting and holding a strong\nreference to a Layer before calling into SurfaceFlinger to destroy it\non the onLayerDestroyed path (triggered when a LayerCleaner is\ndestroyed). After returning from the attempt to grab the SurfaceFlinger\nmain lock, it was possible that this strong reference was the last one\nkeeping the Layer alive, and destroying it at this point could cause\nthe HWC2 version of the layer to be destroyed at effectively any point,\neven between validate/present.\n\nTo fix this, the promotion of the weak Layer reference was moved inside\nthe critical section where the SurfaceFlinger main lock is held.\n\nBug: 30503916\nBug: 30281222\nChange-Id: I1c6a271f9a7b5d6eea9a9db61d971f262d0cfe84\n"
    },
    {
      "commit": "171ab279319bbc70c80dd8ada2d03455721422b4",
      "tree": "ae14f84ec61ab5b8043470885ed35c98014ebb64",
      "parents": [
        "67105cc24d13b3da6a0b7596a43c1f0cfe220276",
        "247ae46340bd5aa3e384090f325cd1f7e566e88f"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 20:46:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 20:46:49 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check\nam: 247ae46340\n\nChange-Id: I67af781d5876b13daca82cb7e947397c94cd62e7\n"
    },
    {
      "commit": "a9963dcfb72a36c58bf5fc119deb3ffa28025bab",
      "tree": "23e9e0ab1420bf79ee6e1c6d7960f843ae4415a5",
      "parents": [
        "fd579a51b5787bef19a6f5c2b27fce44db0b05d9",
        "f03ba2c0d878071603d73b7f8e9a4a468364ac27"
      ],
      "author": {
        "name": "Arve Hjnnevg",
        "email": "arve@android.com",
        "time": "Tue Aug 09 20:46:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 09 20:46:49 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check\nam: f03ba2c0d8\n\nChange-Id: I1435bfcd119116cdd242cf7714ef9535d7abc6fa\n"
    },
    {
      "commit": "247ae46340bd5aa3e384090f325cd1f7e566e88f",
      "tree": "ae14f84ec61ab5b8043470885ed35c98014ebb64",
      "parents": [
        "8cd7d257de075d20af7c878362b103105b62043d"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Mon Aug 01 16:05:17 2016 -0700"
      },
      "committer": {
        "name": "Arve Hjønnevåg",
        "email": "arve@google.com",
        "time": "Mon Aug 08 21:32:07 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check\n\nPrevent apps from registering services without relying on selinux checks.\n\nBug: 29431260\n\nChange-Id: I38c6e8bc7f7cba1cbd3568e8fed1ae7ac2054a9b\n"
    },
    {
      "commit": "f03ba2c0d878071603d73b7f8e9a4a468364ac27",
      "tree": "ad41230e0c9531f80f497038b67dd94e2d8886bb",
      "parents": [
        "1a65fccc500c9d75adabbc06cd7d26ec01c3f333"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Mon Aug 01 16:05:17 2016 -0700"
      },
      "committer": {
        "name": "Arve Hjønnevåg",
        "email": "arve@google.com",
        "time": "Mon Aug 08 21:22:54 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check\n\nPrevent apps from registering services without relying on selinux checks.\n\nBug: 29431260\n\nChange-Id: I38c6e8bc7f7cba1cbd3568e8fed1ae7ac2054a9b\n"
    },
    {
      "commit": "eb304f0a369aa0573a6999057b0b53e22c5dce81",
      "tree": "e1a825e28cb180a597c661e4dfa3afca0a7f2519",
      "parents": [
        "9a8c42a72b072bd03f0c830ffe1094b199146e74"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Mon Aug 01 16:05:17 2016 -0700"
      },
      "committer": {
        "name": "Arve Hjønnevåg",
        "email": "arve@google.com",
        "time": "Mon Aug 08 21:19:12 2016 +0000"
      },
      "message": "DO NOT MERGE ServiceManager: Restore basic uid check\n\nPrevent apps from registering services without relying on selinux checks.\n\nBug: 29431260\n\nChange-Id: I38c6e8bc7f7cba1cbd3568e8fed1ae7ac2054a9b\n"
    },
    {
      "commit": "cf6e673296e8a3a7072f055770da59543935ae48",
      "tree": "f4b447f728608bc80b2c69e0989e0b8789058c4b",
      "parents": [
        "283854bb8677b12352b93c5e38533473638c4b4c",
        "d46d37b8d4f81e3ea60aeb5106d6d83dd3040775"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Aug 06 01:56:54 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 06 01:56:55 2016 +0000"
      },
      "message": "Merge \"Don\u0027t use profiles with vm safe mode\" into nyc-mr1-dev"
    },
    {
      "commit": "d46d37b8d4f81e3ea60aeb5106d6d83dd3040775",
      "tree": "78ade64742525d8e4201eaf0d96f30cf9aad244e",
      "parents": [
        "98650f0e33f39627d66feee73f03346e1055157a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 05 17:48:12 2016 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Aug 05 17:49:53 2016 -0700"
      },
      "message": "Don\u0027t use profiles with vm safe mode\n\nvm safe mode uses interpret only compiler filter, this filter will\ngenerate a full app image if a profile is also passed down. App\nimage generation without a profile currently has a bug where uses\nlibrary is not pruned correctly.\n\nBug: 30688277\n\nChange-Id: I60d87d698789583b8ab797eb47d031c96caf6d9b\nTest: N5X boot, package compile speed-profile comb.BBClient\n"
    },
    {
      "commit": "283854bb8677b12352b93c5e38533473638c4b4c",
      "tree": "3224a148ce63b55f258b4a979cd93418f2483a1a",
      "parents": [
        "6d7d099b8e33ceeabb9749b1a3fdef36dfa25e05",
        "98d30f627ef96ca6e47c9cbcbdcfb63adbeda424"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Fri Aug 05 18:03:44 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 18:03:44 2016 +0000"
      },
      "message": "Merge \"Tune SensorService thread priority, lower sensor event latency\" into nyc-mr1-dev"
    },
    {
      "commit": "6d7d099b8e33ceeabb9749b1a3fdef36dfa25e05",
      "tree": "efab5361ca917062fad89a2f40d15bcda28fc4a7",
      "parents": [
        "dcd1f0da541304421648c77db287ebe56339a6be",
        "51450039e2fd266b31f33dfd1b4353bc1b0b145a"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Fri Aug 05 17:14:45 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 17:14:45 2016 +0000"
      },
      "message": "Merge \"SF: Change rounding behavior in setGeometry\" into nyc-mr1-dev"
    },
    {
      "commit": "98d30f627ef96ca6e47c9cbcbdcfb63adbeda424",
      "tree": "e3703382cbf454daea09e4873cbb263a8eb91bf3",
      "parents": [
        "0a21df783892acc5cff0c39c79b0aa602074af7e"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Mon Aug 01 18:12:11 2016 -0700"
      },
      "committer": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Fri Aug 05 09:18:01 2016 -0700"
      },
      "message": "Tune SensorService thread priority, lower sensor event latency\n\nChange SensorService priority to SCHED_FIFO 10 to ensure\nsensor events to be delivered to apps in consistent short time even\nif system is under load.\n\nBug: 30105910\n\nChange-Id: I5ddf7061b75cf46b54e16476d20bbc888024aa43\n"
    },
    {
      "commit": "dcd1f0da541304421648c77db287ebe56339a6be",
      "tree": "c7eebf127d1b3eeefc2e333837aca3262c1fccd8",
      "parents": [
        "8329e4cdecd26488ade74367ab43df85c0290ae8"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Aug 04 12:48:50 2016 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Aug 04 12:51:20 2016 -0700"
      },
      "message": "Fixed logic to print BEGIN: line for bugreportz.\n\nBUG: 30451114\nChange-Id: I0e65a38999c128a435b43ad0806e06e6e74580ff\n"
    },
    {
      "commit": "1aad24c0c47598b0cce5ea2cadd5c2a5f3c5196d",
      "tree": "428136914e4f61a1222e162654ede508b837a782",
      "parents": [
        "acff43dca6a3c8a29f449706967d4de21c373d26"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Thu Aug 04 10:24:22 2016 -0700"
      },
      "committer": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Thu Aug 04 10:24:22 2016 -0700"
      },
      "message": "Fail setDisplaySurface if can\u0027t enable async\n\nBug 30106031\n\nChange-Id: I1c2d048b59e9805e72542c387fbcdb002496a13f\n"
    },
    {
      "commit": "8329e4cdecd26488ade74367ab43df85c0290ae8",
      "tree": "7f12d331178df867ade25b1a1fc678e9453ea171",
      "parents": [
        "f9d4e44fff4f9c0a09e5820a5596c6dec34ee4da",
        "aabfcae816485b39b244ba372c5b2678d2af03be"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 04 14:44:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 04 14:44:34 2016 +0000"
      },
      "message": "Merge \"Added a BEGIN:path message on bugreportz protocol.\" into nyc-mr1-dev"
    },
    {
      "commit": "51450039e2fd266b31f33dfd1b4353bc1b0b145a",
      "tree": "dee3baebed9e340a340d37f92c7c931ac139e402",
      "parents": [
        "acff43dca6a3c8a29f449706967d4de21c373d26"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Wed Aug 03 10:20:45 2016 -0700"
      },
      "committer": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Wed Aug 03 14:19:56 2016 -0700"
      },
      "message": "SF: Change rounding behavior in setGeometry\n\n- Add an option for a transform to round outwards instead of to the\n  nearest pixel.\n- Use this new rounding behavior when converting the crop rectangle\n  from display-space to layer-space. Otherwise a pixel that will\n  partially be on the screen might be marked as transparent.\n\nBug 30510632\n\nChange-Id: I1aece177cc29c54ee0d4a2c919e47442eb455f30\n"
    },
    {
      "commit": "f9d4e44fff4f9c0a09e5820a5596c6dec34ee4da",
      "tree": "b903f62ea48f2d2f7be6e8879779355135d808f7",
      "parents": [
        "acff43dca6a3c8a29f449706967d4de21c373d26"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Tue Aug 02 15:43:59 2016 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Tue Aug 02 16:58:47 2016 -0700"
      },
      "message": "Disable SCHED_FIFO when turning off the display.\n\nThere can be long SF runtimes when turning the display on or off. Only\nuse SCHED_FIFO when we are actively going to be rendering frames, not\nwhen turning the display on or off.\n\nbug 30375418\n\nChange-Id: Ibef8e5f3bba0bafc36f92f9f1b299f015fc335f9\n"
    },
    {
      "commit": "2b74d2c1d2a2c1bb6e9c420f7e9b339ba2a95179",
      "tree": "6ddc440163b55ae352432bca9b8dda60631e7a9f",
      "parents": [
        "b82c6f52c0b2464f3d44a5c4cc904ae19648b59d"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Mon Aug 01 16:05:17 2016 -0700"
      },
      "committer": {
        "name": "Arve Hjønnevåg",
        "email": "arve@google.com",
        "time": "Tue Aug 02 23:09:17 2016 +0000"
      },
      "message": "ServiceManager: Restore basic uid check\n\nPrevent apps from registering services without relying on selinux checks.\n\nBug: 29431260\n\nChange-Id: I38c6e8bc7f7cba1cbd3568e8fed1ae7ac2054a9b\n"
    },
    {
      "commit": "e22aec741f1530cde86c38989bcc2f87626b93b0",
      "tree": "f4213d902a3a862348ffb78fd6f213374512ca45",
      "parents": [
        "acff43dca6a3c8a29f449706967d4de21c373d26"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Aug 01 13:20:59 2016 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Aug 01 16:59:05 2016 -0700"
      },
      "message": "SF/HWC2: Add a layer minidump\n\nAdds a brief dump of visible HWC layers to replace functionality that\nwas lost when moving from HWC1 to HWC2.\n\nBug: 30242002\nChange-Id: I7331517c7d1eb515b33d5db85cdaf23d8b9ae9d9\n"
    },
    {
      "commit": "aabfcae816485b39b244ba372c5b2678d2af03be",
      "tree": "75bb0365de46e7a544a94beff89474522683bf47",
      "parents": [
        "ba5c79ab9857deb9c57192d1cad4d63c83d51772"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Jul 29 09:49:04 2016 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Aug 01 13:00:42 2016 -0700"
      },
      "message": "Added a BEGIN:path message on bugreportz protocol.\n\nBUG: 30451114\nChange-Id: I3607c75b184e71a9a5a6393bdbf68200abe0fc16\n"
    },
    {
      "commit": "acff43dca6a3c8a29f449706967d4de21c373d26",
      "tree": "7c3b1db6bd9f477369ec689ff8017e656b2afa16",
      "parents": [
        "ba5c79ab9857deb9c57192d1cad4d63c83d51772"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Fri Jul 29 13:57:24 2016 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Fri Jul 29 14:25:21 2016 -0700"
      },
      "message": "Update SurfaceFlinger FIFO configuration.\n\n- move SurfaceFlinger main thread to prio 2\n- drop EventThread from FIFO but not SFEventThread, which is still FIFO\nprio 1\n- make DispSyncThread FIFO, prio 1\n\nbug 30481949\n\nChange-Id: Ifedccfbf3cf144ffad030109849a924dddae8d09\n"
    },
    {
      "commit": "ba5c79ab9857deb9c57192d1cad4d63c83d51772",
      "tree": "9abde1feebcbc81cda5e84d58fbe5d8cc85807e1",
      "parents": [
        "bca287d28450d4cc23382174c86de3c84e6a0b8f",
        "4e63777f75e9756c74352e62e79dfa8a994de2b3"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Fri Jul 29 18:34:39 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 18:34:40 2016 +0000"
      },
      "message": "Merge \"SF: Prime shader cache before boot animation\" into nyc-mr1-dev"
    },
    {
      "commit": "4e63777f75e9756c74352e62e79dfa8a994de2b3",
      "tree": "4395c04f22475253fe937ed19924fb096e60a06a",
      "parents": [
        "98650f0e33f39627d66feee73f03346e1055157a"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Thu Jul 28 13:31:51 2016 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Thu Jul 28 13:31:51 2016 -0700"
      },
      "message": "SF: Prime shader cache before boot animation\n\nPrimes the shader cache before launching boot animation to avoid\njanking when we eventually fall into GLES composition.\n\nBug: 30040263\nChange-Id: I76ba66e92c5e6bb05930c325f384f3b774e91101\n"
    },
    {
      "commit": "bca287d28450d4cc23382174c86de3c84e6a0b8f",
      "tree": "371f14e79a008ef43af66d4a546ae32c97a6d493",
      "parents": [
        "98650f0e33f39627d66feee73f03346e1055157a"
      ],
      "author": {
        "name": "mukesh agrawal",
        "email": "quiche@google.com",
        "time": "Wed Jul 27 12:01:49 2016 -0700"
      },
      "committer": {
        "name": "Hector Tellez",
        "email": "htellez@google.com",
        "time": "Thu Jul 28 19:43:12 2016 +0000"
      },
      "message": "dumpsys: fix formatting of service dump times\n\nThe current formatting of service dump times is\nconfusing some bugreport parsing tools. This is\nbecause the current service dump time message\nis hard to distinguish from the bugreport section\nmarker.\n\nAdjust the formatting, to make the service\ndump time message distinct from the bugreport\nsection marker.\n\nBUG\u003d30401031\nTEST\u003dmanual\n\nManual test\n$ adb bugreport /tmp/bugreport.zip\n$ cd /tmp\n$ mkdir br\n$ mv bugreport.zip br\n$ cd br\n$ grep \u0027was the duration\u0027 bugreport*.txt\n------ 4.283s was the duration of \u0027DUMPSYS MEMINFO\u0027 ------\n------ 0.053s was the duration of \u0027DUMPSYS CPUINFO\u0027 ------\n[...many lines omitted...]\n--------- 0.003s was the duration of dumpsys AtCmdFwd\n--------- 0.002s was the duration of dumpsys DockObserver\n[...many more lines omitted...]\n\nChange-Id: I9d3dd75210b3984240a4b7ab49a1cc6124a269d8\n(cherry picked from commit 50b7e039500b3decc78d5ffff9919d1481df4964)\n"
    },
    {
      "commit": "98650f0e33f39627d66feee73f03346e1055157a",
      "tree": "afcf7b22b2a5a41f28a1d096e838dc7fa388f1c7",
      "parents": [
        "379d2f3528ed27ab59322502021ad027f5f3686a",
        "10d3fb2360ae1a31d98a16c63952109825e09e55"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 27 23:44:27 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 23:44:27 2016 +0000"
      },
      "message": "Merge \"Build SF executable with USE_HWC2 when needed\" into nyc-mr1-dev"
    }
  ],
  "next": "10d3fb2360ae1a31d98a16c63952109825e09e55"
}
