)]}'
{
  "log": [
    {
      "commit": "7a23b49a8ceb07d3fa12c45fd42cd16131fd746a",
      "tree": "3d0ba87bbc84830260a01a34d0abb5c13d6dd4d3",
      "parents": [
        "c887843b19c5a31bcd14e0b29b035d2a6e1e6149"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Tue Apr 24 22:12:36 2012 -0700"
      },
      "committer": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Fri Apr 27 16:46:57 2012 -0700"
      },
      "message": "Fixes for optical bounds feature.\n\n1. Make the feature opt-in (ViewGroup::layoutMode defaults to CLIP_BOUNDS) without inheritance.\n2. Rename COMPONENT_BOUNDS to CLIP_BOUNDS.\n3. Rename LAYOUT_BOUNDS to OPTICAL_BOUNDS.\n4. Complete GridLayout implementation.\n5. Change the default_gap between components to 8dp, to align with the Style Guide.\n\nChange-Id: I8d40dfc5f4ca469f6424eb3ff60d07bec56e3a9f\n"
    },
    {
      "commit": "ca7086f5bdbc404b01863770b6023d069f4ab720",
      "tree": "c7ef1eebadfc85a21e98772d446ac903f54a1de2",
      "parents": [
        "886f138dfe38c222fc955f64d0bff5e21ce54057",
        "a6a353653d9147a96cd21543448d9be7631cb424"
      ],
      "author": {
        "name": "Omari Stephens",
        "email": "xsdg@android.com",
        "time": "Fri Apr 27 11:10:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 11:10:02 2012 -0700"
      },
      "message": "Merge \"Create a catch-all testcase to handle asynchronous crashes and ANRs\" into jb-dev"
    },
    {
      "commit": "a6a353653d9147a96cd21543448d9be7631cb424",
      "tree": "88acbecf6895723a61b50524a6b5325fc0c3604b",
      "parents": [
        "fc8e5eaa0368e724765f0fed61b8f25fdbde917a"
      ],
      "author": {
        "name": "Omari Stephens",
        "email": "xsdg@android.com",
        "time": "Wed Apr 25 21:07:57 2012 -0700"
      },
      "committer": {
        "name": "Omari Stephens",
        "email": "xsdg@android.com",
        "time": "Thu Apr 26 15:46:30 2012 -0700"
      },
      "message": "Create a catch-all testcase to handle asynchronous crashes and ANRs\n\nBug: 5913065\nChange-Id: I391aff6919a9586159ec0898279e7254eed990f8\n"
    },
    {
      "commit": "e9e260fbc0892885790eeccb4d803f7d81f261aa",
      "tree": "b1cf840b4956cdfd07e1fa0db6ed64fd7d053ca2",
      "parents": [
        "8a1da405235ca2a34eb01d57363a842a27ae9580"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Apr 24 13:01:57 2012 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Apr 26 13:59:51 2012 +0100"
      },
      "message": "Add tests for uncaught exceptions from methods called through the Java Bridge\n\nThis is a cherry-pick from master. See\nhttps://android-git.corp.google.com/g/184260\n\nIf a method called on a Java object through the Java Bridge throws an uncaught\nexception, we throw a JavaScript exception.\n\nSee WebKit change https://android-git.corp.google.com/g/184252\n\nBug: 6386557\nChange-Id: Ie2a97a26372fb11782b35db09bc2046fb7eb1f86\n"
    },
    {
      "commit": "231888990999e56a1d41162ead098b3e7ed21a45",
      "tree": "39bda0329d299d564b7816dd64bf1ac0eeafab31",
      "parents": [
        "ba698216208ce3a4bbafc80077117edadd467427",
        "3aa800b9f93a99d6f25623ed24ab5f6fec213c15"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Apr 24 14:11:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 14:11:26 2012 -0700"
      },
      "message": "Merge \"Add tests for reflection and improve JavaDoc for Java Bridge\""
    },
    {
      "commit": "177a4bb37ffafbba1ba9e447996754bbd8421998",
      "tree": "b1bea543e0b70692324504f34e2fd6e1b8d3e3c4",
      "parents": [
        "e66b1da6dbae29c52374ebf4651d3538e57a2eff",
        "9e6fa17b475a537605f9673c3a065c28ea29bb91"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 24 13:55:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 13:55:26 2012 -0700"
      },
      "message": "Merge \"Add useMinimalMemory\u003dtrue test to TileBenchmark\""
    },
    {
      "commit": "3aa800b9f93a99d6f25623ed24ab5f6fec213c15",
      "tree": "8a9d91d359a0da899738e53e67a472173af2395f",
      "parents": [
        "f03f64d81036cb453345462714beb4298eac32a9"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Apr 24 13:01:34 2012 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Apr 24 21:34:42 2012 +0100"
      },
      "message": "Add tests for reflection and improve JavaDoc for Java Bridge\n\nBug: 5461416\nChange-Id: Ic339b97a9424d8848f8afd47ba00cbbee4d60c9d\n"
    },
    {
      "commit": "b2b15716d8b5b5814e82575a592e76f522f6a4c6",
      "tree": "1d7ae1c64097c1ab4ba6250c17430d6e79e96dcc",
      "parents": [
        "0b7d747e900dd9e6e6f62f10772c2dded9b9d0c6",
        "10ca24a97cefc14fca1b26f59e627f487b3b108b"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Tue Apr 24 11:36:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 11:36:54 2012 -0700"
      },
      "message": "Merge \"Promote layout debugging code from GridLayout to ViewGroup.\""
    },
    {
      "commit": "10ca24a97cefc14fca1b26f59e627f487b3b108b",
      "tree": "fcdcad2bf4fb8df3e780abd31a9a1b62d5bb1c1f",
      "parents": [
        "6ec0c6afafd9bad5e4c33578e9355997a280649c"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Mon Apr 23 15:38:27 2012 -0700"
      },
      "committer": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Mon Apr 23 16:41:04 2012 -0700"
      },
      "message": "Promote layout debugging code from GridLayout to ViewGroup.\n\nLayout debugging code draws rectangles around:\n\n1. Layout insets (red)\n2. Bounds (blue)\n3. Margins (magenta)\n\nLayout debug mode is enabled with:\n\nadb shell setprop debug.layout true\n\nChange-Id: Ia155a2d0fbf33693a1e3c040f627ea3a534e1aff\n"
    },
    {
      "commit": "d3101b1d300f5942fdb7dfa323dc8830c4edc007",
      "tree": "4140cbc09c362fd7584fec4f87dff13a79b22388",
      "parents": [
        "eb65757d24a97450fed160d66e86a4a62c392c5c"
      ],
      "author": {
        "name": "Jonathan Dixon",
        "email": "joth@google.com",
        "time": "Thu Apr 12 20:51:51 2012 +0100"
      },
      "committer": {
        "name": "Jonathan Dixon",
        "email": "joth@google.com",
        "time": "Mon Apr 23 12:43:02 2012 +0100"
      },
      "message": "Seperate interface and implementation of 4 WebView classes\n\nGeolocationPermissionsClassic\nCookieManagerClassic\nWebIconDatabaseClassic\nWebStorageClassic\n\nAlso creats a WebViewFactory top level class - this remains hidden\nfor now, as it\u0027s currently only used implicitly by the other\npublic WebView classes to create the provider instances.\n\nBug: 5626244\n\nChange-Id: Id0ca1c16d8058f31a86414bbc0e8a55db4b907ba\n"
    },
    {
      "commit": "b0668e4d1964cea8d54f9bc49445ddd0e4530ba3",
      "tree": "e831092c15a09a339a00908aeff6a0acc763d773",
      "parents": [
        "ad04c9ccc9d30b44ef4d95e9bed195b83a22b03c"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Apr 19 22:02:04 2012 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Apr 19 22:02:04 2012 -0700"
      },
      "message": "follow up file original policy change\n\nenable the access for webview test\n\nChange-Id: Iebde5f3175eabf6e084dc1a2fe8b9dce280ebe7c\n"
    },
    {
      "commit": "9e6fa17b475a537605f9673c3a065c28ea29bb91",
      "tree": "050d4cb71219ba77569bb0d047bb2f574406c2d0",
      "parents": [
        "d7f256dd2f31ec74c8154f783a660dfe3e55b036"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Apr 19 15:08:47 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Apr 19 15:08:47 2012 -0700"
      },
      "message": "Add useMinimalMemory\u003dtrue test to TileBenchmark\n\nChange-Id: I1d0d0eebbf0847fe03dfbc7176275a40e7ca0c52\n"
    },
    {
      "commit": "3dfc82b5677a77e805511c263197c95c52a1665e",
      "tree": "701641d853ef7f1d532928964e5a0196518e7d08",
      "parents": [
        "f66bc73fa72b5260facf561579aae9e45ee25990",
        "bc5559f1922d72715940f754faffc82da4100eab"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 19 07:01:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 07:01:37 2012 -0700"
      },
      "message": "Merge \"Expand too-small notifications to fill 64dp.\""
    },
    {
      "commit": "bc5559f1922d72715940f754faffc82da4100eab",
      "tree": "efe383a3517bd93bb63a5f0a2a90262a4229478c",
      "parents": [
        "26fbf27ad1e9f9c26a82097fe306f07ec36e8410"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 19 01:08:15 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 19 01:08:15 2012 -0400"
      },
      "message": "Expand too-small notifications to fill 64dp.\n\nAlso fix NotificationTestList so it runs again.\n\nChange-Id: I2fb28cd9cfad25a7a1b17ccef9ccd741c3aa99b0\n"
    },
    {
      "commit": "bbd51f1e360b22eece1d74bd65c7e6a0b59dee59",
      "tree": "3919c1cfffc46790c5435ab9a02bc7c3eb604572",
      "parents": [
        "f341e5545c8ac8ccec26ec549d57d2ddee069f55"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Wed Apr 18 15:09:05 2012 -0700"
      },
      "committer": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Wed Apr 18 16:06:27 2012 -0700"
      },
      "message": "Share Insets instances between views that have the same background (Drawable)\n\nChange-Id: I47d93ccca6f553b678d25966d10d7a0a97cfa5ea\n"
    },
    {
      "commit": "d7f256dd2f31ec74c8154f783a660dfe3e55b036",
      "tree": "38892a2e10a70a8390e220942307b26c396cf201",
      "parents": [
        "06fd472390126c74977ce9a0b2f912e91ebf2744"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Apr 17 16:01:34 2012 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Apr 17 16:01:34 2012 -0700"
      },
      "message": "TileBenchmark test app needs read sdcard permission\n\nSince the app is using JB API level, it\u0027s required to declare\nan explicit READ_EXTERNAL_STORAGE permission\n\nChange-Id: I84142d51aeab4bc28269a6fea716c8663e080118\n"
    },
    {
      "commit": "91b7be1867c1777d5f17ff96e5605672d26f5607",
      "tree": "dcccfb1a26cb421bd1b378fe602be8eb9c3bdcf9",
      "parents": [
        "cae2db38f526f4baa064437d06d32a88f524eca1",
        "64275552a60bed5c2edc9e9a6d966ded658b0ba3"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Apr 17 10:34:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 10:34:41 2012 -0700"
      },
      "message": "Merge \"Fixing test affected by API renaming.\""
    },
    {
      "commit": "c24ad532414d428b65a72598b97f096b887af81f",
      "tree": "07867c3199ed7ac95c26555d8620fa4f143b74ed",
      "parents": [
        "901cb6160d694e18845be719cc3975444755ff59",
        "8debcfa2904fd1e2fc6389bc49575f3fb2b251b3"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Mon Apr 16 14:37:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 14:37:24 2012 -0700"
      },
      "message": "Merge \"Build Smoke tests against the SDK.\""
    },
    {
      "commit": "64275552a60bed5c2edc9e9a6d966ded658b0ba3",
      "tree": "2660553287d1b2a5da69882088f6f4d34a6952d9",
      "parents": [
        "f804ba131b4f543ece1973126c0ae5d4b919ee8b"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Mon Apr 16 11:21:02 2012 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Mon Apr 16 11:21:02 2012 -0700"
      },
      "message": "Fixing test affected by API renaming.\n\nChange-Id: Ib42e1958b385069461ca9fec1ccd9f578c5d47d3\n"
    },
    {
      "commit": "8debcfa2904fd1e2fc6389bc49575f3fb2b251b3",
      "tree": "438b0068030d0553e83cc9c2fee49aaade19eb81",
      "parents": [
        "fe07820bf3bb87a0b44609833af791f01b942ede"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Mon Apr 16 10:35:32 2012 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Mon Apr 16 10:35:32 2012 -0700"
      },
      "message": "Build Smoke tests against the SDK.\n\nDone so the new \u0027launch all apps\u0027 test can be utilized on older platforms.\n\nChange-Id: Ie74ce258ceb372e78a0634a633bbb19dcd8e2779\n"
    },
    {
      "commit": "4e1cb3b7942d3ca05918604358b4ef83815ce448",
      "tree": "8c4d1b32367dda945548a3d1a1b895ad39a3ac03",
      "parents": [
        "7c886acf2e60d7f4a02197401d1d046ef3b870b4",
        "1557fd7809078e421f751efc7d2539b3efdc54b2"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Mon Apr 16 10:03:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 10:03:17 2012 -0700"
      },
      "message": "Merge \"Fix for bug 6110465.\""
    },
    {
      "commit": "1557fd7809078e421f751efc7d2539b3efdc54b2",
      "tree": "90f58eac3acab19fa61719219814acc7d6683dcd",
      "parents": [
        "c58a6d2da4790921743bdb4997ee59f8be1632e3"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Wed Apr 04 23:41:34 2012 -0700"
      },
      "committer": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Fri Apr 13 16:25:08 2012 -0700"
      },
      "message": "Fix for bug 6110465.\n\nAdd layout bound metadata to 9-patch files and make layouts take them into account.\n\nThis CL contains a proposed API for dealing with layout bounds.\n\nThis solution exposes:\n\n1. Class: Insets - for storing layout Insets (and later possibly padding).\n2. Methods: View:(get/set)LayoutInsets() - for storing layoutBounds.\n3. Methods: ViewGroup:(get/set)LayoutMode() - for controlling layoutMode.\n\nIt also iuncudes the changes to GridLayout to support layout bounds.\n\nChange-Id: I60c836b6530b61c5abf37f93ee9c44aad73573f1\n"
    },
    {
      "commit": "c2346134bb519a54d50655cbef940fc3fdec60a9",
      "tree": "6b86f97b2175bc2b0181cbf123e4f874867e7c91",
      "parents": [
        "069c4f3f0c8190289d60296ec54fafa56abb4776"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 13 01:55:38 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 13 04:05:17 2012 -0700"
      },
      "message": "Extract Vibrator implementation from interface.\n\nMoved the core logic of Vibrator into SystemVibrator, potentially\nallowing for the creation of other Vibrator subclasses.\n\nFixed several places where we were creating new Vibrator\ninstances unnecessarily instead of getting it from the Context.\n\nIt is safe to make Vibrator abstract because its constructor\nwas hidden from the SDK so it was not possible to subclass it.\n\nBug: 6334179\nChange-Id: I18ece6544c26a7efb2d5099f8346a10aef8a5e18\n"
    },
    {
      "commit": "0e2c70112b9c88fef3050c1c762642a5256323a9",
      "tree": "d3cff313506f4c730b6f2362112cbcceaf8eb3ee",
      "parents": [
        "6c19be48655aac5c8415a763cbe023097a40c4b0",
        "918e840628a0b40a95fd42618f604ea5a44aebae"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Apr 12 16:06:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 12 16:06:02 2012 -0700"
      },
      "message": "Merge \"Unhiding J API\u0027s for Renderscript.\""
    },
    {
      "commit": "5ba2efeb9faaf7db9da205102b9a7f40b4b89f27",
      "tree": "06c0f760ff61e68df911f5edf8c6289055444fef",
      "parents": [
        "7e6ee74ac40396746f814d57160e30543e632c9a"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Aug 03 13:57:49 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Apr 12 11:08:13 2012 +0100"
      },
      "message": "Minor clean-up in DeviceOrientation and DeviceMotion\n\nNo functional change.\n\nSee corresponding external/webkit change\nhttps://android-git.corp.google.com/g/#change,125700\n\nChange-Id: I2693328cb058820587ac43dd3121818959efd2d0\n"
    },
    {
      "commit": "918e840628a0b40a95fd42618f604ea5a44aebae",
      "tree": "cbaffd8e29056a5a92decce2ca0982cf4315bcbf",
      "parents": [
        "5713c9cfa9a0ed7625c8a48925a5c33b2c070460"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Apr 11 14:04:23 2012 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Apr 11 14:04:23 2012 -0700"
      },
      "message": "Unhiding J API\u0027s for Renderscript.\n\nChange-Id: I8c2d43ccca94549bc6ca1a914106567ccc125503\n"
    },
    {
      "commit": "72afa117b773b2e57c7bb17753fd77d5a03af625",
      "tree": "eb99d3da4324825b09aee6db22a4694d969b2140",
      "parents": [
        "081cc9a1f5cf35a4a0ffa959ab97242b27a33ed4"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Apr 10 20:11:12 2012 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Apr 10 20:15:47 2012 -0700"
      },
      "message": "Add tests for rootn() to math_conformance.\n\nBUG\u003d6319010\n\nChange-Id: I3fa7d688e6f3b66f51a1c25a2c2104b659691c8b\n"
    },
    {
      "commit": "b52e3e55098c4a6e3dbfe19885895411cfb38911",
      "tree": "2b40b88a64184c36d5a3794b8dab7450cc9d99eb",
      "parents": [
        "5713c9cfa9a0ed7625c8a48925a5c33b2c070460"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 06 11:12:08 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 06 13:38:29 2012 -0700"
      },
      "message": "INetworkStatsSession with lifecycle for caching.\n\nUsers outside system_server now explicitly communicate their\nlifecycle, which keeps a strong-reference chain to any fully loaded\nNetworkStatsCollection histories.\n\nBug: 6236498\nChange-Id: I8e22739b6e89a626b676967a736d7117fd000778\n"
    },
    {
      "commit": "ac14351e16e1258f1cb54e2bf772b8be004eb2b8",
      "tree": "55c22fe8e19d35764f00a6ffad899e4fd2c4ccd0",
      "parents": [
        "030711c39b6093024d784c1c3d7566bd5a3e3489"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 18:57:33 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 19:33:11 2012 -0700"
      },
      "message": "Move some APIs from window manager to input manager.\n\nSimplified input injection API down to just one call.\n\nRemoved all input state reading API.  It was only used by the\nwindow manager policy and required a permission that applications\ncould not obtain.  READ_INPUT_STATE is now unused and deprecated.\n\nChange-Id: I41278141586ddee9468cae0fb59ff0dced6cbc00\n"
    },
    {
      "commit": "330401243ed992eb62e59c8ac34d6862eb64d712",
      "tree": "41296a3eec05835799c64070afa4493428ca1032",
      "parents": [
        "05b8594f5cf9c8515ec0bcd2949e4ac263db59f6",
        "8fc27e8b87bd1def854a03d84009143b315d4176"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 05 16:17:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 16:17:54 2012 -0700"
      },
      "message": "Merge \"Support metered Wi-Fi NetworkPolicy.\""
    },
    {
      "commit": "8fc27e8b87bd1def854a03d84009143b315d4176",
      "tree": "f91a0a4b574e925f15c27f2e39db848b0140fc47",
      "parents": [
        "1c35d117f01b5a6f66b82c57eb29350f16694070"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 04 20:40:58 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 05 16:02:25 2012 -0700"
      },
      "message": "Support metered Wi-Fi NetworkPolicy.\n\nAdd networkId field to NetworkIdentity to identify Wi-Fi networks by\nSSID.  Add support for policies without usage cycles.\n\nOnly apply mobile policies when SIM state is ready, which is cleaner\nthan just checking for airplane mode.  Also avoids creating no-op\ndefault policies when subscriberId is null.\n\nBug: 3001465, 3291052\nChange-Id: I1f8aaa49a5db306df022c402ea7f3f5d4bc0cfc7\n"
    },
    {
      "commit": "5459c43b83c3a9d0406f01deffaadd2ef458518c",
      "tree": "9193ba676d54cf522aec320b089692c9fcecbbd8",
      "parents": [
        "5b4a57973c85afb2f5ec833dc2c202111399b871",
        "f87d19621dc2a30232bba1f51862a0b671eb9729"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 05 11:47:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 11:47:02 2012 -0700"
      },
      "message": "Merge \"Clean up status bar, system bar, navigation bar management.\""
    },
    {
      "commit": "7c8fd157da36b68529b08b820051ce775f84a9bf",
      "tree": "4655607a82f31053f11d90f11008f60ab24f2a69",
      "parents": [
        "72a9d3f449d4c5755cb23bfef07c60bdbbf9fa0e",
        "dc419d79fc425d8df3ec85f1f2daf2e34b09e923"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Apr 04 16:09:21 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 16:09:21 2012 -0700"
      },
      "message": "Merge \"remove toast from animation benchmark\""
    },
    {
      "commit": "f87d19621dc2a30232bba1f51862a0b671eb9729",
      "tree": "8bf53cb17770100b6fd1c1f31f1b27eb7121ce3e",
      "parents": [
        "5b86de1e6b8f597ab2444de0f2274546321f1810"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 04 12:48:24 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 04 16:00:45 2012 -0700"
      },
      "message": "Clean up status bar, system bar, navigation bar management.\n\nThe status bar and navigation bar are two completely separate\nelements, with their own semantics.  The system bar now classifies\nitself as a navigation bar, since that is really how it behaves.\n\nThis required rewriting the HDMI resizing code, so that it is\nall done by PhoneWindowManager since that is what is responsible\nfor the size of the navigation bar (and thus now system bar).  This\nactually gets rid of a fair amount of code, and means we can also\ndo the same thing for a pure navigation bar.\n\nLikewise the system bar now has the navigation bar ability to be\nhidden when requested by system UI flags.  To get the behavior\nwe want on Xoom, we only allow the nav bar to be hidden when it\nwill help provide a better aspect ratio for showing widescreen\nvideos.\n\nFinally the nav/system bar now animates when hidden and shown.\n\nChange-Id: Ie927154b68376a0b61802f99171ff56b8da92e7a\n"
    },
    {
      "commit": "d779412c58d329ada4d1d79bdb85700e90cbc8d6",
      "tree": "116990a4f91dc01526b67aee58ba2b1d04bde95f",
      "parents": [
        "1da8f00a4cc3554b1501f60932e44b5ca56a5e7e",
        "9da0f8a5c4bccf8e722ae2ebf43873457aec3271"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Apr 04 14:17:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 14:17:22 2012 -0700"
      },
      "message": "Merge \"Add View textAlignment\""
    },
    {
      "commit": "dc419d79fc425d8df3ec85f1f2daf2e34b09e923",
      "tree": "5616cb725a727f2c001d7b099233a04b533c2941",
      "parents": [
        "cf15200ddb9148dfd27b039cbc30b86620e7c018"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Apr 04 14:15:59 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Apr 04 14:15:59 2012 -0700"
      },
      "message": "remove toast from animation benchmark\n\nChange-Id: I9ec2aa57fafbde5875c2f070fe4a33e4d33ee2ae\n"
    },
    {
      "commit": "9da0f8a5c4bccf8e722ae2ebf43873457aec3271",
      "tree": "62b3bf712216de07ea78bd00b436e7a480a0b754",
      "parents": [
        "6756f74d81808ef9fc0cdab3c8848723122587c1"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Tue Mar 13 19:37:57 2012 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Apr 04 12:20:45 2012 -0700"
      },
      "message": "Add View textAlignment\n\n- fix bug #6163772\n- use bits field and pack them as much as possible\n- take care of \"supportsRtl\" flag from Manifest\n- add visual unit tests\n\nCTS unit tests in another CL\n\nChange-Id: Ib77c4eb423854209af130688c5ef9977401a9c1c\n"
    },
    {
      "commit": "0a1cbc5f7df7e1294b5a4e37f01b76fca5899324",
      "tree": "235e295cc3ec631407278b908627e79e3e88f0b7",
      "parents": [
        "4dfdf4d6297f57b884ec3f43bd1295235e0a938a",
        "2946445b560fde5e63df17f5a2db60c8349fe532"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Apr 03 21:17:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 21:17:34 2012 -0700"
      },
      "message": "Merge \"New libhwui test activity\""
    },
    {
      "commit": "2946445b560fde5e63df17f5a2db60c8349fe532",
      "tree": "151f9c409903b291045664b6dd91298f88443fd0",
      "parents": [
        "e0aa84b7dc087e999e20055dcc04cb6a48d5bd62"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Apr 03 20:22:10 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Apr 03 21:15:12 2012 -0700"
      },
      "message": "New libhwui test activity\n\nChange-Id: I0ce4bc665f117d7c0ed47670ceb4ed6f9b54d85c\n"
    },
    {
      "commit": "21aec19d3041fe040004dd32eef0cfd1bafd6fb6",
      "tree": "a537409db7054f2faa88b2661cbec9a113bcb7e6",
      "parents": [
        "66ac90276a07b63ad74761d0bd0f1a7218babfbf",
        "db8c9a6a4d9bf8c39f834b25611926caf21380f6"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Apr 03 15:40:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 15:40:54 2012 -0700"
      },
      "message": "Merge \"Optimization of alpha with DisplayList properties\""
    },
    {
      "commit": "fde3f83cd26871d2cc904ef05a4f50f272c610e2",
      "tree": "ed7f69474bf94cc2c1affa6bb71dc02db80e5707",
      "parents": [
        "991c8733c3b990b88edf5cf223aebe3d1c71b7f0",
        "59dfce8bdaf011337530a0dbec7f7280871f9bc9"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Tue Apr 03 14:45:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 14:45:53 2012 -0700"
      },
      "message": "Merge \"Fix bug #6140391 Make RTL awareness as an opt-in into the AndroidManifest\""
    },
    {
      "commit": "db8c9a6a4d9bf8c39f834b25611926caf21380f6",
      "tree": "5a1ef2e49ea05c5a28477fcf8525ca66e8e31890",
      "parents": [
        "b3fa3960a03ef553e58bf1add88029a6c072c6b6"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Mar 21 18:54:18 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Apr 03 14:02:17 2012 -0700"
      },
      "message": "Optimization of alpha with DisplayList properties\n\nSome views (such as ImageView and TextView) handle non-opaque alpha\nvalues directly. This was originally an optimization, but we can handle it faster\nin many cases without this optimization when DisplayList properties are enabled.\nBasically, if a view has non-overlapping rendering, we set the alpha value directly\non the renderer (the equivalent of setting it on the Paint object) and draw each\nprimitive with that alpha value. Doing it this way avoids re-creating DisplayLists\nwhile getting the same speedup that onSetAlpha() used to get pre-DisplayList properties.\n\nChange-Id: I0f7827f075d3b35093a882d4adbb300a1063c288\n"
    },
    {
      "commit": "59dfce8bdaf011337530a0dbec7f7280871f9bc9",
      "tree": "4f495920f4198c482cc061dffbd72b9eca203a69",
      "parents": [
        "4a5268857eaa28be82ac6766bdfb8affad5c0bab"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Apr 02 16:17:20 2012 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Tue Apr 03 11:43:20 2012 -0700"
      },
      "message": "Fix bug #6140391 Make RTL awareness as an opt-in into the AndroidManifest\n\n- introduce \"supportsRtl\" as a new application attribute in the AndroidManifest\n- \"supportsRtl\" default value is FALSE (no RTL support)\n- adapt the View layoutDirection and textDirection logic to take care of \"supportsRtl\" value\n\nChange-Id: I5e4f9f576e14f35dedc6b0c29a7142c397f598e0\n"
    },
    {
      "commit": "296a5b40183314e4e7bc0216c4cf7ded03aeb592",
      "tree": "b7415260ac48c6361b1d83430979bdd93817bd08",
      "parents": [
        "895eb28fc78536c7b2eeb70fe3bcdc6f71ccf619",
        "9420abd56a2af7ddbeb70562b79d61b2dca8c5a1"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Apr 02 15:42:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 15:42:27 2012 -0700"
      },
      "message": "Merge \"Re-enable DisplayList properties.\""
    },
    {
      "commit": "9420abd56a2af7ddbeb70562b79d61b2dca8c5a1",
      "tree": "8625a64e2d9ffd1520d890c2eb7989ccbef28adc",
      "parents": [
        "1d6013357847983180a317e2acaf807bde8b7ea7"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Mar 29 16:28:32 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Apr 02 15:31:24 2012 -0700"
      },
      "message": "Re-enable DisplayList properties.\n\nRe-enabling DisplayList properties last week caused some app\nerrors due to the way that some transforms were being handled (specifically,\nthose coming from the old Animations and ViewGroup\u0027s childStaticTransformation\nfield). This change pushes *all* transform/alpha data from View.draw() into\nthe view\u0027s DisplayList, making DisplayLists more encapsulated (and correct).\n\nChange-Id: Ia702c6aae050784bb3ed505aa87553113f8a1938\n"
    },
    {
      "commit": "c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cb",
      "tree": "cea2f997f444546030cb1826bf48b1454397491a",
      "parents": [
        "75ec67848c06c37ff545fffb8a02fcb23a71209d"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Mar 29 17:58:15 2012 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Mar 29 17:58:15 2012 -0700"
      },
      "message": "Rename ioReceive and ioSend\n\nFirst checkin of Allocation IO test\n\nChange-Id: I26379e442796caab95a089dbb42b02192f4cc563\n"
    },
    {
      "commit": "75ec67848c06c37ff545fffb8a02fcb23a71209d",
      "tree": "9209b243ae68535a0d39cf07c99be6f9ffdde663",
      "parents": [
        "fb9aa9f3ef11878caaf6fcfb5ea49ffb9f7abf33"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Wed Mar 28 17:58:52 2012 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Wed Mar 28 17:58:52 2012 -0700"
      },
      "message": "Add fp_relaxed pragma to image processing test.\n\nBUG\u003d4540719\n\nChange-Id: I147587b50106208a2280712ae69ca2bc111a2b77\n"
    },
    {
      "commit": "8078d8c8a282ca81344febe7256f63b1e805e3aa",
      "tree": "6bfb8ab0a389c2ae344088017bd0ceee1e913660",
      "parents": [
        "3c4da3cad04ca878a4a37fcca3f3e2ff51d03fcb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 20 11:11:26 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 23 14:13:13 2012 -0700"
      },
      "message": "Add new thumbnail animation.\n\nUse it for recent tasks switching.\n\nNot perfect yet by far, but something.\n\nAlso fix issue #6186758: Twitter crashes after tapping on a tweet on JRM75D\n\nChange-Id: I49bf6c94aafde875ac652dedaf96d6c08cc9e7d2\n"
    },
    {
      "commit": "043f5ced1bf82d8cf2df82a92a655afd26534df4",
      "tree": "37380b95f9da620f6502675898a9a24402cc731e",
      "parents": [
        "b09aaeca0841fa053e0f70b7a6ff45ad475d32e1"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Mar 22 10:50:55 2012 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Mar 22 10:50:55 2012 -0700"
      },
      "message": "More rearrangement and renaming.\n\nChange-Id: Ia922c5bff1734a29b786ba95065f81c8dedf90cd\n"
    },
    {
      "commit": "b09aaeca0841fa053e0f70b7a6ff45ad475d32e1",
      "tree": "194788eb9f3ce5a425490625226204be4473d0e5",
      "parents": [
        "3e6792232aa0ce3e650eaa03529c9eb2fe023ca9",
        "73797e97a80df386982153e53a1b7c9c2a36d7b0"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Mar 21 15:31:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 15:31:25 2012 -0700"
      },
      "message": "Merge \"Changing rsg to rs where functions don\u0027t rely on graphics.\""
    },
    {
      "commit": "73797e97a80df386982153e53a1b7c9c2a36d7b0",
      "tree": "6db3bb80105005b9937623327e098a2a3751c1bc",
      "parents": [
        "79c23f0f884ceb494c922d6769e6f12260c72daa"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Mar 21 10:21:08 2012 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Mar 21 10:21:08 2012 -0700"
      },
      "message": "Changing rsg to rs where functions don\u0027t rely on graphics.\n\nChange-Id: I92a93d7a520b4a5416be88c7c05c2f8d3cc89243\n"
    },
    {
      "commit": "6f92c15180f66d0ec7c8b20ea47f479468255970",
      "tree": "e29dcea4a1df6ca2be16e3f25c7d2a06384e1963",
      "parents": [
        "4d3f82e8d99558551b876ad075ad999cb92f5327"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 20 14:27:23 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 20 14:30:30 2012 -0700"
      },
      "message": "Factor viewport scaling into coverage calculation\n\nChange-Id: I32114ead0ca42eaf2161d516a4281da216b61fa4\n"
    },
    {
      "commit": "bf29121c215b30bed8cb886f1b6c7d71eb36a49d",
      "tree": "d63d2b8b3980368f9dd453e4971c261884f73372",
      "parents": [
        "ad8037e3a9b306bae6cdc8927c35946696bf40f6"
      ],
      "author": {
        "name": "Omari Stephens",
        "email": "xsdg@android.com",
        "time": "Tue Mar 13 23:17:45 2012 -0700"
      },
      "committer": {
        "name": "Omari Stephens",
        "email": "xsdg@android.com",
        "time": "Tue Mar 13 23:17:45 2012 -0700"
      },
      "message": "Try to make error messages more useful and improve ANR handling\n\nBug: 6128185\nChange-Id: I6032a199c26577fb3058ff4038085de257781d81\n"
    },
    {
      "commit": "ad8037e3a9b306bae6cdc8927c35946696bf40f6",
      "tree": "de4f50f3c32617b2d47cfccb061cfdce9cce633d",
      "parents": [
        "605eabf6a24ab3541de559b242147900b23706ed"
      ],
      "author": {
        "name": "Omari Stephens",
        "email": "xsdg@android.com",
        "time": "Tue Mar 13 21:52:13 2012 -0700"
      },
      "committer": {
        "name": "Omari Stephens",
        "email": "xsdg@android.com",
        "time": "Tue Mar 13 21:57:54 2012 -0700"
      },
      "message": "Avoid crashes in a single app from causing cascading test failures\n\nThis should work properly for crashes.  It currently doesn\u0027t do the right\nthing for ANRs since, in a lot of cases, they seem to happen asynchronously\n_after_ the testcase has ended.  Will try to improve that behavior with a\nsubsequent change.\n\nBug: 6128185\nChange-Id: Ie535141e879062c11ee7108b37d282a33a5b5eef\n"
    },
    {
      "commit": "065781397099719805a0a42023581b2622984dd4",
      "tree": "3273581c7b684086c20d8578f404a4968e534406",
      "parents": [
        "c830e7db7fc1dcfc94224a7491cf10052dde65d8",
        "44e3fe99c5bcf31a6d8ac953ea12b134daa2eca8"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Mar 13 09:31:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 09:31:22 2012 -0700"
      },
      "message": "Merge \"Using the rs API instead.\""
    },
    {
      "commit": "3d441a1c4f2983edfb8afe5f0cb11a17d6bdbc53",
      "tree": "0677a267226d1a8924769f3d8e6a00ed4cbec97b",
      "parents": [
        "34ba5a0a1667dc45d0590c68a46a2b072239a56f",
        "5ae3dfe59d22457fb232853990ba4131385ff3f6"
      ],
      "author": {
        "name": "Omari Stephens",
        "email": "xsdg@android.com",
        "time": "Mon Mar 12 16:38:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 12 16:38:35 2012 -0700"
      },
      "message": "Merge \"Refactor smoke tests to enable one-app-per-testcase runs\""
    },
    {
      "commit": "5ae3dfe59d22457fb232853990ba4131385ff3f6",
      "tree": "dab5bc5fcc884a3dfd36962ca2166504642ddc7e",
      "parents": [
        "583e885bef9891f582d19b06d575fc0cd96620a0"
      ],
      "author": {
        "name": "Omari Stephens",
        "email": "xsdg@android.com",
        "time": "Thu Mar 08 18:27:33 2012 -0800"
      },
      "committer": {
        "name": "Omari Stephens",
        "email": "xsdg@android.com",
        "time": "Mon Mar 12 15:26:11 2012 -0700"
      },
      "message": "Refactor smoke tests to enable one-app-per-testcase runs\n\nAlso creates a special TestRunner which runs one app per testcase.  Note that\nrunning the smoke tests with android.test.InstrumentationTestRunner will /also/\nwork, but will run all of the launchable activites in a single testcase called\ntestRunAllActivities.\n\nBug: 6128185\nChange-Id: Iffedff7e6105bbca614778a4d294d3be421f19d6\n"
    },
    {
      "commit": "44e3fe99c5bcf31a6d8ac953ea12b134daa2eca8",
      "tree": "cb15a14aed7b55061b89633c42d38278d37aeaa3",
      "parents": [
        "1a22cbd113512f03d7db40e4be25a02047cb6c88"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Mon Mar 12 13:52:33 2012 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Mon Mar 12 13:52:33 2012 -0700"
      },
      "message": "Using the rs API instead.\n\nChange-Id: I819c37f8c05ec887500db38a4e18390a1c5ea137\n"
    },
    {
      "commit": "c709216310d737f2eeccdffc091fbc2f26057450",
      "tree": "9b4b92bff71402ca7e5e8221a88df5834494c9aa",
      "parents": [
        "c31424e6c541c9ca00274166f4fd2db3c5b1e4e8",
        "29e239203d427d977b298be7b68b75b6a4b29b51"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Mar 09 08:44:02 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 08:44:02 2012 -0800"
      },
      "message": "Merge \"Support for more vector types.\""
    },
    {
      "commit": "c53254ec92260a01605b96bd147c03c267641682",
      "tree": "14c630160e8d2e20caf268499e92bd55228b62e1",
      "parents": [
        "ae8945ab23f50271d5d70210f52e3196a7db0f80",
        "b23b58ad343ccbf8835c7067698a60fc6bc1a870"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Mar 08 14:25:56 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 14:25:56 2012 -0800"
      },
      "message": "Merge \"Enable AA in scenegraph. Minor shader work in sample.\""
    },
    {
      "commit": "ebc34f820c5ba25352ec0eba11ee07787591f391",
      "tree": "023892009d7a1a159101ec5af072718d219174d3",
      "parents": [
        "3bef5e9f3aa90465ee3ab66ef33d7a88d1b0c5c1",
        "41f1e5edee2d2663ae46b64528894896ff96fa3d"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Mar 08 11:41:34 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 11:41:34 2012 -0800"
      },
      "message": "Merge \"Check in older versions of RS tests.\""
    },
    {
      "commit": "41f1e5edee2d2663ae46b64528894896ff96fa3d",
      "tree": "b6729a6a26dded0fb506e1e09d54ac50128bdcbb",
      "parents": [
        "6435da6119ea6f81d78c3d58f1941e8dd8f8d44d"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Mar 06 21:58:41 2012 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Mar 07 17:47:53 2012 -0800"
      },
      "message": "Check in older versions of RS tests.\n\nThis change adds a v11 version of Fountain, as well as v11 and v14 versions of\nRSTest. All tests currently build and pass on the required platforms.\n\nThis also fixes an initialization bug for RSTest running on older devices.\nIf we don\u0027t directly initialize \"each\" component of the vector types, it can\nresult in uninitialized memory (or zero) being used for divisors (particularly\nwith the char vector types). This triggers SIGFPE with the latest pending\nClang/LLVM rebase.\n\nChange-Id: I92a70c2aeed4e20f110b1cb24ee926fc27be9dbb\n"
    },
    {
      "commit": "29e239203d427d977b298be7b68b75b6a4b29b51",
      "tree": "6be7b4375e9b2f82f5c6ab85fd137f711dd008c9",
      "parents": [
        "e51ae262824e2f88e143458baad71a38901c59eb"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Mar 07 15:59:24 2012 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Mar 07 15:59:24 2012 -0800"
      },
      "message": "Support for more vector types.\n\nChange-Id: I06d6e8814e75c0dcd726a3c95de82fd6f6267c4d\n"
    },
    {
      "commit": "42f23b3cfe2c4fa45c7c9ca4b60a6724aea31621",
      "tree": "3db51a774a4f35db010bbac546ca1646d21007ff",
      "parents": [
        "761415bd7f5611812336a3d39b3f6baac22a1b88",
        "e51ae262824e2f88e143458baad71a38901c59eb"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Mar 07 09:25:56 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 09:25:56 2012 -0800"
      },
      "message": "Merge \"Adding more modes to the sampler test app. Fixing pixel placement.\""
    },
    {
      "commit": "e51ae262824e2f88e143458baad71a38901c59eb",
      "tree": "7666aac3259865399f354f8e7a2decfc4d6722dc",
      "parents": [
        "43ca3cfa8760ba945bb3dce3d7c1a23428b751d9"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Mar 06 16:43:28 2012 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Mar 06 16:43:28 2012 -0800"
      },
      "message": "Adding more modes to the sampler test app.\nFixing pixel placement.\n\nChange-Id: I355cc611ebe0bfb15af96cc498604d9b9fa1a9d3\n"
    },
    {
      "commit": "6a1d3882829a5435d46a9ae0f016f8ea7f6dcb03",
      "tree": "07c6e257403f52b030964ef3c5d418411580390d",
      "parents": [
        "66199cf939efbffb9154df89f85d0d30c8d3ec55",
        "43ca3cfa8760ba945bb3dce3d7c1a23428b751d9"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Mar 06 08:31:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 08:31:54 2012 -0800"
      },
      "message": "Merge \"First draft of the sample function implementation.\""
    },
    {
      "commit": "43ca3cfa8760ba945bb3dce3d7c1a23428b751d9",
      "tree": "b823afa0e5673d778623c8499f005f65ed4ed502",
      "parents": [
        "c730aceb64233592c5a0d8b6a429d645443b3818"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Mon Mar 05 18:03:32 2012 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Mon Mar 05 18:03:32 2012 -0800"
      },
      "message": "First draft of the sample function implementation.\n\nChange-Id: I51bb999419b5b424a8549461a6d91f48f3fc9298\n"
    },
    {
      "commit": "3ae8c42152d890ab771053fa6b16b038ee44326d",
      "tree": "5a4dab5c9ccc09a7763726299b7b2a60d0c6405a",
      "parents": [
        "d55191d0866550f245907dba9152753744c2935c"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Mar 05 15:31:04 2012 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Mar 05 15:33:17 2012 -0800"
      },
      "message": "Update to DumpRenderTree test harness\n\n* removed some unused parameters\n* removed obsolete live website test harness\n* updated test class so that mean suite time for page cycler\n  is emmitted via instrumentation status\n\nChange-Id: Iccb40f70a62a4ac9b8d5bceab9a6a715c611c573\n"
    },
    {
      "commit": "3c90952036a5ff7ddb2946c643f1a0bf1c31d53a",
      "tree": "974ef2a94c60a2c72b8fbd804613792480a9c3e5",
      "parents": [
        "0dc0da67d9775b2364a38d015e0610492708a02e"
      ],
      "author": {
        "name": "Jonathan Dixon",
        "email": "joth@google.com",
        "time": "Tue Feb 28 18:45:06 2012 +0000"
      },
      "committer": {
        "name": "Jonathan Dixon",
        "email": "joth@google.com",
        "time": "Fri Mar 02 11:17:47 2012 +0000"
      },
      "message": "Refactor WebView to be a thin proxy class\n\nSplits interface and implementation; all client calls are forwarded\nto an abstract WebViewProvider interface, and the existing implementation\nmoved into the WebViewClassic implementor of this interface.\n\nOriginally taken from a snapshot from the development branch, by:\ngit diff HEAD 9a4c328a54cc05e5 | git apply\n- but then rebased to keep up to date with master\n\nInterdepends on webkit and Browser changes:\nhttps://android-git.corp.google.com/g/158979\nhttps://android-git.corp.google.com/g/167911\n\nChange-Id: I91403f32654ff308934e95c832d17b292a7d9b2e\n"
    },
    {
      "commit": "3fd29d908a84f067aaf07430b898f5265f6b1d27",
      "tree": "73c12b317726c58e6d867133c13665db33f54d57",
      "parents": [
        "7d3c690e723e3fb82775baad5942234cd30f8d2d"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Mar 01 18:12:04 2012 -0800"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Mar 01 18:15:25 2012 -0800"
      },
      "message": "Unhide BiDiTests app\n\n- unhide its makefile so that now it is part of the standard build process\n\nChange-Id: Ied86c252975e30da8e3e75180869835f00a5969d\n"
    },
    {
      "commit": "7084e75282d6c800a1b889eff66794a8cd62e0c5",
      "tree": "d80480ae36a22644ff7c1a99426346f6bb4ae624",
      "parents": [
        "81c4350a8931db748ed2843d33261fc54b4133e4",
        "9777173eb6c9eb97c7921c8288ebc65e3ab3ce6f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 29 19:16:15 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 29 19:16:15 2012 -0800"
      },
      "message": "Merge \"Full implementation of Canvas.drawPath()\""
    },
    {
      "commit": "9777173eb6c9eb97c7921c8288ebc65e3ab3ce6f",
      "tree": "0c2749e602c75cf72a3a2d6ffd480a47f975fdd5",
      "parents": [
        "765dcf32307dbd93ce43f064c426ce157be2d2ae"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 28 18:17:02 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 29 19:14:37 2012 -0800"
      },
      "message": "Full implementation of Canvas.drawPath()\n\nChange-Id: I23223b89770a0cd2b4762365bead9bfddb094290\n"
    },
    {
      "commit": "b23b58ad343ccbf8835c7067698a60fc6bc1a870",
      "tree": "c832571f92822473b69766308c01f48f320e6171",
      "parents": [
        "f203b83d2fac1def48dfba23d7020a8c6b4abb70"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Feb 29 09:06:10 2012 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Feb 29 09:06:10 2012 -0800"
      },
      "message": "Enable AA in scenegraph. Minor shader work in sample.\n\nChange-Id: Ifa81d2b19901002f901f25ac9dce5a4ca09fa363\n"
    },
    {
      "commit": "47e432e37cb9d2eb1c08111e8228fa7551c7c49a",
      "tree": "0be86ee04f2cb9de76729efe220a03578dda93f6",
      "parents": [
        "f69d204d2db04686e73829540d3184bf6ca67195"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Feb 27 18:06:51 2012 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Feb 27 18:06:51 2012 -0800"
      },
      "message": "Add test for signed/unsigned char bug (conversion).\n\nBUG\u003d6080056\n\nChange-Id: I7980ff3e4a23ff8ba007ff0372ec855b7272630d\n"
    },
    {
      "commit": "2abb1381524bdbbc7a09b573505abde4178be2e3",
      "tree": "b941151b297e45a2a19fd4f60ad43acddef3e29d",
      "parents": [
        "778f67f7c0df6db42958ae58ee622070313a5a4d",
        "03d58520c3eb6bb7efb7235bfd957550533d6725"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 24 18:01:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 24 18:01:47 2012 -0800"
      },
      "message": "Merge \"More infrastructure for Canvas.drawTextOnPath\""
    },
    {
      "commit": "778f67f7c0df6db42958ae58ee622070313a5a4d",
      "tree": "cf113821edc9061da1ba8727701f9f44b8f3cead",
      "parents": [
        "b73644a94f090f551e24e2e658756a7ff127dbb2",
        "325740fb444af8fc7fb0119b2e30ce322c2ae134"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 24 18:01:22 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 24 18:01:22 2012 -0800"
      },
      "message": "Merge \"Add hooks to implement Canvas.drawTextOnPath() in GL\""
    },
    {
      "commit": "03d58520c3eb6bb7efb7235bfd957550533d6725",
      "tree": "97b131fd746d7857a005dc2a93d64469ebbcb7fc",
      "parents": [
        "325740fb444af8fc7fb0119b2e30ce322c2ae134"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 24 17:54:07 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 24 17:54:07 2012 -0800"
      },
      "message": "More infrastructure for Canvas.drawTextOnPath\n\nChange-Id: Iff42b24e342650d06fa4e2fa9db6c28da820ff01\n"
    },
    {
      "commit": "325740fb444af8fc7fb0119b2e30ce322c2ae134",
      "tree": "7739e7e56c5835f8f161e8cbed17346083390176",
      "parents": [
        "34c55d30858cba1e58c38e7d8e175d25cf0b33c4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 24 16:48:34 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 24 16:48:34 2012 -0800"
      },
      "message": "Add hooks to implement Canvas.drawTextOnPath() in GL\n\nChange-Id: I165c9e05facf5365aa6850605688e538640c7fcc\n"
    },
    {
      "commit": "3f0c58eb708ca520e84396fe764147800395812f",
      "tree": "550651c9789b6950c1e3cc8e1c90fe084ba3ca71",
      "parents": [
        "525ece4098a636818148dd5a660ebe4d7a2138af",
        "2561b0b10a55841a08e0e1d467e73e10b1bf256d"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Feb 24 10:53:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 24 10:53:42 2012 -0800"
      },
      "message": "Merge \"New notification priority and related APIs.\""
    },
    {
      "commit": "2561b0b10a55841a08e0e1d467e73e10b1bf256d",
      "tree": "707a5812a2d6a711838babe41fd4947b96f13649",
      "parents": [
        "c725a3705ba8646e134091981e84da99fe4076b1"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Feb 13 21:04:12 2012 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Feb 24 13:47:00 2012 -0500"
      },
      "message": "New notification priority and related APIs.\n\nThis change introduces a few new bits of data on\nNotification that will help the Notification Manager and\nSystem UI route and display them more intelligently:\n\n -\u003e priority: an integer in a predefined range that\n    indicates the app\u0027s best guess as to the relative\n    importance (to the user, right now) of that information\n\n -\u003e kind: a tag (really, set of tags) indicating the general\n    type of notification (realtime, asynchronous, etc)\n\n -\u003e extras: a Bundle of additional key/value pairs\n    associated with this notification (currently @hidden)\n\nThe notification manager takes these data into account when\nassigning to each notification a score which is passed with\nthe notification on to the system UI, where it can be used to\naffect presentation. For example:\n\n  - Spammy apps (identified explicitly by the user or by\n    some other means) will have their notifications scored\n    very negatively by the notification manager, allowing\n    the UI to suppress them\n  - Notifications of higher score might be shown larger\n    or in a different way\n  - Very important notifications (indicated by a very high\n    score) might interrupt the user during an otherwise\n    important task (videochat, game, etc)\n\nImplementation note: This replaces/extends the old internal\nnotion of \"priority\", which was mostly used to organize\nongoings and system notifications at the top of the panel.\n\nChange-Id: Ie063dc75f198a68e2b5734a3aa0cacb5aba1ac39\n"
    },
    {
      "commit": "34c55d30858cba1e58c38e7d8e175d25cf0b33c4",
      "tree": "294243c9567c20654005186e3d72c66f804d0c16",
      "parents": [
        "5d3bc7d3e4d0d43428a81e9807f49a35e69ae018",
        "4bcb7467a174ed03a67b0c62950c555813ddf00d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 23 17:11:49 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 17:11:49 2012 -0800"
      },
      "message": "Merge \"Only recreate path textures when necessary\""
    },
    {
      "commit": "4bcb7467a174ed03a67b0c62950c555813ddf00d",
      "tree": "496ee923124a889d0a103fcc8dddba74515c2f81",
      "parents": [
        "cfef12374c15b11b3c2a1041582be9728152e15d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 23 17:08:38 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 23 17:08:38 2012 -0800"
      },
      "message": "Only recreate path textures when necessary\n\nWhen a drawPath command is recorded in a display list, a copy of the\nsource path is made to preserve against possible modifications of the\nsaid source path. Copies are discarded when a display list is cleared,\nwhich usually happens on invalidate(). This means that even if a path\nis never modified, the texture generated to draw it on screen is\ndestroyed every time an invalidate() is issued. This change fixes this\nproblem by introducing a reference to the source path in the copy.\nIf both the copy and the source path have the same genID, they are\nthe same path and can share the same texture.\n\nChange-Id: I34849311c183e06336a1391d2d1568a087f973f6\n"
    },
    {
      "commit": "5d3bc7d3e4d0d43428a81e9807f49a35e69ae018",
      "tree": "c0ca5fff6864afa98eb97708956603eaed477571",
      "parents": [
        "583e885bef9891f582d19b06d575fc0cd96620a0",
        "3c8eed3bdc000df08ccf5628ef43f52c478465ec"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Feb 23 16:57:00 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 16:57:00 2012 -0800"
      },
      "message": "Merge \"Adding a few more howto elements to scenegraph example.\""
    },
    {
      "commit": "3c8eed3bdc000df08ccf5628ef43f52c478465ec",
      "tree": "8d2f84589110cead66e90332f59a75c0459dc72a",
      "parents": [
        "d2dc9838961f945c402e5d810bc715196240be6f"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Feb 23 10:12:45 2012 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Feb 23 10:12:45 2012 -0800"
      },
      "message": "Adding a few more howto elements to scenegraph example.\n\nChange-Id: I29f025ce6ecf3a8090a8365991de40af72b4e78f\n"
    },
    {
      "commit": "a16c98c155a51a035719bef5b76e973ee2295795",
      "tree": "63d345a1e3eab736b66e7de516ba55783c22b3ab",
      "parents": [
        "a172b6e96909186451a6a968b8e70872f6753c10",
        "473a2048d3c54fe38b6f9a58457645c9c472b238"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Feb 23 09:58:56 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 09:58:56 2012 -0800"
      },
      "message": "Merge \"Support running ForEach on non-root functions.\""
    },
    {
      "commit": "473a2048d3c54fe38b6f9a58457645c9c472b238",
      "tree": "04cff2992886e0352f4ffd7a60086f52dd0847bc",
      "parents": [
        "408ff24bacf432ef26ba78ad2b8273a284798de1"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Feb 21 20:13:12 2012 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Feb 22 15:24:29 2012 -0800"
      },
      "message": "Support running ForEach on non-root functions.\n\nBUG\u003d6000538\n\nChange-Id: Ie2b16893b150cc5955ee4b9d028c988f69a82744\n"
    },
    {
      "commit": "d2dc9838961f945c402e5d810bc715196240be6f",
      "tree": "ad17c590d84993488a4eafc9954191970aaed926",
      "parents": [
        "9cc290038ca3ee06ed34d172bbd139ea13bafd1b"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Feb 22 11:59:12 2012 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Feb 22 11:59:12 2012 -0800"
      },
      "message": "Simplifying programmatic creation.\n\nChange-Id: I792f96b5ed47d3c78976d57259074c9ae402575b\n"
    },
    {
      "commit": "9cc290038ca3ee06ed34d172bbd139ea13bafd1b",
      "tree": "d8177e240413a25b4552b063e165136036dd6a23",
      "parents": [
        "1eb4c26a96cb00edb6e5d53e35da152b421805c0"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Feb 21 17:33:27 2012 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Feb 22 09:06:03 2012 -0800"
      },
      "message": "Properly pipe texture names through.\n\nChange-Id: I3e44c2757acee90539869c32771626cd0f770a25\n"
    },
    {
      "commit": "1eb4c26a96cb00edb6e5d53e35da152b421805c0",
      "tree": "92568224189ebef3f513a275964f1490da0a4db0",
      "parents": [
        "5489e4af193e7e57ac5af4f6ea2632f5df5bda80",
        "57fc7109e4e1ec0a32d1661779e8d7babab0279b"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Feb 22 09:02:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 22 09:02:53 2012 -0800"
      },
      "message": "Merge \"Adding a very simple all-code scenegraph example.\""
    },
    {
      "commit": "f541e4395af0f5e95d1ed2320a6627935c5bcdec",
      "tree": "b512f12d41b6149f35243b779f420069f6ccf651",
      "parents": [
        "69d75582276ce23fe9e136bd510916c22ab9be14",
        "96ebc6b5097ab73eef45e094241e444f4c21bfcc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 21 18:33:58 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 18:33:58 2012 -0800"
      },
      "message": "Merge \"Only copy paths, paints and shaders when we need to.\""
    },
    {
      "commit": "96ebc6b5097ab73eef45e094241e444f4c21bfcc",
      "tree": "b01b3d09326092131154faa7a42058d026ad5d00",
      "parents": [
        "30c46ad519c127a92f2bd3ca1dc1eab9da6ac165"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 21 18:32:32 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Feb 21 18:32:32 2012 -0800"
      },
      "message": "Only copy paths, paints and shaders when we need to.\n\nChange-Id: Iba7a9c92c865f698821b6ff7bc4f502659642ac1\n"
    },
    {
      "commit": "57fc7109e4e1ec0a32d1661779e8d7babab0279b",
      "tree": "7a0bffccc67c6c06a49eb2cdebe797758536c1cd",
      "parents": [
        "c71343acc469db7ec351db2344032801e0e1b30a"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Feb 21 16:26:38 2012 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Feb 21 16:26:38 2012 -0800"
      },
      "message": "Adding a very simple all-code scenegraph example.\n\nChange-Id: I776f8d8d0d3873c84141637d3479501ea92bac12\n"
    },
    {
      "commit": "c7359dfe6abe22f181349c69312a3173209c6d7a",
      "tree": "024140a94ebf9c36f814d9d0ee5232b0e653bf98",
      "parents": [
        "aa4ee4238f072650363a78a0228d07f925400565",
        "c71343acc469db7ec351db2344032801e0e1b30a"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Feb 21 15:52:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 15:52:47 2012 -0800"
      },
      "message": "Merge \"Adding better default behaviour for programmatically created objects.\""
    },
    {
      "commit": "1ebe8aa23f10bd26d8d063df8e4bb8a0f7a1e411",
      "tree": "9e9d93f6bb0166f89b15822b910f1b0641fd6362",
      "parents": [
        "b6ad5b14cbb09f8a10c3155895337c773e7a850b",
        "83c64e6b624a876436d2ef5d2f173b10407e27b4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 21 12:52:06 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 12:52:06 2012 -0800"
      },
      "message": "Merge \"frameworks/base refactoring\""
    },
    {
      "commit": "c71343acc469db7ec351db2344032801e0e1b30a",
      "tree": "7d0955dd803a8b5980ba407b9183b5cebe7ba66f",
      "parents": [
        "071e54d7a3b21ea5eeabff49ac979952b38c77a5"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Feb 21 11:32:59 2012 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Feb 21 11:32:59 2012 -0800"
      },
      "message": "Adding better default behaviour for programmatically created objects.\n\nChange-Id: I24078b27f9ddf7f36855eaf223cd4211f459bc78\n"
    },
    {
      "commit": "c10e48901c6531167dd001280ad9207023a01431",
      "tree": "63ed77f6542f8399835e80e90810b17ed786eb9e",
      "parents": [
        "582e95bc373f3aad97e871bf95f8566cf8eb6823",
        "071e54d7a3b21ea5eeabff49ac979952b38c77a5"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Feb 21 09:23:17 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 09:23:17 2012 -0800"
      },
      "message": "Merge \"Making sure stranded objects are not left behind.\""
    },
    {
      "commit": "83c64e6b624a876436d2ef5d2f173b10407e27b4",
      "tree": "c4effc3260ab399e8fdae23baf06b076cd87a604",
      "parents": [
        "94d0024557f415b8463f085c9784a3e1d02b58c6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 20 16:58:20 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 20 22:38:43 2012 -0800"
      },
      "message": "frameworks/base refactoring\n\ncreate the new libandroidfw from parts of libui and libutils\n\nChange-Id: I1584995616fff5d527a2aba63921b682a6194d58\n"
    },
    {
      "commit": "b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4",
      "tree": "2b90dc39a35d8081ea47b038893624b69a01202d",
      "parents": [
        "6db0608dff408130b35e6f21abe746a635648b18"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 18:27:36 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 19:01:26 2012 -0800"
      },
      "message": "frameworks/base refactoring.\n\nstep 2: move libutils headers to their new home: androidfw\n\nChange-Id: I14624ba23db92a81f2cb929f104386e1fab293ef\n"
    },
    {
      "commit": "071e54d7a3b21ea5eeabff49ac979952b38c77a5",
      "tree": "33e977772de21e056421d193f68e2ae23dbd1f80",
      "parents": [
        "9d7b99976f1571cf398808038abc1d69fb897967"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Feb 17 16:30:36 2012 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Feb 17 16:30:36 2012 -0800"
      },
      "message": "Making sure stranded objects are not left behind.\n\nChange-Id: If678d9dbf818e256862cfc0949015c2a4172bebd\n"
    },
    {
      "commit": "c27cc01f6abf8564dc9b7b6cd7f2a12a347f725d",
      "tree": "31b1c6044b0f79ed98f7d09b0ec5c038c734aa45",
      "parents": [
        "fe455af277183f910eb74653a3ad172c717e7abf"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 15 18:34:37 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 15 18:34:37 2012 -0800"
      },
      "message": "Prevent AutoCompleteTextView from opening a popup when it shouldn\u0027t\nBug #5553515\n\nThe People app is forcing ACTV to show the IME which had the side effect\nof showing the drop down popup. ACTV was unfortunately not ready to show\nthe drop down if the filtering resulted in no results. Doing so was putting\nACTV in a weird state that in turn caused a window to be leaked and really\nbad behavior to occur in the lower graphics levels.\n\nChange-Id: I2ff146d5ae4e4a28edf6ea17039c9f8fdb710e4f\n"
    }
  ],
  "next": "e4104b8301ee5fa101f3f4017fb2fcb2c4c821ee"
}
