)]}'
{
  "log": [
    {
      "commit": "5781cd5b218dc3e5a19d8f69e6fb9f310bed4df6",
      "tree": "7c74f6c49adbe1da5d4b580bbdd69561116f76b9",
      "parents": [
        "1e650e26a7bb2f02635530a46ecd715f9911d40e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Mar 27 13:23:41 2015 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Mar 27 13:23:41 2015 -0700"
      },
      "message": "Make the MIDI Manager optional, enabled by \"android.software.midi\" feature\n\nChange-Id: I76d442ea28beea4b9e2876bfef501d8f61403702\n"
    },
    {
      "commit": "eca9b9bd8b9a4d0a2de8af8edc20834dd46b98b3",
      "tree": "952aad9cc5d58ce94ddc4625083872f2559e2283",
      "parents": [
        "cbe4f7c225f87ef1e8cb496bce434f334774bc88"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Mar 10 01:36:14 2015 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Mar 20 16:32:36 2015 +0900"
      },
      "message": "DHCP: Move the packet code to frameworks/base/services.\n\nThere\u0027s no need for it to be in frameworks/base/core, since it\nwill only be used by services.\n\nBug: 19704592\nChange-Id: I2f5277eca848b7000ca46db575e8602eacb5c8bd\n"
    },
    {
      "commit": "4986a3875ff3772841a5211b99cc4cc9649789ce",
      "tree": "96bd4211a37ff79ab2817d4f091def8eafb74001",
      "parents": [
        "172fa08e9571d6e2bda6b2ab01242aa8ac1c3015",
        "4cbee7d24d0d53bdf084c06857ee3dc325519a42"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Sep 20 11:15:50 2014 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Sep 20 11:15:50 2014 -0700"
      },
      "message": "resolved conflicts for merge of 4cbee7d2 to lmp-mr1-dev-plus-aosp\n\nChange-Id: Ibed2d1ef98e13b7d50781020502665620ab15659\n"
    },
    {
      "commit": "0debc9aff4c0cbc28e083a948081d91b0f171319",
      "tree": "3ac4d7a9927cdd2741f65393d4e6855508ab3c26",
      "parents": [
        "d3de42cae84fadfa1befd082a2cf1bf72f9ad82a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 16 19:09:13 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jul 18 15:24:20 2014 -0700"
      },
      "message": "First iteration of a public UsageStats API\n\nUsageStats API that allows apps to get a list of packages that have been\nrecently used, along with basic stats like how long they have been in\nthe foreground and the most recent time they were running.\n\nBug: 15165667\n\nChange-Id: I2a2d1ff69bd0b5703ac3d9de1780df42ad90d439\n"
    },
    {
      "commit": "f20d640fa2b155a971ddfe0965fc803a73b5e53c",
      "tree": "0b5d315ca1fe3cd40716c24761e857b3f5d185a6",
      "parents": [
        "1d4306991bd6c820313719eb72ec169082b71540"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sat May 24 15:34:37 2014 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sat May 31 16:41:35 2014 -0700"
      },
      "message": "Restrictions Manager\n\nMechanism to register a provider for requesting an\nadministrator to respond to permission requests.\n\nRequest format and response format constants.\n\nDescription of manifest template for static restrictions.\nInt type introduced in RestrictionEntry.\n\nNeeds more javadoc and better description of manifest templates,\nincluding specifying the XML attributes.\n\nChange-Id: I5a654d364e98379fc60f73db2e06bf9a8310263d\n"
    },
    {
      "commit": "91097de49b0f683b00e26a75dbc0ac6082344137",
      "tree": "82c3185634a71233ce2e81a3645b07b1ba55f412",
      "parents": [
        "23af77a3cd1febc740d885ff03ead09837df269c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 04 18:02:06 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 24 17:48:58 2014 -0700"
      },
      "message": "Initial implementation of new voice interaction API.\n\nThis gives a basic working implementation of a persist\nrunning service that can start a voice interaction when\nit wants, with the target activity(s) able to go through\nthe protocol to interact with it.  It may even work when\nthe screen is off by putting the activity manager in the\ncorrect state to act like the screen is on.\n\nIncludes a sample app that is a voice interation service\nand also has an activity it can launch.\n\nNow that I have this initial implementation, I think I\nwant to rework some aspects of the API.\n\nChange-Id: I7646d0af8fb4ac768c63a18fe3de43f8091f60e9\n"
    },
    {
      "commit": "12cf314d87c8b58584b433c08d6f7040aef16b79",
      "tree": "9f68eb899fd2c6a95a290c07690045a25a7dd38b",
      "parents": [
        "630c0abaea1b35b4626a1d752bd04f28529801e1"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Mar 17 15:31:04 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Mar 17 15:31:04 2014 -0700"
      },
      "message": "Build logtags for services\n\nChange-Id: I6a146ae46df1a9d215fcf5bab7a2ef1876b94a1e\n"
    },
    {
      "commit": "2cb6c60c0d2de3bc743c043aca963db6fe52662f",
      "tree": "ec6963bb443a13698459a1029ecd49bfc8a5d816",
      "parents": [
        "3d9bcb90ee6c0ffff93642539ae64fb672c7f14a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Feb 14 17:19:56 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Feb 18 14:57:09 2014 -0800"
      },
      "message": "Make UsbService optional\n\nTweaked the services Android.mk to build dependencies\nwhen building with mm[m].\n\nChange-Id: I6dad511c652bcacc085f27ede5f8f22a6982c6bd\n"
    },
    {
      "commit": "898c13df7b9b12ff10062f3542593e12fbe0c119",
      "tree": "323bc4d7da06b48af2079f44c5f8d346d265e956",
      "parents": [
        "df88d73092c62a1a3cd2b2056ca63ae2e70cc238"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 28 15:34:50 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Feb 05 19:26:40 2014 +0000"
      },
      "message": "Check feature bits before loading optional services\n\nAt startup, we check with PackageManager whether a system service is\navailable before attempting to load it. A system service is available\nif its associated feature (similar to hardware features) is present.\nThis does not remove unavailable services from the compiled jar.\n\nChange-Id: I13571805083aa4e65519a74acb52efd17b9fb3d7"
    },
    {
      "commit": "22eba28e90e58230cc120bd53faaf223651f9344",
      "tree": "661428fba5005f379c0075285233fd2131b264b4",
      "parents": [
        "cd6d1f51e20da71d75e8dbf23ba18b371fb3a8ab"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jan 09 15:38:12 2014 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jan 09 15:38:12 2014 -0800"
      },
      "message": "Only compile the services jar and so when using mmm\n\nDon\u0027t build the tests when using \"mmm frameworks/base/services\"\n\nChange-Id: If1895598381bd0fce0b4d7f5e879f154d8fc44d0\n"
    },
    {
      "commit": "ba09ada20e9d801068cf51340fee30760203bf51",
      "tree": "1f24760b035c87d96f47f386fc245d10c9a5c9bb",
      "parents": [
        "aef49f9a7142892f38c3bb84b5eae3ceb9a96a15"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Jan 09 11:02:03 2014 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jan 09 20:41:57 2014 +0000"
      },
      "message": "Include subdirectory Android.mks.\n\nChange-Id: I6e6bc721dbcf127b52f2a60f255c9fc677d3be29\n(cherry picked from commit c459bfea7e7be4343387dee137d4a5be9742fd91)"
    },
    {
      "commit": "817ec49e7991d4cac50b2308cd7cf5f8641e1e29",
      "tree": "173ef0eb001119a0d093f0398769a3c0a0f5a369",
      "parents": [
        "9158825f9c41869689d6b1786d7c7aa8bdd524ce"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Dec 20 13:27:30 2013 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Dec 20 14:46:56 2013 -0800"
      },
      "message": "Wrap some services into a SystemService\n\nThese services can now be excluded by modifying the list of REQUIRED_SERVICES (TB renamed)\n\nChanged appwidget, devicepolicy, backup and print services.\n\nChange-Id: Id8e2855d5c045cd57bdb02dca9ed75172803bce7\n"
    },
    {
      "commit": "9158825f9c41869689d6b1786d7c7aa8bdd524ce",
      "tree": "f41944461539f0c70030668b4558296469c307d3",
      "parents": [
        "30d032928a294fbb6f385e9d0367a75b7bf2649b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 22 08:25:26 2013 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Dec 19 15:25:37 2013 -0800"
      },
      "message": "Move some system services to separate directories\n\nRefactored the directory structure so that services can be optionally\nexcluded. This is step 1. Will be followed by another change that makes\nit possible to remove services from the build.\n\nChange-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85\n"
    },
    {
      "commit": "b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54",
      "tree": "e167affc928677f3dd70e173150a77e3943e97a9",
      "parents": [
        "f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 09 11:52:12 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 09 11:52:12 2009 -0700"
      },
      "message": "auto import from //branches/cupcake/...@137197\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"
    }
  ]
}
