)]}'
{
  "log": [
    {
      "commit": "6b83b76dd18e2a727936839b397e6ed2ed4f5a46",
      "tree": "a39292b12b28be4287c4b3cfe3a24514df2096b1",
      "parents": [
        "487ae9b8dc3e08c1a830d519a801a07cd59c8f2b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 15:55:11 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 15:55:11 2014 -0800"
      },
      "message": "Frameworks/base: Wall Werror in libs/input\n\nEnable -Wall -Werror in libs/input. Mask warnings from Skia.\n\nChange-Id: I0deeffde07fcf3a09eadec2852e9bf5666b55ee8\n"
    },
    {
      "commit": "68eccdade2aad22b7eb34a28572c204dcd54f7b9",
      "tree": "9e967e1283ee29ddfe54864d2e43c593b52cded9",
      "parents": [
        "03cab4cbe696cf6c5cfe58934c5aaf1c5533a2c5"
      ],
      "author": {
        "name": "Riley Andrews",
        "email": "riandrews@google.com",
        "time": "Mon Jul 07 11:47:35 2014 -0700"
      },
      "committer": {
        "name": "Riley Andrews",
        "email": "riandrews@google.com",
        "time": "Mon Jul 28 22:04:06 2014 +0000"
      },
      "message": "Add cursor flags into SpriteController to suppor async cursor updates.\n- This is fairly blindly taken from nvidia\u0027s implementation.\n\nChange-Id: I825ecbd9cb4b394793dce079591b37efca546bbe\n"
    },
    {
      "commit": "4a9c3891d4f890109e02bc83fecf9bcdf56a9395",
      "tree": "d0ad820a4e7b143df8d71708a7790e59b0467189",
      "parents": [
        "904a1045ced36e844605b9764c3cb184976ea0a9"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jul 07 15:44:40 2014 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jul 07 15:47:55 2014 -0400"
      },
      "message": "kNative_8888_SkColorType is now kN32_SkColorType\n\nChange-Id: I13421a21de611203c62c1c1c36570a8cc803907b\n"
    },
    {
      "commit": "b933055cf3f7f8ea89bfd3bc9c37a3891ff7310a",
      "tree": "7d68b96a6fd02ca6ece664d5c53ee9778ef49d17",
      "parents": [
        "9285d1bf9c57e5f1da8f8d8ef7a6a38b2f0e4ec3"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jun 16 17:31:48 2014 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Jun 20 10:28:37 2014 -0400"
      },
      "message": "stop using (deprecated) SkBitmap::Config\n\nChange-Id: Ic75b5fc6996578e9d95bd3a220439ec1541d7c3b\n"
    },
    {
      "commit": "cc11f15f76a62ded3e403cb2bc818c6aa5bf261c",
      "tree": "1df94766a0343820a8b542d3a79705a33d9fcf59",
      "parents": [
        "35dec44394358bac2cdf31d5e8377687a1723476"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Mar 31 16:52:13 2014 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Apr 04 14:42:39 2014 -0400"
      },
      "message": "Update to call new Skia APIs.\n\nI816129d49c0118453222916f3c818eccac33663d merges a new version of\nSkia that updates various APIs. Call the new ones.\n\nSkBitmap::copyTo now takes an SkColorType instead of an\nSkBitmap::Config, so do the conversion with\nSkBitmapConfigToColorType or use the enum when it makes sense.\n\nCall SkImageDecoder::decodeSubset instead of (deprecated)\nSkImageDecoder::decodeRegion.\n\nOverride SkCanvas::ClipVisitor::clipRRect in ClipCopier.\n\nIn Canvas::clip calls, call SkCanvas::isClipEmpty(), which was\npreviously called inside the clip call, to determine the return value.\n\nFor various SkPaint effects, call the new factories (as the constructors\nhave been made protected).\n\nImplement SkJavaOutputStream::bytesWritten(), overriding a new pure\nvirtual function on SkWStream.\n\nUpdate Matrix calls to always return true (since SkMatrix calls no\nlonger return a value).\n\nDepends on I816129d49c0118453222916f3c818eccac33663d (skia).\n\nChange-Id: I5cdcea827ebff587df0bbddc0965e3e0fbf48002\n"
    },
    {
      "commit": "950fe8f8d4d654e645fa7205ca275b5a03feb214",
      "tree": "4a4e2dfd3f32ebdaf2b57835c19e42afa7f9ee5d",
      "parents": [
        "94b5ca811e5716bddb4a4d86df35c29bb9165e5f"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 27 11:14:55 2014 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 27 16:21:24 2014 +0000"
      },
      "message": "Cleanup unnecessary includes for libskia.\n\nThe libskia target exports all of its public includes directories so\nredefining them here is redundant. Also this cleans up and makes it\nobvious where the framework is making using of private Skia headers.\n\nChange-Id: Ie7ecc9ddd3df780bed6b9af54ba58ca58274e043"
    },
    {
      "commit": "d6b473713f43dec0828971854fe1018642cfaf27",
      "tree": "4f946766a00098f6f7e33ed74a6e6df7dbab40df",
      "parents": [
        "66ebe94757b18146d429855274e451545ed7ea75"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Feb 10 15:56:36 2014 -0800"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Feb 11 10:47:36 2014 -0800"
      },
      "message": "Move inputservice over to frameworks/native\n\nRemove all of the pieces except the PointerController and SpriteController over\nto frameworks/native in preparation for inputflinger. Those two need to stay in\nframeworks/base for now because they depend on Skia currently. In the long run\nthey should be merged into either the InputManager or the WindowManager rather\nthan as a part of the inputservice / inputflinger.\n\nTry 2.\n\nChange-Id: I84259356d3eb8efc5aefb9d6b311b5fc590ea3ed\n"
    },
    {
      "commit": "453fa30ab2dbff5934e551323763200fac96d723",
      "tree": "47f16be39026a324f3aeff1d534932c7cb3cd03a",
      "parents": [
        "89e5c7ebb37fabc4368e87e17a502db62598bd61"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Feb 10 15:08:26 2014 -0800"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Feb 10 15:08:26 2014 -0800"
      },
      "message": "Revert \"Move inputservice over to frameworks/native\"\n\nThis reverts commit 89e5c7ebb37fabc4368e87e17a502db62598bd61.\n"
    },
    {
      "commit": "89e5c7ebb37fabc4368e87e17a502db62598bd61",
      "tree": "5e6352b31d6ac184a54dd34d88ec4cb71072210b",
      "parents": [
        "a407d6a003d746fa0aff50f7ba5da61f19a85b75"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Feb 10 14:10:27 2014 -0800"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Feb 10 14:10:27 2014 -0800"
      },
      "message": "Move inputservice over to frameworks/native\n\nRemove all of the pieces except the PointerController and SpriteController over\nto frameworks/native in preparation for inputflinger. Those two need to stay in\nframeworks/base for now because they depend on Skia currently. In the long run\nthey should be merged into either the InputManager or the WindowManager rather\nthan as a part of the inputservice / inputflinger.\n\nChange-Id: Iebef71f3030fb3d26a5f338eb66d75bb37c17734\n"
    },
    {
      "commit": "a407d6a003d746fa0aff50f7ba5da61f19a85b75",
      "tree": "47f16be39026a324f3aeff1d534932c7cb3cd03a",
      "parents": [
        "d5154ec2bc7e7c0bdfd14fc784912d390afe43cc"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Feb 05 18:02:40 2014 -0800"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Feb 10 12:59:34 2014 -0800"
      },
      "message": "Remove SkRegion dependency from libinput\n\nThis gets us one step closer to removing our dependency on Skia, which is at\nleast one of the things blocking us from moving the input system out of\nf/b.\n\nChange-Id: I755e6267996c93fe700f1056327386923287575a\n"
    },
    {
      "commit": "fb290df3c9a6f37ec050163029e25844de2f8590",
      "tree": "eadba9942f884e930224c83d1939ab98db3e1e62",
      "parents": [
        "6c6a11648fc6ed9bf058fba51d82d467472ed8e6"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Dec 16 11:27:55 2013 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Jan 07 17:37:24 2014 -0800"
      },
      "message": "b/12068020 Make kb layouts only unique to vendor/product\n\nInstead of storing a kb layout per device descriptor (which is expected\nto be unique), store it for each vendor/product. This way we can keep\na consistent layout between identical but physically different keyboards.\n\nThere are some corner cases this is expected to fail on, namely devices\nthat incorrectly have the same vendor/product id. Devices that don\u0027t\ndefine a vendor/product id will continue to use the descriptor to store\nlayout files.\n\nChange-Id: Id0890d13e1c859eaf993d4831b7b1acbaf5df80f\n"
    },
    {
      "commit": "49782e46c0eb85a25ae2abcf80880c48dbab5aea",
      "tree": "9fab2a40c41004d78b7001dc766d85f61d24f582",
      "parents": [
        "4dace6f66d498c2d119adf265776aa83b28452af",
        "9158825f9c41869689d6b1786d7c7aa8bdd524ce"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Dec 19 23:30:35 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 19 23:30:35 2013 +0000"
      },
      "message": "am 9158825f: Move some system services to separate directories\n\n* commit \u00279158825f9c41869689d6b1786d7c7aa8bdd524ce\u0027:\n  Move some system services to separate directories\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"
    }
  ]
}
