)]}'
{
  "log": [
    {
      "commit": "7ac18b84459cf05a7fbc069d5e9900f411485992",
      "tree": "ca5a15ad7c6e46395caeda41b7a22847660408f1",
      "parents": [
        "4af26e7c98ccfe51c6c17ab292875441c6039131"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 14:02:10 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 14:26:29 2014 -0700"
      },
      "message": "Add AnimationDrawable test\n\nChange-Id: Ieabd1f628cdccd4939f733f92c0cbefbf8bc0446\n"
    },
    {
      "commit": "a8cb975aa7c91d0330ac6589884ea9adb3022bc1",
      "tree": "79f2b5381c41b96d2d420d7c6331f1c72686c9a8",
      "parents": [
        "b656270e8ede6b81020ea493fd3a8d8958bf8438",
        "2af745b56cf4bdfdd9c05d90a4ccc740bf77a4fe"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 18:07:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 03 18:07:31 2014 +0000"
      },
      "message": "Merge \"Handle the alpha in the group setting and fix the fill issue.\""
    },
    {
      "commit": "2af745b56cf4bdfdd9c05d90a4ccc740bf77a4fe",
      "tree": "464b2de55681ccbd1e79520dc4c89ca2bb96213a",
      "parents": [
        "4d24caf1dec2babf273b18c99638fe2a0635ced4"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri May 30 16:23:47 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 10:54:14 2014 -0700"
      },
      "message": "Handle the alpha in the group setting and fix the fill issue.\n\nThe fill used to be dafault as \"none\".\nNow it is default to opaque black, which is consistent with svg now.\nSo it is better to always set the fill value.\n\nbug:15288554\n\nChange-Id: I07ac41c5adc77665e66e52f2c0220139586fb09b\n"
    },
    {
      "commit": "5e9a42588e986a7a2ab12de5d70adff5f2db9c5a",
      "tree": "0d259673341b988ad30e5c3c5c9022f6b59a210c",
      "parents": [
        "2808907362922f077fa48b97ece28bf9e18482a6",
        "4d24caf1dec2babf273b18c99638fe2a0635ced4"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Jun 03 16:03:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 03 16:03:37 2014 +0000"
      },
      "message": "Merge \"Add the tree hierarchy for the group\""
    },
    {
      "commit": "55ce00e7effbc4bf94079cbcc109cafc5280bbc4",
      "tree": "10bc63b196ca77f5fb62fbf583c7f5eadd95f678",
      "parents": [
        "7e3a7fc35f1972819e9e8dfabb8c8efb3667dc67"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 03 07:42:52 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 03 07:42:52 2014 -0700"
      },
      "message": "fix build\n\nChange-Id: I7fbe80ab0fbbc857c5785034a3c4129bccdec41c\n"
    },
    {
      "commit": "4d24caf1dec2babf273b18c99638fe2a0635ced4",
      "tree": "a91badbb5bd40b360737399eacec525c13262e0a",
      "parents": [
        "452f6ece7fe2fd1a85fca53f54e90bf041083b21"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed May 28 15:02:35 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Jun 02 17:18:10 2014 -0700"
      },
      "message": "Add the tree hierarchy for the group\n\nbug:15288554\n\nChange-Id: I7caedb8466d078a0d9a6148e00d02eded4a4d234\n"
    },
    {
      "commit": "776512d4b6a7c1b1b7893cde5bec1f3d65c0ea94",
      "tree": "a65062200d1f5bdcde6b4d07dc24e45aae795803",
      "parents": [
        "88554f5f7d630a1298894654bcab3669a20e6d88",
        "82e71a756e486929ed06683f17cd948ec02e8be0"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jun 02 18:19:44 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 02 18:19:44 2014 +0000"
      },
      "message": "am feccbdc4: Merge \"Add setStartValue to RNA\" into lmp-preview-dev\n\n* commit \u0027feccbdc4d0bee3eb4c395bd93ba51cbc6616527a\u0027:\n  Add setStartValue to RNA\n"
    },
    {
      "commit": "82e71a756e486929ed06683f17cd948ec02e8be0",
      "tree": "0cff56e361137a2eecd9791b327ee185c9a2e9af",
      "parents": [
        "a9efb284088cf52a3819cdf88ff6cc4109e517ca",
        "c6b3264e16f1d2b72e7f9508559981ce9970157c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jun 02 18:13:13 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 02 18:13:14 2014 +0000"
      },
      "message": "Merge \"Add setStartValue to RNA\" into lmp-preview-dev"
    },
    {
      "commit": "c6b3264e16f1d2b72e7f9508559981ce9970157c",
      "tree": "4b9b4d78d238e04cdd5c0394b757d88276856d0a",
      "parents": [
        "58136d02113ae768dc2cdf871a773bd34cc71583"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jun 02 11:00:09 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Jun 02 11:00:09 2014 -0700"
      },
      "message": "Add setStartValue to RNA\n\n Bug: 15198607\n Should be good-enough for Ripples to use for pseudo-chaining\n support.\n\nChange-Id: Ia8666928ccb69ae401cb583751632a52bd928b63\n"
    },
    {
      "commit": "830fd7036e7287df90d1889a43f6f8d3560c48bd",
      "tree": "afaab9155cd27ad3d6acedd3ff7bb278881a5a17",
      "parents": [
        "e2c6327a38d1b3edcb39d8f96f4270ce8990cb44",
        "e78755e180c4f29ccc324112286dd81ab2016c40"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Jun 02 17:15:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 02 17:15:14 2014 +0000"
      },
      "message": "am c7ed6f69: Merge \"Minimum work to make volume handling work with sessions\" into lmp-preview-dev\n\n* commit \u0027c7ed6f69d474f23df89d36ed94ff0062daa8dcbc\u0027:\n  Minimum work to make volume handling work with sessions\n"
    },
    {
      "commit": "e78755e180c4f29ccc324112286dd81ab2016c40",
      "tree": "a414dfa20c73b816b375eb093e0d1f2e4cdbc54a",
      "parents": [
        "ddc93ce3438618a15f30fc20d45634325f8ce84f",
        "b69ffd4dc2c8fa85e0064151141ebeee90de471e"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Jun 02 17:10:07 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 02 17:10:07 2014 +0000"
      },
      "message": "Merge \"Minimum work to make volume handling work with sessions\" into lmp-preview-dev"
    },
    {
      "commit": "00fcdc1236a8730d4c69c779a92b2c20cdb54be6",
      "tree": "aff1551b2b2b6d10ad6d9be066a1d54a294a7607",
      "parents": [
        "2921780f71bb269d96c444b282ef0b633f22f559",
        "725010a83f1798e5ba6edb93ca2656a96c29fcae"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat May 31 00:00:05 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat May 31 00:00:05 2014 +0000"
      },
      "message": "am d6f7d9b7: Merge \"Clean up voice API.\" into lmp-preview-dev\n\n* commit \u0027d6f7d9b75931d031086a744cfd18994b2673f311\u0027:\n  Clean up voice API.\n"
    },
    {
      "commit": "725010a83f1798e5ba6edb93ca2656a96c29fcae",
      "tree": "4f8f9b48833b68f374f0e0e8d9e6bfe7bfc53b37",
      "parents": [
        "b8a0feed0406e91eaa6f5bee223bc9316171c2b6",
        "a2c076d54048258cf88ab14551ce5fdf5a09c6e8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 30 23:54:11 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 30 23:54:11 2014 +0000"
      },
      "message": "Merge \"Clean up voice API.\" into lmp-preview-dev"
    },
    {
      "commit": "a2c076d54048258cf88ab14551ce5fdf5a09c6e8",
      "tree": "ced1ac6d335206c20489839c2d50b67405e1156c",
      "parents": [
        "8d07a14ee4cd47815ed42a86ce089c3de646658f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 30 16:42:57 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 30 16:42:57 2014 -0700"
      },
      "message": "Clean up voice API.\n\nAdd various java docs.\n\nSwitch to CharSequence where appropriate.\n\nAdd new request for canceling voice interaction.\n\nAlso update test app to follow API changes and be more better.\n\nChange-Id: If27eeba53cf6444660adb7d37ea2ce0557c6c91f\n"
    },
    {
      "commit": "b69ffd4dc2c8fa85e0064151141ebeee90de471e",
      "tree": "da787f506e0ac8a23a268f199096cb27e87c4f8e",
      "parents": [
        "283c907a6a84c5d9ffe38d3468e76131e6917105"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri May 30 14:57:59 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri May 30 15:47:58 2014 -0700"
      },
      "message": "Minimum work to make volume handling work with sessions\n\nThis is the minimum change to make adjusting volume work with\nMediaSessions. This only affects adjusting the volume and adjusting\nthe volume with a suggested stream. Adjusting a specific stream or\nsetting a specific stream will still use the same code.\n\nThis does not fix existing remote volume handling in RCC, which\nwill require a separate change to MediaController.\n\nChange-Id: I5b957ff4bece1ee11e2364e1f216e1c08343c983\n"
    },
    {
      "commit": "4e4160cd5e55662b994d01ab51a6d90fe2472a3f",
      "tree": "0d2d39c01ddd8a23564fc87f1fd6f7392339eb5b",
      "parents": [
        "1091f59e5dfc0c561171d829db4133e92de49ca4",
        "283c907a6a84c5d9ffe38d3468e76131e6917105"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri May 30 22:21:07 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 30 22:21:07 2014 +0000"
      },
      "message": "am 80ec18a9: Merge changes I16ad392e,Ie26a7d01 into lmp-preview-dev\n\n* commit \u002780ec18a90a1ce3d1b68deba8bcf81abcca04e520\u0027:\n  Refactor transport controls APIs\n  API changes to sessions\n"
    },
    {
      "commit": "283c907a6a84c5d9ffe38d3468e76131e6917105",
      "tree": "acdfdbf13f96f2bce65fa4618e59b630a910061e",
      "parents": [
        "3da92d6df15fcbf9dbde7e3f58f778ab28abaa99",
        "c47fa84b0a6bda48c38ba8822481ce613bafd019"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri May 30 22:18:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 30 22:18:54 2014 +0000"
      },
      "message": "Merge changes I16ad392e,Ie26a7d01 into lmp-preview-dev\n\n* changes:\n  Refactor transport controls APIs\n  API changes to sessions\n"
    },
    {
      "commit": "c47fa84b0a6bda48c38ba8822481ce613bafd019",
      "tree": "b3f3e177e8cd1f27909e7c9ffad292a8dffe4a3f",
      "parents": [
        "79fa4630bbca7c6c251eea99fe8997e4b45becee"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed May 28 17:36:42 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri May 30 10:35:44 2014 -0700"
      },
      "message": "Refactor transport controls APIs\n\nThis merges TransportPerformer into MediaSession + a\nTransportControlsCallback and makes TransportController into an\ninner class on MediaController called TransportControls. Also makes\nthe PlaybackState and Metadata part of the session APIs instead of\ntransport controls.\n\nChange-Id: I16ad392e6d318abe3119ad5d89656d253af25e16\n"
    },
    {
      "commit": "8b466c19d6306c508aeaa2ad349f8c3225f62f0e",
      "tree": "761871585770208b1b6f63c96185b0715fe7f1dc",
      "parents": [
        "505b28c105b01f63f0ea4ba702f3ad834c9df3f3",
        "2d2e30eeac5b6799808c23b944f29d68ed0c205d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 30 17:17:55 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 30 17:17:55 2014 +0000"
      },
      "message": "am f6550f0a: Merge \"More work on voice interaction visuals.\" into lmp-preview-dev\n\n* commit \u0027f6550f0ab2fb1abae6f9d694c87ccba9bede57f4\u0027:\n  More work on voice interaction visuals.\n"
    },
    {
      "commit": "20d94749043d0851f1da10c7749fd7eb13a35081",
      "tree": "fe14d454373789e1b28d52811b65aaaa572688e2",
      "parents": [
        "5286624b648c7d7cc4c15813f9921c1d0b2e46cc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 29 18:35:45 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 30 10:06:16 2014 -0700"
      },
      "message": "More work on voice interaction visuals.\n\nThere is now a special theme for voice interaction activities\nto use, so they can be a panel that is better intergrated with\nthe rest of the voice interaction experience.  This is still\nnot completely working, I have some hacks in the demo app to\nget it right; I\u0027ll fix that in a future change.\n\nAlso improve VoiceInteractor to be retained across activity\ninstances, for things like rotation.\n\nAnd bump up the number of concurrent broadcasts that are allowed\non non-svelte devices, since they can handle more and this makes\nthe boot experience better when dispatching BOOT_COMPLETED.\n\nChange-Id: Ie86b5fd09b928da20d645ec2200577dee3e6889d\n"
    },
    {
      "commit": "a6cc9b85ad7d4fdb4fef9666563c91bd878631f5",
      "tree": "f163cda082aef1c597faaa4fb671ba7c2397363b",
      "parents": [
        "55cef957a370de208374c36ba4a27a69652f0965"
      ],
      "author": {
        "name": "Niels Egberts",
        "email": "nielse@google.com",
        "time": "Wed May 14 13:01:29 2014 +0100"
      },
      "committer": {
        "name": "Niels Egberts",
        "email": "nielse@google.com",
        "time": "Fri May 30 13:48:09 2014 +0000"
      },
      "message": "Markup support for framework\n\nChange-Id: Ia5ad6cff7593c295944a90775a1b061c95f5cc3f\n"
    },
    {
      "commit": "79fa4630bbca7c6c251eea99fe8997e4b45becee",
      "tree": "c65f1dafd3657cb016eb7fc0ebf78a46eb3a1393",
      "parents": [
        "eb61eb786af1db1f1cf6c988d78d1ddc3acb4a16"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue May 27 16:49:09 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu May 29 11:28:48 2014 -0700"
      },
      "message": "API changes to sessions\n\nChanges requested by API Council review. A second CL will refactor\nTransportController and TransportPerformer based on feedback.\n\nChange-Id: Ie26a7d01d7021232a66c2edf1eb58120437fdfde\n"
    },
    {
      "commit": "d3a5b916b1655c9a36d531afc8420fc5ca0ccfdd",
      "tree": "402e0b9187e9048910906cdbd9258f6f09c548ed",
      "parents": [
        "5a2d76c17655f5ab68c8fc41b9388a03a1d42b22",
        "a923758d80ad50ac79a22074cf6e4c9463bb2b0b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 29 09:42:56 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 29 09:42:56 2014 +0000"
      },
      "message": "am c2091a1f: Merge \"Add system layer for voice interaction services.\" into lmp-preview-dev\n\n* commit \u0027c2091a1fbc463941b3e42db36e369124ac3c1013\u0027:\n  Add system layer for voice interaction services.\n"
    },
    {
      "commit": "80d55ba8e204e125caec822f3a4a1507582148be",
      "tree": "0ed18eb9ce90d30408fef853fe665fd68980426f",
      "parents": [
        "2fb434857f482c8bb3f1f6bd6b99cdd028fc8e38",
        "b8a091347160bbdf8d1720746d106a25ad205863"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu May 29 01:08:26 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 29 01:08:26 2014 +0000"
      },
      "message": "am 9ecf9b12: Merge \"Respect Z ordering in touch dispatch, software drawing\" into lmp-preview-dev\n\n* commit \u00279ecf9b1292d547aebe4588f1051b22f9683e2149\u0027:\n  Respect Z ordering in touch dispatch, software drawing\n"
    },
    {
      "commit": "a923758d80ad50ac79a22074cf6e4c9463bb2b0b",
      "tree": "ba990ca10516af629e5406094ccf8f8521c2d1c3",
      "parents": [
        "3326a8782f7aae58b76b96d52d7756787ab401d0",
        "e30e02f5d9a9141c9ee70c712d4f9d52c88ea969"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 29 00:18:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 29 00:18:25 2014 +0000"
      },
      "message": "Merge \"Add system layer for voice interaction services.\" into lmp-preview-dev"
    },
    {
      "commit": "e30e02f5d9a9141c9ee70c712d4f9d52c88ea969",
      "tree": "590f001931e5d466298f917f2d75f0b373de3154",
      "parents": [
        "bbd8e6ffc600e078984cb68acf51c660c5c9fc81"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 27 18:24:45 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 28 17:16:51 2014 -0700"
      },
      "message": "Add system layer for voice interaction services.\n\nNew window layer that voice interaction service windows\ngo in to.  Includes a new voice-specific content rectangle\nthat voice activities are placed in to.\n\nAdd specific animations for this layer, sliding down from\nthe top (though this can be customized by the voice interaction\nservice).\n\nAlso add the concept of activities running for voice interaction\nservices for purposes of adjusting the animation used for them,\nagain sliding from the top, but not (yet?) customizable by the\nvoice interaction service.\n\nChange-Id: Ic9e0e8c843c2e2972d6abb4087dce0019326155d\n"
    },
    {
      "commit": "b8a091347160bbdf8d1720746d106a25ad205863",
      "tree": "e6fb3806a94b4aba17df80849e079aab5ca1d78e",
      "parents": [
        "1fc422bd7dbc8a270d287043467735ce6f7fa4e2",
        "ab008f0c642461b033e6f7dd3edfc49a43fb6293"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 28 23:12:57 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 28 23:12:57 2014 +0000"
      },
      "message": "Merge \"Respect Z ordering in touch dispatch, software drawing\" into lmp-preview-dev"
    },
    {
      "commit": "c9ad54e8ec76af06e30cdc38ec6af2d5ca0dc238",
      "tree": "91abd2d6ec8287cf64fc29c09b7e2e21f7214620",
      "parents": [
        "33787172416aa6ab03340876a13ad1ef7091d8d3",
        "452f6ece7fe2fd1a85fca53f54e90bf041083b21"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed May 28 21:59:41 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 28 21:59:42 2014 +0000"
      },
      "message": "Merge \"Add translation and scale to the group tag and related tests.\""
    },
    {
      "commit": "ab008f0c642461b033e6f7dd3edfc49a43fb6293",
      "tree": "29ac0346ed84a8035b9950c0568d3dbde9f77092",
      "parents": [
        "dab839e0478559781fe703c83f4e8a43d34960d2"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri May 23 17:55:03 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 28 13:35:10 2014 -0700"
      },
      "message": "Respect Z ordering in touch dispatch, software drawing\n\nbug:14390526\nChange-Id: I617a6ea7dbac1facae246491a247cf307452fc0e\n"
    },
    {
      "commit": "452f6ece7fe2fd1a85fca53f54e90bf041083b21",
      "tree": "11d47985f5cc7ebba385e02043202cb388152841",
      "parents": [
        "63cfd85bcce488a3f3952bd1db523a727d30ca39"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed May 28 09:48:36 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed May 28 13:22:44 2014 -0700"
      },
      "message": "Add translation and scale to the group tag and related tests.\n\nbug:15288554\n\nChange-Id: Iebe176d0a9c2c566d1910674a068e65e15569829\n"
    },
    {
      "commit": "9aee8704b39714fc408c0b299986c6ce79289d97",
      "tree": "0e14338cf02a367404494dc392ba127b308b7dfe",
      "parents": [
        "b44197f587bb7e1b53aee6ffcf57c5c16a036352",
        "63cfd85bcce488a3f3952bd1db523a727d30ca39"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed May 28 16:37:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 28 16:37:32 2014 +0000"
      },
      "message": "Merge \"Move the rotation information from path to group.\""
    },
    {
      "commit": "63cfd85bcce488a3f3952bd1db523a727d30ca39",
      "tree": "9ad6bf61886785aa85047b38b13467225291b613",
      "parents": [
        "69170a56c600b993bc1116d71d0b9d38fbaf1d7a"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue May 27 10:42:15 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed May 28 09:31:19 2014 -0700"
      },
      "message": "Move the rotation information from path to group.\n\nAlso update the 3rd test to correctly testing clipping.\n\nRemoving some naive tests which rotate 360 or 0.\n\nbug:15288554\n\nChange-Id: I436e8e494cb78fc665a3890171a1af87367db419\n"
    },
    {
      "commit": "5fe5bcaeaa3578f0ac05e672703da8356a09f054",
      "tree": "e5248ba33a4672841a43b2cc934d5ecac1083782",
      "parents": [
        "b9fc22029f766e5b5a19d5615b5d64f163476b20",
        "79458826c6a9da57a296af6c75ee02fd8f3ef631"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue May 27 23:57:36 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 27 23:57:36 2014 +0000"
      },
      "message": "am dc0230fc: Merge \"camera2: Add partial results to the capture listener (API change)\" into lmp-preview-dev\n\n* commit \u0027dc0230fc450e8880fb640cd476f2248bf0a401e4\u0027:\n  camera2: Add partial results to the capture listener (API change)\n"
    },
    {
      "commit": "db075afc85b6b50a5d3a988a17ed0d4e09ef0823",
      "tree": "4b11bcc6012a28a6a92d24c79a5817e8116799ca",
      "parents": [
        "5d0045835b0bfd456b9400be1cacdc8cb16d6cc7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed May 21 10:07:08 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue May 27 11:25:24 2014 -0700"
      },
      "message": "camera2: Add partial results to the capture listener (API change)\n\n* Also adds capture sequence aborted callback\n\nBug: 12492876\nChange-Id: I56ec8edbcda8b64c2262ff7472961ac78042c7f4\n"
    },
    {
      "commit": "6d9c422de5e0a3890dd723cb1b9264d4507053e9",
      "tree": "8af7711a188e9074b1d01df40f9e860b4c9adbb1",
      "parents": [
        "c33fb2b5c014f37ce36dbc12eff1e969562f7d50"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri May 23 10:51:33 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue May 27 10:15:52 2014 -0700"
      },
      "message": "Bring the group tag back to VectorDrawable.\n\nThis is the first step, including:\n1. Bring the group tag back by reverting.\n2. If there is no group tag, then treat all the paths as a single group.\nMake sure our test cases covering both cases.\n\nAt the same time, fix one tiny UI bug in the test.\n\nTODO:\n1. Move the rotation to the group tag.\n2. Add translation/scale to the group tag.\n3. Convert the group into a tree hierarchy.\n\nThis reverts commit 404211630ba3bb865109434aba4433e7541b39d3.\n\nConflicts:\n\tgraphics/java/android/graphics/drawable/VectorDrawable.java\n\nChange-Id: Ife65bb6a7fc85f9947124b8e356cd5b82119796a\n"
    },
    {
      "commit": "0fa2bd699ab5539c0ce6b79eb6b4b681734b8bb5",
      "tree": "da53c7be8f596961bcb1f4343278ea1d4144d8b4",
      "parents": [
        "d08f91fa679d3045436e993b6073d86d8f9b26fe"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon May 05 12:50:38 2014 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri May 23 11:50:38 2014 -0400"
      },
      "message": "DO NOT MERGE Inspect SkShader to determine hw shader.\n\ncherry-pick of Iaa7189178bda1c55f96da044d2a9fa602ba36034\n\nInstead of duplicating internal info about SkShader, inspect the\nSkShader installed on the SkPaint.\n\ncore/java/android/view/GLES20Canvas.java:\nRemove setupModifiers, nResetModifiers, and nSetupShader.\n\ncore/jni/android/graphics/Shader.cpp:\nRemove calls to create/destroy the (previously) attached SkiaShader.\n\ncore/jni/android_view_GLES20Canvas.cpp:\nRemove native code for setupShader and resetModifiers.\n\ngraphics/java/android/graphics/BitmapShader.java:\ngraphics/java/android/graphics/ComposeShader.java:\ngraphics/java/android/graphics/LinearGradient.java:\ngraphics/java/android/graphics/RadialGradient.java:\ngraphics/java/android/graphics/Shader.java:\ngraphics/java/android/graphics/SweepGradient.java:\nRemove code keeping track of native SkiaShader.\n\nlibs/hwui/Caches.h:\nInclude Extensions.h.\n\nlibs/hwui/DeferredDisplayList.cpp:\nCompare shaders on the paint, instead of on DrawModifiers.\n\nlibs/hwui/DisplayList.cpp:\nlibs/hwui/DisplayList.h:\nRemove vector of SkiaShaders.\n\nlibs/hwui/DisplayListOp.h:\nAccess the SkShader on mPaint.\nRemove SetupShaderOp and ResetShaderOp.\n\nlibs/hwui/DisplayListRenderer.cpp:\nlibs/hwui/DisplayListRenderer.h:\nRemove resetShader, setupShader, refShader, and mShaderMap.\n\nlibs/hwui/FontRenderer.cpp:\nPass SkShader to setupDrawShader and setupDrawShaderUniforms.\n\nlibs/hwui/OpenGLRenderer.cpp:\nlibs/hwui/OpenGLRenderer.h:\nAdd LayerShader, a class inheriting from SkShader, to mimic the\nbehavior of SkiaLayerShader. Unlike SkiaLayerShader, it can be set on\nthe SkPaint so it can be inspected later.\nSet a LayerShader instead of a SkiaLayerShader.\nsetupDrawShader and setupDrawShaderUniforms now inspect an SkShader\npassed in.\nInspect SkShader instead of mDrawModifiers.mShader.\nRemove resetShader and setupShader.\nsetupDrawColorUniforms now takes a boolean indicating whether there is\na shader.\nAdd an inline function for accessing the SkShader on an SkPaint.\nIn setupDrawBlending(Layer*, bool), do not check the shader (which will\nnever be set), but do check whether the color filter may change the\nalpha (newly fixed behavior).\nIn setupDrawBlending(SkPaint, ...), check the SkShader and whether the\ncolor filter affects alpha (the latter is new behavior).\n\nlibs/hwui/Renderer.h:\nRemove pure virtual functions setupShader and resetShader.\n\nlibs/hwui/ResourceCache.cpp:\nlibs/hwui/ResourceCache.h:\nRemove functions for refing/unrefing shaders.\n\nlibs/hwui/SkiaShader.cpp:\nlibs/hwui/SkiaShader.h:\nMuch of this code was redundant and has been removed.\nConvert structs into class with nothing but static functions for\ncalling describe/setupProgram.\n\nlibs/hwui/TextureCache.cpp:\nlibs/hwui/TextureCache.h:\nUse the SkPixelRef as the key to the bitmap Lru cache, since shader\ninspection will provide a different SkBitmap pointer (though it will\nhold the correct SkPixelRef with the correct generation ID).\n\ntests/CanvasCompare/src/com/android/test/hwuicompare/DisplayModifier.java:\ntests/CanvasCompare/src/com/android/test/hwuicompare/ResourceModifiers.java:\nUpdate manual test to have more shaders: radial, sweep, compose,\ninvalid compose.\n\nBUG:10650594\nChange-Id: I2e7182b3fc28268e7ca82fac6780540b6b45365c\n"
    },
    {
      "commit": "d490aa426090fc358873821b47ef27ead0c97409",
      "tree": "72bc6fe950898174e6dc005505b02fba4be185d5",
      "parents": [
        "5ec9aed64cd03545eded622cca214c83c170ab22",
        "d1ad5e62fda248c6d185cde3cb6d9f01a223066c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri May 23 00:03:46 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 23 00:03:46 2014 +0000"
      },
      "message": "Merge \"Inspect SkShader to determine hw shader.\""
    },
    {
      "commit": "d1ad5e62fda248c6d185cde3cb6d9f01a223066c",
      "tree": "6e2dcdaaab6c38f46f36b944f9c4212c485ff3e2",
      "parents": [
        "951ecb77c5dfe69a4d19d26429286111333ab123"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon May 05 12:50:38 2014 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu May 22 14:46:59 2014 -0400"
      },
      "message": "Inspect SkShader to determine hw shader.\n\nInstead of duplicating internal info about SkShader, inspect the\nSkShader installed on the SkPaint.\n\ncore/java/android/view/GLES20Canvas.java:\nRemove setupModifiers, nResetModifiers, and nSetupShader.\n\ncore/jni/android/graphics/Shader.cpp:\nRemove calls to create/destroy the (previously) attached SkiaShader.\n\ncore/jni/android_view_GLES20Canvas.cpp:\nRemove native code for setupShader and resetModifiers.\n\ngraphics/java/android/graphics/BitmapShader.java:\ngraphics/java/android/graphics/ComposeShader.java:\ngraphics/java/android/graphics/LinearGradient.java:\ngraphics/java/android/graphics/RadialGradient.java:\ngraphics/java/android/graphics/Shader.java:\ngraphics/java/android/graphics/SweepGradient.java:\nRemove code keeping track of native SkiaShader.\n\nlibs/hwui/Caches.h:\nInclude Extensions.h.\n\nlibs/hwui/DeferredDisplayList.cpp:\nCompare shaders on the paint, instead of on DrawModifiers.\n\nlibs/hwui/DisplayList.cpp:\nlibs/hwui/DisplayList.h:\nRemove vector of SkiaShaders.\n\nlibs/hwui/DisplayListOp.h:\nAccess the SkShader on mPaint.\nRemove SetupShaderOp and ResetShaderOp.\n\nlibs/hwui/DisplayListRenderer.cpp:\nlibs/hwui/DisplayListRenderer.h:\nRemove resetShader, setupShader, refShader, and mShaderMap.\n\nlibs/hwui/FontRenderer.cpp:\nPass SkShader to setupDrawShader and setupDrawShaderUniforms.\n\nlibs/hwui/OpenGLRenderer.cpp:\nlibs/hwui/OpenGLRenderer.h:\nAdd LayerShader, a class inheriting from SkShader, to mimic the\nbehavior of SkiaLayerShader. Unlike SkiaLayerShader, it can be set on\nthe SkPaint so it can be inspected later.\nSet a LayerShader instead of a SkiaLayerShader.\nsetupDrawShader and setupDrawShaderUniforms now inspect an SkShader\npassed in.\nInspect SkShader instead of mDrawModifiers.mShader.\nRemove resetShader and setupShader.\nsetupDrawColorUniforms now takes a boolean indicating whether there is\na shader.\nAdd an inline function for accessing the SkShader on an SkPaint.\nIn setupDrawBlending(Layer*, bool), do not check the shader (which will\nnever be set), but do check whether the color filter may change the\nalpha (newly fixed behavior).\nIn setupDrawBlending(SkPaint, ...), check the SkShader and whether the\ncolor filter affects alpha (the latter is new behavior).\n\nlibs/hwui/Renderer.h:\nRemove pure virtual functions setupShader and resetShader.\n\nlibs/hwui/ResourceCache.cpp:\nlibs/hwui/ResourceCache.h:\nRemove functions for refing/unrefing shaders.\n\nlibs/hwui/SkiaShader.cpp:\nlibs/hwui/SkiaShader.h:\nMuch of this code was redundant and has been removed.\nConvert structs into class with nothing but static functions for\ncalling describe/setupProgram.\n\nlibs/hwui/TextureCache.cpp:\nlibs/hwui/TextureCache.h:\nUse the SkPixelRef as the key to the bitmap Lru cache, since shader\ninspection will provide a different SkBitmap pointer (though it will\nhold the correct SkPixelRef with the correct generation ID).\n\ntests/CanvasCompare/src/com/android/test/hwuicompare/DisplayModifier.java:\ntests/CanvasCompare/src/com/android/test/hwuicompare/ResourceModifiers.java:\nUpdate manual test to have more shaders: radial, sweep, compose,\ninvalid compose.\n\nBUG:10650594\n\nChange-Id: Iaa7189178bda1c55f96da044d2a9fa602ba36034\n"
    },
    {
      "commit": "1fcc3b18969815ab1a386823fa246f483465dd04",
      "tree": "2177410863f971e03c7f273124eec3798a9387e7",
      "parents": [
        "2566bc82cc7c348759e39632c6f88e4f7af10e1b",
        "918988c1ce5af002d41c7ac37f3fa490558b0c90"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue May 20 14:10:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 20 14:10:53 2014 +0000"
      },
      "message": "Merge \"Baby steps\""
    },
    {
      "commit": "918988c1ce5af002d41c7ac37f3fa490558b0c90",
      "tree": "86f781960d7997eb0e34f21a0895815cfb240d19",
      "parents": [
        "3a9f0175ba77498d821a75f710a523a2b83f7c17"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 19 10:28:35 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 19 15:28:05 2014 -0700"
      },
      "message": "Baby steps\n\n Run ViewPropertyAnimators with no listeners on the RenderThread\n\nChange-Id: I7ff5300db96c7f4b59b09e3fff8a0df173f132dd\n"
    },
    {
      "commit": "6f775255c82a1a1547f31188657722be392cc830",
      "tree": "026245e43c03b5de71ac7e7e3fd85e25186e2d53",
      "parents": [
        "f2985ba3f41c4619f7b64797d07e3a008e17b20a",
        "db22de8c4352e0111a192172342783626127f0ad"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon May 19 21:54:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 19 21:54:17 2014 +0000"
      },
      "message": "Merge \"Cleaned up CanvasCompare tests.\""
    },
    {
      "commit": "b19c19265448a6252b1c14f3da85d52e50be34c3",
      "tree": "c23aa43611ce8fa0c77570f26ed6d4bcf421fabd",
      "parents": [
        "b4f4f69e4c56ad1217be9a3c792d4723f6db2256",
        "42ea7eecd149161ed192d3029f0d77d1d08a4aa5"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon May 19 19:29:05 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 19 19:29:06 2014 +0000"
      },
      "message": "Merge \"Rename session classes to have media prefix, hide routes\""
    },
    {
      "commit": "db22de8c4352e0111a192172342783626127f0ad",
      "tree": "9a90a96db2c54ccfc67da2de8a13c7eb0430b668",
      "parents": [
        "2e465171e0e55aa4f254d4567c44a2778cf92c22"
      ],
      "author": {
        "name": "Antonio Calabrese",
        "email": "acalabrese@google.com",
        "time": "Mon May 19 10:03:11 2014 -0700"
      },
      "committer": {
        "name": "Antonio Calabrese",
        "email": "acalabrese@google.com",
        "time": "Mon May 19 10:08:34 2014 -0700"
      },
      "message": "Cleaned up CanvasCompare tests.\n\nChange-Id: I93b2f73283e3ab2b8679bf36f29c7bd6cb74c6bf\n"
    },
    {
      "commit": "80fe183c34d862839546ed214e5f69a427cc73d8",
      "tree": "0d3101e769a955d4733da4cc03a6fe2b7e04e23f",
      "parents": [
        "241cdab7597c9f6f203057125c9d629c285d574d"
      ],
      "author": {
        "name": "Ji-Hwan Lee",
        "email": "jihwan@google.com",
        "time": "Sat May 17 23:18:40 2014 +0900"
      },
      "committer": {
        "name": "Ji-Hwan Lee",
        "email": "jihwan@google.com",
        "time": "Sat May 17 23:18:40 2014 +0900"
      },
      "message": "Fix build\n\nChange-Id: If0e46d6fa0f5b176c3b5294eab58d25935b3b4f8\n"
    },
    {
      "commit": "91b5c658d958f5330f81a7a4d9692b036991473d",
      "tree": "d88ee7c92f1dfe3236faaa31cc95bb3781cbc7b7",
      "parents": [
        "d27a69c40d285c8911dac19c22926ec279110e51"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri May 16 18:04:03 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri May 16 18:04:03 2014 -0700"
      },
      "message": "Fix build\n\nChange-Id: Ic0b36cd0f6525c4bc1ad365cd089e9a9fac9dc17\n"
    },
    {
      "commit": "42ea7eecd149161ed192d3029f0d77d1d08a4aa5",
      "tree": "f3fe1644a6e7d480f5ef07983ca70d9ddef0ac37",
      "parents": [
        "8a2cfc309ab9126e90022916967c65a793c034f0"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri May 16 16:27:35 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri May 16 16:40:17 2014 -0700"
      },
      "message": "Rename session classes to have media prefix, hide routes\n\nThis renames several of the core session classes to be prefixed\nwith Media. It also adds @hide to all route references for now.\n\nChange-Id: Idb42897d490cf24626e4e93ca975b2cb93ec054c\n"
    },
    {
      "commit": "c9ee304c91b5572f0c1cd95e9bd1e4a84e28587d",
      "tree": "bfa9e5965d749b815ac7e55cea6b7b204db70cca",
      "parents": [
        "6c536eac59adf6e11694ba3800222ad03fe93d1f",
        "deeda3d337aed1eee218b89a7aba5992ced371f0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri May 16 00:37:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 16 00:37:29 2014 +0000"
      },
      "message": "Merge \"Round rect outline clipping\""
    },
    {
      "commit": "deeda3d337aed1eee218b89a7aba5992ced371f0",
      "tree": "15e13e84727baebce58b735e34ef5d198fd84389",
      "parents": [
        "fe4c1e225d147fe9cb5d7c121b7d6d11a312844e"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon May 05 19:09:33 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu May 15 16:36:12 2014 -0700"
      },
      "message": "Round rect outline clipping\n\nChange-Id: Iee9cf4f719f6f1917507b69189ad114fa365917b\n"
    },
    {
      "commit": "ff941dcd815021bb20d6504eb486acb1e50592c3",
      "tree": "1d417ed425ed1c08598689f302b31e23d73036f2",
      "parents": [
        "951ecb77c5dfe69a4d19d26429286111333ab123"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed May 14 16:34:14 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 15 08:53:39 2014 -0700"
      },
      "message": "Animator start value...\n\nChange-Id: Ifd35ed95a28c625086d7fa97764fe63ab4a997f1\n"
    },
    {
      "commit": "b7869fb3ff28d8a9aff2552a37a3a42cbfe6a6b3",
      "tree": "b690a676ff85a01c49802107defde09334eb1e33",
      "parents": [
        "1796635f7f0821a2165bec98e1f8bd93b8302d56",
        "46e546c28fd52b4dedf0a0fbd313db589cb9048b"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon May 12 22:41:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 12 22:41:43 2014 +0000"
      },
      "message": "Merge \"Remove the group tag.\""
    },
    {
      "commit": "cae6873161fd0794a794ef487c40074ee7e815aa",
      "tree": "4e81d048313c8d9588daf5ff312fbd9b29306a9b",
      "parents": [
        "0e8a427ab802d07aea4a7d6584cacf4a64b93de9",
        "315c329544d7c593d1072b071cbb92d9afe74021"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 12 22:11:00 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 12 22:11:00 2014 +0000"
      },
      "message": "Merge \"Add TimeInterpolator support to RNA\""
    },
    {
      "commit": "315c329544d7c593d1072b071cbb92d9afe74021",
      "tree": "b10fccc58bfb0267c049fd49d6a56dfc25c6ec23",
      "parents": [
        "a9c47626975181261a409d029d24d9c893bc4717"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 09 19:21:04 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 12 14:41:06 2014 -0700"
      },
      "message": "Add TimeInterpolator support to RNA\n\n Bug: 14678626\n\nChange-Id: I6554e7fcd42c49fac3618ca792083bb68e358f55\n"
    },
    {
      "commit": "f0009776203b4e5b705f575990d3fa466a10a1b3",
      "tree": "adce2f25011a4201e57d85b8a82faa3a483247a4",
      "parents": [
        "1cb088c1281deec042bdf00e0f2d227f7e5cd718",
        "fab50875b98e8274ac8ee44b38ba42521bbbf1f9"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon May 12 18:12:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 12 18:12:35 2014 +0000"
      },
      "message": "Merge \"Add support for building split APKs\""
    },
    {
      "commit": "46e546c28fd52b4dedf0a0fbd313db589cb9048b",
      "tree": "a248244def708aceabd7b72e060f4608fe8855a1",
      "parents": [
        "ddbbb8ae8561c9e61becd03faa40997d76ab5a51"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon May 12 10:11:41 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon May 12 10:54:11 2014 -0700"
      },
      "message": "Remove the group tag.\n\nSince we don\u0027t support animation, it is better not to expose the group tag for now,\nwhich will only lead to confusion.\nInternally, we keep the group class to represent multiple paths. But we don\u0027t\nallow multiple groups.\n\nChange-Id: I041ba32dff05ef6b1cd9d5ab1a1717e55a356145\n"
    },
    {
      "commit": "fab50875b98e8274ac8ee44b38ba42521bbbf1f9",
      "tree": "984277e1fadd3d5156bb6b05b21a1c23252b3a1b",
      "parents": [
        "57df4fd69e96c901ac0a027aa913f3f9086fbbf6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Apr 16 14:40:42 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Sun May 11 18:30:12 2014 -0700"
      },
      "message": "Add support for building split APKs\n\nBuild multiple APKs, each containing a disjoint subset\nof configurations. These can then be loaded into the device\nAssetManager and should operate as if they were never split.\n\nUse the idea of building multiple sets of files, where each\nset represents an APK. An ApkBuilder can place files\nin a set based on its configuration, but you can actually\nadd directly to a set, in the case of the resources.arsc and\ngenerated AndroidManifest.xml for splits.\n\nChange-Id: Ic65d3f0ac1bbd290185695b9971d425c85ab1de3\n"
    },
    {
      "commit": "ddbbb8ae8561c9e61becd03faa40997d76ab5a51",
      "tree": "8e3f6203e2298f2667e0648eb2ab74a33860b9de",
      "parents": [
        "f73c8401a6ee76612edf4422ad9aa0dbc2ecf9c8"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue May 06 11:07:37 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu May 08 10:16:34 2014 -0700"
      },
      "message": "Further cleaning on animated part of VectorDrawable.\n\nState changed support is gone.\nRename VAnimatedPath.\nRemove the obsolete documents.\nUpdate the tests to reflect the API changes.\n\nChange-Id: Icdc19c6519a4e29975877c1d167e61c8fa14a371\n"
    },
    {
      "commit": "ae493d967ff47312f7b6d80fdd67377c73214a5e",
      "tree": "a8abbd635fa7490dbd2f789b51d3c76d0f37b03e",
      "parents": [
        "fab01261366485924d7b969c86a498c0521c0d62",
        "030d619aaab044491381e72f222cc9ba8dabcc19"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed May 07 23:16:51 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 07 23:16:52 2014 +0000"
      },
      "message": "Merge \"Allow all loopers to be RT-accelerated\""
    },
    {
      "commit": "030d619aaab044491381e72f222cc9ba8dabcc19",
      "tree": "e16de5c7954af8d86404b38fa189824225533f49",
      "parents": [
        "ebb9e69513b690881a5bad7bf45c6f32e0fc7062"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed May 07 15:45:47 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed May 07 15:46:36 2014 -0700"
      },
      "message": "Allow all loopers to be RT-accelerated\n\n Bug: 14445956\n\nChange-Id: I03e92642aa118db5c7fefa1f09c3a5bde6ea671d\n"
    },
    {
      "commit": "a8f951462791a16f47e8c07e552232f31dcefac5",
      "tree": "a4a8d83d851f5a031333af2b842509d4370609b2",
      "parents": [
        "e7880d8eb1903d42e4e2a90c99b58e2240e01e82"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon May 05 14:23:49 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue May 06 17:26:06 2014 -0700"
      },
      "message": "Add a class for managing Session priority\n\nPriority is given first to the system priorty session, then to\nactive local sessions, then to active remote sessions, then to\nthe rest of the sessions. Ordering within categories is by whoever\nlast performed an action we associate with the user.\n\nThe stack has methods for getting filtered sets of this priority.\n\nThis also:\n-Changes publish to setActive(boolean)\n-Adds a flag for handling media buttons.\n-Adds a flag for transport controls instead of enabling once.\n-Unhides the setFlags API.\n-Updates the legacy helper to use the flags.\n\nChange-Id: I6ebeb27410de1b24149fd6e1785613ac444f0774\n"
    },
    {
      "commit": "0b3a7061881d0ea7ba6e3027d599076dc0e9ecc9",
      "tree": "afb9658f3855e49be3ef0d33d16732449864cc43",
      "parents": [
        "ebb9e69513b690881a5bad7bf45c6f32e0fc7062",
        "498213a265e05134b4a4fbf93dce69de1a47973c"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue May 06 17:12:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 06 17:12:34 2014 +0000"
      },
      "message": "Merge \"First step on API cleaning on the VectorDrawable to disable animation support\""
    },
    {
      "commit": "498213a265e05134b4a4fbf93dce69de1a47973c",
      "tree": "b7e3ac490cefbc916c55dd84c60f37507c06b2bc",
      "parents": [
        "9f5957989ef8d1e2219b624d731acfbf61a366d2"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon May 05 16:26:22 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon May 05 17:27:24 2014 -0700"
      },
      "message": "First step on API cleaning on the VectorDrawable to disable animation support\n\nCleaning on the API level, and related tests.\nThe animated icon will be only showing the initial state.\n\nTODO: Deep clean on the functionality part and attributes.\n\nChange-Id: I5723bc5b64f796c3a273d74bde02095751160a88\n"
    },
    {
      "commit": "f9be77940e365036fecd8cc0e491e8545c34e79b",
      "tree": "1f15905e518d09309bb35b863d7697deb2975f78",
      "parents": [
        "5d039c458c67e8c08334e597a6a8781eda6aab13"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 02 18:21:16 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 05 12:35:30 2014 -0700"
      },
      "message": "Make RenderNodeAnimator and WebView play nice\n\nChange-Id: Ifaefcf510b2d377663fc86f60608d6ec9be8329a\n"
    },
    {
      "commit": "c03c9167c2d9a1e22fb2b176b00a0524177fb037",
      "tree": "bc8045725f3384dff1c53a508041fa63f78e5ce8",
      "parents": [
        "6b003c9e3c0d3e5e31d9578e6d15facc6553e45e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 02 10:45:59 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 05 11:18:08 2014 -0700"
      },
      "message": "Further work on voice interaction services.\n\nThis makes VoiceInteractionSession a more first-class\nconcept.  Now the flow is that a VoiceInteractionService\ncalls startSession() when it wants to begin a session.\nThis will result in a new VoiceInteractionSession via the\nVoiceInteractionSessionService containing it, and the\nsession at that point an decide what to do.  It can now\nshow UI, and it is what has access to the startVoiceActivity\nAPI.\n\nChange-Id: Ie2b85b3020ef1206d3f44b335b128d064e8f9935\n"
    },
    {
      "commit": "52244fff29042926e21fa897ef5ab11148e35299",
      "tree": "2cc7b2f6dd47fe7863c6bc2b6a806e275c149ba9",
      "parents": [
        "abc975f539b4ea06c05b11ec56b0abe7c6fd95aa"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 01 21:27:37 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 02 13:43:46 2014 -0700"
      },
      "message": "Add CanvasProperty for drawCircle\n\nChange-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c\n"
    },
    {
      "commit": "6e6a6e863df6cc5e7b930b1197b1f6743ba31d8e",
      "tree": "90700f3328f5e89ca92fcecd438cf9286519ad8d",
      "parents": [
        "67e2196d07dd4dc1f3ce82fdaaa34cdbce89e1ce",
        "f1372428f2df781c71c71caa2f6a4db6f847cf10"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu May 01 17:14:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 01 17:14:56 2014 +0000"
      },
      "message": "Merge \"Add Session API calls to RCC and AudioManager\""
    },
    {
      "commit": "f1372428f2df781c71c71caa2f6a4db6f847cf10",
      "tree": "62b260454c523adda9dbd7ced72f273f7231edc6",
      "parents": [
        "4e8cf1508f22f88203cd9bf4467aaddd3f4502c6"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Apr 23 14:38:17 2014 -0700"
      },
      "committer": {
        "name": "Erik Pasternak",
        "email": "roboerik@android.com",
        "time": "Thu May 01 17:14:01 2014 +0000"
      },
      "message": "Add Session API calls to RCC and AudioManager\n\nThis makes RCC and MediaButtonReceiver (via AudioManager) also use the new Session APIs in parallel to their existing code. This will allow us to bring up the Session compatibility pieces without disrupting the old behavior and then switch everything over to just using the new APIs when ready.\n\nChange-Id: I33ce0a044dea3ec763f2302b91a5e415be27d4a4"
    },
    {
      "commit": "e45b1fd03b524d2b57cc6c222d89076a31a08bea",
      "tree": "31ad10387f2b59b3ee9d4396be44fce67228ca75",
      "parents": [
        "627aad9c200cb19aa505504dcd232a3710e96a25"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Apr 15 09:50:16 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Apr 29 10:42:11 2014 -0700"
      },
      "message": "RenderThread animator support\n\nChange-Id: Icf29098edfdaf7ed550bbe9d49e9eaefb4167084\n"
    },
    {
      "commit": "cc39e16cb98855f35079941b5e7e6eac2b7bc388",
      "tree": "f37cb0ce9da11a018446adfb83c756f5e76e77f1",
      "parents": [
        "802667b20b2170ddce94d70a022b68b64b9a7493"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 25 18:34:11 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 28 14:33:33 2014 -0700"
      },
      "message": "Add elevation, Z properties to View\n\nChange-Id: I3dd3b683a66e248a0fdf2ca69d1e962615b0daf9\n"
    },
    {
      "commit": "18f0d357f9693fe787a3e3777d8fdf01357a6e3f",
      "tree": "87ffa17a98fa81355a37e25b2c7fc649ffc4e9be",
      "parents": [
        "01c70711d5e4f1c3405bcd169be70605e92166f2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 25 17:06:18 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 28 10:54:15 2014 -0700"
      },
      "message": "Rework some of the voice interaction APIs.\n\nOn the app side, requests are now composed by subclassing\nfrom various types of Request objects.\n\nOn the service side, starting a voice interaction session\ninvolves starting another service that will then manage the\nsession.  This leads the service design much more to what\nwe want, where the long-running main service is very tiny\nand all the heavy-weight transient session work is elsewhere\nin another process.\n\nChange-Id: I46c074c6fe27b6c1cf2583c6d216aed1de2f1143\n"
    },
    {
      "commit": "6689c9700da7d391a0e0e90adfe9fa34a88fc3ea",
      "tree": "020b650a259bfc265802c39790e06479af3e78a1",
      "parents": [
        "ae166fe9e074de30c24f5bd567f6404b50cd9cfa",
        "7979388d4f7d5d9dbfcf7e1cc4709f8088c034ae"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Sat Apr 26 01:58:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 26 01:59:00 2014 +0000"
      },
      "message": "Merge \"Support Oval GradientDrawable outlines, and ShapeDrawable\""
    },
    {
      "commit": "7979388d4f7d5d9dbfcf7e1cc4709f8088c034ae",
      "tree": "fb8460098f57d66ed696b65a9cc70b51cf1128ff",
      "parents": [
        "07f0b8ee730be00a2a4bccf797bd8cb71e556546"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 25 13:08:25 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 25 15:59:47 2014 -0700"
      },
      "message": "Support Oval GradientDrawable outlines, and ShapeDrawable\n\nChange-Id: Ifc9e55757d3325cb28a1a812ec696512d4a18b39\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": "7bfe9c450db1bafb0a5469b94afcc81ae003e13a",
      "tree": "247ddc5221727084cd2a1b525f17fb108b1af78e",
      "parents": [
        "06916dcb05eeee8c809bb18d170a3f73b5ee1427",
        "589e7b40bee7768651bb4e5235675c43201361eb"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Apr 24 22:17:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 24 22:17:02 2014 +0000"
      },
      "message": "Merge \"Format the xml files for the VectorDrawableTest\""
    },
    {
      "commit": "589e7b40bee7768651bb4e5235675c43201361eb",
      "tree": "4d84d3fd1c54e45c0192ff87ee436575d3e1fcc3",
      "parents": [
        "f4201925d9e3d01e7a2a1db07c8186e4ba9a0fb5"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Apr 22 15:29:44 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Apr 24 10:13:07 2014 -0700"
      },
      "message": "Format the xml files for the VectorDrawableTest\n\nAll automatically done by the tool.\nNo real changes.\n\nChange-Id: I8a98be9441d7cb0b3636c2a850d1e7de9e79394f\n"
    },
    {
      "commit": "3f085429fd47ebd32ac2463b3eae2a5a6c17be25",
      "tree": "2930b7ee50ce98092fde97546a3d546c817038f1",
      "parents": [
        "fbb54b8363b66e0b22d519ee20d1a50e8b5340ee"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 15 16:18:08 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Apr 23 16:15:11 2014 -0700"
      },
      "message": "Clip TouchFeedbackDrawable effect to receiver Outline\n\nProjected RenderNodes are now wrapped with a ClipRect or masked\nSaveLayer, so that they are clipped to the outline of the projection\nreceiver surface.\n\nChange-Id: I1d4afc1bb5d638d650bc0b1dac51a498f216773e\n"
    },
    {
      "commit": "07c7077c54717dbbf2c401ea32d00fa6df6d77c6",
      "tree": "49f9e8019caa93c702c6d2d8213767de3d1499c6",
      "parents": [
        "46175e152891eabd9051523f2f077de5a5562996"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Mar 20 13:33:52 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Apr 17 15:02:33 2014 -0700"
      },
      "message": "Add RouteProviders to the new Media APIs\n\nCompiles and works with OneMedia. This currently is a rough test of\nthe system for finding, connecting to, and sending messages to routes.\nThis will just connect to the first route it finds when a request to\nopen the route picker is made (and disconnect when another request is\nmade).\n\nChange-Id: I5de5521a079471b9e02664be4654c0591dfd9a6d\n"
    },
    {
      "commit": "111db01a2668b7a1ec256a4166c322db061d1ddd",
      "tree": "091affd0c8c9cef6e51f419aa81a1d0490138f9d",
      "parents": [
        "72139a92ab7b4e7f986f57a3ac4134fd6c404968",
        "381ac080547ef8294edd871c5bb0b29d15f7158b"
      ],
      "author": {
        "name": "Christopher Lane",
        "email": "lanechr@google.com",
        "time": "Mon Apr 14 15:14:01 2014 -0700"
      },
      "committer": {
        "name": "Christopher Lane",
        "email": "lanechr@google.com",
        "time": "Mon Apr 14 15:14:01 2014 -0700"
      },
      "message": "resolved conflicts for merge of 381ac080 to master\n\nChange-Id: I779c49c48980ba7737ee4e7b04a9e4c3e02fca21\n"
    },
    {
      "commit": "381ac080547ef8294edd871c5bb0b29d15f7158b",
      "tree": "73ac97c2c2ecd14c8cb613708240fef55437e51e",
      "parents": [
        "f6ee7e3f47ee443078d803b03c0507ea1bf5cd54",
        "62538940de1755c71c56b0e5d81e12397e5de58a"
      ],
      "author": {
        "name": "Christopher Lane",
        "email": "lanechr@google.com",
        "time": "Mon Apr 14 21:16:27 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 14 21:16:27 2014 +0000"
      },
      "message": "am 62538940: Merge \"Add support for custom TXT records in NSD\" into klp-modular-dev\n\n* commit \u002762538940de1755c71c56b0e5d81e12397e5de58a\u0027:\n  Add support for custom TXT records in NSD\n"
    },
    {
      "commit": "b72d8b4091ab31948c91b0382a9b46afdc7ef7da",
      "tree": "125c59db3c5aec4d261966861c708f428030bd2d",
      "parents": [
        "a5c8d586f6ceff252336f72c6e15efbf4785e794"
      ],
      "author": {
        "name": "Christopher Lane",
        "email": "lanechr@google.com",
        "time": "Mon Mar 17 16:35:45 2014 -0700"
      },
      "committer": {
        "name": "Christopher Lane",
        "email": "lanechr@google.com",
        "time": "Mon Apr 14 14:10:36 2014 -0700"
      },
      "message": "Add support for custom TXT records in NSD\n\nChange-Id: I8e6dc9852ad4d273c71ad6a63a7fbd28a206806d\n"
    },
    {
      "commit": "52ca5a6b08424e1d26c1e5ccbc762c3b1f4fbc1d",
      "tree": "5245e644a7e7f4a351f59bdccf28e26d6fe8e2ce",
      "parents": [
        "286ffe4b28d2c004ce98f7ddb3a5f34441ab0d80",
        "dcc206dd76f5edbb588b06b3e4f3686cd9164f82"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 11 22:46:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 11 22:46:25 2014 +0000"
      },
      "message": "Merge \"Remove isolated z volume test\""
    },
    {
      "commit": "dcc206dd76f5edbb588b06b3e4f3686cd9164f82",
      "tree": "4bf3c332ad6ac2a508b6da26474bbf146222a131",
      "parents": [
        "494fb7b58a21a7a9a8eba3bacecffe115edcb8c6"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 11 14:20:08 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Apr 11 14:20:08 2014 -0700"
      },
      "message": "Remove isolated z volume test\n\nChange-Id: I757cd9445b7e8f564b5f1357d3e5c17032daf17e\n"
    },
    {
      "commit": "4e5c089ef3e62e7f658e71c0be262d09bd3e399b",
      "tree": "6482287ee4ff25d4f40d8e2fd162c85c2dbbc14e",
      "parents": [
        "90b39abaf95640021d15be70b5841abe8366b33e",
        "337e764debde56b1462fb5f2794b3e917d8a42e2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 11 01:21:14 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 11 01:33:20 2014 -0700"
      },
      "message": "resolved conflicts for merge of 337e764d to master\n\nChange-Id: I8168dbf42b68c2f7b5ccb300e0080dddc627af26\n"
    },
    {
      "commit": "337e764debde56b1462fb5f2794b3e917d8a42e2",
      "tree": "5a2b4e77654a0897408f04e429045e49359a0e4b",
      "parents": [
        "cd5e3f85fc9228b943ee8dfda0951e068953596c",
        "f24687e2731811fd0e3803b691fd47a659f89329"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 11 03:49:37 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 11 03:49:37 2014 +0000"
      },
      "message": "am f24687e2: Merge \"Plumb display power state through display manager.\" into klp-modular-dev\n\n* commit \u0027f24687e2731811fd0e3803b691fd47a659f89329\u0027:\n  Plumb display power state through display manager.\n"
    },
    {
      "commit": "037c33eae74bee2774897d969d48947f9abe254f",
      "tree": "9f6a33f07f48b9a08088eb287c1bfdd1fd97bda5",
      "parents": [
        "7289f3ab8f05db6206d696d75f460fadc05dc731"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 09 00:31:55 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 10 20:46:14 2014 -0700"
      },
      "message": "Plumb display power state through display manager.\n\nDeclare a new method, Display.getState() to retrieve the actual\npower state of a display.\n\nImproved documentation for Intent.ACTION_SCREEN_ON and\nIntent.ACTION_SCREEN_OFF to clarify what they really mean in\nterms of the interactive state of the device.\n\nDeprecated PowerManager.isScreenOn() and replaced it with\nPowerManager.isInteractive() with a more suggestive name and\nbetter documentation.\n\nRedirect display power state changes to go through the display\nmanager first and only then head over to the power manager for\nlegacy compatibility.\n\nEliminated the bright here and woke here policy flags since they\nwere unused.  Simplified the input dispatch policy somewhat.\n\nEnsure that screen wake locks are respected up until the point\nwhen dozing really begins.\n\nFixed a regression in DreamService where onDreamingStarted\nmight be called before onWindowAttached.\n\nBug: 13133142\nBug: 13472578\nBug: 13929355\nBug: 13760290\nChange-Id: Iabef96921dd554ce3768fb18619cefc3230b5fb0\n"
    },
    {
      "commit": "4b1a7c203d5e32c8b2dc7f4f54f28559ca31860a",
      "tree": "2f0d7a1fc92ca8ada9a0ecb5466ed1ac523b31c2",
      "parents": [
        "a47c3cc5375777a9adbc0dba95e6f133541f8d28"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 10 14:28:30 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 10 14:28:30 2014 -0700"
      },
      "message": "Fix build breakage\n\nChange-Id: I73d9ff5f38986b7acf83b85c1989203f472bc5fd\n"
    },
    {
      "commit": "4b3988d159e1c9faa2a7e16c9aca9951264bb429",
      "tree": "73e5fcab7ae4f6dee3b3cef682ad157f54809c87",
      "parents": [
        "2271a91c327cee8a6c1dffcbfd3419c95d56c37e"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 10 11:14:45 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 10 11:21:15 2014 -0700"
      },
      "message": "Cleaning up VectorDrawable\n\nUse argb evaluation method from animation package, lazily create paint,\nset default for stroke line cap and join. Fix scaling to bounds. Fix\ndrawable in test app.\n\nChange-Id: I245d5d6acc6ba9806743ab2bf9bf99aff3649c39\n"
    },
    {
      "commit": "7f1ab7a43fd7e65bbd7460334014ecc73dbb1b8d",
      "tree": "df90a883a56678e8b9096a33d70b842333dd6c1b",
      "parents": [
        "2989c2cb5c649a0035db18f5f7f25ae5c34d2721"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Apr 08 17:12:43 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Apr 08 17:12:43 2014 -0700"
      },
      "message": "Theming for more VectorDrawable attrs, add attrs to test app\n\nBUG: 13878079\nChange-Id: Ibcc8d67446c44cd8f681230fc484c7dc7411ffab\n"
    },
    {
      "commit": "fba3bad3870d607ecaed4f147788885c841c2ab3",
      "tree": "467f9a781557d1fd25f5a5acb8e281dd7db689a0",
      "parents": [
        "1970f570714a4746bf592e26731ea0ee8933d363"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Apr 02 16:35:24 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Apr 02 17:31:08 2014 -0700"
      },
      "message": "Clean up on VectorDrawable.\n\nRename the test from DynamicDrawableTest to VectorDrawableTest.\nRemove duplicate function calls in the test.\nFix comments in VectorDrawable\n\nChange-Id: I1ef87137088ccc10b1abdb40ca368345d9dbadab\n"
    },
    {
      "commit": "177dffd869ff1f5bdf816faead01a7dc4980bf75",
      "tree": "78f539d2298a96fc3d28ea812907afcc6aea11b1",
      "parents": [
        "30cac644f161433fca92ca65edcb26b351a04e5a"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Mar 31 15:55:35 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Apr 02 11:28:32 2014 -0700"
      },
      "message": "Getting the version information into the VectorDrawable\n\nThis will allow version controling for later API improvement.\nWe will only support version 1 so far.\n\nChange-Id: I322e63f6cff157ebb6df5d80625c39bf96ff3659\n"
    },
    {
      "commit": "f1977b4500e82b72ea6aa5c46d97406a20017caf",
      "tree": "9d6b4e63bc4b4c70eb9fbd5eb2cff9587ba45485",
      "parents": [
        "9ad8a5331ca5eb6390c702ec57952043b56170bf"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 24 16:25:51 2014 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 27 12:37:47 2014 -0700"
      },
      "message": "Expand install observer semantics\n\n...and now fail conservatively when two apps both attempt to define\nthe same permission.  Apps signed with the same certificate are\npermitted to redefine permissions.\n\nWe also finally have a (hidden) interface class for observing package\ninstallation so that we can now rev the interface without breaking\nexisting callers.\n\nBug 13551375\n\nChange-Id: Ifa4e59154dcccbb286ee46a35a6f25e4ad0f0f01\n"
    },
    {
      "commit": "49224acd789b2aae60bd0ec03cbf60cb9c712917",
      "tree": "3e48aa1b464017331b580e25f85381e7c83efae7",
      "parents": [
        "2cd84701fe3df4ad65fc1c794ba403e6c9d88923",
        "abb7d134c02ac60091108c491dafb00877093170"
      ],
      "author": {
        "name": "John Hoford",
        "email": "hoford@google.com",
        "time": "Thu Mar 27 00:14:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 27 00:14:14 2014 +0000"
      },
      "message": "Merge \"add Dynamic Drawable (vector graphics for Icons)\""
    },
    {
      "commit": "abb7d134c02ac60091108c491dafb00877093170",
      "tree": "1029858bd65910fb1ae1c73feef86bee9fb1268c",
      "parents": [
        "5e44cadfd69c210c11f80cfe599718617a0e6676"
      ],
      "author": {
        "name": "John Hoford",
        "email": "hoford@google.com",
        "time": "Mon Feb 24 15:21:42 2014 -0800"
      },
      "committer": {
        "name": "John Hoford",
        "email": "hoford@google.com",
        "time": "Wed Mar 26 16:59:54 2014 -0700"
      },
      "message": "add Dynamic Drawable (vector graphics for Icons)\n\nChange-Id: Id44b7f6d1b8dd073b8ed35e2142a380550f2449b\n"
    },
    {
      "commit": "b0569b98d5dd632e86f88fd932372a618efac0c9",
      "tree": "423863100d1c754d07bebec75938812a07a37f2e",
      "parents": [
        "9a8afb1c3aaf49f7d2fae5033b0895ed7de06ce3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Mar 25 15:54:02 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Mar 25 17:04:56 2014 -0700"
      },
      "message": "Use new build var to depend on an APKs resources\n\nSome other projects use LOCAL_APK_LIBRARIES and don\u0027t yet\nwork with the new shared library changes.\n\nChange-Id: Ibb54bc1b5e3eb1252cf5b4e45249b089d25854ac\n"
    },
    {
      "commit": "de898ff42912bd7ca1bfb099cd439562496765a4",
      "tree": "849b591a99a7e6a8fd790aedca3afff6f6b6eade",
      "parents": [
        "05f79758cd2688f89444a38baba326a0a1c1a438"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 29 18:20:45 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Mar 25 12:09:56 2014 -0700"
      },
      "message": "Shared library resource support\n\nShared libraries can now export resources for applications\nto use.\n\nExporting resources works the same way the framework exports\nresources, by defining the public symbols in res/values/public.xml.\n\nBuilding a shared library requires aapt to be invoked with the\n--shared-lib option. Shared libraries will be assigned a package\nID of 0x00 at build-time. At runtime, all loaded shared libraries\nwill be assigned a new package ID.\n\nCurrently, shared libraries should not import other shared libraries,\nas those dependencies will not be loaded at runtime.\n\nAt runtime, reflection is used to update the package ID of resource\nsymbols in the shared library\u0027s R class file. The package name of\nthe R class file is assumed to be the same as the shared library\u0027s\npackage name declared in its manifest. This will be customizable in\na future commit.\n\nSee /tests/SharedLibrary/ for examples of a shared library and its\nclient.\n\nBug:12724178\nChange-Id: I60c0cb8ab87849f8f8a1a13431562fe8603020a7\n"
    },
    {
      "commit": "2fcce9612d32df06c8dcd3c522411f4f49ad8138",
      "tree": "95e8b6c41557810a0999317b73529c73201eb1cb",
      "parents": [
        "5b39f63c2489c16e2409c7e6bac7cced7a23c049"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Mar 19 18:42:31 2014 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Mar 19 18:42:31 2014 -0400"
      },
      "message": "Fix broken tests to fix build\n\nChange-Id: I6bb9d178a9f1b09c1b247ec9cbdd57507295c4bf\n"
    },
    {
      "commit": "f666ad7046c0b1b255835f75aeb7d1391067df93",
      "tree": "fbb47933fdf2a0d9d2d4b85c34f0c39a419ba74b",
      "parents": [
        "6b2b14028ddec40b70c346f5a1e4d266720fadcd"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 14 16:24:57 2014 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Mar 17 10:30:32 2014 -0700"
      },
      "message": "Rename DisplayList-\u003eRenderNode\n\nChange-Id: Idcca6f26ba6282594789962f5edb3ed53a290fef\n"
    },
    {
      "commit": "adb3a198beb015ac505aecde585f0c8bca3a29e2",
      "tree": "6b585963f16057089543121ff3b2f79882f1dbfb",
      "parents": [
        "5b98618f2471cbea8466ec5a4dea0a819a7c0f3c",
        "05d855defe8610854592ddd7baf5644ac6d4da15"
      ],
      "author": {
        "name": "Steve Moyer",
        "email": "smoyer@google.com",
        "time": "Sun Mar 16 17:31:18 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Mar 16 17:31:18 2014 +0000"
      },
      "message": "am 05d855de: am d93e7b24: Merge \"Don\\\u0027t attempt to launch disabled activities in smoke test.\"\n\n* commit \u002705d855defe8610854592ddd7baf5644ac6d4da15\u0027:\n  Don\u0027t attempt to launch disabled activities in smoke test.\n"
    },
    {
      "commit": "8ae0f34db936a649ddaf9cdd086c224f6514efeb",
      "tree": "6699d2481e68c205dc62a35c1c434f05d721c03f",
      "parents": [
        "1ebd4ad6cd645830d1eca12b2108c6ab4327c108"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Feb 24 18:02:08 2014 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Mar 12 15:09:42 2014 -0700"
      },
      "message": "Adds a TransportController and TransportPerformer to session\n\nThis makes transport controls a primitive interface on sessions with\na way to create the performer, register callbacks, and send commands\nand updates between controllers and performers. This still needs some\ncleanup but has been tested with OneMedia.\n\nChange-Id: I373d35f7ccc383b8421bd14044457467d80425f3\n"
    },
    {
      "commit": "f481907990a0667e8dc6b09cca87d8e52d489e25",
      "tree": "5ea204253d62c9fead628b33d6bde37d75e6d376",
      "parents": [
        "16340670aff0ec980fff4354d785a38b11c33d3b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Mar 07 14:15:57 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Mar 07 14:15:57 2014 -0800"
      },
      "message": "Fix build, removing hidden attr\n\nChange-Id: Ia820e76345ad6077025e887afdaa91e08eecd649\n"
    },
    {
      "commit": "777b8a808ee76401429f7210ebb7194632040d45",
      "tree": "a0bdcd772eb7d71fc80f3e4eb77f52d2b8288ec4",
      "parents": [
        "a258b4a9e8a519c3b181848c9b8fb2f0e2142d8f",
        "422b2656741520448815b230f7c73ad67a4c4e95"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Mar 05 22:17:21 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 05 22:17:21 2014 +0000"
      },
      "message": "am 422b2656: resolved conflicts for merge of c45ff35f to klp-modular-dev\n\n* commit \u0027422b2656741520448815b230f7c73ad67a4c4e95\u0027:\n  Adapt to underlying changes in the PBKDF2 implementation\n"
    }
  ],
  "next": "422b2656741520448815b230f7c73ad67a4c4e95"
}
