)]}'
{
  "log": [
    {
      "commit": "1abb1cb3a8fe17f7866150604c2fd73751da787e",
      "tree": "a2f4fa365665fc5b25fc66c6f7b90ea3ca719cfc",
      "parents": [
        "34196187365687d3f144a6de5fef811b52545ac0"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Jan 25 16:14:50 2012 -0800"
      },
      "committer": {
        "name": "Matthew Xie",
        "email": "mattx@google.com",
        "time": "Fri Jul 13 22:22:51 2012 -0700"
      },
      "message": "Changes to Bluetooth Service structure.\n\nChanges to make Bluetooth Service part of the system_service.\nThese changes may be temporary.\n\nChanges to update to the new disable API.\n\nChange-Id: If89dba17e6e6c6daa53c37684221763a2da076e9\n\nConflicts:\n\n\tservices/java/com/android/server/pm/PackageManagerService.java\n"
    },
    {
      "commit": "6c929510474caa14dc9d56826b2c65552861d6b3",
      "tree": "cfa4a959e65db46ae2469104ba5ccdc63e15cd38",
      "parents": [
        "cb46d80d217899e51c3d1ad6fc930d9b61883cf9"
      ],
      "author": {
        "name": "Mike J. Chen",
        "email": "mjchen@google.com",
        "time": "Mon Aug 15 11:59:47 2011 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Thu Feb 16 13:45:10 2012 -0800"
      },
      "message": "Upintegrate the common_time service from ics-aah.\n\nMove the common_time service developed in the ics-aah branch back into\nmaster.\n\nThe common_time service is a small service build to synchronize an\narbitrary timeline amongst peers on a local sub-net.  While running\nand configured, the service will elect a master from the set of\navailable devices within the subnet, define a relationship between the\ncommon_time timeline the local time timeline (provided by the local\ntime HAL), and then attempt to maintain synchronization between common\nand local time by controlling the frequency of the local time clock\nvia the HAL, or by disciplining local time in the digital domain if\nthe local time HAL implementation does not support HW slewing.\n\nOn its own, the native common time service will do nothing until it is\nconfigured.  The CommonTimeManagementService (running out of the\nsystem server process) is responsible for implementing policy\nregarding configuration and operation of the common_time service and\nwill be added in a subsequent CL.\n\nChange-Id: I71292f9b9b1797665865689c4572c9d3a0552f64\nSigned-off-by: John Grossman \u003cjohngro@google.com\u003e\n"
    },
    {
      "commit": "a573f6a1d9b12393fbdfd2c0850499973849854b",
      "tree": "b44ae056ae7688ef8698c42bb401d55760b9ccf5",
      "parents": [
        "7ff3144aa6a4c5e6f0f64933ce174b424cfbfd6e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 09 16:12:18 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 09 18:06:01 2012 -0800"
      },
      "message": "Some hardening of isolated processes by restricting access to services.\n\nServices now must explicitly opt in to being accessed by isolated\nprocesses.  Currently only the activity manager and surface flinger\nallow this.  Activity manager is needed so that we can actually\nbring up the process; SurfaceFlinger is needed to be able to get the\ndisplay information for creating the Configuration.  The SurfaceFlinger\nshould be safe because the app doesn\u0027t have access to the window\nmanager so can\u0027t actually get a surface to do anything with.\n\nThe activity manager now protects most of its entry points against\nisolated processes.\n\nChange-Id: I0dad8cb2c873575c4c7659c3c2a7eda8e98f46b0\n"
    },
    {
      "commit": "de57586c90f8aeea489e35e634672803e1dd9757",
      "tree": "3a58553e3f81f126f2e0dcc4431b9fb5b6e82787",
      "parents": [
        "c1f63ddba76717db4f42ec04a06a0be12f22b2dc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 11:25:51 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 27 11:25:51 2012 -0800"
      },
      "message": "Remove optional LVMX service\n\nChange-Id: I64121d320b756e46869b82b79e49aebacbac3a48\n"
    },
    {
      "commit": "77b07ff2c10becd3223c2ed6a6052f61c826b5a1",
      "tree": "f2fb9c4efd28451f0283028ca6aaa9552f09f557",
      "parents": [
        "92ecdd63033a53b3c6301a9dc94c2438e498f27b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 12 09:45:16 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 19 08:08:30 2012 -0800"
      },
      "message": "Fix build warning for void * arithmetic\n\nbinder.c: In function \u0027bio_init\u0027:\nbinder.c:415: warning: pointer of type \u0027void *\u0027 used in arithmetic\n\nChange-Id: I6926ad05e6dc7362331dffb6e8eca130955f25df\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": "6215d3ff4b5dfa52a5d8b9a42e343051f31066a5",
      "tree": "fa31802ed64676368447b67d20567fc1e806c79d",
      "parents": [
        "c9c76a82c6d0bf2362044d899013832882f32c94"
      ],
      "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": "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": "e9b467d7dd26d508b29fbecd555cb562c0a8b472",
      "tree": "d6183c863d289f431ae82e54f8b979d30da8a780",
      "parents": [
        "28f37efe309d51c877bdd8c5ac31946db3ff06e4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 20 07:50:59 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 20 07:50:59 2011 -0800"
      },
      "message": "Bug 3361124 Remove drmioserver\n\nChange-Id: I64cba4be8a38b60bf3873836b4cd0d1039e19706\n"
    },
    {
      "commit": "1d8843897e1e108586a6a51e05392ff509b3dd7e",
      "tree": "b0be7ab51444255b6e3158e7ec6fbce66a23bc45",
      "parents": [
        "436786e759ed5f5eee34137ea6bfe57414bb9ff4"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Dec 08 11:21:24 2010 -0800"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Dec 08 18:27:29 2010 -0800"
      },
      "message": "service_manager: duplicate registrations override previous ones\n\nWhen a process that has registered one or several binder services with\nthe service manager crashes, that process will usually be restarted by\ninit (see init.rc).  When the process comes back up, it will attempt\nto re-register itself with the service manager.  However, the binder\ndriver may not deliver the death notification to the service manager\nbefore the the new service-registation request, in which case the\nservice manager will reject the request as a duplicate.\n\nThe same may occur if a process takes a while to actually exit.  Since\nthe init language\u0027s restart command does not wait for a process to\nexit before restarting it, there may be for a brief instant two\nprocesses.  The new one will attempt to register before the old\none has exited, causing the same problem.\n\nThis patch does not treat duplicate registrations as an error.\nInstead, the service manager force-releases the old instance and\nproceeds with registering the new instance of a service.\n\nChange-Id: Ib70640ab13f5e22460fff6af2f9520b8a9ac9713\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "cd0e839a2448deea50f79bddeba782c546b33893",
      "tree": "e8842c168d9048b47843c125661fc71831957cc5",
      "parents": [
        "dbb78f0e4ee3a1ba3e3418b0c1bf8b51e4fa2019"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Oct 13 17:25:24 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Sun Oct 17 18:35:29 2010 -0700"
      },
      "message": "NFC: Move NFC service implementation out of system_server.\n\nNFC service is now an application service in packages/apps/Nfc.\n\nNFC service is registered through ServiceManager.addService(), and the proxy\nobject NfcAdapter obtains a handle to it through ServiceManager.getService().\n\n**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and\nmodify service_manager.c, Process.java and PackageManagerService.java in order\nto force the com.android.nfc process to take a fixed uid, so that it can use\nServiceManager.addService().\n\nMost of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and\nNdefMessage require some in-process native code, so android_com_NdefMessage.cpp\nand android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to\na very small library libnfc_ndef.so that implements NDEF message parsing. This\nhas been added to core.mk so all devices (even without NFC hardware) can work\nwith NDEF data.\n\nBug: 3041259\nBug: 3097445\nChange-Id: If7f00cd8f2053acfc9319ca366d4a9c02bd396e6\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "2a36a778d384403cd92b1016ed5c860d3f2c3521",
      "tree": "e46cf861b3b921aba3913cb4158fba4d2744559c",
      "parents": [
        "4e9243d55ce183542c74550e503ea583643599a0",
        "68ef7f3c3a8deb0e14b0b6325876b23cecc191b3"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Sep 27 16:29:33 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 27 16:29:33 2010 -0700"
      },
      "message": "am 68ef7f3c: Merge \"Move SipService out of SystemServer to phone process.\" into gingerbread\n\nMerge commit \u002768ef7f3c3a8deb0e14b0b6325876b23cecc191b3\u0027 into gingerbread-plus-aosp\n\n* commit \u002768ef7f3c3a8deb0e14b0b6325876b23cecc191b3\u0027:\n  Move SipService out of SystemServer to phone process.\n"
    },
    {
      "commit": "7e54ef71db3320a751571bba5259fba816399421",
      "tree": "ac4c1a7d45c1406366e7f7ba02ec0b0d6117d386",
      "parents": [
        "04a426f5b50a628fb73bc29b003b0e5bece17c27"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Sep 25 22:49:59 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 28 05:19:35 2010 +0800"
      },
      "message": "Move SipService out of SystemServer to phone process.\n\nCompanion CL: https://android-git/g/#change,70187\nhttp://b/issue?id\u003d2998069\n\nChange-Id: I90923ac522ef363a4e04292f652d413c5a1526ad\n"
    },
    {
      "commit": "09f1e2b2151ea18c05b9138a0a5cb63af18ea373",
      "tree": "a8867b197b5f31b9fc3d59dc724ffc9f1e43f3b3",
      "parents": [
        "94db0238a3b6cba3cbf0e037af74e898a4741204",
        "56aa3c761d4e8c618151e92135706838abd84a6c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Sep 10 09:53:43 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Sep 10 09:53:43 2010 -0700"
      },
      "message": "resolved conflicts for merge of 56aa3c76 to gingerbread-plus-aosp\n\nChange-Id: I3d36a665f93f976824592edf35f6d6a205cc7617\n"
    },
    {
      "commit": "d074e30ce44b9e33da43b67a4515b8986ca72b26",
      "tree": "cea9a809ad3b678713d10b938eb21f0d792a89d8",
      "parents": [
        "f470ed8630e9e648727443b065b9f1c69fee34d6"
      ],
      "author": {
        "name": "aimitakeshi",
        "email": "aimitakeshi@gmail.com",
        "time": "Thu Jul 29 10:12:27 2010 +0900"
      },
      "committer": {
        "name": "aimitakeshi",
        "email": "aimitakeshi@gmail.com",
        "time": "Wed Sep 01 15:40:00 2010 +0900"
      },
      "message": "  Initial contribution from Sony Corporation.\n\n  Add DRM Framework to support DRM content playback\n  together with StageFright.\n\n  - DRM Framework code is added\n     - include/drm\n     - drm\n  - api/current.xml is updated to include DRM Framework Java APIs\n  - cmds/servicemanager/service_manager.c is modified\n    to add drmManager and drmIOService.\n\nChange-Id: I6d7bc9c7067362b500e530988a9ce241761866fb\n"
    },
    {
      "commit": "27b3a7a75960d026655f3acd1de8a672e80a5776",
      "tree": "cc5036a00b976b7757f26212abf49ed11f779cd9",
      "parents": [
        "f25c560dcdc0c04e11152fff11f521dae03522cd"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jun 18 13:07:53 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Jun 21 12:56:35 2010 -0700"
      },
      "message": "Start of work on passing around StrictMode policy over Binder calls.\n\nThis is (intendend to be) a no-op change.\n\nAt this stage, Binder RPCs just have an additional uint32 passed around\nin the header, right before the interface name.  But nothing is actually\ndone with them yet.  That value should right now always be 0.\n\nThis now boots and seems to work.\n\nChange-Id: I135b7c84f07575e6b9717fef2424d301a450df7b\n"
    },
    {
      "commit": "d951d88c17661cf95391ca3de2a72fbe8afedb69",
      "tree": "20d217517aacbf3a9f8373ec6dc4ba9e628febf5",
      "parents": [
        "fe62d04c30e7b3abe408b56c7744c7f547c57640"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 09 18:38:25 2010 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 09 18:38:25 2010 -0800"
      },
      "message": "Use proper config to enable LVMX.\n\nChange-Id: Ic8792e2b48110b2e91903e2e407b828a97d6e531\n"
    },
    {
      "commit": "871c16cec850c042c61aa06a7ffc0e1965867bcf",
      "tree": "4eb07e9acdcaa01d10d5d3458c2659f715379c34",
      "parents": [
        "c10275abd6a494c93a025f683dde104a5d4f2793"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 05 12:18:01 2010 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 09 14:16:01 2010 -0800"
      },
      "message": "Initial version of LifeVibes integration.\nAlso changed tabs to spaces in other audioflinger files.\n"
    },
    {
      "commit": "a553c25b33c99b345cf1c8688f8df0ed8df14e5a",
      "tree": "025c461b13e66ad0ceac8d0f8d9b13fd88ae168a",
      "parents": [
        "ebd7bc54028949619bbf3fa5ed6c1188f588c230"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 17 12:17:14 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 23 06:03:39 2009 -0700"
      },
      "message": "Fix issue 1795088       Improve audio routing code\n\nInitial commit for review.\nIntegrated comments after patch set 1 review.\nFixed lockup in AudioFlinger::ThreadBase::exit()\nFixed lockup when playing tone with AudioPlocyService startTone()\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
