)]}'
{
  "log": [
    {
      "commit": "35654b61e8fe7bc85afcb076ddbb590d51c5865f",
      "tree": "0f42a90b4deaa0156d84df5d79b78cd6f2ac8807",
      "parents": [
        "8a8b047f2d28f6b2d728731a7e71eeaf16f89700"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 14 17:38:02 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 16 12:11:01 2013 -0800"
      },
      "message": "More work on App Ops service.\n\nImplemented reading and writing state to retain information\nacross boots, API to retrieve state from it, improved location\nmanager interaction to monitor both coarse and fine access\nand only note operations when location data is being delivered\nback to app (not when it is just registering to get the data at\nsome time in the future).\n\nAlso implement tracking of read/write ops on contacts and the\ncall log.  This involved tweaking the content provider protocol\nto pass over the name of the calling package, and some\ninfrastructure in the ContentProvider transport to note incoming\ncalls with the app ops service.  The contacts provider and call\nlog provider turn this on for themselves.\n\nThis also implements some of the mechanics of being able to ignore\nincoming provider calls...  all that is left are some new APIs for\nthe real content provider implementation to be involved with\nproviding the correct behavior for query() (return an empty\ncursor with the right columns) and insert() (need to figure out\nwhat URI to return).\n\nChange-Id: I36ebbcd63dee58264a480f3d3786891ca7cbdb4c\n"
    },
    {
      "commit": "af75948cddd40a0fde5af051b700306744eae64c",
      "tree": "947f62cf61241b528b0dfa2d7e7ac9dda00fd3f2",
      "parents": [
        "bd03f5abb7bbd5552d49dfec4e78f3d9454238af"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 08 14:56:52 2012 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 08 18:39:27 2012 -0700"
      },
      "message": "New command line tool: \"settings\"\n\nBecause the usual content provider interface doesn\u0027t allow specification of\nthe target user under which to perform settings reads/writes, this CL introduces\na new command line app specifically for that.\n\nUsage:\n\n   settings [--user num] get namespace key\n   settings [--user num] put namespace key value\n\nIf a --user argument is not given, the owner user is targetted.\n\nBug 7299066\n\nChange-Id: I73108bb76b04fad133cc4e0f218d64490de549f1\n"
    }
  ]
}
