)]}'
{
  "log": [
    {
      "commit": "3bab7c188d5e823484eda5c0f3df7759ce4a6c98",
      "tree": "f828a78b8ddaa2007b2edc3b80de61e41cee2987",
      "parents": [
        "e461d549bf571fcca7698d1b5e7da71310e0998d",
        "66143fa5b34eea7413335111838fb692987b611a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 12 01:42:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 12 01:42:21 2014 +0000"
      },
      "message": "Merge \"UsageStats should deal with changing time\" into lmp-dev"
    },
    {
      "commit": "66143fa5b34eea7413335111838fb692987b611a",
      "tree": "81c625a519316ba1d499ad5f28ed46ee2bccfaa3",
      "parents": [
        "023b6812abbca465773acd6141ff672d525a83ee"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 11 08:31:05 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 11 18:39:01 2014 -0700"
      },
      "message": "UsageStats should deal with changing time\n\nWhen the system time is changed, the UsageStats API\nwill modify all existing entries to correspond with the\nnew time change. If the time changed when the device was\noff, stats in the future will be deleted.\n\nChange-Id: Ica3e9917d4d1a180f97700e52ab390e3673e1e82\n"
    },
    {
      "commit": "8cd28b57ed732656d002d97879e15c5695b54fff",
      "tree": "33f02a0e243e5c3d8889862c26af5accc0e4e98b",
      "parents": [
        "da6e6c888f81d3bd19ff1f3cf9b081b7f9b2a013"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sun Jun 08 17:54:27 2014 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Sep 10 17:15:06 2014 -0700"
      },
      "message": "Apply cross-user restrictions to Shell\n\nEven though Shell user is allowed to perform cross-user actions,\nlock that path down if the target user has restrictions imposed by\nthe profile owner device admin that prevents access via adb.\n\nIf the profile owner has imposed DISALLOW_DEBUGGING_FEATURES, don\u0027t\nallow the shell user to make the following types of calls:\nstart activities, make service calls, access content providers,\nsend broadcasts, block/unblock packages, clear user data, etc.\n\nBug: 15086577\nChange-Id: I9669fc165953076f786ed51cbc17d20d6fa995c3\n"
    },
    {
      "commit": "37a46b48dcb7e34ee3669cfb2ed78af08bfca3c7",
      "tree": "e6e9012966c56f386d6fb496ceb9d3bd2dd8707e",
      "parents": [
        "cd922b29b5448c5c884d4b06bf9d1f3e7bb7bce0"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 05 15:38:05 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 05 23:57:42 2014 +0000"
      },
      "message": "Store time offsets for UsageStats XML\n\nThis will make adjusting for time changes easier\nin the future.\n\nChange-Id: I49d2dda4cc6dcb1378a58c814849924f585e0417\n"
    },
    {
      "commit": "d26bea3a1498d1b327ae37cc796fb8cd67e9c977",
      "tree": "2de9bcb88f6f4bea0153bceaf9a86c838dd91991",
      "parents": [
        "7f61e96db7c90c1f4418359672aa4656aebee500"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Sep 03 16:49:59 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Sep 05 23:09:27 2014 +0000"
      },
      "message": "Returns UsageEvents from previous days\n\n- Avoid writing to disk when querying UsageStats.\n- Use new UnixCalendar to avoid issues with Locale and TimeZone.\n\nBug: 16951313\n\nChange-Id: I2473b8ef8dc1e2f6be22d4c689b96e346bdcafd5"
    },
    {
      "commit": "7f61e96db7c90c1f4418359672aa4656aebee500",
      "tree": "6748f94db635e24c26a6a7236c444e2c0d906181",
      "parents": [
        "d400ca2f8db42e57e41f2a999833703619348fef"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Sep 02 16:43:52 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Sep 04 12:15:32 2014 -0700"
      },
      "message": "Add Configuration changes to UsageStats\n\nBug:17354208\nChange-Id: I9b2f595e51b656607e30e798926cfb7e25134944\n"
    },
    {
      "commit": "9d9607527f5bbf49c96565b63b90e36276b0dda7",
      "tree": "f750028aa4a8c1c0c29b2f3fedac393642dc9438",
      "parents": [
        "4e9c07c0de199169374bded403805c92f1c1c6c1"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 25 14:48:12 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Aug 26 12:41:31 2014 -0700"
      },
      "message": "Split up ComponentName in UsageEvents.Event\n\nSome events in the future may not have originated\nfrom a class, so we shouldn\u0027t be using ComponentName.\n\nBug:17259858\nChange-Id: Id7fe3245b91596cf27ae4ec51655602f01665622\n"
    },
    {
      "commit": "29564cd24589867f653cd22cabbaac6493cfc530",
      "tree": "c5ee0b88f293d292d95012844097acd172a7a72a",
      "parents": [
        "bdc78678dedc6b66b9584948b908cd8cf77c6b30"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Aug 07 10:57:40 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Aug 15 13:37:03 2014 +0100"
      },
      "message": "Remove system_server classes from the boot image.\n\nWe set the system_server classpath in the environment\n(like we do with BOOTCLASSPATH). After the zygote forks\nthe system_server, we dexopt the classpath (if needed)\nand then launch the system server with the correct\nPathClassLoader. This needed several small / medium\nrefactorings :\n\n- The logic for connecting to installd is now in a separate\n  class and belongs in the system_server.\n- SystemService / SystemServiceManager have now moved to\n  classes.jar. They are only used from there, and since they\n  use Class.forName, we want them to be loaded by the\n  system_server classloader, and not the bootclassloader.\n- BootReceiver now moves to frameworks.jar, because it is\n  used by ActivityThread and friends.\n\nbug: 16555230\n\nChange-Id: Ic84f0b2baf611eeedff6d123cb7191bb0259e600\n"
    },
    {
      "commit": "9a0b289f060e68e42d3db0b843d55cf920f3da12",
      "tree": "d4859fad956007459e0263aa9045b870ade4609c",
      "parents": [
        "02b25e9ba6b5c15c3af08bf74ad70519fcbcd8ce"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Aug 11 15:03:32 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Aug 12 20:25:37 2014 +0000"
      },
      "message": "Fix NPE in UsageStats for new User\n\nBug:16946585\n\nChange-Id: Ibd0d674681f3f49087305cea33ce7292f5d2229d\n"
    },
    {
      "commit": "3516800b611a79339a3c188332d13a26e9086b09",
      "tree": "4c9f8791534cc81cd9562223d2929ee8ff554bfc",
      "parents": [
        "5c09e8ad5ee8e67976066366527ee58792551953"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jul 21 15:25:30 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Aug 08 12:08:15 2014 -0700"
      },
      "message": "Second iteration of the UsageStats API\n\nBased on feedback from API council, updated the API.\nAlso added support for querying the event log.\n\nChange-Id: Ibaa008b9e5bd145acdfe8e20c25c2ed2d96be123\n"
    },
    {
      "commit": "3c153519ca5f2b66b88901374383f943c9d77df7",
      "tree": "a8af9d9bec018b08cb47e7c6ac622e449c8585d1",
      "parents": [
        "f7496d7e0c475e1b3f16129c42c8540bd810ec85"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 23 17:34:34 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jul 25 17:18:54 2014 +0000"
      },
      "message": "Add Per-User logging of UsageStats\n\nChange-Id: I4518c5d3c56b3821292accb886f9fb21f3a8b25f\n"
    },
    {
      "commit": "e159e2e0b83f9ea9d48f4c8666f9536e9338a70c",
      "tree": "b3da726ce05637a30ec5aa3d8038b92af4e93050",
      "parents": [
        "921ec8056a3010d0a21400f97312cf3f7d97ffaa"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 22 15:55:50 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 22 18:21:58 2014 -0700"
      },
      "message": "Add test UsageStats App\n\nAlso fixed UsageStatsService to do the right thing\nwhen AppOps returns MODE_DEFAULT.\n\nChange-Id: I0bdb28350fb2528daf2859cdcbbf9ca48d96dde9\n"
    },
    {
      "commit": "53ab92d89069fb0178ba98eb641a6fc87145543a",
      "tree": "92c6b2ff5b88ab75adc68ddeca2eca72a3c053c2",
      "parents": [
        "8207c58490e977e87079cc6ca85c85b673f5cf50"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jul 21 11:27:58 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Jul 21 13:20:25 2014 -0700"
      },
      "message": "Change UsageStatsService to check uses-permission\n\nHave UsageStatsService check permission grants when AppOps\nreturns the default MODE_IGNORED mode for a package.\n\nChange-Id: I784a708451a56863b13fc5f178e10bba6ce37a2f\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"
    }
  ]
}
