)]}'
{
  "log": [
    {
      "commit": "4a357cd2e55293402d7172766f7f9419815fc1e8",
      "tree": "f2cedee7f41f48a8141a2798ca6100912553e4ef",
      "parents": [
        "f2560e62cf26cae64f5751b0479743e09cb7bd7f"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 18 18:37:18 2015 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 18 18:37:18 2015 -0700"
      },
      "message": "Replace usages of deprecated Resources.getColor() and getColorStateList()\n\nChange-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0\n"
    },
    {
      "commit": "03a4da6e8e92b19c1345016c06694cb3aabbfc27",
      "tree": "4a3e0ca61ef6412590648037ba33638195346601",
      "parents": [
        "1b848d4894b3aa82d2fcae605acbede3f865456e"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Wed Sep 10 17:32:18 2014 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Wed Sep 10 17:32:18 2014 -0700"
      },
      "message": "Add flag to JobParameters for job expired\n\nBUG: 17424511\nIntroduce an \"isOverrideDeadlineExpired\" which will allow clients\nto know when they are being run due to an expiry.\nNb that we check deadline expiry by checking that the constraints on\nthe job are not satisfied at execution time. Really this is the same\nthing, as a job will not be run without its constraints being met,\nunless the job has expired.\n\nChange-Id: I4b91e5b5eadccabd91296d5a5ca66b859dbfaf5c\n"
    },
    {
      "commit": "d1c06753d045ad10e00e7aba53ee2adba0712ccc",
      "tree": "6a1103dfcc0b6db0dfc030aba6cdb4961e2a91c2",
      "parents": [
        "acb570cd84b4e3503e7e96138ea0d9d236ca9b9e"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Fri Aug 22 14:15:28 2014 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Fri Aug 22 16:08:45 2014 -0700"
      },
      "message": "Implement API review feedback for JobScheduler\n\nBUG: 17005336\n\nTook the opportunity to clean up some back-off logic\n\nChange-Id: Ibc8ae34d1d44dd064ba071e4cbad17872f7e38cf\n"
    },
    {
      "commit": "9ae3dbeefcd6bc139c74bfe3d51de823e3be4b4b",
      "tree": "9091f11de601187a418a60d579035a2edeb3a33d",
      "parents": [
        "bfecd904bf0ea8875caaaaafa5e3ae8c44b5175f"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Thu Aug 21 13:47:47 2014 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Thu Aug 21 20:28:12 2014 -0700"
      },
      "message": "JobScheduler only run jobs for started users.\n\nBUG: 12876556\nMinor changes to test app to make persisting an option.\nChange-Id: I1b40347878ec5ca44cd717ebfeb544f6c58473b5\n"
    },
    {
      "commit": "ee410da42b6b8352213f03f7725fd041f703b035",
      "tree": "d79add63a7762d26f9d8396876fc8cc47ce0cb75",
      "parents": [
        "c503896a4d0cab029bca56cf7ac18ae182729a0a"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Fri Jul 25 11:30:40 2014 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Tue Jul 29 11:11:41 2014 -0700"
      },
      "message": "remove possible JobScheduler race in cancel()\n\nClient can jobFinished() before getting a cancel msg.\n1) Do better clean up of JobServiceContext after client jobFinished()\nto remove superfluous MSG_CANCELs\n2) When processing MSG_CANCEL check whether the context is still active\n3) Do JobServiceContext cleanup before calling back to JobSchedulerService\nClient can get a cancel msg even after calling jobFinished() (opposite to above)\n1) explicitly check whether there are any MSG_CALLBACKs in the queue before\nprocessing a MSG_CANCEL. If there are we can throw away the cancel.\n\nBug: 16547638\nChange-Id: I90644586c7895a9ce97de752a5d657faf7f74b78\n"
    },
    {
      "commit": "f7c4fddf44dd94162d26635bbd703ffeb392c675",
      "tree": "161048a7ef65e6482b2bc13cee5a997f74124953",
      "parents": [
        "d7e16851285e19cb412fc14635a9f3f74bc07e0c"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Wed Jun 18 18:52:47 2014 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Wed Jun 18 18:52:47 2014 -0700"
      },
      "message": "Flesh out job scheduler test app\n\nadds the rest of the constraints - charging, idle, and allows you\nto cancel all.\nChange-Id: I43b7cac94446f6860ca0387440b3c8f995a2c0f3\n"
    },
    {
      "commit": "7060b04f6d92351b67222e636ab378a0273bf3e7",
      "tree": "82fce1e04dd58a5d79895d0869b3b0adeffbb417",
      "parents": [
        "6d7a25f317be60ae8a4d8806e517052be2398753"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 09 19:50:00 2014 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 10 12:51:55 2014 -0700"
      },
      "message": "Out with the old; in with the new\n\nSwitch to the official \"JobScheduler\" etc naming.\n\nBug 14997851\n\nChange-Id: I73a61aaa9af0740c114d08188bd97c52f3ac86b7\n"
    },
    {
      "commit": "13b0241248716b126a538457828a964e86109d58",
      "tree": "4a12c8e46bc8d1318bb2c0521ae5df961e2632d7",
      "parents": [
        "2f98a26bbf24fdc40ef53a653bb152c7f5a5d0dd"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Fri Jun 06 19:05:44 2014 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Sat Jun 07 20:50:54 2014 -0700"
      },
      "message": "Add test app for JobScheduler\n\nSchedule either a delay/deadline task, or a task with\nconnectivity constraints\nChange-Id: Ie7ea731d0f6673b680cef79f894cb609a61b795d\n"
    }
  ]
}
