)]}'
{
  "log": [
    {
      "commit": "9f430b2782849090d2e5e3737304cd26724366fa",
      "tree": "80e2e9cbd26b7805380828737e9b0553fbafda23",
      "parents": [
        "fe4ec9e9465eb4859845aeea5f1dfbb70b4c9d00",
        "c840945a7809b1fd55621d107ce799d8af370744"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 20 03:05:02 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 20 03:05:02 2017 +0000"
      },
      "message": "Merge \"frameworks/base: use proper nativehelper headers\" am: 826eafd958 am: 5c091dc944\nam: c840945a78\n\nChange-Id: I654e14f0d1b495450db81592a2e564e308746350\n"
    },
    {
      "commit": "5c091dc9449b583e18656a8850a61f557dfcc945",
      "tree": "db4ca724dd661b112d2bd72da67f2a91edce0850",
      "parents": [
        "5f047a68d96f252772144a729f423c172ce816e4",
        "826eafd95885adbfc142f3f70ec82b4091abed85"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 20 02:50:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 20 02:50:53 2017 +0000"
      },
      "message": "Merge \"frameworks/base: use proper nativehelper headers\"\nam: 826eafd958\n\nChange-Id: I36f10ff4d963284a313f1cc5b368f82549a4adb2\n"
    },
    {
      "commit": "2279b2534272282a5b5152723235da397e49195c",
      "tree": "884c0a32e34c87d58e8f36329eb77d6dec7a8ab4",
      "parents": [
        "a1d67fb38ec02150d674bc3b8d8354b53417552b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 09:50:45 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 10:06:40 2017 -0700"
      },
      "message": "frameworks/base: use proper nativehelper headers\n\nlibnativehelper exports headers under nativehelper. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using frameworks/base find headers\nBug: 63762847\nChange-Id: I0f9f231acdebe460f279135462f43d3e32eff64d\n"
    },
    {
      "commit": "21d71a4c8aa70ef9e133d18097a855cc23f29fae",
      "tree": "c04992e3f674cdb0ac304159b6c709ba2b8ff142",
      "parents": [
        "28f6dc951223a017f9abc90599662cb3f4995ad1"
      ],
      "author": {
        "name": "isaid",
        "email": "isaid@google.com",
        "time": "Fri Jun 02 20:07:01 2017 -0400"
      },
      "committer": {
        "name": "isaid",
        "email": "isaid@google.com",
        "time": "Tue Jun 06 14:20:02 2017 -0400"
      },
      "message": "Redundant/duplicate method to close Streams\nFixes: 62304559\nTest: the code compiles which mean polymorphism works. No additional\ntests necessary\nChange-Id: I3d366f12c1f176213979da6b050957bc2adb2938\n"
    },
    {
      "commit": "492e9e851cadca62df84eaff1a3c1ba788492fba",
      "tree": "61d47e46bb22366413a021f025b3c8e16713c55b",
      "parents": [
        "2a071d69b455399474d56cd2099e9944aec83224"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Mar 22 14:28:08 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Apr 03 18:12:04 2017 +0100"
      },
      "message": "Properly guard access to CloseGuard in finalizers.\n\nCloseGuard instances are allocated in constructors and usually\nassigned to final fields. This implies they\u0027re non-null in finalizers\nexcept in the case where the constructor throws. We add a null check\nto make sure we can continue cleaning up other state in the finalizer\n(if applicable).\n\nAlso, this change decouples closeguard warnings in constructors\nfrom other state based logic. This because the logic there is usually\nduplicated with the call to close().\n\nNOTE: This change is not a \"complete\" fix. Many of these finalizers\nare broken in the case where \u003cinit\u003e throws. The only objective of\nthis change is to make such errors more obvious.\n\nNote that some of these classes don\u0027t have CTS tests.\n\nTest: make, CtsMediaTestCases.\nBug: 35609098\n\nChange-Id: I24d9e0215f80e44914dba8ab99b6312fd6ed1fc0\n"
    },
    {
      "commit": "5d9a8acdac056e8842d010edd26496960f2a7a8d",
      "tree": "a17d8c7cfc9df553031ed00cb4a36ba14fea3b6b",
      "parents": [
        "d9774458cd8e6fe2d337aeaa03ccfa29e9e8b47e"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Mar 09 16:10:28 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Mar 15 21:46:42 2017 -0700"
      },
      "message": "Clarify release/close java docs\n\nbug:25372187\nChange-Id: Ibe13943731e53efa9408b0d6bf105063f3ce4334\n"
    },
    {
      "commit": "f0c606eb3e481050fd1dacd52694bacb794a4736",
      "tree": "ad66d1a579ec29de99040706e3f45e21595c63fc",
      "parents": [
        "9d9cf5b383f26c209b781dbca0723f69ff6913ba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 15 13:13:39 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 15 13:13:39 2016 -0700"
      },
      "message": "Stop including libcore/include/ in most of frameworks/base.\n\nframeworks/base/core/jni/android_text_StaticLayout.cpp does actually use\nScopedIcuLocale, so I\u0027ve left that for now.\n\nChange-Id: I6458cd133871281a747a9da2e304da10b445051a\n"
    },
    {
      "commit": "60cfad80bdf61db436643927337c2fb30186e99d",
      "tree": "71d953873226c0a3b6c2458fc1858ccb27b3b056",
      "parents": [
        "6a40ac6cc68f240cca60e12aba2d212c440fe091"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 05 17:30:57 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 06 10:19:35 2016 -0700"
      },
      "message": "Discourage use of \"_data\" column.\n\nMoving forward, all client file access really needs to be going\nthrough explicit APIs like openFileDescriptor(), since that allows\nthe provider to better protect its underlying files.\n\nThis change also changes several classes to use the AutoClosable\npattern, which enables try-with-resources usage.  Older release()\nmethods are deprecated in favor of close().\n\nUniformly apply CloseGuard across several classes, using\nAtomicBoolean to avoid double-freeing, and fix several resource\nleaks and bugs related to MediaScanner allocation.  Switch\nMediaScanner and friends to use public API instead of raw AIDL calls.\n\nBug: 22958127\nChange-Id: Id722379f72c9e4b80d8b72550d7ce90e5e2bc786\n"
    },
    {
      "commit": "e6748ce31f18782b7a47a5b2eb251efd83e7b609",
      "tree": "6837ac134292222ca6720ee477e27dcea676044f",
      "parents": [
        "3ab0c4c43e1e5b9efec7c0fd6928b127afcfb25d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Dec 11 18:00:38 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Dec 14 12:04:26 2015 -0800"
      },
      "message": "Frameworks/base: Use Arrays.toString\n\nFix a couple of cases where Arrays.toString should be used.\n\nBug: 19797138\nChange-Id: I905fc79e63face9b26975320a92086c732bf6316\n"
    },
    {
      "commit": "76f6a86de25e1bf74717e047e55fd44b089673f3",
      "tree": "c07e5cd58bcdd692593d6b7cd3edd40344ee4973",
      "parents": [
        "24ff6823c411f794aceaae89b0b029fbf8ef6b29"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sat Sep 19 17:31:01 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Tue Sep 22 17:10:35 2015 -0400"
      },
      "message": "constify JNINativeMethod function pointer tables\n\nChange-Id: I4036c924958221cbc644724f8eb01c5de3cd7954\n"
    },
    {
      "commit": "318365e869f3e234e7a0e59aaf1dd1de72ea5113",
      "tree": "0ae8ec115295a6b9e82c868c44539f41672dc894",
      "parents": [
        "a31318620bce4e00e80188ee2778b7799cbdf0dc"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 17:23:02 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 17:23:02 2014 -0800"
      },
      "message": "Frameworks/base: Wall Werror in drm\n\nTurn on -Wall -Werror in drm/jni. Fix warnings.\n\nChange-Id: If24fec45fbb737af593ddadfa473548dfa583e0b\n"
    },
    {
      "commit": "3cfe720a0d250f7aac88fdd303bf34005ebb9ab7",
      "tree": "10c5d3e75c0345df432eac43e198d98a6a4383bd",
      "parents": [
        "e1ab884a67ecbb3cd879493364e9eb1f485d9023",
        "5fed49f7d614ae9e83db04703484b31c8077b78c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jun 10 01:30:05 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 10 01:30:05 2014 +0000"
      },
      "message": "am 5fed49f7: am 4d9fcae2: Merge \"Allow for a NoOp implementation of DrmManagerClientImpl\" into klp-modular-dev\n\n* commit \u00275fed49f7d614ae9e83db04703484b31c8077b78c\u0027:\n  Allow for a NoOp implementation of DrmManagerClientImpl\n"
    },
    {
      "commit": "510ef1b537fece28b9f9e561f5c922d7aca8d294",
      "tree": "a6050f79b4d51b8b86f10efc83b6dffe1d29e7be",
      "parents": [
        "aaaa7769139fd1ef683a445c76414f6dcfe07d3b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 04 15:05:56 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jun 04 15:05:56 2014 -0700"
      },
      "message": "Allow for a NoOp implementation of DrmManagerClientImpl\n\nChange-Id: I150b95790d5e6d3c0160637149f18f2194318de8\n"
    },
    {
      "commit": "c1858228df18528aabe1ff223335f613be2b99d8",
      "tree": "17ebf5987996fa58c3e8b10a43b213d771f40fdf",
      "parents": [
        "33ee1e779d20fba8f8379296641c12cd6982506e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 28 20:49:24 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 28 20:49:24 2014 -0700"
      },
      "message": "Fix a few more stray libcore.io references.\n\nChange-Id: Id328544bd3a382fec16507d0ae5b699fef44ebd7\n"
    },
    {
      "commit": "f97c63350abcc6715ba9fdc21fd3405d0f7ba716",
      "tree": "9eba371ad46dc3dd0b70e40ad494623421979fab",
      "parents": [
        "54dacbe7ca6d8a8c71d601fcf773e7b27eba3a53"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 28 16:38:43 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 28 16:38:43 2014 -0700"
      },
      "message": "Move internal libcore.os users over to android.system.\n\nChange-Id: I84e1ace19ba3b4e58d7bb24f3ecda1bdf5dc75a5\n"
    },
    {
      "commit": "ebf8ad5d91b22eb4359c75711a5b70ddcce0723d",
      "tree": "8e4664b788a5de2a64c2b8764da9727c3305b9ed",
      "parents": [
        "b341a24b2adbb67cdc34ade0a19570ee37f0cb82"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jan 30 15:01:22 2014 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 06 09:47:38 2014 -0800"
      },
      "message": "Update DrmOutputStream to use raw FileDescriptor.\n\nThis allows DownloadManager to use FDs, paving the way for downloading\ndirectly to content:// Uris.\n\nAlso return flag indicating if deleteOlderFiles() actually deleted\nanything.  Update tests to verify.\n\nBug: 5287571\nChange-Id: I2579e5e2113f31b2860d7b021bd61c91b6310963\n"
    },
    {
      "commit": "38885b63fc41e664681b6fd12159c7ce04e3addc",
      "tree": "59d8a105b130b57df521d4f171f7043a14c3f42a",
      "parents": [
        "ef099b71838e15758c8e859af21748a123bb4a99",
        "38638b2fcc4aba428889d521d83762d716e32332"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jan 29 12:50:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 29 12:50:09 2014 +0000"
      },
      "message": "am 38638b2f: am eaae9906: am 672f3ee3: am 95ba1eb6: am dd6de16a: Merge \"AArch64: Use long for pointers in DRM classes\"\n\n* commit \u002738638b2fcc4aba428889d521d83762d716e32332\u0027:\n  AArch64: Use long for pointers in DRM classes\n"
    },
    {
      "commit": "33d603877acf76d5d59484532025af20f4b068a5",
      "tree": "58d4472d789e6da440a2c3f2db37953bba16cc77",
      "parents": [
        "486544f763bd27eb92c95101e23f939c79c9890e"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Fri Jan 17 12:05:52 2014 +0000"
      },
      "committer": {
        "name": "David Butcher",
        "email": "david.butcher@arm.com",
        "time": "Fri Jan 17 14:38:25 2014 +0000"
      },
      "message": "AArch64: Use long for pointers in DRM classes\n\nFor storing pointers, long is used in DRM classes,\nas native pointers can be 64-bit.\n\nIn addition, some minor changes have been done\nto conform with standard JNI practice (e.g. use\nof jint instead of int in JNI function prototypes)\n\nChange-Id: I101b0ea19ed93651c6ad1a9fa55e14e8be117469\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n"
    },
    {
      "commit": "6090995951c6e2e4dcf38102f01793f8a94166e1",
      "tree": "37f32f4b269fc26a18e3249a18459a476c473266",
      "parents": [
        "266f48cc042dda828109eb135088cdb6f0f7c1d5"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Nov 19 16:54:46 2013 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Nov 20 11:31:47 2013 -0500"
      },
      "message": "Remove unused imports from frameworks/base.\n\nChange-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906\n"
    },
    {
      "commit": "490dd056bd2fdfc630cd43b3fc1c90baf509bffe",
      "tree": "6acdce26ed26a33c7277cf828b4129cbf7fe5ff6",
      "parents": [
        "7f60dc57780281030f26a2109a64d0260e976af7"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Aug 30 23:04:34 2013 +0000"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Sep 03 10:13:17 2013 -0700"
      },
      "message": "Revert \"Enhancement for OnInfo callback on DRM Framework\"\n\nThis reverts commit 6fd97b7d93c5eeaefb2695786b35d1672c88b0cf.\n\nFixes Fatal signal 6 (SIGABRT)\" when playing or downloading a video\nbug: 10542864\n\nChange-Id: I85b84d6b602079571be1a7237c907716db9cdf54\n"
    },
    {
      "commit": "6fd97b7d93c5eeaefb2695786b35d1672c88b0cf",
      "tree": "1b8f627cf799f0b9eeb9dcb6bbd1e09c031d7716",
      "parents": [
        "b8d3a3de675a42b0eed6117eca509c42903d7ee3"
      ],
      "author": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Wed Jul 11 17:13:38 2012 +0900"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Aug 23 18:02:40 2013 -0700"
      },
      "message": "Enhancement for OnInfo callback on DRM Framework\n\nIn DRM framework, plugins can transmit DrmInfoEvent to Java layer.\nAlthough DrmInfoEvent has several entries, current implementation\ncan only convey integer and String. This change enables plugins\nuto propagate a hashmap to Java layer. The hashmap can have\none or more Strings and one byte array as value.\n\nChanges are made by Sony Corporation.\n\nbug: 10459159\n\nChange-Id: I5f2bfb43b676863ef4d220fd4ef1e48777e92752\n(cherry picked from commit 84a5b5cab40711e20ba70c5ed4dfeab6b558b53b)\n"
    },
    {
      "commit": "d685894212e6dbeac1fda4996903c1da115d49a6",
      "tree": "c52d05c78811e79a869afbcdbe55a906e38f2fa1",
      "parents": [
        "9fa49cc3308f6af593d780581121afc3c1d7e046"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:54:12 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:54:12 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: I746aa8258866508c3a725d0773faf4518096548f\n"
    },
    {
      "commit": "7ccc90955fad0701b6b14c813a2850ee4149c5a2",
      "tree": "739a3713dfef5518ed642f8602593fd8b772b28a",
      "parents": [
        "f67c8a9685e0f20d5ffb9de95f6d1ce47f052141"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 17 17:03:11 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 17 17:04:16 2012 -0800"
      },
      "message": "Move stream creation outside of DrmOutputStream.\n\nMore closely matches the object ownership pattern used by other\nstream APIs. Callers must now explicitly finish(). Also fixes\nwrite(int) bug by switching to Streams API.\n\nChange-Id: I64f9c5887ef02496b1ce4e97ce6af5dad93b4be2\n"
    },
    {
      "commit": "f67c8a9685e0f20d5ffb9de95f6d1ce47f052141",
      "tree": "30aa3e2376095dee656ac963632d080abb728b4a",
      "parents": [
        "fdb9138c401558e109ecdadc7acbc88b75634202"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 13 08:55:59 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 13 13:51:40 2012 -0800"
      },
      "message": "Move DRM to CloseGuard, add DrmOutputStream.\n\nSwitch DrmManagerClient to using CloseGuard to better track leaked\nresources.  Add DrmOutputStream which applies DRM transformation as\ndata is written, similar to FilterOutputStream.  Also writes DRM\nheaders before closing.\n\nChange-Id: Ic106a3e6f6ff666e4dda484fbd234a0849eec8c0\n"
    },
    {
      "commit": "58ed5d748c0b9b64845975ef5844ad313de7c3f6",
      "tree": "507af3879bc894eb854712a1fe6c0953805a895c",
      "parents": [
        "9197d170b770f2b87abd0cd0e13dcf71e5a181c2",
        "768d9e1a72ceee7d4a5f608776b87b62d6ce4a04"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Nov 07 11:52:12 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 07 11:52:12 2012 -0800"
      },
      "message": "am 768d9e1a: Merge \"Correct executable bit for source files\"\n\n* commit \u0027768d9e1a72ceee7d4a5f608776b87b62d6ce4a04\u0027:\n  Correct executable bit for source files\n"
    },
    {
      "commit": "3a084af2e90849aaa8beb3a610189e3399c63ea0",
      "tree": "ba4b87d227674fd68f9ea395649fde32778620f0",
      "parents": [
        "9d547d6934f64189e368c0b190fb4cf49c95a557"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Nov 07 10:19:47 2012 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Nov 07 10:27:31 2012 -0800"
      },
      "message": "Correct executable bit for source files\n\nMany media files and source code files were marked as executable in Git.\nRemove those.\n\nAlso a shell script and python script were not marked as executable.\n\nChange-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5\n"
    },
    {
      "commit": "d78fc5b94d1bb3dab509ca55d09052821c51412b",
      "tree": "8899b553fbd42c74fef5a0f51a08b70ec1017294",
      "parents": [
        "b9b56954ec5a242f7c4945942539106539f98ffb",
        "0889fdae87abd9ec78a6c1d00c2771acfa4e4d34"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 22 14:50:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 22 14:50:27 2012 -0700"
      },
      "message": "Merge \"Let getOriginalMimeType() take a fd passed from drm java applications\" into jb-mr1-dev"
    },
    {
      "commit": "0889fdae87abd9ec78a6c1d00c2771acfa4e4d34",
      "tree": "fa3c732ba63608c530b2424f16808b7c704cfb00",
      "parents": [
        "f83d2d6f6b4a23011226a7b9fee20dabf94820cb"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 08 17:45:59 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 22 13:47:19 2012 -0700"
      },
      "message": "Let getOriginalMimeType() take a fd passed from drm java applications\n\nAt present, we did not actually pass the fd. This patch allows us to\nmake the changes necessary in the future without worrying too much\nabout broken build.\n\nrelated-to-bug: 6426185\n\nChange-Id: I125decff9be621a72f2631fd439994a94a526606\n"
    },
    {
      "commit": "057b086e0e054247840060cbd1e14295a214221b",
      "tree": "c47940ff58dab4e4b371a73c1a2116aba9faf3f8",
      "parents": [
        "a688af9c6707c9c2f07cc195b072b6c14be03b63"
      ],
      "author": {
        "name": "Henrik B Andersson",
        "email": "henrikb.andersson@sonymobile.com",
        "time": "Fri Feb 10 13:17:40 2012 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 17 15:59:35 2012 -0700"
      },
      "message": "Release JNI local references as soon as possible.\n\nThe JNI layer has a fix amount (512) of jni references.\nThey should be released as soon as possible. In for\nand while loops they can quickly reach the limit.\n\nChange-Id: Id984345e1cc4f7aa6eb31a263b796c3da9edf773\n"
    },
    {
      "commit": "011385508726fef027641fcbb3e4e446efc9af2c",
      "tree": "8e48b991e5376e4b27c1ed2b457efbc23bf2bee6",
      "parents": [
        "a08dc5de8d039a4fd0a8c1286147c6afd01d2edf"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon May 07 14:49:00 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon May 07 14:49:00 2012 -0700"
      },
      "message": "Fix an issue where the message queue fails to queue in the looper threads because they are not created.\n\no related-to-bug: 6293875\n\nChange-Id: I03dbb2782bd90f88d1f8df086b8a529730afe5dc\n"
    },
    {
      "commit": "ba4d0433319393d626d2169683209e4956a087e2",
      "tree": "96912a08fd6fdc796c384a2a7a13b16e69c4bb2b",
      "parents": [
        "d927a1d99630c05ff773f0e9e8791ca9a965e020"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 28 11:03:25 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 28 11:03:25 2012 -0700"
      },
      "message": "frameworks base Android.mk file changes\n\nChange-Id: I7459b9e959a60751b8fa6e0d893cb2c820c064ce\n"
    },
    {
      "commit": "d927a1d99630c05ff773f0e9e8791ca9a965e020",
      "tree": "760f8a19e317d68f937eda312efab59200880ecd",
      "parents": [
        "f9c1f9935b349fe1a3f27be4462026dd212f8b78"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 28 10:42:44 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 28 10:42:44 2012 -0700"
      },
      "message": "Deleted the media, camera, drm related files since they are relocated\n\nChange-Id: I9bc5573ee07e30b305b5b879023aa9ec69e10b91\n"
    },
    {
      "commit": "89ea4ca9c26f3c7e365525a0b83500e85517a457",
      "tree": "1a36517669b16d27a2fd9d638dff847d30a88ade",
      "parents": [
        "8e3fac28a0326c060c01f5cdcfaf36cc995f3d19",
        "29cdbc80bb55052ca6c291068d9358aee71cc46c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 14 10:43:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 10:43:22 2012 -0700"
      },
      "message": "Merge \"make sure that lower-case mime and file suffix is used to check against the supported ones\""
    },
    {
      "commit": "8e3fac28a0326c060c01f5cdcfaf36cc995f3d19",
      "tree": "5dfada04c653231dcccbb5db062727fa49039566",
      "parents": [
        "2bab6b63c758a892f5906198687c48b65e55debf",
        "32d8fc8d6d77eef02077142feb8bd9c7ee2cbe8f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Mar 14 10:43:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 10:43:18 2012 -0700"
      },
      "message": "Merge \"Fixed a buffer overflow bug in DrmPassthruPlugin\""
    },
    {
      "commit": "32d8fc8d6d77eef02077142feb8bd9c7ee2cbe8f",
      "tree": "2ae344ce78f81a99ddae06fe12ed75625673552c",
      "parents": [
        "958ec9d0b2f2063a03d3ea2b9bb86897125401b0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 13 19:20:55 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 13 19:23:23 2012 -0700"
      },
      "message": "Fixed a buffer overflow bug in DrmPassthruPlugin\n\nChange-Id: I8df2a90409c9266a094a1a0904a5ff76ec483d16\n"
    },
    {
      "commit": "c3259471c6c423577323f5260b4b0e2ea882f7cb",
      "tree": "e5db79ff9163225cdcf172a43e846d6c625fac91",
      "parents": [
        "958ec9d0b2f2063a03d3ea2b9bb86897125401b0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 13 18:54:16 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 13 18:54:16 2012 -0700"
      },
      "message": "Turned off log spamming from DrmPassthruPlugin\n\nChange-Id: I2cecdba49cf044d2aafd8aa404d27df311cad401\n"
    },
    {
      "commit": "29cdbc80bb55052ca6c291068d9358aee71cc46c",
      "tree": "407937b048c0f7d1e482a7cf3e99b1b51f69fb35",
      "parents": [
        "958ec9d0b2f2063a03d3ea2b9bb86897125401b0"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 12 23:20:29 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Mar 13 14:54:02 2012 -0700"
      },
      "message": "make sure that lower-case mime and file suffix is used to check against the supported ones\n\nChange-Id: I6a20832f6a2dfb8554dbddef0dee87cc21c05c80\n"
    },
    {
      "commit": "1a22cbd113512f03d7db40e4be25a02047cb6c88",
      "tree": "5da75841759da707a2dc020bf071876696b51dec",
      "parents": [
        "e1dd94b1a0698fa356b84e1aa80d43f09280c138",
        "4f1ed0e84ea7ce820ef6006189017933fc96a71c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 12 10:33:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 12 10:33:38 2012 -0700"
      },
      "message": "Merge \"Avoid checking supported mime types or file suffixes in multiple places\""
    },
    {
      "commit": "4f1ed0e84ea7ce820ef6006189017933fc96a71c",
      "tree": "20b26113bb0790d986bd041b703c464f1c2b4cea",
      "parents": [
        "aa6816a8a0e575059f1e417ba2bbc3c86cc879a3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 09 17:33:42 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 09 17:44:11 2012 -0800"
      },
      "message": "Avoid checking supported mime types or file suffixes in multiple places\n\nChange-Id: I47d24070c7bda385cd1d7fa1f6a75dbb1f82b476\n"
    },
    {
      "commit": "862339039a62e5abd97df353168adb46aad746d5",
      "tree": "29fc350fd43d530476fefbbd436437a96e4ee5ab",
      "parents": [
        "aa6816a8a0e575059f1e417ba2bbc3c86cc879a3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 09 13:05:17 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 09 13:21:31 2012 -0800"
      },
      "message": "Added an failure log message when the fwdlock engine fails to open a given file.\n\nChange-Id: I0e7f60b61f03fde046fc1ad668b28cdee635898b\n"
    },
    {
      "commit": "9864b25bd8ac2c68f290817ac5fe73077e130b45",
      "tree": "efb27679e7cf3dd865317f808ec440b15f5581df",
      "parents": [
        "c730aceb64233592c5a0d8b6a429d645443b3818"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 02 18:36:53 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Mar 05 18:52:32 2012 -0800"
      },
      "message": "There was copy and paste code in JNI to create a DrmConvertedStatus object.\n\no This patch removed duplicated code.\n\nChange-Id: Ic3d3461fb8da6fab1b4d19d28b8d9d4abc8a53b1\n"
    },
    {
      "commit": "f16a2724e08d59c09c95d0fc0db09cfbe67f6141",
      "tree": "6ba11acc119898b56262d46d55a22b478c038485",
      "parents": [
        "1c32c8a170288137bd5ef5751da144c89d7764db"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 02 16:49:35 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 02 16:54:19 2012 -0800"
      },
      "message": "Fix some JNI issues in the drm framework\n\no allocated array using new must be deleted using delete[]\no removed duplicated code\n\nChange-Id: Ifa8e2e1cd46568c5266717eb1ad340b61a843adc\n"
    },
    {
      "commit": "e43dadffb8ac8756216a7696dbff987a6d5d8569",
      "tree": "c67c50a650003ad03080dfdc8c5165733b82af36",
      "parents": [
        "1a7dd039f189036709bc2253ba50955913f59d7a",
        "52cb1e5988a8a97c668b935fb5d8d358cb3c635a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Mar 02 11:01:27 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 11:01:27 2012 -0800"
      },
      "message": "Merge \"Fixes to DrmConvertedStatus, DrmInfoStatus, and DrmSupportInfo classes\""
    },
    {
      "commit": "7edb9a94908f41b9dc3aa13d2089efa304f12c22",
      "tree": "d1fbba11323401994e4476f912ae37ec5a1ae245",
      "parents": [
        "b08dee9d38fb73715f17183dbc57b7130796b935",
        "f73222a39e0fa294d9105fd7464943aed6e77cd7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Mar 01 15:35:39 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 01 15:35:39 2012 -0800"
      },
      "message": "am f73222a3: am 964955e0: am 8a9b14d8: am 5aeb8587: Merge \"DRM framwork bug fix: add an API to release resources\"\n\n* commit \u0027f73222a39e0fa294d9105fd7464943aed6e77cd7\u0027:\n  DRM framwork bug fix: add an API to release resources\n"
    },
    {
      "commit": "52cb1e5988a8a97c668b935fb5d8d358cb3c635a",
      "tree": "c0a470cdbb83a589b13abdb92294da648537771b",
      "parents": [
        "8279570b222d46def4e541d71ef29dbfd9fbe3d7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 28 16:56:21 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 01 12:23:46 2012 -0800"
      },
      "message": "Fixes to DrmConvertedStatus, DrmInfoStatus, and DrmSupportInfo classes\n\no added missing javadoc comment for some public fields\no added checks for arguments\no DrmSupportInfo should have not been exposed as public.\n  A default package access modifier appears to be more proper but we may\n  not be able to change the modifier.\n\nChange-Id: I5b284c17219c5121f241ee2934fb3e859ce7c827\n"
    },
    {
      "commit": "6225df010365d00b1d0f3b1ca13f18cea537c8e3",
      "tree": "f8ec6b625745c57b4a0dbe6aab02072cf10be8d4",
      "parents": [
        "d7fa7deef9bc0cf22bf450fdb062327697c087c4"
      ],
      "author": {
        "name": "Kei Takahashi",
        "email": "KeiA.Takahashi@jp.sony.com",
        "time": "Tue Jan 31 13:18:45 2012 +0900"
      },
      "committer": {
        "name": "Kei Takahashi",
        "email": "KeiA.Takahashi@jp.sony.com",
        "time": "Wed Feb 29 12:59:53 2012 +0900"
      },
      "message": "DRM framwork bug fix: add an API to release resources\n\nWhen DrmManagerClient object is created and released many times,\nthe process suddenly crashes.\nThe case can happen when we make many thumbnails of\nDRM-encrypted contents.\n\nThe problem is caused by shortage of file descriptors.\nDrmManagerClient releases references of file descriptors\nonly when GC runs. So file descriptors are kept long time\neven after the reference of DrmManagerClient are released.\n\nBy introducing DrmManagerClient#release() API,\nthe problem is solved. An application call this API\nwhen we no longer need to use DrmManagerClient object.\n\nChanges are made by SEMC and Sony.\n\nChange-Id: Ie0bbc29cc33872449824285a8d67b1c3cdd8082b\n"
    },
    {
      "commit": "5df628055789a14267be365beffc0626b7822e96",
      "tree": "5556dd02a0b455504c0077e8385686435c15b852",
      "parents": [
        "8279570b222d46def4e541d71ef29dbfd9fbe3d7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 28 13:55:55 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 28 18:50:44 2012 -0800"
      },
      "message": "Added permission check for all sensitive drm API calls\n\no all drm calls using a DecryptHandle now check the permission before proceeding\n\nChange-Id: Ic992a991357876c6e4bfbfab4f5eec1fa0634a13\n"
    },
    {
      "commit": "2f16d7eae1b2dfd87be5fc55be3bec012ab7389d",
      "tree": "824b876f5311a8e5cf04880be5fd79c25a204b13",
      "parents": [
        "e512ad5089eef76d080fc6fdd17dfb88ad8b72e9",
        "5cb68c86ccb34d42bd4fb59128043037f74763a3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 28 14:34:02 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 28 14:34:02 2012 -0800"
      },
      "message": "Merge \"Fix API issues in DrmRights class.\""
    },
    {
      "commit": "e512ad5089eef76d080fc6fdd17dfb88ad8b72e9",
      "tree": "a5ab41eb26de07c303f77a31fcb221c98884b059",
      "parents": [
        "6fa13b5a02464281df56919009fa3af5a3f9026b",
        "060526f9856e52964eaf13df8db74f5fbdcb83b1"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 28 14:33:19 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 28 14:33:19 2012 -0800"
      },
      "message": "Merge \"Deprecate default constructor for classes that should have been meant to be interfaces\""
    },
    {
      "commit": "31db8b9f6ba2dfb5c3c9cb0f25ed4b71872fc98c",
      "tree": "4057d22454b766c328499f373f0f2628337ca8f8",
      "parents": [
        "da5ac93b005b5523a7f18594f52ee169d83e08d4",
        "a3a9d6e746cc1140cad9ab657860e00fb3940748"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 28 13:09:44 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 28 13:09:44 2012 -0800"
      },
      "message": "Merge \"Remove unnecessary header file includes for drmserver\""
    },
    {
      "commit": "da5ac93b005b5523a7f18594f52ee169d83e08d4",
      "tree": "744f2dc6d4225baee6f63c4944c6cc6dad841372",
      "parents": [
        "04a3a4350e320b65bda9fae6500250c4880e4bf2",
        "f7a68fc98550859019bb0636fc3e8d88cb50e6a6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 28 13:09:24 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 28 13:09:24 2012 -0800"
      },
      "message": "Merge \"Added missing javadoc comment for public API in DrmUtils class\""
    },
    {
      "commit": "f7a68fc98550859019bb0636fc3e8d88cb50e6a6",
      "tree": "b37eed8d007d0be23b87bc49300cd42faa07ec65",
      "parents": [
        "fd400f5f483d76a38a28155a7328a953ed3ec36f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 22:43:30 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 22:46:02 2012 -0800"
      },
      "message": "Added missing javadoc comment for public API in DrmUtils class\n\no also fixed mis-spelled private method name (quiteDispose \u003d\u003e quietlyDispose)\n\nChange-Id: I692cd7471eac547b849dd53853f60843b3915750\n"
    },
    {
      "commit": "a3a9d6e746cc1140cad9ab657860e00fb3940748",
      "tree": "75078fcb67ead4e73e701f3a3accd2c9f7489d0a",
      "parents": [
        "fd400f5f483d76a38a28155a7328a953ed3ec36f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 22:20:28 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 22:26:48 2012 -0800"
      },
      "message": "Remove unnecessary header file includes for drmserver\n\nChange-Id: I14033861e74d20f9d4897b651c4eeee126d4d610\n"
    },
    {
      "commit": "5cb68c86ccb34d42bd4fb59128043037f74763a3",
      "tree": "94a5dcc3167c131147417ca6abdcb1b53ad9df26",
      "parents": [
        "6f9d697d8316f25be0e2a472604fd7e17d214c64"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 18:34:04 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 18:34:04 2012 -0800"
      },
      "message": "Fix API issues in DrmRights class.\n\no account id and subscription id are not mandatory, and thus can be anything\n  such as null or an empty string.\no removed unnecessary or thus inconsistent checks for account id and subscription id\no updated the javadoc to specify that mimeType could not be null or an empty string.\n\nChange-Id: I704f1dd7fc5d33060da908aae0469d560c7db036\n"
    },
    {
      "commit": "c4a9976aa15929a73ab7c0979d8b2e1e9eeadcc7",
      "tree": "7b080af1f029f3d515f0a398baaf80849d4b2755",
      "parents": [
        "fd400f5f483d76a38a28155a7328a953ed3ec36f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 18:13:37 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 18:25:31 2012 -0800"
      },
      "message": "Deprecated a mis-spelled method and replaced it with a new method\n\nChange-Id: Id049a4effab120c3f837cde60a87efcd89a64ec6\n"
    },
    {
      "commit": "060526f9856e52964eaf13df8db74f5fbdcb83b1",
      "tree": "830d8f468d530b01ac950b83484eb789959f0f67",
      "parents": [
        "fd400f5f483d76a38a28155a7328a953ed3ec36f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 16:41:22 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Feb 27 18:00:12 2012 -0800"
      },
      "message": "Deprecate default constructor for classes that should have been meant to be interfaces\n\no We should have not exposed these default constructors in the first place.\n\nChange-Id: Ia8bcfe77e9730021ad8870ece67c6d0eed8146ad\n"
    },
    {
      "commit": "b7956de3a9eba521fd681cece0370d0b5960ed1e",
      "tree": "0f7168f7f09b95fd930d856baae316f2845bd4b3",
      "parents": [
        "aacc4b86c92df00bc68fd3af7ca79699ca8e8191",
        "365ce1db339db53cd5afb118ff867fe940644e45"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 24 16:36:34 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 24 16:36:34 2012 -0800"
      },
      "message": "Merge \"Improved comment about DrmStore.ConstraintsColumns\""
    },
    {
      "commit": "e82f055e3eb1b0b3daf87bc14258fa65568b4f8a",
      "tree": "7df4c2eea446d74f44ea3f8f67db58eac5cf8959",
      "parents": [
        "2d77b5332ac4ef5b252fbd8f56a195e0fce03292"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 23 15:01:46 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 24 15:50:41 2012 -0800"
      },
      "message": "Only allow valid types to be used in DrmErrorEvent and DrmInfoEvent\n\no This patch will prevent applications from abusing the API by using\n  arbitrary int value for DrmErrorEvent or DrmInfoEvent types.\no We should have not defined some type constants in the super/base\n  class, DrmEvent.\n\nChange-Id: Id0bb12caa8ce471cb6951cc2b5d37ea408f90063\n"
    },
    {
      "commit": "365ce1db339db53cd5afb118ff867fe940644e45",
      "tree": "8b1ad4d1dc4c3d72850c39d2dcf7a8a979e79346",
      "parents": [
        "0b5a6b2e8afe2185c3589a7e2a1e12e721af0c24"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 23 00:12:29 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Feb 23 10:58:55 2012 -0800"
      },
      "message": "Improved comment about DrmStore.ConstraintsColumns\n\nChange-Id: I89c588759dd409ac0252d686af12bfe4e105f3d5\n"
    },
    {
      "commit": "6c95d4ff1656007ab5cbf0a6406d80a33bf8b109",
      "tree": "f241ed246cfe2bf55fd97f0edb2bd592355c14f2",
      "parents": [
        "a9daa164a58fc70d08702787e69a56212f5ad8c9"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Feb 14 16:27:38 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Feb 15 11:30:51 2012 -0800"
      },
      "message": "Added checks for illegal arguments\n\nChange-Id: Ib386c33b7e2cab12cabbb9dc023d54df05472960\n"
    },
    {
      "commit": "c6aacce37191e1cc79cfeba13b39899f59c68c3b",
      "tree": "df4401aaa38914e03d5eadc82507e7c6fdcc573e",
      "parents": [
        "a51f0e707f1f3142358aa919ea60ad2842803139"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:45:03 2012 -0800"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)\n\nChange-Id: I1de629b4632a4b3187ca1a28d6416daccd35f924\n"
    },
    {
      "commit": "a51f0e707f1f3142358aa919ea60ad2842803139",
      "tree": "3a4bea403affd07f7611fe13da8cbf64a61ee3e3",
      "parents": [
        "933e85615059b85a87747da57288384541cc56da"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:59 2012 -0800"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)\n\nChange-Id: I8fbdfa7a7581f481968dbb65aa40f7042936d7cb\n"
    },
    {
      "commit": "933e85615059b85a87747da57288384541cc56da",
      "tree": "5475260306fb9ddb48b2c7fcfe939ed59752e900",
      "parents": [
        "1afd5bab4e0eaba8b5bc2ab5c7b556cd602cf2e7"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:56 2012 -0800"
      },
      "message": "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)\n\nChange-Id: I26f76452ac49e2890b14d133c065493d8df0fb4a\n"
    },
    {
      "commit": "1afd5bab4e0eaba8b5bc2ab5c7b556cd602cf2e7",
      "tree": "7558b2b5d1cb5e2c9c60bd5d52cab21994caa263",
      "parents": [
        "06ade6ae1bd015e8b8ad0685847911213c93cc5b"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:50 2012 -0800"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)\n\nChange-Id: I44f267700356967dc51e8f85ebf457dc85cfb229\n"
    },
    {
      "commit": "06ade6ae1bd015e8b8ad0685847911213c93cc5b",
      "tree": "0fb687dcbdf125a30cdb645605b57bb847d0c7b5",
      "parents": [
        "c318bbb05e02a0080e129623ec8029d31be0d60e"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jan 19 14:44:31 2012 -0800"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)\n\nChange-Id: I5321ebd12e9c6248a108529e82c4e1af2a4405e3\n"
    },
    {
      "commit": "d1ba6ed94543b6d2af666e01f4ffd29412511400",
      "tree": "10d0b29f0a9b7b08cccae0a907595cc8f96f3d4a",
      "parents": [
        "1f7b23dda211f419f0a140b871de44339c4a10c7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 10 08:24:37 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 12 16:25:12 2012 -0800"
      },
      "message": "Separate sniffing from session initialization\n\nThis avoid lengthy/duplicate sniffing for drm plugins when a decrypt session is opened\n\no The change is backward compatibile in that no update is required\n  for existing drm plug-ins if they do not plan to provide separate\n  sniffer/extractor\n\nrelated-to-bug: 5725548\n\nChange-Id: I7fc4caf82d77472da4e2bc7b5d31060fb54fd84c\n"
    },
    {
      "commit": "3762c311729fe9f3af085c14c5c1fb471d994c03",
      "tree": "7d4caccad80ac7327c7bff96dafc857d5f4631ad",
      "parents": [
        "7a939077bd14521c7d351af98df7ed75a8ec9c15"
      ],
      "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": "8564c8da817a845353d213acd8636b76f567b234",
      "tree": "71acbd8ace822c769aef917629bf5a079f63274d",
      "parents": [
        "c42e6a0bed2c88fd03466c5104d62d7f98e68768"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 10:07:54 2012 +0000"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/157065\n\nBug: 5449033\nChange-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69\n"
    },
    {
      "commit": "5baa3a62a97544669fba6d65a11c07f252e654dd",
      "tree": "109755e1595b438873d34b981e31f84ea64bd2a5",
      "parents": [
        "173ab4d61077c49f115b82eff34f97fda5a7273a"
      ],
      "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": "29e97f169d87490e4755e8b7608e6324367e752f",
      "tree": "2898e9495a3dca3f6e8d642f4fb71e8f6e0f25c1",
      "parents": [
        "54b9f98417a075645c0b57e1f041817e422a645f",
        "3f6a7d1ee961a4544563932b7499535dc1cac1ec"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 14 13:53:31 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 14 13:53:31 2011 -0800"
      },
      "message": "am 3f6a7d1e: am d70c64db: Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck 1. Revert \"Fix drm flag setting missed in false drm recognition fix.\"    This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.\n\n* commit \u00273f6a7d1ee961a4544563932b7499535dc1cac1ec\u0027:\n  Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck 1. Revert \"Fix drm flag setting missed in false drm recognition fix.\"    This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.\n"
    },
    {
      "commit": "d70c64db9f67dbe8f888de6b1bdcc835226ec526",
      "tree": "e17eebfa186779ee6b04bb35c4260e12cb74fddc",
      "parents": [
        "2e335cb02891d3653b938340a11698844e2c3d6d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 14 10:57:05 2011 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Dec 14 11:01:59 2011 -0800"
      },
      "message": "Revert the following patches because they may lead to power regression because SHA/MD5 module is stuck\n1. Revert \"Fix drm flag setting missed in false drm recognition fix.\"\n   This reverts commit 9f704f6c46a171357e49c411c83458b9d4565f3b.\n\n2. Revert \"Fixed the false drm recognition.\"\n   This reverts commit aadbd80b307c817698ce5110ff8e002804d1b230.\n\n3. Revert \"Fix drm enumeration order, resolves failure to play forward lock ringtones\"\n   This reverts commit a5cbf023e349f2394ba6fc58d73b4375cfec4369.\n\n4. Revert \"Fix ANRs due to Widevine DRM plugin sniff taking too long.\"\n   This reverts commit d0d19db1ca1c289b069db33f4665bcb9386064e9.\n\nAs a result of the reverting, many ANRs from WV sniffing are back.\n\nrelated-to-bug: 5739618\n"
    },
    {
      "commit": "b34027bb2fc3394d054986d7bbbcf54261436c11",
      "tree": "17a01b8d785326379ea875618e42ef0effd04c37",
      "parents": [
        "afb847a4692a6e5cded8c7a330d00b70b794896a",
        "f14dc29104340f8ccf9d42aef8dba2cc23f7f5e1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Dec 12 15:39:17 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 15:39:17 2011 -0800"
      },
      "message": "am f14dc291: Merge from ics-mr1\n\n* commit \u0027f14dc29104340f8ccf9d42aef8dba2cc23f7f5e1\u0027:\n  Fix drm enumeration order, resolves failure to play forward lock ringtones\n"
    },
    {
      "commit": "a5cbf023e349f2394ba6fc58d73b4375cfec4369",
      "tree": "ed6b94ef5dce9d022765d605585e7593818eb500",
      "parents": [
        "1cec30a182c1963beda4b6f11cfae9fa38061e68"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 09 20:04:17 2011 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 09 20:04:17 2011 -0800"
      },
      "message": "Fix drm enumeration order, resolves failure to play forward lock ringtones\n\nChange-Id: I58e8a26849409bc3bf98b066c5e07c2a0c91e0c9\nrelated-to-bug: 5735466\n"
    },
    {
      "commit": "91225183d6e07a3fa0b5ce59451bce1106be80fd",
      "tree": "0edf6ce013cf1e2e050cc94e2de004ed122f381e",
      "parents": [
        "ba1f05d4a816dd60a6be2a09858d8c9ecf3d552d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 10 14:58:44 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 10 14:58:44 2011 -0800"
      },
      "message": "Fix log message\n\nLog did not have a tag, and was wrong level\n\nChange-Id: I8d12895c80483e1e39f117a393b8be2f4bdd3e1d\n"
    },
    {
      "commit": "71f2cf116aab893e224056c38ab146bd1538dd3e",
      "tree": "75a9162a0ea00830184b12a9ca51d3a1a040a5bb",
      "parents": [
        "1da79501066a74b630c8aa138db0f86ab6c690bb"
      ],
      "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": "aab6fe21df535171006063edf8367b59c6e525e0",
      "tree": "aae104b4d11a2332479101e98e4fcf28f7092b89",
      "parents": [
        "fd19906b50927834787403ca984f6fda93b53410"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed Sep 21 19:18:30 2011 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed Sep 21 21:50:31 2011 -0700"
      },
      "message": "Modified loadPlugIns to load from /vendor and /system; skip libraries that are already loaded.\nBUG: 5284436\n\nChange-Id: I99267c81a488860c3c7edb747100d44f3083bfc2\n"
    },
    {
      "commit": "09337a07fa6b0d065f7292ea21c02097d3478717",
      "tree": "e462225087708364e09801d3a02895998bfeba66",
      "parents": [
        "e83af902c4ed1f0f1afb1b4f6f26a8003aca4954",
        "845fdba7b5a7b89571f2c85bd542c75650054544"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 15:13:14 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 15:13:14 2011 -0700"
      },
      "message": "resolved conflicts for merge of 845fdba7 to master\n\nChange-Id: I716b6ceb03bd733f9e7f49008112c8f2c53ad9ce\n"
    },
    {
      "commit": "845fdba7b5a7b89571f2c85bd542c75650054544",
      "tree": "2c75b25b9597204fa8dd434243d562fde4a7303c",
      "parents": [
        "23ce76ce1666e5e8b0b17825c271b133ba2626d6",
        "8a6fb50d69ec40a413b117bc9145a97ec427852f"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Aug 04 14:47:43 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 04 14:47:43 2011 -0700"
      },
      "message": "am 8a6fb50d: am 4e197ea8: am e15a73ee: Merge \"Bug fixes in OMA DRM v1 Forward Lock Agent\"\n\n* commit \u00278a6fb50d69ec40a413b117bc9145a97ec427852f\u0027:\n  Bug fixes in OMA DRM v1 Forward Lock Agent\n"
    },
    {
      "commit": "93827fb09eec4d6f594c5643288cf376488a5089",
      "tree": "a0b43ef902b133285f47250e03c97231cd2732f4",
      "parents": [
        "9b0c6beed2cd5463655712ad80ed160c08611ff8"
      ],
      "author": {
        "name": "Henrik B Andersson",
        "email": "henrikb.andersson@sonyericsson.com",
        "time": "Mon Feb 21 14:22:08 2011 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonyericsson.com",
        "time": "Thu Aug 04 13:43:02 2011 +0200"
      },
      "message": "Bug fixes in OMA DRM v1 Forward Lock Agent\n\nA couple of fixes in the Forward Lock Agent.\nThe DRM Framework isn\u0027t thread safe so the Forward Lock Agent needs\nto protect the private structures.\nBase64-encoded content with LF-only instead of CRLF line breaks is now\naccepted.\nA fix for non-standard boundary characters.\nThe debug prints are also turned off as default.\n\nChange-Id: I8ab417231380fbe1c371d18a147773ceabc6f69f\n"
    },
    {
      "commit": "601a90c38a61fccb614ee1da9f3a388a7a1c2302",
      "tree": "58cb2b0c1212e009862be897a7ccc8acd47f7a05",
      "parents": [
        "070ce94b9fd91d1bb22161a85178440cb46d8ece"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Aug 01 10:31:24 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Aug 01 10:52:49 2011 -0700"
      },
      "message": "Fix ordering assumption of argument evaluation.\n\nNo specific order is specified in the C++ standard, but the order of\nthe calls to Parcel read commands matters.  Move any calls with multiple\nreads to local variables.\n\nFix for bug 5103507.\n\nChange-Id: Ic23ad50ec5f443146f00324b66d5e2bd5b9ffd0d\n"
    },
    {
      "commit": "a17d454fd0d20d14cf1fbc09f0f296cb6cbb870b",
      "tree": "e7ecaa5d516248aee80cf5887f50c5b75e91a0f4",
      "parents": [
        "ae5df05f2246515a652f0c935c6deb85a0bdee01"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jul 21 15:10:22 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Jul 25 16:09:58 2011 -0700"
      },
      "message": "Fix for bug 4371230.\n- Generate unique ID for each DrmManagerClient in native side\n- Fix the bug where multiple clients could use the same ID\n- Return the correct unique ID back to Java\n- Add a flag in the unique ID to separate native client and Java client\n\nChange-Id: Ia4574b6b0a526f2335a65380975dc62f9a6e7f9b\n"
    },
    {
      "commit": "bd882b1c8708686d373c56e07e6bb8b1cb6ffd9e",
      "tree": "b17fbae7a6ff475ab37be48046d0540d594f84fb",
      "parents": [
        "3f9dd287b99340efaaa257759e71a8f81b2ed113"
      ],
      "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": "b7e7bdfe784959ac8615851c2741eb9518a5afcf",
      "tree": "4111a7f161fc225c4396a62192828168bfa3833c",
      "parents": [
        "8969d9924c662ab4cdacc342bbdc33756db730be"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jun 22 14:55:16 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jun 22 16:36:24 2011 -0700"
      },
      "message": "- Add two sanity checks.\n- Remove one unnecessary line.\n- Clear the extendedData vector in DecryptHandle.\n\nChange-Id: I2610c6d68f12d48cb69323a5eb2ae4b3b3e44dff\n"
    },
    {
      "commit": "93aa58fd944b5cfb825f592de29e25a4f02cf97a",
      "tree": "85367fc54a2d612b2643864e10c68843195f9f24",
      "parents": [
        "e86c5b2e9fe79f2a6f4187b6a4f2769c0b64168b",
        "7bafb97d3facf974fa4cf26bf182bf7d5f039439"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 21 13:19:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 21 13:19:36 2011 -0700"
      },
      "message": "Merge \"Fix a memory leak in the Forward Lock plugin. For bug 4770217.\""
    },
    {
      "commit": "7bafb97d3facf974fa4cf26bf182bf7d5f039439",
      "tree": "d419dc79d15e2a1ae2a4622602cd21670c473b1d",
      "parents": [
        "13774d2e38e73ef4d0f6d0db3501ba032fa6da5a"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 21 11:07:59 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 21 11:07:59 2011 -0700"
      },
      "message": "Fix a memory leak in the Forward Lock plugin.\nFor bug 4770217.\n\nChange-Id: I14f4d4ead524c661e68a20738e7a50e4d8fd92ea\n"
    },
    {
      "commit": "464c1202669c8a9582dd4e0cede5ccf419d2a73e",
      "tree": "05e373aea64e498f07030146cc9b7c92e51b6596",
      "parents": [
        "ce6f85ec406d3a348ac8b6b21c0daff940a0f27a",
        "2980a213752d6e30edd4c689489cb4a2c3006252"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Jun 16 10:23:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 16 10:23:04 2011 -0700"
      },
      "message": "Merge \"-Fix some typo -Remove one unnecessary memory allocation\""
    },
    {
      "commit": "2980a213752d6e30edd4c689489cb4a2c3006252",
      "tree": "bb9c533e73b6fcdefed5579be164b750cc3cc244",
      "parents": [
        "b2e9cde84b1df0506ac416ec6828e3f06de43293"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jun 15 10:27:52 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Jun 15 17:32:06 2011 -0700"
      },
      "message": "-Fix some typo\n-Remove one unnecessary memory allocation\n\nChange-Id: Icea21f33d2c7891333e06429d2f382389e5bd27f\n"
    },
    {
      "commit": "8b554f3503e3b2463303c88a0b57dc171b77ae78",
      "tree": "7b39b1b99a2d84c4be16b76d6424db7bbf3698ea",
      "parents": [
        "b2e9cde84b1df0506ac416ec6828e3f06de43293"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 14 14:44:15 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Jun 14 14:50:10 2011 -0700"
      },
      "message": "To remove log spam in the Forward Lock DRM plugin.\nFix for bug 4619159.\n\nChange-Id: Id4984aade4cceb59a1fdf904949f62535decd2a4\n"
    },
    {
      "commit": "cbe0d94adf1f25a31689026d2fbbc9e9eb4e84eb",
      "tree": "a0198279c777d54d397b73337aed33f49f79f5b6",
      "parents": [
        "26cfe80fe168f8cecea6a9eab697c80f1efeccce"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Jun 13 16:29:38 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Jun 13 16:29:38 2011 -0700"
      },
      "message": "Duplicated fileDesc is not closed when input file is not forward-lock content.\nFix for bug 4606053.\n\nChange-Id: I1b45457d8cdc75d268631911f46ce6ec931b1770\n"
    },
    {
      "commit": "3f0341cbbdeee248e71814f7071233c823b44f74",
      "tree": "00df7db5e10b08f378d3dd2af1c045ff683941e0",
      "parents": [
        "a8965da9886496952c6f97a402c4682ee1e37c81"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Apr 24 12:38:35 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Sun Apr 24 12:40:16 2011 -0700"
      },
      "message": "Fix memory leak from retrieval of getSupportedDrmInfo.\n\nChange-Id: Ic2192a9791c0a3c5e5357b4367a2d8bfb15af20c\n"
    },
    {
      "commit": "503b111b2421673796500627a1f6d74d81bf9548",
      "tree": "a802eff6d9b3d6403d1d87f63be04fb93fef581c",
      "parents": [
        "1e0efd157b0b182ea7ba84cc21e89bb23f5d6ddf",
        "ed7b688c015dbd064b81dfaed5dd6c7ed6728ac3"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Mar 25 10:11:49 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 25 10:11:49 2011 -0700"
      },
      "message": "am ed7b688c: am aac43ea1: am b8b85ea2: Merge \"Fix for bug 4126624. Change the mDrmManagerClientImpl to sp to avoid double delete the pointer.\" into honeycomb-mr1\n\n* commit \u0027ed7b688c015dbd064b81dfaed5dd6c7ed6728ac3\u0027:\n  Fix for bug 4126624. Change the mDrmManagerClientImpl to sp to avoid double delete the pointer.\n"
    },
    {
      "commit": "4c87a75073987e30b36f6be781cd10f696876ba4",
      "tree": "95c4dea897b44c84389c8ce531ea54949eadc4b8",
      "parents": [
        "e2cd33531182b31e0ace2c3acb0e960fbf1ba273"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 24 13:14:02 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 24 13:14:02 2011 -0700"
      },
      "message": "Fix for bug 4126624.\nChange the mDrmManagerClientImpl to sp to avoid double delete the pointer.\n\nChange-Id: I7aacea1bc58ab6425ef6f6f09472c6f2970ebb4d\n"
    },
    {
      "commit": "9e1e9a339e716b635c5eeded299478774030b608",
      "tree": "904a5a66f2a6b1f66b63d71afe331a216f59457c",
      "parents": [
        "b5fa490995dff116b8a6fdc274bee6f6db4d0d0c"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 23 22:35:13 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 24 10:30:57 2011 -0700"
      },
      "message": "Fix for bug 4165823.\nAdd death listener to clean-up drmserver appropriately when drmserver died.\nCherry-pick from master. Do not merge.\n\nChange-Id: I7782cc96ce173a87ebfd315950f3880fa90294d6\n"
    },
    {
      "commit": "f46821b9d932ba0f1d0dfd88e98f319e0d3b789b",
      "tree": "5949396fcd84b81ee28eac126443ff0f07071a39",
      "parents": [
        "ba7c35dcc7b7bcdae8d92f875b1ae2cf0c9b8d89",
        "640f63c2669fc9dc38b349066d4d28111655dc3f"
      ],
      "author": {
        "name": "Bill Gruber",
        "email": "billg@google.com",
        "time": "Wed Mar 23 16:00:30 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 23 16:00:30 2011 -0700"
      },
      "message": "am 640f63c2: am 3bde4594: am 0357ec78: Merge \"DRM API doc scrub This change contains information contributed by Sony Corporation. Bug: 4119363\" into honeycomb-mr1\n\n* commit \u0027640f63c2669fc9dc38b349066d4d28111655dc3f\u0027:\n  DRM API doc scrub This change contains information contributed by Sony Corporation. Bug: 4119363\n"
    },
    {
      "commit": "0357ec78b82ae104e56c26941d42fa7ef875462b",
      "tree": "8b391ba9df3beea75849b263c1aedcdac5b54261",
      "parents": [
        "18cd686fc828c9c75596de1494ecaa5467fcc195",
        "0e092f806b0a4b81785a52da8ba22d2d47087de5"
      ],
      "author": {
        "name": "Bill Gruber",
        "email": "billg@google.com",
        "time": "Wed Mar 23 14:58:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 23 14:58:31 2011 -0700"
      },
      "message": "Merge \"DRM API doc scrub This change contains information contributed by Sony Corporation. Bug: 4119363\" into honeycomb-mr1"
    },
    {
      "commit": "0e092f806b0a4b81785a52da8ba22d2d47087de5",
      "tree": "91c2d7f1aed528a955211ec89317e3b9f99e215a",
      "parents": [
        "5dbd0978cd7f2d3ff1e28bbfdef2f757de28e1bc"
      ],
      "author": {
        "name": "Bill Gruber",
        "email": "billg@google.com",
        "time": "Thu Mar 17 16:04:18 2011 -0700"
      },
      "committer": {
        "name": "Bill Gruber",
        "email": "billg@google.com",
        "time": "Wed Mar 23 13:21:48 2011 -0700"
      },
      "message": "DRM API doc scrub\nThis change contains information contributed by Sony Corporation.\nBug: 4119363\n\nChange-Id: I6f565c15d512d675993dc65f7fee19bd3d0bc0fa\n"
    },
    {
      "commit": "5c62d9961d89f6ce6641671fe11501eff5afa43f",
      "tree": "d68310cfc9e8cc030962e15f4f02f51d98c4c5db",
      "parents": [
        "1b510a6f32a929d926b4f1c9fac57c0ebba14054",
        "39ad826d2ef799163c8865d59a453ce54175c291"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Mar 22 16:18:38 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 22 16:18:38 2011 -0700"
      },
      "message": "Merge \"Include strings.h for the strcasecmp prototype.\""
    },
    {
      "commit": "39ad826d2ef799163c8865d59a453ce54175c291",
      "tree": "e5e44219e1124f9c65afa1401aec80d66972d654",
      "parents": [
        "b2613555f654d485d9882c662384c4c2fcd89c2b"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Mar 22 11:51:57 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Tue Mar 22 11:51:57 2011 -0700"
      },
      "message": "Include strings.h for the strcasecmp prototype.\n\nChange-Id: I83cd464d59d16f1c5f8afa7e50d474ca2bb41713\n"
    },
    {
      "commit": "66044c17924f56ee838e1b4262e1f64f7723aac2",
      "tree": "91d3d558c7e92e8d47e4d1aa8bdf8bec3883de79",
      "parents": [
        "e50b799dc28c523c43d066d2f2a01747a52563c2",
        "fc4c13be8ce8c2d05432d855c2c61548abef3385"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Mar 22 11:43:09 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 22 11:43:09 2011 -0700"
      },
      "message": "am fc4c13be: am 01240177: am 3cc797b9: Merge \"Add one more field in DecryptHandle to support bug 4126624\" into honeycomb-mr1\n\n* commit \u0027fc4c13be8ce8c2d05432d855c2c61548abef3385\u0027:\n  Add one more field in DecryptHandle to support bug 4126624\n"
    },
    {
      "commit": "c430394ed7dcb458b0850bb1ce28abeb49252d77",
      "tree": "4dc0be8cc75f8430e71931b4d1de4f6b3426cc32",
      "parents": [
        "ee4084bf063249b3506cdc0a454dd19fa8f7549f"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 21 17:22:13 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 21 19:08:18 2011 -0700"
      },
      "message": "Add one more field in DecryptHandle to support bug 4126624\n\nChange-Id: Ic7ea5fd211c4f8283de8fdf722f89b6a94e5750b\n"
    }
  ],
  "next": "ee4084bf063249b3506cdc0a454dd19fa8f7549f"
}
