)]}'
{
  "log": [
    {
      "commit": "66a9abef47f7c8bd438bb1897617ebad3858c736",
      "tree": "ced5812a016c2917eb874575cef1c906b0810ba7",
      "parents": [
        "6fbc20c958c0c770261ca4d32a3748ea4ecd64d9"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Mar 24 20:56:13 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Fri Mar 25 19:49:05 2016 +0900"
      },
      "message": "Add getObjectPropValue function to MtpDevice.\n\nIn the MTP spec, the object size is stored in MtpObjectInfo as unsigned\n32-bit integer and fetched by the getObjectInfo operation. For the\nobjects that are more than 4GB, the object size is provided as one of\nextra properties, which are fetched by different operation.\n\nThe CL adds to getObjectPropValue method to MtpDevice class so that\nclient code can obtain 4GB+ object size from object property.\n\nBUG\u003d27805369\n\nChange-Id: I0b91facd07cdc19866cb29f7df08bb1698bcf60b\n"
    },
    {
      "commit": "95faffd31926e2e0b83923c181629d1cea29e88f",
      "tree": "ba83f0563d729a7569b6a5f3cfb91a9f2d1fcc24",
      "parents": [
        "bf57c8adde015a2e46f012e865bdb9082eca1eaa"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Mar 23 20:13:24 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Mar 23 20:15:52 2016 +0900"
      },
      "message": "Remove redundant code to check container type.\n\nThe CL removes redundant check for containter type.  We have the same\ncheck just after the removed check, but the removed check returns\nopposite value for boolean result of the function.\n\nBUG\u003d27805514\n\nChange-Id: Ia8e32c0c38553a9a0ec4d9d726b8cde6281d34e1\n"
    },
    {
      "commit": "b3be006498f28f2630264135e88d266b540bcec3",
      "tree": "cf0e73cf3765cf3df953d22eae325747c412d7d3",
      "parents": [
        "78229d88678932244f7cbb6e52ad43c0d986a780"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Feb 25 12:42:58 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Fri Feb 26 12:56:57 2016 +0900"
      },
      "message": "Fix compiler warning in media/mtp.\n\nBUG\u003d27152673\n\nChange-Id: I0a5a7f2005bd76acf4d09353305b66af3fd29e4b\n"
    },
    {
      "commit": "251322bc8ac7ff7690bf706206c8ef251ca059f2",
      "tree": "c9b6a8ea3c6f7288d0b861162672473285cc6647",
      "parents": [
        "2e5408ac3e51cb459160b9cd392f1809b0758316",
        "33d58162896868f387416289c8b33266be0a3360"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Tue Feb 02 01:09:06 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 02 01:09:06 2016 +0000"
      },
      "message": "Merge \"Retry usb_device_claim_interface when it\u0027s connected to the kernel driver\""
    },
    {
      "commit": "33d58162896868f387416289c8b33266be0a3360",
      "tree": "8e97cbe27b504348b1acb61894bfefbf1d32a905",
      "parents": [
        "bbe98f009fc2c3181a8d4ab71b3e145f76c01755"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Mon Feb 01 16:41:51 2016 +0900"
      },
      "committer": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Mon Feb 01 23:58:22 2016 +0900"
      },
      "message": "Retry usb_device_claim_interface when it\u0027s connected to the kernel driver\n\nusb_device_claim_interface is called solely for marking that a program\nor a driver uses it and it does not trigger any signals over the bus.\n\nusb_device_claim_interface has a possibility to be failed if the kernel\ndriver already connected to a usb device. When it happens, the function\ncall returns an error and errno is set to EBUSY. For that case, it is\nnecessary to disconnect to the kernel driver and retry to claim the\ninterface again.\n\nBug: 26845384\nChange-Id: I4fae0e66ca1132f8cc16937cc6fb837ec4d5659f\n"
    },
    {
      "commit": "610d4a125f0144ec4915e5cef9f53e431cb117af",
      "tree": "ba5a91d474433a3599750bf5d2dfdf4a360c6c92",
      "parents": [
        "326edd98bbc52d41de6e0943ca8a343228ed87a5"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Jan 28 14:26:36 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Jan 28 14:26:36 2016 +0900"
      },
      "message": "Add comment for readPartialObject\u0027s NULL expected length.\n\nBUG\u003d26703522\n\nChange-Id: I584c13e5e5d3f396aa2dfbd351c1c36f7bc0870d\n"
    },
    {
      "commit": "326edd98bbc52d41de6e0943ca8a343228ed87a5",
      "tree": "4d457072ec3cae45b3ac0f609fd1b2290cae5073",
      "parents": [
        "a03910b23a31058eea178e8d3f5e84fcf852d5c2"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Fri Jan 22 15:34:46 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Jan 28 10:52:54 2016 +0900"
      },
      "message": "Add MtpDevice#getPartialObject64 method.\n\nThis is the method similar to getPartialObject but takes uint64_t as\noffset.\n\nBUG\u003d26703522\n\nChange-Id: I9b8b5f77225b744b527c4a78fe628e88ae89209f\n"
    },
    {
      "commit": "e92e6fbf424655fe8b6a15bce68646fcf6b00baa",
      "tree": "abe042bc190c7400abab93b3038859cf044623a8",
      "parents": [
        "5f6e6e301662e0bf4750021346d557be78df3059",
        "fd86bc29d0bd59620e3c115e3b7426a163016a89"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Tue Jan 12 09:09:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 12 09:09:59 2016 +0000"
      },
      "message": "Merge \"Add DNG format in MTP\""
    },
    {
      "commit": "fd86bc29d0bd59620e3c115e3b7426a163016a89",
      "tree": "a21628c32862cd1050fc69e9e3162d3791f8196f",
      "parents": [
        "df9e6aaf716279baf0e27b99acf10005924245ed"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Wed Dec 23 16:16:43 2015 +0100"
      },
      "committer": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Tue Jan 12 15:48:09 2016 +0900"
      },
      "message": "Add DNG format in MTP\n\nBug: 25871812\nChange-Id: I141d97cb8866edcaa7cab7fe04721e4386832d2b\n"
    },
    {
      "commit": "59a90609cc340d2933c119aa47045a5c95530b48",
      "tree": "901a72751f1ec72bf3f9b56dc9f26e34fffbe3e6",
      "parents": [
        "4a9fc960b75e0718193d0df91936b6c6bd4195ae"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Mon Jan 11 13:36:57 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Tue Jan 12 12:06:46 2016 +0900"
      },
      "message": "Reland \"Return parameters of event as well as event code.\"\n\nThe CL was previously reviewed at ag/842911.\n\n\u003e The CL makes MtpDevice#reapEvent return event parameters as well as\n\u003e event code.\n\u003e\n\u003e BUG\u003d26480986\n\nChange-Id: Ie750a58248068cd0e804f20b57e7e86eef19d315\n"
    },
    {
      "commit": "2ce504f922bfc43e02b96b63cf5474845b53bdb6",
      "tree": "4ca4c7912d8fb4f7e5d5d2dae57b396d9ee3c2b5",
      "parents": [
        "56c95c9bee23aec674348e06c4385e63ac6123bc",
        "4a7cea889d81bbf8f555df006fe384a405b3ba53"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Jan 07 03:49:03 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 07 03:49:03 2016 +0000"
      },
      "message": "Merge \"Add getPartialObject method to MtpDevice.\""
    },
    {
      "commit": "536651e693f74fa60e3173531c153d0576b94d20",
      "tree": "8fa9d88f8d11a4e4f3ffbf6124b022cac65fdc13",
      "parents": [
        "3f1e585a7a77f076dc525557cb39a5aa8fcc364a",
        "7834290bec3146dc1f7a9493ebb28eb76eb08f7f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 06 17:18:44 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 06 17:18:44 2016 +0000"
      },
      "message": "Merge \"Clean up time zone handling in MtpUtils::parseDateTime.\" am: c64c91e4bb\nam: 7834290bec\n\n* commit \u00277834290bec3146dc1f7a9493ebb28eb76eb08f7f\u0027:\n  Clean up time zone handling in MtpUtils::parseDateTime.\n"
    },
    {
      "commit": "d4b473884617987e02155cd1aae9e573e2f79a58",
      "tree": "c084454a0dc822b7ac2d4146da03671183815442",
      "parents": [
        "4472c761cce96465df078f7f8ab9e25b8e6c3a60"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 05 17:05:47 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 06 08:49:26 2016 -0800"
      },
      "message": "Clean up time zone handling in MtpUtils::parseDateTime.\n\nThe intent here is supposed to be to use local time (which mktime(3) does)\nunless the string ends \u0027Z\u0027 in which case we\u0027re supposed to use UTC. The UTC\nequivalent of mktime(3) is timegm(3).\n\nThis code has come to my attention in two ways. Externally it was pointed\nout that the localtime_r(3) was accessing uninitialized memory leading to\nunpredicatable results. Internally, this is the only caller of the\nnon-standard mktime_tz --- ironically using it in a way that -- apart from\nthe flakiness caused by the uninitialized variable -- would make it behave\nlike the standard mktime(3).\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d185159\nBug: http://b/15765976\nChange-Id: I5f015727c4c08a139ef478fafba5811a9758d5df\n"
    },
    {
      "commit": "4a7cea889d81bbf8f555df006fe384a405b3ba53",
      "tree": "ab733d7877cbc9861961149e24379fe369d612ec",
      "parents": [
        "3747d8ec383964285a50a58abbf85589f2d29315"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Fri Dec 11 15:49:43 2015 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Jan 06 14:35:36 2016 +0900"
      },
      "message": "Add getPartialObject method to MtpDevice.\n\nThe CL adds getPartialObject operation to MtpDevice (host side\nimplementation).\n\nBUG\u003d26284424\n\nChange-Id: Ia8f41b0ebb7dfb4572729eacb5902f21360c8db1\n"
    },
    {
      "commit": "a04e6fa61391f1ef64266579760f315c6b3e70b9",
      "tree": "a1badc9804fe0bf9b104cdb9d86c631a224ac8ce",
      "parents": [
        "d958855ff2f7c05672b5278437ee0d177270d24d"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Dec 24 14:20:44 2015 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Dec 24 16:59:10 2015 +0900"
      },
      "message": "Fix MtpDevice to read 0-byte object correctly.\n\nIf a requested object is 0 bytes, the remote MTP device can return\nMTP_CONTAINER_TYPE_RESPONSE at the first response package. Previous\nimplementation does not handle the case.\n\nBUG\u003d26317907\n\nChange-Id: I6ae1138bf1b24aa197575bea0440cc032ffd622a\n"
    },
    {
      "commit": "d6dabe95eb59c3d95f94825d08a6028bab06cbdc",
      "tree": "ca833cc680df8629748cc84e809f8c8ae4a95217",
      "parents": [
        "c5fcd06e9c332a60ba5fcba2118270dbdf22ae42"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Dec 02 15:08:48 2015 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Dec 02 15:08:48 2015 +0900"
      },
      "message": "Skip an interface that does not have MTP interface class.\n\nThe comment says it skips the interface that does not have MTP or PTP\ninterface class, but previously it accepts such interfaces.\n\nBUG\u003d25960704\n\nChange-Id: Idba07d4c6432d73cf45d9a3422af0ad18cd1b280\n"
    },
    {
      "commit": "8a7ffae09a019de7109b30c505561c453910bde1",
      "tree": "85222bdac601b44a798890a651a08ac36d71a591",
      "parents": [
        "7bafd606eb2390574f0a2b0043074d9cdfde1120"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Aug 20 15:13:40 2015 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Tue Sep 15 18:50:37 2015 +0900"
      },
      "message": "Add functions to read MTP events from MTP devices.\n\nBUG\u003d23368533\n\nChange-Id: I2003dda961339677caf56e57ae90cf6df7bd7430\n"
    },
    {
      "commit": "532b4f23c7e08fdae9fff189c4b565f6216ffd2a",
      "tree": "460ae422b6e389e831fbf2fbd44f2e53c7b93cf9",
      "parents": [
        "f3c2b3df8bf616ad593e2c0101b04a718f291827"
      ],
      "author": {
        "name": "Tomasz Mikolajewski",
        "email": "mtomasz@google.com",
        "time": "Tue Aug 25 14:14:36 2015 +0900"
      },
      "committer": {
        "name": "Tomasz Mikolajewski",
        "email": "mtomasz@google.com",
        "time": "Thu Aug 27 16:49:21 2015 +0900"
      },
      "message": "Fix sendObject upload.\n\nTwo issues are resolved:\n- sendObject changed to accept raw arguments instead of objectinfo,\n  as calling getObjectInfo after sentObjectInfo is illegal,\n- send buffer decreased to 16K, as this is the maximum size working\n  per comments in other places.\n\nChange-Id: If71644dcbc508dd92c3fe74a2fdb7c6798059b42\n"
    },
    {
      "commit": "4fd9a8b9865addfedbcd84d5c9efea0f647086a0",
      "tree": "fcab096d691d3463873eba0c7c7a561416cee36b",
      "parents": [
        "6d5a0de5177bccc17d0eb1b69a8ed88d620884a5"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Aug 20 15:13:40 2015 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Mon Aug 24 17:53:28 2015 +0900"
      },
      "message": "Use common implementation for getObject and importFile.\n\nPreviously the two functions have separate but similar implementation. ag/750097\nfixed a bug in importFile, but we have a same bug in getObject. Instead fixing\nthe bug separately, the CL adds a common function that can be used from both\ngetObject and importFile.\n\nBUG\u003d23264575\n\nChange-Id: I0bdc876ee9b11301ba4c445cc16556e9c951a8b4\n"
    },
    {
      "commit": "81ca5ade77ea518aa21fdd7434d2db5df088a115",
      "tree": "f201610ca81c7731190a11ca884a8678415f6245",
      "parents": [
        "2b355c2063fa89a50c5fd463c00a47633dfee56b"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Tue Aug 18 21:13:40 2015 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu Aug 20 15:14:53 2015 +0900"
      },
      "message": "Read whole data from MTP device even on writing error.\n\nOnce the object bytes is requested on the MTP client device, the device tries to\nsend whole data of object. We need to read the complete data from the device\neven when we have errors at the destination file descriptor. Otherwise the\nobject data will be received as a response of next request unintentionally.\n\nBUG\u003d23264575\n\nChange-Id: I3369786370022f65aa760dd6b75204a946f712af\n"
    },
    {
      "commit": "64c948bf5041fdfe391553315c9d028e1ee56382",
      "tree": "d14eaf1d1f218ca12fd8c48026318f15cbb1f3b7",
      "parents": [
        "58bfa487072d6e67ec1578c68315c83a2e49d3d3"
      ],
      "author": {
        "name": "Tomasz Mikolajewski",
        "email": "mtomasz@google.com",
        "time": "Thu Aug 13 15:31:02 2015 +0900"
      },
      "committer": {
        "name": "Tomasz Mikolajewski",
        "email": "mtomasz@google.com",
        "time": "Fri Aug 14 18:35:04 2015 +0900"
      },
      "message": "Fix sending object info in MTP stack.\n\nThis CL fixes three bugs:\n1. Wrong condition, which caused MtpDevice::sendData always return false.\n2. Sending data separately was incompatible with the server side, causing\n   receiving only partial data on the server side.\n3. Sending uninitialized buffers (sic!) from MtpDevice::sendObjectInfo\n   due to missing call to reset().\n4. Sending corrupted packets from MtpDevice::sendObjectInfo (shifted by\n   4 bytes) due to missing reset().\n5. Sending incorrect parent in MtpDevice::sendObjectInfo in case of not\n   specified parent.\n\nChange-Id: Ia545c66b388ea9a292ba31f6ff034e2467037d92\n"
    },
    {
      "commit": "025ffd9c17a7b30d862436954aa0db8d08bfaa9f",
      "tree": "6255d4904a7711eb4ec7e31120f09386aa97299a",
      "parents": [
        "b2d33aee5122c91a59c2a676c0b89ad340232450"
      ],
      "author": {
        "name": "Tomasz Mikolajewski",
        "email": "mtomasz@google.com",
        "time": "Tue Aug 04 18:38:31 2015 +0900"
      },
      "committer": {
        "name": "Tomasz Mikolajewski",
        "email": "mtomasz@google.com",
        "time": "Tue Aug 04 18:49:35 2015 +0900"
      },
      "message": "Add support for reading into a file descriptor on MTP devices.\n\nThis will allow to read files on Java side without copying all bytes to\nmemory first, which is problematic for large files such as movies.\n\nBug:22908937\nChange-Id: I67b116cf01d9e44af69f94c8edc64fd8fbf7b9a3\n"
    },
    {
      "commit": "07a9e548af0ed26d7354f3defaa8f18b2c5125f1",
      "tree": "bac808f24cd14d4bc55c885132a2966c487e6ac9",
      "parents": [
        "4889c07b795dac023a90df36f1cc7cffce8dbe0d"
      ],
      "author": {
        "name": "tao.pei",
        "email": "tao.pei@ck-telecom.com",
        "time": "Fri Jul 17 17:18:41 2015 +0800"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jul 21 10:51:48 2015 +0100"
      },
      "message": "Use errno correctly.\n\nAfter a failed write() or ioctl(), errno wasn\u0027t being checked until\nafter some other function calls that could also modify errno, thus\nchecking the wrong errno. Make sure to check it prior to doing anything\nelse that can modify it.\n\n[Preconditions]\n1.PC connects with phone(mtp).\n\n[Procedures]\n1.Copy a file from PC to phone.\n2.Cancel the copying.\n3.Recopy the file.\n\nChange-Id: Id772fca7ccb96d3f43bd4beb210bedd8d3ac17fa\n"
    },
    {
      "commit": "d35c21207762c33c6f8f517e52533d6738d9adf0",
      "tree": "275774760d1438dd667a2423ec3ed82cc74d8dd6",
      "parents": [
        "882ffba6a98dbe97a07f094ce87d9b81b756971e",
        "1f7101ee7096dc11cd212935d84c0f9a3376b061"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 23 20:57:30 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 23 20:57:30 2015 +0000"
      },
      "message": "am 1f7101ee: am 64c496c8: Merge \"Fix MTP delete\" into lmp-mr1-dev\n\n* commit \u00271f7101ee7096dc11cd212935d84c0f9a3376b061\u0027:\n  Fix MTP delete\n"
    },
    {
      "commit": "ea9f215a13f1a5e6455be91624a81a024641a26d",
      "tree": "d1d36a017f301f3f902da3ad9e5513178ed46281",
      "parents": [
        "c0c2366c180e06f03cbd1c1a4020bdc26f1002f7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 23 10:55:25 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 23 11:43:43 2015 -0800"
      },
      "message": "Fix MTP delete\n\nBug: 18836972\nChange-Id: Ia1caa9bfb0f2084af774745b5c01b260ab1f1b20\n"
    },
    {
      "commit": "93830b75204207addee67705016aab1a34eee5f6",
      "tree": "b16f3facf3860478db0fe9a55523b85ce6009cd6",
      "parents": [
        "85aca658ac7d20584b0647427256df50a5f243ef",
        "562b98ec7edf9303f4c7d8da7e81171b621d3849"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Dec 17 23:24:29 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 23:24:29 2014 +0000"
      },
      "message": "am 562b98ec: am e48cf5b8: Fix bounds checking for GetPartialObject command\n\n* commit \u0027562b98ec7edf9303f4c7d8da7e81171b621d3849\u0027:\n  Fix bounds checking for GetPartialObject command\n"
    },
    {
      "commit": "e48cf5b8f823c30af93577c1e380d752ac69b871",
      "tree": "e4c28928702a1b75d4a67958bdccdca0d7e73c61",
      "parents": [
        "145cf5d885c238b690ab8240137934327b85c427"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Dec 17 12:22:36 2014 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Dec 17 12:22:36 2014 -0800"
      },
      "message": "Fix bounds checking for GetPartialObject command\n\nGetPartialObject has only 3 arguments, whereas the 64 bit version takes 4.\n\nBug: 18786282\nChange-Id: I4376962769ed0eae2f4991c2569244db22509204\n"
    },
    {
      "commit": "e1e814c7c640a51511b149985d57f8bfd4a8bf78",
      "tree": "e80535c005c41fc25e24648fa0fa5f50b2d53137",
      "parents": [
        "dd1b265eb3041532ad76d41bb73dbe9722decf7f",
        "e418cfae0970d1abe60b8cc681aa8c8a828b3769"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Nov 13 16:49:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 13 16:49:14 2014 +0000"
      },
      "message": "am e418cfae: am 869e0798: Merge \"MTP: add strict bounds checking for all incoming packets\" into lmp-mr1-dev\n\n* commit \u0027e418cfae0970d1abe60b8cc681aa8c8a828b3769\u0027:\n  MTP: add strict bounds checking for all incoming packets\n"
    },
    {
      "commit": "ab063847e6e893740749029a04cce1f6b7345ed5",
      "tree": "8b840e9152cfa638aa354a0379962a89914e0006",
      "parents": [
        "745602d87607521f4fe84c4f3a6388fbdb6a867c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Nov 12 14:20:06 2014 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Nov 12 16:08:37 2014 -0800"
      },
      "message": "MTP: add strict bounds checking for all incoming packets\n\nPreviously we did not sanity check incoming MTP packets,\nwhich could result in crashes due to reading off the edge of a packet.\nNow all MTP packet getter functions return a boolean result\n(true for OK, false for reading off the edge of the packet)\nand we now return errors for malformed packets.\n\nBug: 18113092\nChange-Id: Ic7623ee96f00652bdfb4f66acb16a93db5a1c105\n"
    },
    {
      "commit": "841daebc75fbf5e7fb4dd71cab559b8f4d7150ae",
      "tree": "691d23d6dc2577d4847e00e730900b017c7fff6b",
      "parents": [
        "e2a168b2ec3f96fe39d84e4f1553881efd691c38",
        "686a0c4db5e90b811b1fbe1dba3638522ef4b7a1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Oct 29 18:29:12 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 29 18:29:12 2014 +0000"
      },
      "message": "am 686a0c4d: Merge \"MTP Device: Parse USB3 descriptor for MTP initor;\"\n\n* commit \u0027686a0c4db5e90b811b1fbe1dba3638522ef4b7a1\u0027:\n  MTP Device: Parse USB3 descriptor for MTP initor;\n"
    },
    {
      "commit": "8023f3af62795b7816f36a9423f8e0a39e616e49",
      "tree": "d59bc64da620e6e42fde66ce22410c4749e2823f",
      "parents": [
        "8f230382b86e7b431211ceb0263d06c4bba1bf6b"
      ],
      "author": {
        "name": "Bo Huang",
        "email": "bo.b.huang@intel.com",
        "time": "Sun Jun 09 08:53:21 2013 +0800"
      },
      "committer": {
        "name": "Bo Huang",
        "email": "bo.b.huang@intel.com",
        "time": "Fri Sep 26 10:25:37 2014 +0800"
      },
      "message": "MTP Device: Parse USB3 descriptor for MTP initor;\n\nMTP initor in Android only support MTP responder based on USB2.\nAdd support for MTP device based on USB3.\n\nChange-Id: I52b7a5ddff8ae3f8c2ce8a802c2cb2865f4e162a\nSigned-off-by: Bo Huang \u003cbo.b.huang@intel.com\u003e\n"
    },
    {
      "commit": "37b216c75ca5e38f1a56a86a95b04ff6b4e71ae7",
      "tree": "9fe38c8ba296b41db0ad080608f60bde289cb740",
      "parents": [
        "81e50d0c782cc18eab4ef40ecd6c7f36df50fea5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 24 15:42:39 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 24 15:51:46 2014 -0700"
      },
      "message": "Remove last user of \u003ccutils/tztime.h\u003e.\n\nBug: 15765976\n\n(cherry picked from commit 56687f7cbf0a3d7909830fc1390a98c713a05e6f)\n\nChange-Id: Iacb225584c3acdbb512f46b638a215b75b32cdcb\n"
    },
    {
      "commit": "56687f7cbf0a3d7909830fc1390a98c713a05e6f",
      "tree": "2ae71fdc3623b692c83f406bf9b10b9f2ba5cca3",
      "parents": [
        "2e25819fffbb23d42541ead1bf735f3a02fa0330"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 24 15:42:39 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 24 15:42:39 2014 -0700"
      },
      "message": "Remove last user of \u003ccutils/tztime.h\u003e.\n\nBug: 15765976\nChange-Id: Ib21abe9349bb1863304cd7618d8fc95ca254e8f6\n"
    },
    {
      "commit": "d239cb6e6898bdf2300e9038111727a9056c58ee",
      "tree": "fded306f76cc93e76d8354dab66cf55828b5ff0c",
      "parents": [
        "1ee7a03fafe9b1983465979729a630e5be3be4e1"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jun 18 16:32:27 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jun 25 10:15:22 2014 -0700"
      },
      "message": "mtp: 64-bit compile warnings\n\nChange-Id: I9ebc270c990d2f83311cec8fef8f1d2842ebf291\n"
    },
    {
      "commit": "dcd89ecad321e2e052322fe2b1907d50d762b311",
      "tree": "942b233daab8844b0354f9e770257ea4e4f09f6c",
      "parents": [
        "c27f5259cf2c45ea6f0a021fc17578f32f6c2f7d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 24 10:49:08 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 24 11:11:29 2014 -0700"
      },
      "message": "Improve MTP error checking\n\nChange-Id: I1ab02ca0e99a1c284411fb368a773fb481d72ab2\n"
    },
    {
      "commit": "c27f5259cf2c45ea6f0a021fc17578f32f6c2f7d",
      "tree": "86ce7864cb48f85e5b26307d23554965ccfb14c2",
      "parents": [
        "215ebcddf7216d15fde34f9a32d27f280d1b19d3",
        "620f348faf3ce0c39e71338a005f1528765f4d1e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 23 19:54:07 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 23 19:54:07 2014 +0000"
      },
      "message": "am 620f348f: am da69fdbb: Merge \"Fix buffer allocation\"\n\n* commit \u0027620f348faf3ce0c39e71338a005f1528765f4d1e\u0027:\n  Fix buffer allocation\n"
    },
    {
      "commit": "ebb1081a624a773a67c49b279c775e18e693c4fc",
      "tree": "1e22436c4dc6418840e35c609d278f098fa947e3",
      "parents": [
        "ccaffa8df0e201da6bfabb6d616e62904cfb5534"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 23 08:15:13 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 23 08:15:13 2014 -0700"
      },
      "message": "Fix buffer allocation\n\nb/15293123\n\nChange-Id: Icb3ceabf02a55bc931baaf388ce125db6332de0e\n"
    },
    {
      "commit": "1b24cf32e02a1372e57b3a2a432bc0adfe496e6d",
      "tree": "220f4583ae1081df62fa5c861eed3e9e90a24515",
      "parents": [
        "4845b69f70ff457be8d8908f6eb61e2af67e00d3",
        "e80631aa1992ca50af679cd6a018c0ffda7f9b17"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "message": "am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70d\n\n* commit \u0027e80631aa1992ca50af679cd6a018c0ffda7f9b17\u0027:\n  media: use size_t for integer iterator to Vector::size()\n  media: 64 bit compile issues\n"
    },
    {
      "commit": "3ab368e0810d894dcbc0971350c095049478a055",
      "tree": "a50053c391da8c02797158395f2ecfec83218855",
      "parents": [
        "db43b34c3428e480f8c4c66e7e88f4001f37f91e"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 14:55:53 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 14:57:31 2014 -0700"
      },
      "message": "media: use size_t for integer iterator to Vector::size()\n\nChange-Id: I0a744dc7815a86a993df9b0623440be620ec8903\n"
    },
    {
      "commit": "db43b34c3428e480f8c4c66e7e88f4001f37f91e",
      "tree": "be194bf06c84b61f277a1c29c7499aa7862494a4",
      "parents": [
        "1df2557ac95a6d8a087fb15f6f842dc049f2759b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 04 14:47:28 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 13:18:22 2014 -0700"
      },
      "message": "media: 64 bit compile issues\n\n- change internal sized types to use stdint.h\n- printf \u0026 scanf formats\n- size_t or unsigned int for iterators\n\nChange-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446\n"
    },
    {
      "commit": "eb5d7f2f1cc049ea7f95a4f089ce2113d7683dda",
      "tree": "18f2e7cd60173d83caf6bfa8158cdc7ba71bbc12",
      "parents": [
        "55d15957bc44d11052e1cb3eea3340ec00f70bae"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Mar 24 16:18:36 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Mar 24 19:18:31 2014 -0700"
      },
      "message": "mtp: avoid silent allocation overflow in MtpProperty\n\nBug: 13006907\nChange-Id: Ice0352394840132c9c2ce6c28366632c792a32c0\n"
    },
    {
      "commit": "0fa848d780cf990a2860637f40432d28594c85a3",
      "tree": "f2a205d5d14cffd5b164fb8cedc65d6dad59a915",
      "parents": [
        "3a06522fd0e74934acb4bacaf1e90209bc7e9aa8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Mar 07 13:29:59 2014 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Mar 11 15:06:39 2014 -0700"
      },
      "message": "MTP: Add support for device property changed events\n\nAlso fixed bug in MtpProperty::write() for device properties\n\nBug: 7342482\nChange-Id: If0099095d101409d131564e55b1939895c69c202\n"
    },
    {
      "commit": "377b2ec9a2885f9b6405b07ba900a9e3f4349c38",
      "tree": "b938e1d75a1beefae86244f287ca22f4a277740d",
      "parents": [
        "cdda7bf4d3ca9cad6979374a18dd5be79ea83d80"
      ],
      "author": {
        "name": "Kévin PETIT",
        "email": "kevin.petit@arm.com",
        "time": "Mon Feb 03 12:35:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 11:40:06 2014 +0000"
      },
      "message": "Make frameworks/av 64-bit compatible\n\nContains the necessary changes to make frameworks/av build and work\non a 64-bit machine.\n\nSigned-off-by: Craig Barber \u003ccraig.barber@arm.com\u003e\nSigned-off-by: Kévin PETIT \u003ckevin.petit@arm.com\u003e\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n\nChange-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43\n"
    },
    {
      "commit": "014897f5aece2c6212418934bd4618326979f17a",
      "tree": "7875866e28fecefccf204bfcfe157e4ed0e74552",
      "parents": [
        "1f95555c69219180f792ac742cc0e386496c29e6"
      ],
      "author": {
        "name": "Yin Liu",
        "email": "yin2.liu@sonymobile.com",
        "time": "Tue Dec 04 09:19:53 2012 +0100"
      },
      "committer": {
        "name": "Zoran Jovanovic",
        "email": "zoran.jovanovic@sonymobile.com",
        "time": "Fri Dec 20 20:56:12 2013 +0100"
      },
      "message": "Long mp3 metadata displays as corrupted file after transfer\n\nCut the metadata to 1 Byte and return in function\ngetObjectPropertyList in order to show it properly on a PC.\n\nChange-Id: Iefacf9fa86c20ece2572e6d95d35877a94066fe7\n"
    },
    {
      "commit": "ecba7488c5cceaacef95836b1b476433451e7761",
      "tree": "83245c19c2dda5c557531edb19478056034b5db5",
      "parents": [
        "5544c66ba0aa789a997b376df503a5ffae425dc7"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:53:49 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: If493d87d60d71be664ad75b140c62acadb75b0d0\n"
    },
    {
      "commit": "cba6b7dbe6e6d89c00021a0954d8bf60eacefdfa",
      "tree": "579a9b99765f8852599cfb23a5cbba4a77002431",
      "parents": [
        "d49e54289654ab7d7bda03f019ca4421fe303b05"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Apr 01 10:51:35 2013 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Apr 01 10:54:40 2013 -0700"
      },
      "message": "MTP: Implement date created field in GetObjectInfo\n\nBug: 8293874\nChange-Id: I6b74fe73362bd4fac34ca8a54e127ae91f82aef9\n"
    },
    {
      "commit": "38fb629c46efb74517332696d5d117f4466fa3f0",
      "tree": "27a6883c8003ea76befc4b57c6986f145f983f96",
      "parents": [
        "1cca13c79ff7e3f36a2fc6e564b60f5e57d00919"
      ],
      "author": {
        "name": "Mike Lockwoood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 08 13:25:01 2013 -0800"
      },
      "committer": {
        "name": "Mike Lockwoood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 08 13:25:01 2013 -0800"
      },
      "message": "MTP: Write initial data to correct file offset in SendPartialObject\n\nChange-Id: I84288aeda3e65e6e6487f11d32a72910cd16cff2\n"
    },
    {
      "commit": "60d6452fe7d04d5723c2d343e61d819832361a1c",
      "tree": "807e25c080b11c1c59595d15835562d768ac837a",
      "parents": [
        "fa030e2bde158d357ea92eb10f2206ca76eb7e04",
        "ed757e9729b325f00e70f506ad6e217910563d0a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 11 10:08:26 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 11 10:08:26 2012 -0700"
      },
      "message": "am ed757e97: am 290ac693: Merge \"Stop building the unused host libmtp static library.\"\n\n* commit \u0027ed757e9729b325f00e70f506ad6e217910563d0a\u0027:\n  Stop building the unused host libmtp static library.\n"
    },
    {
      "commit": "e0e2e98674caa7f6285eda122ebabee40528374b",
      "tree": "1f21090bc2f13718c000d558120d806851199bd5",
      "parents": [
        "d81be6d670f0d89aa6048a82fbbff82c584e9922"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 11 09:33:46 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 11 09:33:46 2012 -0700"
      },
      "message": "Stop building the unused host libmtp static library.\n\nThis removes the need to support the bionic mktime_tz and localtime_tz\nextensions on glibc, which makes my life easier.\n\nBug: 7012465\nChange-Id: Ibfa187f2857dda7bd1536348e314a80abacb9d1e\n"
    },
    {
      "commit": "af8e8aa1ada2948972555592570ec9ad90cbf372",
      "tree": "c573478e9f30dfe62dab9674fa4c04170f4b9626",
      "parents": [
        "0dc6d5ef45c0721c76f0e55354ff80371d795e5d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 13:32:23 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 13:53:00 2012 -0700"
      },
      "message": "Add mode when open(O_CREAT) is used.\n\nWhen creating a new file using open(..., O_CREAT), it is an error\nto fail to specify a creation mode. If a mode is not specified, a\nrandom stack provided value is used as the \"mode\".\n\nThis will become a compile error in a future Android change.\n\nChange-Id: I36a3d67d294a915c1f79632a1b0ba45edd1214b1\n"
    },
    {
      "commit": "3d51d5cb53cc630709a0ba78d0e60501a675f2d5",
      "tree": "c01dc8011b4e0061343c8b60b0da3508c63ae822",
      "parents": [
        "b4ea1ab821d652cb080910d4081f5f1318597a90"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jun 12 18:10:35 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 13 15:18:29 2012 -0700"
      },
      "message": "Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/\n\nChange-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26\nrelated-to-bug: 6647465\n"
    },
    {
      "commit": "c7a8e2422445030b9312470abca23c966b6367c7",
      "tree": "67e2bf5be90a682b1523ff2a7bad4ae97049ef3b",
      "parents": [
        "83bc7f3cf78b28a818417f40a4f0c00593993366"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:17:29 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:21:42 2012 +0100"
      },
      "message": "media/mtp: Add missing LOCAL_C_INCLUDES\n\nOne of the source files here is including \u003ccutils/tztime.h\u003e which\nitself includes \u003cbionic_time.h\u003e, a private C library header used\nto define the strftime_tz() extension (which used to be declared\nin \u003ctime.h\u003e but was moved there instead).\n\nAdd a missing C include path to let our code compile as usual.\n\nChange-Id: I6aac2f1d3d15ad182679c81ff3f4febff74eb671\n"
    },
    {
      "commit": "29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47",
      "tree": "3bdafe4b02fe36f6ee29c3170f0b0d2799bebf86",
      "parents": [
        "d709ca9c6a0fa1c8f40cbe624a119398643c5087"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "df64d15042bbd5e0e4933ac49bf3c177dd94752c",
      "tree": "ff04eb3e1a1ce8c8d8559b93a438f278d984aa87",
      "parents": [
        "b8a805261bf0282e992d3608035e47d05a898710"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "message": "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156801\n\nBug: 5449033\nChange-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea\n"
    },
    {
      "commit": "b8a805261bf0282e992d3608035e47d05a898710",
      "tree": "7a43908b8e936ac1f30eef0542b40d667c47aa23",
      "parents": [
        "94023fa6744e24f26f0aba1699ec278649bd66df"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Jan 03 22:38:27 2012 +0000"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156016\n\nBug: 5449033\nChange-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298\n"
    },
    {
      "commit": "a9a46c1f53129be8fe1f3f0a6ea868d7b4c8f8f7",
      "tree": "27c6aed77ee974054e91426386a8daa23ca4bab6",
      "parents": [
        "44c190826d72589f5c9e13d69e32673bd8bd7c64"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Dec 01 16:58:41 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Dec 02 11:08:39 2011 -0500"
      },
      "message": "MTP: Add support for restricting PTP to only certain subdirectories of the storage\n\nBug: 5527220\n\nChange-Id: If68e7481617ecb62abd24e2d89e6b7dfdf95ba2b\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "44c190826d72589f5c9e13d69e32673bd8bd7c64",
      "tree": "327ad89c7a9e2e0f09a48680fb7e85a467635701",
      "parents": [
        "17078d8a83becd5bfb49a39f1415882b78d07a49"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Dec 01 18:36:06 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Dec 01 18:37:29 2011 -0500"
      },
      "message": "MTP: Don\u0027t attempt to read more than 16K at a time from the MTP driver\n\nThis could happen sometimes if other operations increased the size of the\ndata packet buffer to \u003e 16K\n\nChange-Id: I4d316c7e2e558d3dd861d39accae6514fd9a62f5\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "3856b090cd04ba5dd4a59a12430ed724d5995909",
      "tree": "a24e4c98fa6049fd8085826be838000f9a67e39b",
      "parents": [
        "1d2acaffde56ad79e6e96f228d7857863462397c"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 26 09:57:54 2011 +0100"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/143865\n\nBug: 5449033\nChange-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a\n"
    },
    {
      "commit": "0cc79c66329b9ffa7d7bdfafa5d245a11fd3660d",
      "tree": "4a958a8de02017bb7a7e8d057bab0101a77837c5",
      "parents": [
        "bbdb412041a1e593c95c29c84d5ddbb8906787e4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Oct 13 11:38:20 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Oct 13 11:38:20 2011 -0400"
      },
      "message": "MtpServer: Pass 0xFFFFFFFF for file size when receiving files \u003e\u003d 4GB in size\n\nBug: 5432487\n\nChange-Id: Ie86e72d9d85476941eab6a9d271948b8fdde6926\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ef441d965504dbf31c5db690e5b34fcdcecd92ff",
      "tree": "4c4bd3804dffe1e472c94e1d2d42a3ece615cde6",
      "parents": [
        "e0b5bb23f0a26d248275d203885b820659da7320"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 14 21:00:02 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Jul 17 15:53:53 2011 -0400"
      },
      "message": "MTP: Use a single packet for the data phase\n\ninstead of sending 12 byte header in a separate packet.\nPTP on the Mac is much happier with this approach.\n\nChange-Id: I7d1ca498f6346afd88876d24332187b466fc469c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "dec7388c3edf09eaaccaaf57f6301e716319a34d",
      "tree": "d4fb2635f12fdd13e2feba28f1c5b15fa9e39fc3",
      "parents": [
        "8deb152167af1dbf39d532737f105368ee8973f5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 11 15:04:38 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 13 09:44:42 2011 -0400"
      },
      "message": "MTP: Clean up MtpServer initialization and threading:\n\nMove thread from native to Java code\nRemove the stop() method (the thread will exit on its own)\n\nChange-Id: Ib897c3630162f82669a4ee8c187e8172da50b29d\n"
    },
    {
      "commit": "5e0067b486c3862316aa1f293cf9690c0cf54bda",
      "tree": "104ac8491b40d6e9d8353322792fb83ce76f4c82",
      "parents": [
        "52f556b976a9caceee183d8af2118ddbee02c70a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "message": "Remove the simulator target from all makefiles.\nBug: 5010576\n\nChange-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8\n"
    },
    {
      "commit": "9b88b72ee2c3fd01fb46e77b7e6d80f3bd52e958",
      "tree": "f14b7d39ef4012695277173c2c1fb35837af5ea8",
      "parents": [
        "bca946c7a54343f1517347bc74d3fff4e6303d3b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 11 09:18:03 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 11 13:40:02 2011 -0400"
      },
      "message": "MTP: Return error if user tries to copy a file \u003e\u003d 4GB to a FAT32 file system\n\nBug: 4561836\n\nChange-Id: I2bffb93b032038f6c220c24c752ccd7ca66c23a0\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3d1d7767afc7c488197ec40a22739159c5110721",
      "tree": "f890c639ba31cbd98b05e69e504df1d4f8b924e6",
      "parents": [
        "c0fc64242a504a6c72670b0db2d648d2a3e208d2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 21 08:27:06 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 21 08:27:06 2011 -0400"
      },
      "message": "MTP: Add support for PTP variant of GetDeviceInfo result.\n\nChange-Id: I09f86fda768b7697665e401adb9516588859bf59\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "dc3185e3e27b05e18c4ac34432a25a0c279ff351",
      "tree": "341902c6357c301f74c5b30f50ad6db8af01f299",
      "parents": [
        "daeba2d6b9df5252afacec835a23340e5d9910ec"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 17 13:44:24 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 17 19:49:05 2011 -0400"
      },
      "message": "MTP: Fix some problems with GetObjectHandles and GetNumObjects commands\n\nThese calls did not correctly handle some variants of the arguments,\nwhich showed up when running in PTP mode.\n\nChange-Id: Iedbaefebfa39111c8bcaee7c6cc3820a65d6c98f\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7efab4282a7179b2f53a3dbccee3e70d7fce6a7f",
      "tree": "b8810c84c6b1c35f6c6e1dc826a02add2927fe80",
      "parents": [
        "1a65546a55d019335655464ad895361ba9f89252"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 09 20:16:05 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 16 14:29:45 2011 -0400"
      },
      "message": "MTP: Have GetStorageInfo command return correct storage type for removable storage\n\nChange-Id: I09b548483c12080e7d77970babcae2eef379f2f4\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "aeb65d45a93878bba361956b3f3280b36cc48e59",
      "tree": "ab34512da60bd15785d119d9f41785927e464b5f",
      "parents": [
        "c9ee8c2dd7d0860b41a3312bbf7ff390f5d0cf8e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 24 18:40:17 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:57 2011 -0400"
      },
      "message": "DO NOT MERGE MTP: Implement GetThumb command\n\nThis allows the PC to access thumbnails in JPEG files over MTP/PTP\n\nBug: 3219495\n\nChange-Id: Id61f353ba70e896fae9a47338bf7871c0f185d3e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c9ee8c2dd7d0860b41a3312bbf7ff390f5d0cf8e",
      "tree": "a206ea8f7fc0497e842750d0b497fdf5cccfb651",
      "parents": [
        "4d9da14065fea7bca759f83c419ce10bd1195e83"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Apr 25 12:56:21 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:57 2011 -0400"
      },
      "message": "DO NOT MERGE MTP: Fix file descriptor leak in file editing extensions\n\nChange-Id: Ie0b979b5cfd9b5f9e9196c5f8c8ecccef6ed84c3\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "4d9da14065fea7bca759f83c419ce10bd1195e83",
      "tree": "803d17f1571306380ec986d87bdbc0dd03d041f4",
      "parents": [
        "462accab9dbcf8d1597de999328fa74337b3b88c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Apr 21 17:05:55 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:56 2011 -0400"
      },
      "message": "DO NOT MERGE MTP: Add extended operations to support in-place editing of files\n\nMTP does not support partial writes of files (the entire file must be transferred at once).\nThis makes it impossible to implement a FUSE file system for MTP\nwith acceptable performance.\nTo fix this problem, this change adds extended MTP operations to allow\npartial writes to files:\n\nSendPartialObject - allows writing a subset of a file, or appending to the end of a file\n\nTruncateObject - allows changing the size of a file\n\nBeginEditObject - must be called before using SendPartialObject and TruncateObject\n\nEndEditObject - commits changes to a file after it has been edited with SendPartialObject or TruncateObject\n\nWe also add GetPartialObject64, which is the same as GetPartialObject\nbut has a 64 bit offset rather than 32.\n\nChange-Id: Id5365e1c4dc55a2d819c16c9db0a3ac2260f9309\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0241cacb85dbac20b28036bbb8025dfd513e3753",
      "tree": "decad46d9168915eacfb06b54a6e16b7f7ff4e2a",
      "parents": [
        "ae23aaee377578d9601db8d0acff66a4dd40920a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:21:27 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:56 2011 -0400"
      },
      "message": "DO NOT MERGE MTP and media provider support for multiple storage devices:\n\n- MTP support for multiple storage units\n\n- Add storage_id column to media database for MTP storage ID\n\n- Add framework resource for defining mount points and user visible descriptions\nfor multiple volumes\n\n- Clean up locking in MtpServer JNI code\n\nChange-Id: Ide6d47bd9aa1698ed2a13d695613e03f2a9b29e3\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3d74457b66533b170606347e60628e55a2af255e",
      "tree": "959f5d6628976454dad2f3c5580b56ee4544cd84",
      "parents": [
        "33bde8d8c4fc71fb3cdd8356fd0df70ffb44fcd7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 10:33:22 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 10:33:22 2011 -0400"
      },
      "message": "MtpDevice: Handle zero length packets in readResponse()\n\nBug: 3509060\n\nChange-Id: I291eefeaa667688c9e6e75da74ec3025b84065e9\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "33bde8d8c4fc71fb3cdd8356fd0df70ffb44fcd7",
      "tree": "faa52dddeecce0fc9585f19d4165af0e938b33d6",
      "parents": [
        "2eb62955eb84b97695e8a7e56e14310cbb86412b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 12 14:03:23 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 12 14:03:23 2011 -0500"
      },
      "message": "MTP host: Fix problems reading large data packets\n\nFixes problem reading large thumbnails via PTP\n\nBug: 4065217\n\nChange-Id: I643672512829c93ab0827091f39103dbb1918071\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a849440ca96e93f700d62c6e41d48905b4d405b6",
      "tree": "4df33307f6d972f4465c542390dd7ef3606eea58",
      "parents": [
        "39a5f1bbf88c124dc24b34d718a2d95f577b5bf1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Feb 18 09:07:14 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 22 13:57:23 2011 -0800"
      },
      "message": "MTP: Add support for dynamically adding and removing storage units\n\nBUG: 3402847\n\nChange-Id: I7da266061d949abcb6bb11c6faaa47b5e4a2a977\n"
    },
    {
      "commit": "d4fb52e3031578119ecd53087b1bcb4828c333c5",
      "tree": "d4019afe98cb780b9beaf619c15bc581bc62efc5",
      "parents": [
        "f1958f9442bc937e1f8c8d9175901500b944b021"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 15 14:55:51 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 15 14:55:51 2011 -0500"
      },
      "message": "MTP host: disable some test code\n\nChange-Id: I2237ad88f73b03a2c324f17267c52cc42b8a0d5b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "126ea73dd1919c8a176019c50b1ca96035aef45b",
      "tree": "0768699dd3e8b0b71cfe7857318527737d859462",
      "parents": [
        "31af37320d29c8bc725d8b4fe97e2f0288818333"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 14 08:07:50 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 14 08:17:44 2011 -0500"
      },
      "message": "MTP host: Use usb_device_bulk_transfer for synchronous transfers\n\nChange-Id: Icf42ea0e5a848cee1565da49713ee9ad0db9f1a6\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "31c52e7c8c01e1db6ff9bcf66135c72544b1235a",
      "tree": "d109f977a229623a0a907130bf354721378cd6e1",
      "parents": [
        "c36c7addb22cecfbe467b58ce219cd1f6db21a44"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 02 13:43:55 2011 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Feb 02 14:07:10 2011 -0800"
      },
      "message": "Fix some memory leaks found in static analysis\n\nChange-Id: Icd630009793c51acfaed45763ef50489ead40024\n"
    },
    {
      "commit": "8d08c5aeee05425357b6603a22fa73fd6e095a47",
      "tree": "e3f9b8aef2c2f1b1564d177b1b828edcf15e691b",
      "parents": [
        "1331f07d4400a25b9c8d2d4a1a913150ae05c5f7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jan 31 16:44:44 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jan 31 17:11:24 2011 -0500"
      },
      "message": "MTP: Use ro.product.manufacturer system property value for MTP manufacturer name\n\nPreviously it was hard coded to \"Google, Inc.\"\n\nBUG: 3405965\n\nChange-Id: I5f962d474814c22e990c39b501c0f01da9e8dc6d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f41ef0ee0da4c497352df42d09c3d89940c25e14",
      "tree": "61b326463ac9122bf55196d354420cf2ca2c5306",
      "parents": [
        "6cfacdf97708bc3a0e3d1ed3e07e71caae9a194e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 27 10:47:40 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 27 16:22:15 2011 -0800"
      },
      "message": "Add support for synchronous bulk USB transfers\n\nChange-Id: Id5de49e4d728a702fa1583ecc24f83f36cc57d21\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d7376cae7aba269dca143b94c3d6736d0ed02213",
      "tree": "9c658125af8046049b62e6608f990d31e0b0cf2d",
      "parents": [
        "76fd218ca290ffbb33790ae525c494d339da9d28",
        "84d3a304c835017cdc530eb9d8e92198021d3e4c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 26 15:34:15 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 26 15:34:15 2011 -0800"
      },
      "message": "am bd65c065: am a13732e1: Merge \"MTP: Fix month off by one error in date parsing and formatting code\" into honeycomb\n\n* commit \u0027bd65c065b2dcb54dde563a8a21c9f92da947c7dd\u0027:\n  MTP: Fix month off by one error in date parsing and formatting code\n"
    },
    {
      "commit": "ea1db0a716cc937af5371153b959610baa2c6d52",
      "tree": "62bfc5c4b552e73d794cff0b8b27dd8274b46a77",
      "parents": [
        "2494373e91399a97ad405f4e42dff6543cc296c7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 26 14:41:45 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jan 26 15:11:48 2011 -0800"
      },
      "message": "MTP: Fix month off by one error in date parsing and formatting code\n\nBUG: 3379100\n\nChange-Id: Ib386f0def9d611529ce0528b8159cef48df9cd85\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7aa9f73b06525781245b8c2970f09f48050a276d",
      "tree": "55a34aa0f0b91f7d0aed3e4b7f96cce3408fac0b",
      "parents": [
        "4448e05139b90fd04008a0a53d92fff53ee8a827",
        "23f1b33c5f88f07510ca5dc01b3afd7af6843d6c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Jan 22 15:59:28 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 22 15:59:28 2011 -0800"
      },
      "message": "Merge \"New APIs for MTP and PTP host support\""
    },
    {
      "commit": "23f1b33c5f88f07510ca5dc01b3afd7af6843d6c",
      "tree": "801bb79c1b94e88d649a4066b631290e3de19ae9",
      "parents": [
        "f0cf63fff696b30a0b5760bb637efb1aa9bf1f55"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 30 15:38:45 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Jan 22 15:56:09 2011 -0800"
      },
      "message": "New APIs for MTP and PTP host support\n\nThis replaces the previous ContentProvider based interface\n\nChange-Id: I4cea2544854adb9fdcc04345e4d73d8ef05380f3\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "59d6ae5e339547fea8a350c1d855b52d5ac4f62c",
      "tree": "7fe582634b7de85fc686be802f7dfe39be1a6d32",
      "parents": [
        "b408222bd9479c291874b607acae1425d6154fe7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jan 21 21:00:54 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jan 21 21:00:54 2011 -0800"
      },
      "message": "Remove MTP related log spam\n\nChange-Id: I9de1792cbeec07fa5ab42ff9a10813f0c3d30fc1\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "aa95240d9096f97aa2e2022fae8764a4386c8951",
      "tree": "ee23a4189c0152e2d5528887d5861566ef5ada6f",
      "parents": [
        "ccb3506ed1845121b94f4e27244e61a46eb19815"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 18 11:06:19 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 18 11:07:11 2011 -0800"
      },
      "message": "MTP: Fix problems with modification dates for folders and non-media files\n\nAlso removed an unnecessary parameter to MtpDatabase.endSendobject()\n\nBUG: 3352142\n\nChange-Id: I6fd812dcba4814956bc8bc1cbd6bd5c868197790\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "5de2001a5c3f854b63dbcea284e02f930881ca75",
      "tree": "3c9f5153ca12cd18771495544910d66e1719a838",
      "parents": [
        "42d0b79a787814d42e4c6f9dfe14f13cc0f6a758"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 06 09:39:28 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 06 11:47:56 2011 -0500"
      },
      "message": "Remove support for obsolete PTP content provider\n\nThis will be replaced by a new PTP host API in an upcoming commit.\n\nChange-Id: Ib914194e332b5c090cb8e34ed35bd691bc9f85d1\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "42d0b79a787814d42e4c6f9dfe14f13cc0f6a758",
      "tree": "9cb2c20fb8bf7d6b53c093c8e3dceb5dc0374523",
      "parents": [
        "d1108d74e13a74dc72e49513e0393e924f3d112c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jan 04 14:48:57 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 06 11:46:55 2011 -0500"
      },
      "message": "MTP: changes to use new usb_request support in libusbhost\n\nChange-Id: Ic091eab166a66efcde0395dcebbbc513f2322fca\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d1b056a099b29e81d65582a8612210967fb71f93",
      "tree": "b7eef96f1321d55342e5b234040eb857ec4720ce",
      "parents": [
        "5bc087c573c70c84c6a39946457590b42d392a33"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 29 08:32:32 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 29 09:12:15 2010 -0500"
      },
      "message": "Change libusbhost and libmtp from static to shared libraries\n\nChange-Id: Iccc67db32400cdeb88aa33261c9e0cf73db992ca\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "feafefb1ed8d86100161f521fc7a44b819bd9529",
      "tree": "446c650807f50449522c7c615f95b9b265ba6d07",
      "parents": [
        "985f838934510983d8a887461e98dca60a6e858f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Dec 13 21:50:09 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Dec 13 21:50:09 2010 -0800"
      },
      "message": "MTP: check for replacing existing files via the database instead of the file system\n\nChange-Id: I283dab48f24d2836e48fab8e49764a9cdf13de55\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "20c3be0e0394e1340c036685eb1edb8f6ef5a2ac",
      "tree": "8f3ae6045924fe4692042cb0cd61feb195a8ddb3",
      "parents": [
        "8d45a37ff076814db39471f15d309567605b3416"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Dec 12 12:17:43 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Dec 12 12:17:43 2010 -0800"
      },
      "message": "MTP: Add support for reserve storage setting to avoid low storage situations.\n\nSet resource config_mtpReserveSpaceMegabytes to number of megabytes to reserve.\nIf MTP has dedicated storage this value should be zero, but if MTP is\nsharing storage with the rest of the system, set this to a positive value\nto ensure that MTP activity does not result in the storage being\ntoo close to full.\n\nBUG: 3250924\n\nChange-Id: I881c87240da268bad1ea1b99ad03673ab85ffdbf\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f7454622eaac287d20ab43013d7015fe42b894f8",
      "tree": "1bbc63dbaf849ed5226194e933f2de3c9bdb22e0",
      "parents": [
        "424c6cbfa75da5f4f889ab6517dfee4dd024ba2d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 09 18:34:18 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 09 18:34:18 2010 -0800"
      },
      "message": "MTP host: Handle receiving a response packet instead of data packet.\n\nThis will happen if the device needs to report an error rather than returning the data.\n\nChange-Id: I477512b3676c2f0518a85a4135832ed4475fbc2d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "fd34626771a63d3a835863e1b4bf71dcb26e28d8",
      "tree": "7b6ae8f839589577830cd73f42449b32ca88a5a7",
      "parents": [
        "e52fda6714a209fa2117d970919324b56573f90f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 08 16:08:01 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 08 16:09:37 2010 -0800"
      },
      "message": "MTP: Improve argument checking in SendObjectInfo\n\nIn particular, make sure the parent is a folder and make sure file\ndoes not already exist.\n\nChange-Id: Ifa870faba3285f03a92025d9e82f93fed78a761c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "99e393a39a31bfbdeb435462939519e2d0279433",
      "tree": "b4fbe06804f106403ca1dad9eaf421d434566ce6",
      "parents": [
        "5da864845e024833c4c7f641acd7c88187a6bc1e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 18:53:04 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 18:53:04 2010 -0800"
      },
      "message": "MTP: Support format argument in host GetObjectPropDesc command\n\nChange-Id: Ic14313c0f95bea1d1d475cc6a001b256fccb91c8\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "5da864845e024833c4c7f641acd7c88187a6bc1e",
      "tree": "eb218fce452ad5d83d1a56d3cf807bffb99affeb",
      "parents": [
        "0c7c7c76a96a82ec728a2d5c091941c4057ffb25"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 13:51:54 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 17:16:20 2010 -0800"
      },
      "message": "MTP: Read property code before calling isDeviceProperty in MtpProperty::read()\n\nChange-Id: I0b1493f3af5d9caac08327f9ffba91ee255d3d55\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0c7c7c76a96a82ec728a2d5c091941c4057ffb25",
      "tree": "19fc13f9b1d585ee08afe816939c27e5373cb091",
      "parents": [
        "98693f674125484de8873d969c209276a6dd604b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 11:24:28 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 17:13:12 2010 -0800"
      },
      "message": "MTP: Improve MtpProperty logging support\n\nChange-Id: I46800b99763edcc5e994d912941f9f5e9b1c94d2\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "98693f674125484de8873d969c209276a6dd604b",
      "tree": "58c69be45cd71ca9729f1a2388da9a8f18d3ae25",
      "parents": [
        "2e09e289b7e136481e9215bb61ed47cee5d9919b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 10:58:56 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 10:58:56 2010 -0800"
      },
      "message": "MTP: Host support for GetObjectPropsSupported and GetObjectPropDesc\n\nChange-Id: I6fd23587597fc68227dfb61118b097eda3e3e1d5\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "2e09e289b7e136481e9215bb61ed47cee5d9919b",
      "tree": "d0b7c4c456984d0fd2bf1be2d1427e314db0135f",
      "parents": [
        "ddc4497c17b23d4a9828f977d5ac11ee36059da9"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 10:51:20 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 10:51:20 2010 -0800"
      },
      "message": "MTP: Use correct return type for getSupportedObjectProperties\n\nChange-Id: I6d5bd63fecaa3384dfa1b97dbc0d89ea5668981f\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ddc4497c17b23d4a9828f977d5ac11ee36059da9",
      "tree": "68b0e760b66b3f6c93eb67bd927b56ef41997dc7",
      "parents": [
        "5a68e17d07369a16b16a16dcdc539c293b8c2810"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 10:43:41 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 07 10:45:22 2010 -0800"
      },
      "message": "Revert \"MTP: Remove static library build for linux host.\"\n\nThis reverts commit d46c683f0e13ad9341ba83453835f6658ae5ad15.\n\nChange-Id: I7e56760c92bad1d66d4a1f2415328a4d2138de84\n"
    },
    {
      "commit": "40ce1f262cc4edbc8b7c470830325466263acaec",
      "tree": "2dee6e562eb0cc55a9be497b94e2e0b7be849622",
      "parents": [
        "4070a15be31dd309446cdd400342628a8f0b1328"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Dec 01 18:46:23 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 02 08:16:12 2010 -0500"
      },
      "message": "MTP: Add support for multiple properties in GetObjectPropList command\n\nChange-Id: Ib469a6c8141937aaa3e811345056195117abb4b2\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1d34b4b921cdac91116e456d97b57a1931e9e335",
      "tree": "735567f60688e6e677acb1fe941b64a234990ee0",
      "parents": [
        "841af895d7f5051b9e96899710dba8d3fe2af1f2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 30 12:16:58 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 30 12:19:41 2010 -0500"
      },
      "message": "MTP: Make sure buffer is big enough before reading the data packet\n\nFixes buffer overflow when transferring large playlists.\n\nChange-Id: I1b7feaf9e56d849e5b6609f0f68a6aa5a3ae1ea8\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f05ff073495b0bb3e49859aee5b54d3e25088985",
      "tree": "97e888378fd74effefc3eb005d16cdd876f28cb3",
      "parents": [
        "d81ce3cf2e6479915658a0829eced062e3655320"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 23 18:45:25 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 23 18:45:25 2010 -0500"
      },
      "message": "MTP: Fix typo in MtpServer::doGetObjectPropList\n\nChange-Id: Ia5fec45a238c49a6797a4ac55457ddb5d6521408\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    }
  ],
  "next": "d81ce3cf2e6479915658a0829eced062e3655320"
}
