)]}'
{
  "log": [
    {
      "commit": "9bcfc3ee238f16925e9aaa4573129784ebb397e7",
      "tree": "e7691f21c00d4f035d0e0cc535e4b3d9e0e6b34e",
      "parents": [
        "bddc9d37a353f4af29141638f48e896a63e0d1a9"
      ],
      "author": {
        "name": "Nam T. Nguyen",
        "email": "namnguyen@chromium.org",
        "time": "Wed Dec 10 19:13:05 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Dec 23 05:01:27 2014"
      },
      "message": "android_mtdutils: Add mtd_write_descriptor\n\nThis CL adds \"mtd_write_descriptor\" to create a write context from a\nfile descriptor. It also refactors the code, especially\nmtd_write_partition and write_block to alleviate the need of an\nMtdPartition.\n\nBUG\u003dchromium:426742\nTEST\u003demerge android_mtdutils\n\nChange-Id: I450f21ab6ae3dd774cb531f9b166dd1864b83d05\nReviewed-on: https://chromium-review.googlesource.com/234457\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Nam Nguyen \u003cnamnguyen@chromium.org\u003e\nTrybot-Ready: Nam Nguyen \u003cnamnguyen@chromium.org\u003e\nTested-by: Nam Nguyen \u003cnamnguyen@chromium.org\u003e\n"
    },
    {
      "commit": "bddc9d37a353f4af29141638f48e896a63e0d1a9",
      "tree": "916d1de9587d70322b9527d8c70ab9ea1fbfb0bd",
      "parents": [
        "abeff4d9fb3d74206580d12d4f6ec4aef1aa3c5e"
      ],
      "author": {
        "name": "Nam T. Nguyen",
        "email": "namnguyen@chromium.org",
        "time": "Wed Dec 10 17:22:17 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Dec 23 05:01:22 2014"
      },
      "message": "android_mtdutils: Add mtd_read_descriptor\n\nThis CL adds \"mtd_read_descriptor\" to create a read context from a\nfile descriptor. It also refactors the code, especially\nmtd_read_partition and read_block to alleviate the need of an\nMtdPartition.\n\nBUG\u003dchromium:426742\nTEST\u003demerge android_mtdutils\n\nChange-Id: I1c976c271997b0c101b511c73081a70a7e0c1eaa\nReviewed-on: https://chromium-review.googlesource.com/234456\nReviewed-by: Nam Nguyen \u003cnamnguyen@chromium.org\u003e\nCommit-Queue: Nam Nguyen \u003cnamnguyen@chromium.org\u003e\nTrybot-Ready: Nam Nguyen \u003cnamnguyen@chromium.org\u003e\nTested-by: Nam Nguyen \u003cnamnguyen@chromium.org\u003e\n"
    },
    {
      "commit": "abeff4d9fb3d74206580d12d4f6ec4aef1aa3c5e",
      "tree": "c571a61bb73a6e873de001a1b95bc5060b9493b0",
      "parents": [
        "49f8d17683430610f389b2ee9954c4a7d5b6b8f1"
      ],
      "author": {
        "name": "Nam T. Nguyen",
        "email": "namnguyen@chromium.org",
        "time": "Wed Dec 10 17:30:38 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Dec 20 21:30:26 2014"
      },
      "message": "android_mtdutils: Return current offset after seek\n\nmtd_read_skip_to is just a wrapper around lseek64. Let\u0027s return some\nvalue to the caller instead of ignoring it.\n\nBUG\u003dchromium:426742\nTEST\u003demerge android_mtdutils\n\nChange-Id: I3ba048859faf625751a09f5d6b7f910a990bf17e\nReviewed-on: https://chromium-review.googlesource.com/234455\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Nam Nguyen \u003cnamnguyen@chromium.org\u003e\nTrybot-Ready: Nam Nguyen \u003cnamnguyen@chromium.org\u003e\nTested-by: Nam Nguyen \u003cnamnguyen@chromium.org\u003e\n"
    },
    {
      "commit": "49f8d17683430610f389b2ee9954c4a7d5b6b8f1",
      "tree": "79e9f01ea72dbaa728f6521a9f11fbf7f8f6c88e",
      "parents": [
        "c43b17f0adac1092e221ce6166ca8bc464090525"
      ],
      "author": {
        "name": "Nam T. Nguyen",
        "email": "namnguyen@chromium.org",
        "time": "Tue Dec 09 23:28:30 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 19 01:47:05 2014"
      },
      "message": "android_mtdutils: Add mtd_node_info\n\nAdd a function mtd_node_info to read MTD device info from a\ndevice node name. Also refactor mtd_partition_info to use\nthis function.\n\nBUG\u003dchromium:426742\nTEST\u003demerge android_mtdutils\n\nChange-Id: I129bcb3e06cb3664f4f94de81cb34bcc405e7b51\nReviewed-on: https://chromium-review.googlesource.com/234454\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Gaurav Shah \u003cgauravsh@chromium.org\u003e\nCommit-Queue: Gaurav Shah \u003cgauravsh@chromium.org\u003e\n"
    },
    {
      "commit": "c43b17f0adac1092e221ce6166ca8bc464090525",
      "tree": "5645af494c0928f56b90922f58580b35295394b0",
      "parents": [
        "d34b63780eaf80ba71279360dc1e2fdbdc488eec",
        "4c3c7a962f5b5ec7fde06065cd60a49bf272329d"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@android.com",
        "time": "Mon Dec 01 23:59:21 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 01 23:59:21 2014"
      },
      "message": "Merge \"Fix recovery image build for 32p\""
    },
    {
      "commit": "4c3c7a962f5b5ec7fde06065cd60a49bf272329d",
      "tree": "5645af494c0928f56b90922f58580b35295394b0",
      "parents": [
        "d34b63780eaf80ba71279360dc1e2fdbdc488eec"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "bruce.j.beare@intel.com",
        "time": "Fri Sep 12 16:09:52 2014"
      },
      "committer": {
        "name": "Yong Yao",
        "email": "yong.yao@intel.com",
        "time": "Mon Dec 01 03:21:19 2014"
      },
      "message": "Fix recovery image build for 32p\n\nWhen building for 32p, we need to be explicit that we wish to build\nthe 32bit version of the binaries that will be placed in the recovery\nimage. The recovery image doesn\u0027t actually care... but if we are not\nexplicit in this, the makefiles will ask for the 64bit binaries but the\nAndroid.mk for the binaries will supply the 32bit images (causing the\nbuild to fail).\n\nChange-Id: Iea2d5f412740c082795da4358765751138a4b167\n"
    },
    {
      "commit": "d34b63780eaf80ba71279360dc1e2fdbdc488eec",
      "tree": "ddce6db8af04aa9d88b5728d95ef6f4fb7508311",
      "parents": [
        "92242c704846f28932e555dba800f4a701063896",
        "32f9fe7fab642378767318d971d7bcc7df47dab9"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 21:21:14 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 20 21:21:14 2014"
      },
      "message": "Merge \"Global C++11 compatibility.\""
    },
    {
      "commit": "32f9fe7fab642378767318d971d7bcc7df47dab9",
      "tree": "ddce6db8af04aa9d88b5728d95ef6f4fb7508311",
      "parents": [
        "92242c704846f28932e555dba800f4a701063896"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 17:00:46 2014"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 21:17:35 2014"
      },
      "message": "Global C++11 compatibility.\n\nOur build system compiles flex/bison as C++ rather than C, but a few\nprojects add `-x c` to their flags, forcing the compiler to compile\nthem as C. This causes the compiler to reject the global C++ standard\nflag, so we need to explicitly provide a C standard flag to override\nit.\n\nBug: 18466763\nChange-Id: Id68ad9317261ed4d857a949b07288bd137ff6303\n"
    },
    {
      "commit": "92242c704846f28932e555dba800f4a701063896",
      "tree": "38bae18a9d1681ecb0d848aa2bf30b512654a442",
      "parents": [
        "c7249660f908c74687b5fdadc1296eb9d4903cc7",
        "678f7d4a36eeae9a2c1bad6c861cecc2e5dab70c"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 13 18:14:54 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 13 18:14:54 2014"
      },
      "message": "Merge \"kill HAVE_FORKEXEC\""
    },
    {
      "commit": "678f7d4a36eeae9a2c1bad6c861cecc2e5dab70c",
      "tree": "38bae18a9d1681ecb0d848aa2bf30b512654a442",
      "parents": [
        "c7249660f908c74687b5fdadc1296eb9d4903cc7"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Nov 11 17:22:15 2014"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 13 00:51:45 2014"
      },
      "message": "kill HAVE_FORKEXEC\n\nBug: 18317407\nChange-Id: Idd4e0effa96752e2c0ca959728f80df4d2d34187\n"
    },
    {
      "commit": "c7249660f908c74687b5fdadc1296eb9d4903cc7",
      "tree": "e812e7c4951fccdfb3aacc68f42640c76a09a7ab",
      "parents": [
        "ea5828a24f3a8f6a44e2f15e76cacdb5bc524db0",
        "4f66469b29a34811b69518a266be31fe42cc111b"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 17 07:47:57 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 17 07:47:57 2014"
      },
      "message": "am 4f66469b: Merge \"More test makefile cleanup.\"\n\n* commit \u00274f66469b29a34811b69518a266be31fe42cc111b\u0027:\n  More test makefile cleanup.\n"
    },
    {
      "commit": "4f66469b29a34811b69518a266be31fe42cc111b",
      "tree": "3767f10b026667db1e1a5fc630584c58e4b67f0a",
      "parents": [
        "28ffde5ebd33d5b693906a93087e6eea627cd8d0",
        "13f21c2bc7bc5ca640795e4c2796c324c786c7ae"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 17 01:28:35 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 17 01:28:35 2014"
      },
      "message": "Merge \"More test makefile cleanup.\""
    },
    {
      "commit": "13f21c2bc7bc5ca640795e4c2796c324c786c7ae",
      "tree": "3767f10b026667db1e1a5fc630584c58e4b67f0a",
      "parents": [
        "28ffde5ebd33d5b693906a93087e6eea627cd8d0"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 17 00:39:31 2014"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Oct 17 01:05:08 2014"
      },
      "message": "More test makefile cleanup.\n\nGlobal variables kill.\nNo need to manually link gtest, and that causes problems with\nlibc++.\n\nChange-Id: If804cdd436cf1addfa9a777708efbc37c27770b6"
    },
    {
      "commit": "ea5828a24f3a8f6a44e2f15e76cacdb5bc524db0",
      "tree": "18a82ed836d0558ab9ee3c09459acbc0a12e773f",
      "parents": [
        "e95ed95f05d22929e0bb8610a83c4e6a01fb3a33",
        "28ffde5ebd33d5b693906a93087e6eea627cd8d0"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 26 16:12:23 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 26 16:12:23 2014"
      },
      "message": "am 28ffde5e: Merge \"Revert \"Copy epoll(2) changes to minadb.\"\"\n\n* commit \u002728ffde5ebd33d5b693906a93087e6eea627cd8d0\u0027:\n  Revert \"Copy epoll(2) changes to minadb.\"\n"
    },
    {
      "commit": "28ffde5ebd33d5b693906a93087e6eea627cd8d0",
      "tree": "8e161f6b96fdbecabb389b35aaa9e2acc7fe6501",
      "parents": [
        "530b61e0b5f154e5f38853c10a28e0ea6f41c2ca",
        "f420f8eb6327a69954b8565d000060133439c39e"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Fri Sep 26 16:04:16 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 26 16:04:16 2014"
      },
      "message": "Merge \"Revert \"Copy epoll(2) changes to minadb.\"\""
    },
    {
      "commit": "f420f8eb6327a69954b8565d000060133439c39e",
      "tree": "8e161f6b96fdbecabb389b35aaa9e2acc7fe6501",
      "parents": [
        "530b61e0b5f154e5f38853c10a28e0ea6f41c2ca"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 25 22:12:19 2014"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Sep 25 22:12:19 2014"
      },
      "message": "Revert \"Copy epoll(2) changes to minadb.\"\n\nThis reverts commit db8c959049d21fe63e48c270f1fc12b32a0cf0ec.\n"
    },
    {
      "commit": "e95ed95f05d22929e0bb8610a83c4e6a01fb3a33",
      "tree": "86945bb39a77f4527d5e8c0162bf8924b74e633a",
      "parents": [
        "78a30278607f0e57ace53eb5df7e5f7f196387a4",
        "a6e13ae01bff5109361868f565187f16d045c82d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 24 23:35:38 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 24 23:35:38 2014"
      },
      "message": "am a6e13ae0: Include reason when wiping data.\n\n* commit \u0027a6e13ae01bff5109361868f565187f16d045c82d\u0027:\n  Include reason when wiping data.\n"
    },
    {
      "commit": "a6e13ae01bff5109361868f565187f16d045c82d",
      "tree": "18a82ed836d0558ab9ee3c09459acbc0a12e773f",
      "parents": [
        "574443d8956802f35347cac7fae7eb16240e3c16"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 24 18:46:17 2014"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 24 18:46:17 2014"
      },
      "message": "Include reason when wiping data.\n\nThis will help us track down who requested a data wipe.\n\nBug: 17412160\nChange-Id: I1c439fbd29f96b9851810baca9101f683a0f18d8\n"
    },
    {
      "commit": "78a30278607f0e57ace53eb5df7e5f7f196387a4",
      "tree": "24108d07dade3925b8fff8d4997522ca0312db42",
      "parents": [
        "574443d8956802f35347cac7fae7eb16240e3c16",
        "530b61e0b5f154e5f38853c10a28e0ea6f41c2ca"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 18:57:39 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 23 18:57:39 2014"
      },
      "message": "am 530b61e0: Merge \"Copy epoll(2) changes to minadb.\"\n\n* commit \u0027530b61e0b5f154e5f38853c10a28e0ea6f41c2ca\u0027:\n  Copy epoll(2) changes to minadb.\n"
    },
    {
      "commit": "530b61e0b5f154e5f38853c10a28e0ea6f41c2ca",
      "tree": "13899f61be3fb2bdaf065d8fb3129ba9b8f8b23a",
      "parents": [
        "974fe112ae6df95ca6d49688d6e3e459d87e16de",
        "db8c959049d21fe63e48c270f1fc12b32a0cf0ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 18:36:33 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 23 18:36:34 2014"
      },
      "message": "Merge \"Copy epoll(2) changes to minadb.\""
    },
    {
      "commit": "db8c959049d21fe63e48c270f1fc12b32a0cf0ec",
      "tree": "13899f61be3fb2bdaf065d8fb3129ba9b8f8b23a",
      "parents": [
        "974fe112ae6df95ca6d49688d6e3e459d87e16de"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 17:50:55 2014"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 23 17:50:55 2014"
      },
      "message": "Copy epoll(2) changes to minadb.\n\nBug: 17588403\nChange-Id: Ib3525824ff09330bd9d6f9e96d662e5a55a20ec2\n"
    },
    {
      "commit": "574443d8956802f35347cac7fae7eb16240e3c16",
      "tree": "02693ba08f06ce5d1420c206abb6e7ce85ef1d84",
      "parents": [
        "40482ea2ae5ca8cbcf46125f601c0bc766f99943"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri Sep 05 15:22:12 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri Sep 05 15:22:12 2014"
      },
      "message": "create block map for all update packages on /data\n\nAlways create the block map for packages on /data; don\u0027t only look at\nthe encryptable/encrypted flags.\n\nBug: 17395453\nChange-Id: Iaa7643a32898328277841e324305b9419a9e071c\n"
    },
    {
      "commit": "40482ea2ae5ca8cbcf46125f601c0bc766f99943",
      "tree": "0e72db7c03a9752046baa2cb53e4f757a2eab258",
      "parents": [
        "8328922ff040280007da0aaaf8b567581231d5ed",
        "f7bb09dae8d7c89130648ef2aca7025860b6d801"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Sep 04 15:26:29 2014"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 04 15:26:29 2014"
      },
      "message": "Merge \"fix comment in blockimg updater code\" into lmp-dev"
    },
    {
      "commit": "f7bb09dae8d7c89130648ef2aca7025860b6d801",
      "tree": "52587b4074dfac481e082fd3a989b8b6c9f45116",
      "parents": [
        "5f875bf57739bf0b5c2d182173513233bdb71ab8"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Sep 04 15:10:32 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Sep 04 15:10:32 2014"
      },
      "message": "fix comment in blockimg updater code\n\nThe comment for the DEBUG_ERASE setting is exactly backwards.\n\nChange-Id: I98ab5828365894217fc78976817a131e7d22d5c1\n"
    },
    {
      "commit": "8328922ff040280007da0aaaf8b567581231d5ed",
      "tree": "8cceb71b4652a90c97ad51f84a45b6c1d580d897",
      "parents": [
        "5f875bf57739bf0b5c2d182173513233bdb71ab8"
      ],
      "author": {
        "name": "Andrew Boie",
        "email": "andrew.p.boie@intel.com",
        "time": "Wed Sep 03 19:41:06 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Sep 04 14:54:17 2014"
      },
      "message": "use lseek64 instead of lseek\n\nOtherwise, overflow problems can occur with images larger than\n2G since the offsets will overflow a 32-bit off_t.\n\nChange-Id: I05951a38ebeae83ad2cb938594e8d8adb323e2aa\nSigned-off-by: Andrew Boie \u003candrew.p.boie@intel.com\u003e\n"
    },
    {
      "commit": "5f875bf57739bf0b5c2d182173513233bdb71ab8",
      "tree": "75cccb4197282c24cfd2918040eed55fb70e8759",
      "parents": [
        "f449db2f30235a0c2fef4bc7bc41776e271a60a0"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri Aug 22 21:53:43 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue Aug 26 20:54:24 2014"
      },
      "message": "remove code for original block OTA mechanism\n\nSuperseded by newer code.\n\nBug: 16984795\nChange-Id: I842299f6a02af7ccf51ef2ca174d813ca53deef1\n"
    },
    {
      "commit": "f449db2f30235a0c2fef4bc7bc41776e271a60a0",
      "tree": "394c53ac4748ac92ee74019cf9a0d79e03374cc0",
      "parents": [
        "1d5d6098f4a470bc8e56ae8914180041815e6e22"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue Aug 26 16:15:08 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue Aug 26 16:22:57 2014"
      },
      "message": "open misc device in write-only mode\n\nOpening the misc block device in read-write mode runs afoul of\nSELinux, which keeps the wipe code from working.  Fix.  Also change\nvarious things to log to logcat so we can see them happening, for\nfuture debugging.\n\nBug: 16715412\nChange-Id: Ia14066f0a371cd605fcb544547b58a41acca70b9\n"
    },
    {
      "commit": "1d5d6098f4a470bc8e56ae8914180041815e6e22",
      "tree": "1b82fd164eb2cd09af679616e25d8e6d7c61787f",
      "parents": [
        "bc7ffeda98a861e346c30c771d3258030f7fcf21"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Aug 21 17:47:24 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Aug 21 17:47:24 2014"
      },
      "message": "fix two bugs in block image updater\n\nThe computation of file offsets was overflowing for partitions larger\nthan 2 GB.  The parsing of the transfer file could fail at the end if\nthe data happened to not be properly null-terminated.\n\nBug: 16984795\nChange-Id: I3ce6eb3e54ab7b55aa9bbed252da5a7eacd3317a\n"
    },
    {
      "commit": "bc7ffeda98a861e346c30c771d3258030f7fcf21",
      "tree": "a435cfd2bd1b457bb2e45304b8e75cd2e1305831",
      "parents": [
        "2efc9d994ce59f9ebfc2290c2adc5d760e8939c2"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri Aug 15 21:31:52 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue Aug 19 23:53:39 2014"
      },
      "message": "installer for new block OTA system\n\n(Cherry-pick back from master.)\n\nBug: 16984795\nChange-Id: Ifa3d8345c5e2a0be86fb28faa080ca82592a96b4\n"
    },
    {
      "commit": "2efc9d994ce59f9ebfc2290c2adc5d760e8939c2",
      "tree": "04091cb1c42549e8c4a91e4a23202b5a7b3f2f67",
      "parents": [
        "1a35a586904cd429fd3a6a6c2de64a16ccdf693d"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Mon Aug 18 22:55:28 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Mon Aug 18 22:55:28 2014"
      },
      "message": "clear BCB in misc partition before rebooting\n\nSomething is leaving behind wipe commands in the BCB area of the /misc\npartition.  We don\u0027t know what is doing that.  It should always be\nsafe to zero out that area from uncrypt, though (because if uncrypt is\nrunning then it\u0027s got the command we want in the recovery command file\nrather than the BCB).\n\nBug: 16715412\nChange-Id: Iad01124287f13b80ff71d6371db6371f43c43211\n"
    },
    {
      "commit": "1a35a586904cd429fd3a6a6c2de64a16ccdf693d",
      "tree": "3334264f208f42ad3ac5df8e086a67da4d4b5849",
      "parents": [
        "537d34f907a5e984ccad1c88825adc8ae9814834"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Aug 14 17:29:54 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Aug 14 17:32:46 2014"
      },
      "message": "revert uncrypt back to dynamic linking, fix libs\n\nBug: 17029174, 17015157\nChange-Id: I1d24f3402875dfb972daa6daef0f385baeff84e9\n"
    },
    {
      "commit": "537d34f907a5e984ccad1c88825adc8ae9814834",
      "tree": "05f62909030d72ddbf31a5cbf30304845029ba1e",
      "parents": [
        "9dc71cfa5233789a50d8a9d2c9af87d0f106d4ad"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Aug 14 14:59:28 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Aug 14 15:01:17 2014"
      },
      "message": "change uncrypt to static linking\n\nBug: 17015157\nChange-Id: I3c4bdcf4f11d44b617bb731a48413e3707044d1c\n"
    },
    {
      "commit": "9dc71cfa5233789a50d8a9d2c9af87d0f106d4ad",
      "tree": "1d60fc74a6983fe4a1ef3f60e2d039857a18c2a1",
      "parents": [
        "2b5f0e0f767ce51d9605809052ad04fe83d1df83",
        "ee19387905650cab5da7dd97ada5502cd17ac93d"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Wed Aug 06 17:07:35 2014"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 05 00:34:22 2014"
      },
      "message": "Merge \"Erase PST partition if its marked to be erased.\" into lmp-dev"
    },
    {
      "commit": "ee19387905650cab5da7dd97ada5502cd17ac93d",
      "tree": "46f1c336bce478470cf2b45511f7a55c61db5021",
      "parents": [
        "a91ecc59b2753a3dcc93b2619559a980074e77bd"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Wed Aug 06 02:49:09 2014"
      },
      "committer": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Wed Aug 06 16:58:55 2014"
      },
      "message": "Erase PST partition if its marked to be erased.\n\nWe need to wipe the challenges on this partition\nif OEM unlock is enabled, as this is a signal that\nthe user has opted out of factory reset protection.\n\ngo/factory-reset\n\nBug: 16633064\nChange-Id: Icb8f1433bf99ca57813f5b72d5a3dd15fa94a263\n"
    },
    {
      "commit": "2b5f0e0f767ce51d9605809052ad04fe83d1df83",
      "tree": "9219b4582e77d19894177bd4acf86477fb0e431e",
      "parents": [
        "78d458c3d279a24a60fda013026b7a5454d01a9b"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Wed Aug 06 15:25:03 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Wed Aug 06 15:25:03 2014"
      },
      "message": "remove spurious parens from error message\n\nThese error messages include empty parens after each string\nsubstition.  Ill-advised cut and paste, probably.\n\nBug: 16467401\nChange-Id: Ib623172d6228354afdcc2e33442cc53a07f0ecbc\n"
    },
    {
      "commit": "78d458c3d279a24a60fda013026b7a5454d01a9b",
      "tree": "ec6d4bad929d2e9615c1e676b32ae84b07576eeb",
      "parents": [
        "eaf33654c1817bd665831a13c5bd0c04daabee02"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Mon Aug 04 23:44:33 2014"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Mon Aug 04 23:44:33 2014"
      },
      "message": "Fix length printing + formats\n\nFix wrong argument order.\nFix for 32 vs 64 bit.\n\n(reported by htc)\n\nChange-Id: Ie37a280bed2848199bcc075500e1326e371cd326\n"
    },
    {
      "commit": "eaf33654c1817bd665831a13c5bd0c04daabee02",
      "tree": "704c52c8d0a1f1ccf3783c495a43a252cdbd468c",
      "parents": [
        "a91ecc59b2753a3dcc93b2619559a980074e77bd"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Jul 31 21:59:01 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Jul 31 22:42:13 2014"
      },
      "message": "only do uncryption on packages in /data\n\nIf recovery is invoked with a package somewhere other than /data,\nleave it alone.\n\nChange-Id: Ief358b53df467ae24a65e30e7a631da59bf13683\n"
    },
    {
      "commit": "a91ecc59b2753a3dcc93b2619559a980074e77bd",
      "tree": "0c44c214421c03f2e34ef529f05b419d20a693c8",
      "parents": [
        "945fc68c62692467ddb8b7d714bcf0bf01c783c2"
      ],
      "author": {
        "name": "Michael Runge",
        "email": "mrunge@google.com",
        "time": "Tue Jul 22 00:40:02 2014"
      },
      "committer": {
        "name": "Michael Runge",
        "email": "mrunge@google.com",
        "time": "Tue Jul 22 00:40:02 2014"
      },
      "message": "Auto create parent directories for rename support\n\nSometimes renames will move a file into a directory\nthat does not yet exist.  This will create the\nparent directories, using the same symlink logic,\nto ensure that there is a valid destination.\n\nChange-Id: Iaa005a12ce800c39f4db20f7c25a2a68cb40a52d\n"
    },
    {
      "commit": "945fc68c62692467ddb8b7d714bcf0bf01c783c2",
      "tree": "8fcb9d928f544a13a8085c47e13e6742a3675583",
      "parents": [
        "18a78e0a162c35756628610307f41179816d3333"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Jul 10 17:50:39 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Jul 10 17:58:35 2014"
      },
      "message": "do sdcard sideloading through the fuse filesystem\n\nMake a fuse filesystem that sits on top of the selected package file\non the sdcard, so we can verify that the file contents don\u0027t change\nwhile being read and avoid copying the file to /tmp (that is, RAM)\nbefore verifying and installing it.\n\nChange-Id: Ifd982aa68bfe469eda5f839042648654bf7386a1\n"
    },
    {
      "commit": "18a78e0a162c35756628610307f41179816d3333",
      "tree": "0fc0d66dacdb35be53da27a80e77865f68dc8325",
      "parents": [
        "93950229cf9a991589f6bb071a966b00349d18d6"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Jul 10 14:31:46 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Jul 10 17:55:07 2014"
      },
      "message": "refactor fuse sideloading code\n\nSplit the adb-specific portions (fetching a block from the adb host\nand closing the connections) out from the rest of the FUSE filesystem\ncode, so that we can reuse the fuse stuff for installing off sdcards\nas well.\n\nChange-Id: I0ba385fd35999c5f5cad27842bc82024a264dd14\n"
    },
    {
      "commit": "93950229cf9a991589f6bb071a966b00349d18d6",
      "tree": "eec365a85750de0ac8c9f73c0be301d099c4688f",
      "parents": [
        "075ad800c539503d0515e5e0b4af160eccedead9"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue Jul 08 21:10:23 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue Jul 08 21:10:23 2014"
      },
      "message": "drop APPLY_CACHE and refactor APPLY_EXT\n\nDrop support for sideloading OTA packages of the cache partition (a\nhalf-solution that\u0027s long since been deprecated by \"adb sideload\").\nRefactor the code to sideload OTA packages from SD cards: remove the\ninstallation code from the file browser.\n\nChange-Id: Id0dff6b27c4a5837546f174f50e2e1d0379c43db\n"
    },
    {
      "commit": "075ad800c539503d0515e5e0b4af160eccedead9",
      "tree": "0fa4e4f99556393317ae486eb66aeb3cbad220df",
      "parents": [
        "e8d7dd4ed1a372cb9bf67a1f7ff55aaa3e152053"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Jun 26 22:35:51 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Wed Jul 02 19:16:36 2014"
      },
      "message": "sideload without holding the whole package in RAM\n\nImplement a new method of sideloading over ADB that does not require\nthe entire package to be held in RAM (useful for low-RAM devices and\ndevices using block OTA where we\u0027d rather have more RAM available for\nbinary patching).\n\nWe communicate with the host using a new adb service called\n\"sideload-host\", which makes the host act as a server, sending us\ndifferent parts of the package file on request.\n\nWe create a FUSE filesystem that creates a virtual file\n\"/sideload/package.zip\" that is backed by the ADB connection -- users\nsee a normal file, but when they read from the file we\u0027re actually\nfetching the data from the adb host.  This file is then passed to the\nverification and installation systems like any other.\n\nTo prevent a malicious adb host implementation from serving different\ndata to the verification and installation phases of sideloading, the\nFUSE filesystem verifies that the contents of the file don\u0027t change\nbetween reads -- every time we fetch a block from the host we compare\nits hash to the previous hash for that block (if it was read before)\nand cause the read to fail if it changes.\n\nOne necessary change is that the minadbd started by recovery in\nsideload mode no longer drops its root privileges (they\u0027re needed to\nmount the FUSE filesystem).  We rely on SELinux enforcement to\nrestrict the set of things that can be accessed.\n\nChange-Id: Ida7dbd3b04c1d4e27a2779d88c1da0c7c81fb114\n"
    },
    {
      "commit": "e8d7dd4ed1a372cb9bf67a1f7ff55aaa3e152053",
      "tree": "e021e4e435ef25eba7b23ffdf2ad01122fd329b4",
      "parents": [
        "22bcf97a5949816db85242157cb2640feed73616",
        "3e0fc39ec27c0ed96ffd2a617f1841fe3bf3c8f6"
      ],
      "author": {
        "name": "Riley Andrews",
        "email": "riandrews@google.com",
        "time": "Wed Jun 25 00:44:02 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 25 00:44:02 2014"
      },
      "message": "am 3e0fc39e: am 974fe112: Merge \"Fix recovery mode.\"\n\n* commit \u00273e0fc39ec27c0ed96ffd2a617f1841fe3bf3c8f6\u0027:\n  Fix recovery mode.\n"
    },
    {
      "commit": "3e0fc39ec27c0ed96ffd2a617f1841fe3bf3c8f6",
      "tree": "8e161f6b96fdbecabb389b35aaa9e2acc7fe6501",
      "parents": [
        "54a6117935fe7470d23f7a538aeec9d6b139791b",
        "974fe112ae6df95ca6d49688d6e3e459d87e16de"
      ],
      "author": {
        "name": "Riley Andrews",
        "email": "riandrews@google.com",
        "time": "Wed Jun 25 00:40:46 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 25 00:40:46 2014"
      },
      "message": "am 974fe112: Merge \"Fix recovery mode.\"\n\n* commit \u0027974fe112ae6df95ca6d49688d6e3e459d87e16de\u0027:\n  Fix recovery mode.\n"
    },
    {
      "commit": "22bcf97a5949816db85242157cb2640feed73616",
      "tree": "976189b7ab045f74c680eae4ff092a3f8075530f",
      "parents": [
        "b9afc2bf15822d09af188912ac27bd81bf078394"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 24 20:43:39 2014"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jun 24 20:43:39 2014"
      },
      "message": "recovery: enable panic_on_oops\n\nSet panic_on_oops\u003d1 to reboot if the kernel panics.\n\nChange-Id: Id9e8689a570229db2ea2a3d72b52784f8a1ed107\n"
    },
    {
      "commit": "974fe112ae6df95ca6d49688d6e3e459d87e16de",
      "tree": "8e161f6b96fdbecabb389b35aaa9e2acc7fe6501",
      "parents": [
        "cfd4b2864534f062a01730d81b2cd7e054087e8f",
        "e739d7e6cd94e8300f9ea61a2d57d88328755b9f"
      ],
      "author": {
        "name": "Riley Andrews",
        "email": "riandrews@google.com",
        "time": "Wed Jun 25 00:31:29 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 24 18:00:13 2014"
      },
      "message": "Merge \"Fix recovery mode.\""
    },
    {
      "commit": "e739d7e6cd94e8300f9ea61a2d57d88328755b9f",
      "tree": "8e161f6b96fdbecabb389b35aaa9e2acc7fe6501",
      "parents": [
        "cfd4b2864534f062a01730d81b2cd7e054087e8f"
      ],
      "author": {
        "name": "Riley Andrews",
        "email": "riandrews@google.com",
        "time": "Tue Jun 24 23:29:16 2014"
      },
      "committer": {
        "name": "Riley Andrews",
        "email": "riandrews@google.com",
        "time": "Wed Jun 25 00:11:10 2014"
      },
      "message": "Fix recovery mode.\n\nDuplicate changes made to init.rc for https://android-review.googlesource.com/98852\nin the init.rc used for recovery mode.\n\nBug 15849856\n\nChange-Id: Ia376ddf6373a28718653f7fb1435bf7ecb33d813\n"
    },
    {
      "commit": "b9afc2bf15822d09af188912ac27bd81bf078394",
      "tree": "fea23e5e12bc3df25dd66f323623887f42f2d8d6",
      "parents": [
        "37aedb3fafcccd0da5bd9089987f05895c27492d"
      ],
      "author": {
        "name": "Ji-Hwan Lee",
        "email": "jihwan@google.com",
        "time": "Wed Jun 18 17:02:50 2014"
      },
      "committer": {
        "name": "Ji-Hwan Lee",
        "email": "jihwan@google.com",
        "time": "Wed Jun 18 17:30:14 2014"
      },
      "message": "Use LOCAL_REQUIRED_MODULES for mkfs.f2fs\n\nInstead of LOCAL_ADDITIONAL_DEPENDENCIES.\n\nBug: 15702524\nChange-Id: Ic152ae60354bf09eccdb9a85dcd04f0f076a6422"
    },
    {
      "commit": "37aedb3fafcccd0da5bd9089987f05895c27492d",
      "tree": "62040a4e982abbf2db9c528f44cc3298301378f1",
      "parents": [
        "ba545d7e2388e81e985a43fc86d191590b923c90"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Tue Jun 17 02:07:39 2014"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Tue Jun 17 02:07:39 2014"
      },
      "message": "Support F2FS for the data partition\n\nThis adds F2FS support\n- for wiping a device\n- for the install \"format\" command.\n\nNote: crypto data in \"footer\" with a default/negative length\nis not supported, unlike with \"ext4\".\n\nChange-Id: I8d141a0d4d14df9fe84d3b131484e9696fcd8870\nSigned-off-by: JP Abgrall \u003cjpa@google.com\u003e\n"
    },
    {
      "commit": "ba545d7e2388e81e985a43fc86d191590b923c90",
      "tree": "8887da3181f2d44321749d146f3410a47c3a8b98",
      "parents": [
        "43772d26a5d8d31fd092a21edfca346f3b3901e7"
      ],
      "author": {
        "name": "Joey Pan",
        "email": "joey.pan@mediatek.com",
        "time": "Wed Jun 04 12:47:46 2014"
      },
      "committer": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Thu Jun 12 18:06:52 2014"
      },
      "message": "minui: avoid random screen frame at startup\n\nClear framebuffer at init.\n\n[toddpoynor@google.com: forward port]\nChange-Id: Ie98c7724cd974dcacef3e3559a6fe492864a5e72\n"
    },
    {
      "commit": "43772d26a5d8d31fd092a21edfca346f3b3901e7",
      "tree": "4c8a510d4b395c6189ee01dfafe0b955bb7440d2",
      "parents": [
        "3fa26c9fa29bce2a89d8daebd5437912d6fe97ba"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Mon Jun 09 21:13:19 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Mon Jun 09 21:15:22 2014"
      },
      "message": "advance progress bar during block OTA installations\n\nWhile executing syspatch and package_extract_file() calls with don\u0027t\ncare maps (both of which are used to rewrite the system image in\nincremental and full block OTAs, respectively), pass a progress\ncallback in and use it to update the visible progress bar.\n\nChange-Id: I1d3742d167c1bb2130571eb5103b7795c65ff371\n"
    },
    {
      "commit": "3fa26c9fa29bce2a89d8daebd5437912d6fe97ba",
      "tree": "f551143a447f0af14f2381a1ea476c21f56be25e",
      "parents": [
        "9a5f58427a2b3a5711e5036a4c9c32c5f23f91b0",
        "dff8afe1b21c6ffe09269434f9f8f0d166e1a848"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri Jun 06 16:27:57 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 06 16:27:57 2014"
      },
      "message": "am dff8afe1: (-s ours) restore holo UI in recovery -- DO NOT MERGE\n\n* commit \u0027dff8afe1b21c6ffe09269434f9f8f0d166e1a848\u0027:\n  restore holo UI in recovery -- DO NOT MERGE\n"
    },
    {
      "commit": "9a5f58427a2b3a5711e5036a4c9c32c5f23f91b0",
      "tree": "f551143a447f0af14f2381a1ea476c21f56be25e",
      "parents": [
        "ad07492046ee9721cf61e51255ae6b7ee3987697",
        "5b5f6c2fd32839227d10ee3c97e662a415b80e2b"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri Jun 06 16:03:03 2014"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 06 16:03:04 2014"
      },
      "message": "Merge \"restore holo UI in recovery\""
    },
    {
      "commit": "5b5f6c2fd32839227d10ee3c97e662a415b80e2b",
      "tree": "c7d647e228e9cafda09087a62ea11d72dbd37e65",
      "parents": [
        "c704e06ce596bd0a6de66b10b108aee95535468a"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue Jun 03 17:50:13 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri Jun 06 16:01:57 2014"
      },
      "message": "restore holo UI in recovery\n\nReturn to the recovery to the holo appearance.\n\nBug: 15424396\nChange-Id: Id4d3f23e0a6251a12aa42f3793cff347f38b4243\n"
    },
    {
      "commit": "ad07492046ee9721cf61e51255ae6b7ee3987697",
      "tree": "c6efac8db3c3a376c1429760c0e300bcf83a65be",
      "parents": [
        "c704e06ce596bd0a6de66b10b108aee95535468a",
        "54a6117935fe7470d23f7a538aeec9d6b139791b"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jun 06 16:00:20 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 06 16:00:20 2014"
      },
      "message": "am 54a61179: am cfd4b286: Merge \"recovery: initialize keys press tracking status\"\n\n* commit \u002754a6117935fe7470d23f7a538aeec9d6b139791b\u0027:\n  recovery: initialize keys press tracking status\n"
    },
    {
      "commit": "54a6117935fe7470d23f7a538aeec9d6b139791b",
      "tree": "8e59963541816337043f4607fa09fb5b6c2775f5",
      "parents": [
        "502e45957420484eec2367e7580e9bec96605c5d",
        "cfd4b2864534f062a01730d81b2cd7e054087e8f"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jun 06 15:55:57 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 06 15:55:57 2014"
      },
      "message": "am cfd4b286: Merge \"recovery: initialize keys press tracking status\"\n\n* commit \u0027cfd4b2864534f062a01730d81b2cd7e054087e8f\u0027:\n  recovery: initialize keys press tracking status\n"
    },
    {
      "commit": "cfd4b2864534f062a01730d81b2cd7e054087e8f",
      "tree": "8e59963541816337043f4607fa09fb5b6c2775f5",
      "parents": [
        "d1c64060abf8a56a259c0913244448fdba245f6c",
        "187d626e6108298b436f22657a8e14658c15d910"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jun 06 15:33:16 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 06 15:33:16 2014"
      },
      "message": "Merge \"recovery: initialize keys press tracking status\""
    },
    {
      "commit": "187d626e6108298b436f22657a8e14658c15d910",
      "tree": "8e59963541816337043f4607fa09fb5b6c2775f5",
      "parents": [
        "d1c64060abf8a56a259c0913244448fdba245f6c"
      ],
      "author": {
        "name": "Mihai Serban",
        "email": "mihai.serban@intel.com",
        "time": "Fri Jun 06 12:23:20 2014"
      },
      "committer": {
        "name": "Mihai Serban",
        "email": "mihai.serban@intel.com",
        "time": "Fri Jun 06 12:23:20 2014"
      },
      "message": "recovery: initialize keys press tracking status\n\nChecks for keys pressed return random results because of an uninitialized data\nstructure.\n\nChange-Id: Ic8b3d453d62347921aa893403079b374c16a092e\nSigned-off-by: Mihai Serban \u003cmihai.serban@intel.com\u003e\n"
    },
    {
      "commit": "dff8afe1b21c6ffe09269434f9f8f0d166e1a848",
      "tree": "3cd1ce25d54f4362b5f42140214568c94d8bd159",
      "parents": [
        "ffb557d351776bed40818fa77afaa743d9e34a34"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue Jun 03 17:50:13 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue Jun 03 18:02:31 2014"
      },
      "message": "restore holo UI in recovery -- DO NOT MERGE\n\nSince we don\u0027t have quantum assets for recovery yet, go back to the\nholo appearance (dark background, blue glowing progress bar) for\nlmp-preview.\n\nChange-Id: Id4d3f23e0a6251a12aa42f3793cff347f38b4243\n"
    },
    {
      "commit": "c704e06ce596bd0a6de66b10b108aee95535468a",
      "tree": "3005b89333b7500aaa78e0867e377eac2f0280ab",
      "parents": [
        "ffb557d351776bed40818fa77afaa743d9e34a34"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 23 15:40:35 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 23 15:52:31 2014"
      },
      "message": "disable async reboot during package installation\n\nThe default recovery UI will reboot the device when the power key is\npressed 7 times in a row, regardless of what recovery is doing.\nDisable this feature during package installation, to minimize the\nchance of corrupting the device due to a mid-install reboot.  (Debug\npackages can explicitly request that the feature be reenabled.)\n\nChange-Id: I20f3ec240ecd344615d452005ff26d8dd7775acf\n"
    },
    {
      "commit": "ffb557d351776bed40818fa77afaa743d9e34a34",
      "tree": "1f0f96439c3c176b99ca77bdc118df2c62c6c24f",
      "parents": [
        "ddb1b744983e37b51fc20759bbf8dac31f4d30ad",
        "502e45957420484eec2367e7580e9bec96605c5d"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 16 17:49:39 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 16 17:49:39 2014"
      },
      "message": "am 502e4595: am d1c64060: am 5fbb729f: Merge \"exit instead of return if sideload file creation fails\"\n\n* commit \u0027502e45957420484eec2367e7580e9bec96605c5d\u0027:\n  exit instead of return if sideload file creation fails\n"
    },
    {
      "commit": "502e45957420484eec2367e7580e9bec96605c5d",
      "tree": "66da0fd9d9ee1d796e6edac7e4cccebcb57203e4",
      "parents": [
        "c4804e9b9c143652d17441b4b672b920b11cc94a",
        "d1c64060abf8a56a259c0913244448fdba245f6c"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 16 17:48:04 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 16 17:48:04 2014"
      },
      "message": "am d1c64060: am 5fbb729f: Merge \"exit instead of return if sideload file creation fails\"\n\n* commit \u0027d1c64060abf8a56a259c0913244448fdba245f6c\u0027:\n  exit instead of return if sideload file creation fails\n"
    },
    {
      "commit": "d1c64060abf8a56a259c0913244448fdba245f6c",
      "tree": "66da0fd9d9ee1d796e6edac7e4cccebcb57203e4",
      "parents": [
        "d4592694b41d5f8309d98cd3312b5486216cc685",
        "5fbb729f3eb67c9bb59580f692a31e5c50e24e6d"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 16 17:45:18 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 16 17:45:18 2014"
      },
      "message": "am 5fbb729f: Merge \"exit instead of return if sideload file creation fails\"\n\n* commit \u00275fbb729f3eb67c9bb59580f692a31e5c50e24e6d\u0027:\n  exit instead of return if sideload file creation fails\n"
    },
    {
      "commit": "5fbb729f3eb67c9bb59580f692a31e5c50e24e6d",
      "tree": "576da095233de7528fd44cbcb850c8995a67f089",
      "parents": [
        "3ca99f6cb8ffbe19c7ef5409f3dac18ea0c254bd",
        "f087dfb52cb9a3a33b85b922fdaadf0514b37e46"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri May 16 17:42:12 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 16 17:42:12 2014"
      },
      "message": "Merge \"exit instead of return if sideload file creation fails\""
    },
    {
      "commit": "ddb1b744983e37b51fc20759bbf8dac31f4d30ad",
      "tree": "02e2420d49536bf886ea14256bd087ada49592e4",
      "parents": [
        "eed64836386a64cc945e7e9a01a96ed0d6fa57af",
        "c4804e9b9c143652d17441b4b672b920b11cc94a"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri May 16 15:09:35 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 16 15:09:35 2014"
      },
      "message": "am c4804e9b: am d4592694: am 3ca99f6c: Merge \"fix vulnerability in bspatch\"\n\n* commit \u0027c4804e9b9c143652d17441b4b672b920b11cc94a\u0027:\n  fix vulnerability in bspatch\n"
    },
    {
      "commit": "c4804e9b9c143652d17441b4b672b920b11cc94a",
      "tree": "65f33edad5871413e4c6aba9dd129de96cf9ae77",
      "parents": [
        "0766cdf49acb77677864995e931eec391243505d",
        "d4592694b41d5f8309d98cd3312b5486216cc685"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri May 16 15:06:23 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 16 15:06:23 2014"
      },
      "message": "am d4592694: am 3ca99f6c: Merge \"fix vulnerability in bspatch\"\n\n* commit \u0027d4592694b41d5f8309d98cd3312b5486216cc685\u0027:\n  fix vulnerability in bspatch\n"
    },
    {
      "commit": "d4592694b41d5f8309d98cd3312b5486216cc685",
      "tree": "65f33edad5871413e4c6aba9dd129de96cf9ae77",
      "parents": [
        "d2fb4ed58997afd18bd2b5274bf1835644d454fb",
        "3ca99f6cb8ffbe19c7ef5409f3dac18ea0c254bd"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri May 16 15:03:24 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 16 15:03:24 2014"
      },
      "message": "am 3ca99f6c: Merge \"fix vulnerability in bspatch\"\n\n* commit \u00273ca99f6cb8ffbe19c7ef5409f3dac18ea0c254bd\u0027:\n  fix vulnerability in bspatch\n"
    },
    {
      "commit": "3ca99f6cb8ffbe19c7ef5409f3dac18ea0c254bd",
      "tree": "b0e672cc873eba3b530132f139eb77e4b31661c6",
      "parents": [
        "d27aa76a6ff6436cfb8340bf3d04aba186cc4de1",
        "4aa12dd0decafb139239779ab38e6ffda23109ab"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Fri May 16 14:58:32 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 16 14:58:33 2014"
      },
      "message": "Merge \"fix vulnerability in bspatch\""
    },
    {
      "commit": "eed64836386a64cc945e7e9a01a96ed0d6fa57af",
      "tree": "220d9553331bd075af366c83ada77a8320f804eb",
      "parents": [
        "8c7457a2c56d0fad2f59d017bcbdbcac72e419b3",
        "0766cdf49acb77677864995e931eec391243505d"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue May 13 22:24:06 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 22:24:06 2014"
      },
      "message": "am 0766cdf4: am d2fb4ed5: am d27aa76a: Merge \"Support BGRA framebuffer\"\n\n* commit \u00270766cdf49acb77677864995e931eec391243505d\u0027:\n  Support BGRA framebuffer\n"
    },
    {
      "commit": "0766cdf49acb77677864995e931eec391243505d",
      "tree": "16744b26244fdfa538de24cdc08a13c1bdcf7be5",
      "parents": [
        "48abd574cb1b7b0adbe1de36224fb974182aaa2d",
        "d2fb4ed58997afd18bd2b5274bf1835644d454fb"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue May 13 22:19:37 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 22:19:37 2014"
      },
      "message": "am d2fb4ed5: am d27aa76a: Merge \"Support BGRA framebuffer\"\n\n* commit \u0027d2fb4ed58997afd18bd2b5274bf1835644d454fb\u0027:\n  Support BGRA framebuffer\n"
    },
    {
      "commit": "d2fb4ed58997afd18bd2b5274bf1835644d454fb",
      "tree": "16744b26244fdfa538de24cdc08a13c1bdcf7be5",
      "parents": [
        "34ff5fe3f59abfb1984189ade32059cc47bf97e5",
        "d27aa76a6ff6436cfb8340bf3d04aba186cc4de1"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue May 13 22:15:14 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 22:15:14 2014"
      },
      "message": "am d27aa76a: Merge \"Support BGRA framebuffer\"\n\n* commit \u0027d27aa76a6ff6436cfb8340bf3d04aba186cc4de1\u0027:\n  Support BGRA framebuffer\n"
    },
    {
      "commit": "d27aa76a6ff6436cfb8340bf3d04aba186cc4de1",
      "tree": "be7ff11548d114f7cfcaad087277579a5aad8f5d",
      "parents": [
        "74b90b309f67dc3b8bb74e47c4eddf7ce511bc35",
        "f766396d9931e1879161132c26fe61453065f450"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue May 13 22:09:39 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 22:09:40 2014"
      },
      "message": "Merge \"Support BGRA framebuffer\""
    },
    {
      "commit": "f766396d9931e1879161132c26fe61453065f450",
      "tree": "be7ff11548d114f7cfcaad087277579a5aad8f5d",
      "parents": [
        "74b90b309f67dc3b8bb74e47c4eddf7ce511bc35"
      ],
      "author": {
        "name": "Daniel Leung",
        "email": "daniel.leung@intel.com",
        "time": "Wed Mar 19 20:41:31 2014"
      },
      "committer": {
        "name": "Yong Yao",
        "email": "yong.yao@intel.com",
        "time": "Tue May 13 22:00:40 2014"
      },
      "message": "Support BGRA framebuffer\n\nThe re-designed recovery graphics code only supports RGB{_,X,A}\nframebuffer, and this patch adds support for BGRA framebuffer.\n\nChange-Id: I3780c8288088f497fa248f3492c54f43834a8598\nSigned-off-by: Daniel Leung \u003cdaniel.leung@intel.com\u003e\nReviewed-by: Jovanovic, Radivoje \u003cradivoje.jovanovic@intel.com\u003e\nReviewed-by: Parkinson, TimothyX L \u003ctimothyx.l.parkinson@intel.com\u003e\nTested-by: Parkinson, TimothyX L \u003ctimothyx.l.parkinson@intel.com\u003e\nReviewed-by: Boie, Andrew P \u003candrew.p.boie@intel.com\u003e\nReviewed-by: Gumbel, Matthew K \u003cmatthew.k.gumbel@intel.com\u003e\n"
    },
    {
      "commit": "8c7457a2c56d0fad2f59d017bcbdbcac72e419b3",
      "tree": "771d57f47a95338ea6717d792bf15cdb8a6e577d",
      "parents": [
        "f5d9f891524862ba560650bd545668dc22622cdb",
        "48abd574cb1b7b0adbe1de36224fb974182aaa2d"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue May 13 17:38:15 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 17:38:15 2014"
      },
      "message": "am 48abd574: am 34ff5fe3: am 74b90b30: Merge \"screen_ui: Initialize text buffer\"\n\n* commit \u002748abd574cb1b7b0adbe1de36224fb974182aaa2d\u0027:\n  screen_ui: Initialize text buffer\n"
    },
    {
      "commit": "48abd574cb1b7b0adbe1de36224fb974182aaa2d",
      "tree": "5d7217ac31912f1a510fddc17048fd542e3897f2",
      "parents": [
        "e9f9238af83f949dc000667356eba025e1241a2f",
        "34ff5fe3f59abfb1984189ade32059cc47bf97e5"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue May 13 17:31:51 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 17:31:51 2014"
      },
      "message": "am 34ff5fe3: am 74b90b30: Merge \"screen_ui: Initialize text buffer\"\n\n* commit \u002734ff5fe3f59abfb1984189ade32059cc47bf97e5\u0027:\n  screen_ui: Initialize text buffer\n"
    },
    {
      "commit": "34ff5fe3f59abfb1984189ade32059cc47bf97e5",
      "tree": "5d7217ac31912f1a510fddc17048fd542e3897f2",
      "parents": [
        "1cd5242349bb1ef10eca76ff2c3e17415aecdf9d",
        "74b90b309f67dc3b8bb74e47c4eddf7ce511bc35"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue May 13 17:28:54 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 17:28:54 2014"
      },
      "message": "am 74b90b30: Merge \"screen_ui: Initialize text buffer\"\n\n* commit \u002774b90b309f67dc3b8bb74e47c4eddf7ce511bc35\u0027:\n  screen_ui: Initialize text buffer\n"
    },
    {
      "commit": "74b90b309f67dc3b8bb74e47c4eddf7ce511bc35",
      "tree": "e72e442e6a5ac7fdb04c4669418c113adcab265c",
      "parents": [
        "1c2cf1db0db2c9e9310d27bdc19c605f5537b72f",
        "80a7a4642be31db7ecd5eaa9e62b78deaa461146"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue May 13 17:25:51 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 13 17:25:52 2014"
      },
      "message": "Merge \"screen_ui: Initialize text buffer\""
    },
    {
      "commit": "4aa12dd0decafb139239779ab38e6ffda23109ab",
      "tree": "53ae20bf4f591492bc8eae4df55223434052ad8d",
      "parents": [
        "1c2cf1db0db2c9e9310d27bdc19c605f5537b72f"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue May 13 15:40:49 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Tue May 13 15:40:49 2014"
      },
      "message": "fix vulnerability in bspatch\n\nPatches with control data tuples with negative numbers in the first\nand/or second can cause bspatch to write to arbitrary locations in the\nheap.\n\nChange-Id: I8c5d81948be773e6483241131d3d166b6da27cb8\n"
    },
    {
      "commit": "f5d9f891524862ba560650bd545668dc22622cdb",
      "tree": "cdb803102468ee0fb4e40317fc672543fd2bae05",
      "parents": [
        "64e7fcd9255734e5b12cd50263563951b4e4664e"
      ],
      "author": {
        "name": "Michael Runge",
        "email": "mrunge@google.com",
        "time": "Tue May 06 23:54:42 2014"
      },
      "committer": {
        "name": "Michael Runge",
        "email": "mrunge@google.com",
        "time": "Fri May 09 18:09:28 2014"
      },
      "message": "Allow 0-byte files in full OTAs.\n\nCurrently, the writeProcessFunction fails when\nthere are zero bytes to write, potentially returning\nerrno from a previous operation, or hanging\nindefinitely while it waits for a \u003e0 result on a\nwrite of size 0.  This happens when the output\nfile is intended to be zero bytes in size.\n\nChange-Id: Ib3cfcaf66d82942bc89e5f5c64697862403b38da\n"
    },
    {
      "commit": "64e7fcd9255734e5b12cd50263563951b4e4664e",
      "tree": "9c6a72af9afe462477c3767920b84527854a89c6",
      "parents": [
        "aa1a31e83d25e6c3c3371063704eeb14558a595e",
        "e9f9238af83f949dc000667356eba025e1241a2f"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri May 02 23:26:42 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 02 23:26:42 2014"
      },
      "message": "am e9f9238a: am 1cd52423: am 1c2cf1db: Merge \"recovery: minui: add adf backend\"\n\n* commit \u0027e9f9238af83f949dc000667356eba025e1241a2f\u0027:\n  recovery: minui: add adf backend\n"
    },
    {
      "commit": "e9f9238af83f949dc000667356eba025e1241a2f",
      "tree": "ff5664422cc34ae677cd875251abd2c6c724da04",
      "parents": [
        "ddaaccb3db623ff6f19b7dadf51d41cc46bb05c3",
        "1cd5242349bb1ef10eca76ff2c3e17415aecdf9d"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri May 02 23:23:14 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 02 23:23:14 2014"
      },
      "message": "am 1cd52423: am 1c2cf1db: Merge \"recovery: minui: add adf backend\"\n\n* commit \u00271cd5242349bb1ef10eca76ff2c3e17415aecdf9d\u0027:\n  recovery: minui: add adf backend\n"
    },
    {
      "commit": "1cd5242349bb1ef10eca76ff2c3e17415aecdf9d",
      "tree": "ff5664422cc34ae677cd875251abd2c6c724da04",
      "parents": [
        "29759e9d518880adba366c502cf79d53c48a31bb",
        "1c2cf1db0db2c9e9310d27bdc19c605f5537b72f"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri May 02 23:20:14 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 02 23:20:14 2014"
      },
      "message": "am 1c2cf1db: Merge \"recovery: minui: add adf backend\"\n\n* commit \u00271c2cf1db0db2c9e9310d27bdc19c605f5537b72f\u0027:\n  recovery: minui: add adf backend\n"
    },
    {
      "commit": "1c2cf1db0db2c9e9310d27bdc19c605f5537b72f",
      "tree": "edc085397dbbaf95f28961ff70ab097289b2dbcb",
      "parents": [
        "558f2700e18d50cf8e798254200ef37f7a09678d",
        "41909ddefbb57a9ce3c417341c1f83261e482046"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri May 02 23:15:53 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 02 23:15:54 2014"
      },
      "message": "Merge \"recovery: minui: add adf backend\""
    },
    {
      "commit": "aa1a31e83d25e6c3c3371063704eeb14558a595e",
      "tree": "b31b47fcbabac444af5651012e2aa064b0d3f97b",
      "parents": [
        "ff5fc6c809e87dd34c2950b6d8cbac67ed5df347"
      ],
      "author": {
        "name": "Michael Runge",
        "email": "mrunge@google.com",
        "time": "Sat Apr 26 01:47:18 2014"
      },
      "committer": {
        "name": "Michael Runge",
        "email": "mrunge@google.com",
        "time": "Fri May 02 01:37:40 2014"
      },
      "message": "Allow lines without \u003d signs.\n\nThe new build.prop for Sprout includes lines of the format:\nimport xxx.prop\n\nThese can be safely ignored when reading the property file.\n\nChange-Id: Ia84a138e71461ffe8e591e88143b9787873def29\n"
    },
    {
      "commit": "ff5fc6c809e87dd34c2950b6d8cbac67ed5df347",
      "tree": "6dc66d144070993f4b8d4fe0ec85c3f6388fded1",
      "parents": [
        "5ec6f4daaf5269534daeaa0b1229bcb7bab93591",
        "ddaaccb3db623ff6f19b7dadf51d41cc46bb05c3"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Apr 30 00:52:59 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 30 00:52:59 2014"
      },
      "message": "am ddaaccb3: am 29759e9d: Merge commit \\\u002725c2b2f670a3b11f7ce78eccde10c1a79188c9a8\\\u0027 into HEAD\n\n* commit \u0027ddaaccb3db623ff6f19b7dadf51d41cc46bb05c3\u0027:\n"
    },
    {
      "commit": "ddaaccb3db623ff6f19b7dadf51d41cc46bb05c3",
      "tree": "f4fe4d7481b5eac03722d6d94e3a5dea8a4b16ec",
      "parents": [
        "9e8d81ba96b299cc084723797d9f492d4441d57a",
        "29759e9d518880adba366c502cf79d53c48a31bb"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Apr 30 00:49:24 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 30 00:49:24 2014"
      },
      "message": "am 29759e9d: Merge commit \\\u002725c2b2f670a3b11f7ce78eccde10c1a79188c9a8\\\u0027 into HEAD\n\n* commit \u002729759e9d518880adba366c502cf79d53c48a31bb\u0027:\n"
    },
    {
      "commit": "29759e9d518880adba366c502cf79d53c48a31bb",
      "tree": "f4fe4d7481b5eac03722d6d94e3a5dea8a4b16ec",
      "parents": [
        "558f2700e18d50cf8e798254200ef37f7a09678d",
        "25c2b2f670a3b11f7ce78eccde10c1a79188c9a8"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Apr 29 18:32:53 2014"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Apr 29 18:32:53 2014"
      },
      "message": "Merge commit \u002725c2b2f670a3b11f7ce78eccde10c1a79188c9a8\u0027 into HEAD\n"
    },
    {
      "commit": "41909ddefbb57a9ce3c417341c1f83261e482046",
      "tree": "edc085397dbbaf95f28961ff70ab097289b2dbcb",
      "parents": [
        "558f2700e18d50cf8e798254200ef37f7a09678d"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Apr 25 17:39:50 2014"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Fri Apr 25 22:47:34 2014"
      },
      "message": "recovery: minui: add adf backend\n\nChange-Id: I1ad97b5b62bddbcb1104fa0b4e54415b793a4194\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\n"
    },
    {
      "commit": "5ec6f4daaf5269534daeaa0b1229bcb7bab93591",
      "tree": "a0d19596fe899024e53e326e5307a371fdbd9845",
      "parents": [
        "346e11816da25172800edf08c94eabd5221926bf",
        "9e8d81ba96b299cc084723797d9f492d4441d57a"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Fri Apr 18 19:16:11 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 18 19:16:11 2014"
      },
      "message": "am 9e8d81ba: am 0e22af65: recovery: Fix adb with linux 3.10\n\n* commit \u00279e8d81ba96b299cc084723797d9f492d4441d57a\u0027:\n  recovery: Fix adb with linux 3.10\n"
    },
    {
      "commit": "9e8d81ba96b299cc084723797d9f492d4441d57a",
      "tree": "eabd601c7bff0c3e9cd08c60c470c53d74a6353a",
      "parents": [
        "ecf1f6c9299c0cae2f2bf1647f5d7d3a2690f819",
        "0e22af658c89fb53ab1215a3538bbaf10d733ad9"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Fri Apr 18 19:12:40 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 18 19:12:40 2014"
      },
      "message": "am 0e22af65: recovery: Fix adb with linux 3.10\n\n* commit \u00270e22af658c89fb53ab1215a3538bbaf10d733ad9\u0027:\n  recovery: Fix adb with linux 3.10\n"
    },
    {
      "commit": "0e22af658c89fb53ab1215a3538bbaf10d733ad9",
      "tree": "885f9f8c40de0616f325827daa0e78fa5012d8c6",
      "parents": [
        "bacf9b4558c69e918d9c05b6f111bbb223829829"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Thu Feb 20 01:41:02 2014"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Fri Apr 18 19:05:30 2014"
      },
      "message": "recovery: Fix adb with linux 3.10\n\nIn kernel 3.10, f_adb has been removed and adbd can use functionfs\ninstead. Mount functionfs on boot for adbd. On older kernels, mount\nwill fail silently and adbd will revert to f_adb.\n\nBug: 14160609\nChange-Id: I5db57aaf35b35859ea88c7d0e0661d8c553e5811\n"
    },
    {
      "commit": "346e11816da25172800edf08c94eabd5221926bf",
      "tree": "a0d19596fe899024e53e326e5307a371fdbd9845",
      "parents": [
        "9551cf912180665a85f515c16d6412bb8ea2bf98",
        "ecf1f6c9299c0cae2f2bf1647f5d7d3a2690f819"
      ],
      "author": {
        "name": "Sasha Levitskiy",
        "email": "sanek@google.com",
        "time": "Sat Apr 12 00:02:32 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 12 00:02:32 2014"
      },
      "message": "am ecf1f6c9: am 558f2700: Merge \"Change filesystem add entry API call.\"\n\n* commit \u0027ecf1f6c9299c0cae2f2bf1647f5d7d3a2690f819\u0027:\n  Change filesystem add entry API call.\n"
    },
    {
      "commit": "ecf1f6c9299c0cae2f2bf1647f5d7d3a2690f819",
      "tree": "eabd601c7bff0c3e9cd08c60c470c53d74a6353a",
      "parents": [
        "03008bc1e89a780e382abe0567e709daecce92ff",
        "558f2700e18d50cf8e798254200ef37f7a09678d"
      ],
      "author": {
        "name": "Sasha Levitskiy",
        "email": "sanek@google.com",
        "time": "Sat Apr 12 00:00:02 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 12 00:00:02 2014"
      },
      "message": "am 558f2700: Merge \"Change filesystem add entry API call.\"\n\n* commit \u0027558f2700e18d50cf8e798254200ef37f7a09678d\u0027:\n  Change filesystem add entry API call.\n"
    },
    {
      "commit": "558f2700e18d50cf8e798254200ef37f7a09678d",
      "tree": "a59f0c42497b674e5065396fcdcbdc6c3de7c865",
      "parents": [
        "aa4545b5aedae165c8d2db0009dcdfa18e4f7923",
        "85ef47dd84f5bbf3fa5804f3f3a240ef736818e6"
      ],
      "author": {
        "name": "Sasha Levitskiy",
        "email": "sanek@google.com",
        "time": "Fri Apr 11 23:54:14 2014"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 11 23:54:14 2014"
      },
      "message": "Merge \"Change filesystem add entry API call.\""
    },
    {
      "commit": "85ef47dd84f5bbf3fa5804f3f3a240ef736818e6",
      "tree": "a59f0c42497b674e5065396fcdcbdc6c3de7c865",
      "parents": [
        "aa4545b5aedae165c8d2db0009dcdfa18e4f7923"
      ],
      "author": {
        "name": "Sasha Levitskiy",
        "email": "sanek@google.com",
        "time": "Fri Apr 11 00:11:34 2014"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Fri Apr 11 21:13:26 2014"
      },
      "message": "Change filesystem add entry API call.\n\nNeeds fs_mgr matching change from: Icf23e659265d71d5226d527c2b40cfbc132320ee\n\nChange-Id: I9adb470b04e4301989d128c9c3097b21b4dea431\nSigned-off-by: Sasha Levitskiy \u003csanek@google.com\u003e"
    },
    {
      "commit": "9551cf912180665a85f515c16d6412bb8ea2bf98",
      "tree": "2a09c6db6a26445ef7992d96ee396965ee403308",
      "parents": [
        "8d9d3d5cbe240d09db10d08956d152dce934e892"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Apr 04 20:48:33 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Apr 04 20:48:33 2014"
      },
      "message": "make density-specific recovery assets\n\nProvide different recovery UI resources for different display\ndensities.  Right now only the text images and the progress bars are\nrescaled; the main icon will get scaled when it\u0027s updated for QP.\n\nLightly quantum-ify the rest of the recovery interface.  (Light\nbackground, progress bars, etc.)\n\nChange-Id: Ia639c4ce8534b01bc843524efbc4b040c1cf38b3\n"
    },
    {
      "commit": "8d9d3d5cbe240d09db10d08956d152dce934e892",
      "tree": "e0bb35703cb670a2fc9d697927528314008348ee",
      "parents": [
        "02abde50851f66196c74d215150014f1378cb853"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Apr 01 20:20:23 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Apr 01 20:20:23 2014"
      },
      "message": "add reboot-to-bootloader and power down options to recovery menu\n\nUseful when debugging or developing for recovery.\n\nChange-Id: Ic3ab42d5e848ad3488f1c575339b55e45c8a024b\n"
    },
    {
      "commit": "02abde50851f66196c74d215150014f1378cb853",
      "tree": "53eaf66676eaad28448e105525505a8478ddf9e1",
      "parents": [
        "276f37e4d4596ca2eeea801046d75ec10a702b78"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Apr 01 16:45:24 2014"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Tue Apr 01 16:47:36 2014"
      },
      "message": "remove DefaultDevice\u0027s UI subclass\n\nRecoveryUI (which is the superclass of ScreenRecoveryUI), provides a\nbasic CheckKey method that is useful for devices that have KEY_POWER,\nKEY_VOLUMEUP, and KEY_VOLUMEDOWN.  Stop overriding it with a less\nfeatureful method; with this no recovery UI customization is needed\nfor most handheld devices (phones, tablets, etc.).\n\nChange-Id: I7d57cfaaef79afea8af4fc3dbc570afc61aeb5bc\n"
    },
    {
      "commit": "276f37e4d4596ca2eeea801046d75ec10a702b78",
      "tree": "e786f73ce7cac0091d757b738095edb3fd7ce5bf",
      "parents": [
        "3e1cadc8f5b4f1a197de1d11606acef8493f0dc6",
        "a8c56072ecf826d5a1c49ea8d180092e7d6496e9"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Mar 21 20:11:09 2014"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 21 20:11:09 2014"
      },
      "message": "Merge \"Fix build break caused by vold change\""
    },
    {
      "commit": "3e1cadc8f5b4f1a197de1d11606acef8493f0dc6",
      "tree": "fd675afbbac20825a723d2c0284164addf9fddf3",
      "parents": [
        "2605dec597f7ebabf31b7e9430f19ab888b2919a",
        "03008bc1e89a780e382abe0567e709daecce92ff"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@google.com",
        "time": "Thu Mar 20 21:05:12 2014"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 20 21:05:12 2014"
      },
      "message": "am 03008bc1: am aa4545b5: Merge \"restore minui support for paletted images with \u003c 8 bits\"\n\n* commit \u002703008bc1e89a780e382abe0567e709daecce92ff\u0027:\n  restore minui support for paletted images with \u003c 8 bits\n"
    }
  ],
  "next": "03008bc1e89a780e382abe0567e709daecce92ff"
}
