)]}'
{
  "log": [
    {
      "commit": "e9b4b3e94d396d176338c62f8c9f4c183b340f9b",
      "tree": "634b13d087765038fc3050a59a9df3072cd4c376",
      "parents": [
        "dccd66f5681c1372494da635b70242a7d535debc",
        "97e0a1c6f3b7ab8f0796931182f0343dd7e73782"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Mon Jun 25 12:31:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 25 12:31:11 2012 -0700"
      },
      "message": "Merge \"docs: clean up javadoc code snippets, unescaped entities\" into jb-dev"
    },
    {
      "commit": "97e0a1c6f3b7ab8f0796931182f0343dd7e73782",
      "tree": "8d69979c681e0106002fffe679755a6bfaeeb338",
      "parents": [
        "dbbfa702a09f6d2d36dee1b552442d04a4673f89"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Mon Jun 25 11:22:10 2012 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Mon Jun 25 11:25:20 2012 -0700"
      },
      "message": "docs: clean up javadoc code snippets, unescaped entities\n\nChange-Id: Idc21caceccaaa2cc11a6c46b453b6a9b26164f34\n"
    },
    {
      "commit": "d7e646d6d7597a56ca38667afce87e7eca91d7bd",
      "tree": "d5a4eb1bbe87e708498bbef534c8b2afd4d4c0f4",
      "parents": [
        "dbbfa702a09f6d2d36dee1b552442d04a4673f89"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Jun 25 11:24:00 2012 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Jun 25 11:24:00 2012 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I829c0795e2bf76fe1e2315977aeab8d63d3ed76d\n"
    },
    {
      "commit": "b0efc7fce7967b043dae8896e8f9bf4d11274cf4",
      "tree": "d93e1e024e0d9974b9205e11f5b6797f582d46d1",
      "parents": [
        "067d64a99a2ee90f250d81ee36d5a3efa056e5b5"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Sat Jun 23 12:36:17 2012 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Sat Jun 23 12:36:17 2012 -0700"
      },
      "message": "eat comment so it doesn\u0027t appear in docs\n\nChange-Id: Id2b539fc80422edb32c86fa17ad888abbc48ba49\n"
    },
    {
      "commit": "1b4ea7eff50545f4673ca01b664e5edccc784688",
      "tree": "45abac26aca048826cc9e4b2d1e71912b26d72c3",
      "parents": [
        "fd3fd482ab6ab67b687696f51fa67714bd36fa49"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 22 20:41:31 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 22 20:41:31 2012 -0700"
      },
      "message": "Sanity check while updating volume in MediaRouteChooserDialog\n\nBug 6720224\n\nWhen a window dies it\u0027s possible to receive a lingering ACTION_CANCEL\nevent to the SeekBar for volume. Be sure that we don\u0027t try to mess\nwith something that\u0027s already gone by that point.\n\nChange-Id: I4f6119718fc21204d9013d591bc984b785b698b4\n"
    },
    {
      "commit": "f3b653a21cdffe04c94c275e69ecb56e00766e82",
      "tree": "1709526a633c5e433a3b971d4fb93cb77772eec4",
      "parents": [
        "ddeb7bd3c7593d51d4d2bfd9fe39d5f0ffa05d89"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 22 18:19:08 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 22 19:22:38 2012 -0700"
      },
      "message": "Update route count properly when MediaRouteButton detects\ngrouped/ungrouped events\n\nChange-Id: I1b00678cc3b548f347c51c3fcbfce18ecc8fbabe\n"
    },
    {
      "commit": "ddeb7bd3c7593d51d4d2bfd9fe39d5f0ffa05d89",
      "tree": "ed6ce7ae4b8f96cf5efb8e8e52b162e2f2a2a848",
      "parents": [
        "ab779e0bb2948bdfac461f931f9d165a5a38b84a",
        "8f2acd0a2b34cb66727910bf83a57d6cde6d0b09"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Jun 22 14:58:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 22 14:58:39 2012 -0700"
      },
      "message": "Merge \"Import translations. DO NOT MERGE\" into jb-dev"
    },
    {
      "commit": "40a9da3b9e5ae9d4d03b89f61f24ee6d96bd3bf4",
      "tree": "8677d2841ea17c59f47e6c3093cfa49fea9df7e9",
      "parents": [
        "9be0105fbc56eb1b1813bb7c5fe258a144867a43",
        "6231ab8bbb2862a7ddb767876fb7a49c1565b616"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 22 14:26:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 22 14:26:20 2012 -0700"
      },
      "message": "Merge \"Allow sloppy touch targeting on Action Bar home/up\" into jb-dev"
    },
    {
      "commit": "6231ab8bbb2862a7ddb767876fb7a49c1565b616",
      "tree": "5ce16ddb76430cea616e8b00f871441b25c6f390",
      "parents": [
        "3cd4624448dcaddecc75461ef645da72e7e5c098"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 22 14:08:11 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 22 14:09:25 2012 -0700"
      },
      "message": "Allow sloppy touch targeting on Action Bar home/up\n\nBug 6521608\n\nWhen there are no custom views or other actionable views next to the\naction bar\u0027s home/up affordance, expand the touch target by a generous\nslop value. This helps frustrating cases where a user accidentally\nhits just to the right of Up and nothing happens.\n\nChange-Id: I09ef604ce70ad380aab62a373b04c4b02007c644\n"
    },
    {
      "commit": "8f2acd0a2b34cb66727910bf83a57d6cde6d0b09",
      "tree": "aa10dd12f98feac5bb3fc14466a4363057c1237e",
      "parents": [
        "50e990c64fa23ce94efa76b9e72df7f8ec3cee6a"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Jun 22 12:53:57 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Jun 22 12:53:57 2012 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: Idcb453e08823c584fb0f748ebe46ed036046c9d4\n"
    },
    {
      "commit": "9be0105fbc56eb1b1813bb7c5fe258a144867a43",
      "tree": "964727f4694bb224eacdaaa68320292aab85ffd3",
      "parents": [
        "3cd4624448dcaddecc75461ef645da72e7e5c098"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jun 22 12:35:08 2012 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jun 22 12:35:08 2012 -0700"
      },
      "message": "docs: fix several links\n\nChange-Id: I89d9fd64dc22c90680bb05415cc966c255165af9\n"
    },
    {
      "commit": "3cd4624448dcaddecc75461ef645da72e7e5c098",
      "tree": "cf834d0a0d2caf42537f681c43e6ef1ef2e8428e",
      "parents": [
        "0b9b053ce6fdc48e922b6af37fe747b4ef40324a",
        "101c44915259fb76d14f917712a51fb0b08a7594"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 22 10:44:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 22 10:44:27 2012 -0700"
      },
      "message": "Merge \"Avoid memory leak by only registering callback while attached to window.\" into jb-dev"
    },
    {
      "commit": "101c44915259fb76d14f917712a51fb0b08a7594",
      "tree": "5f8eb26bda2710fdbee4bb036649920a7b24e654",
      "parents": [
        "2dde147b28684fc32f03ad748af8eb87d5408c7c"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Jun 22 16:06:57 2012 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Jun 22 16:06:57 2012 +0800"
      },
      "message": "Avoid memory leak by only registering callback while attached to window.\n\nBug: 6710307\nChange-Id: Idf57251e6feb48ec3e75e797144ff800fa874cc8\n"
    },
    {
      "commit": "4dd21c8e77c0d369ee835f50cba1701e76aa18c4",
      "tree": "406a3e86769c4dc182e9302f36995d146d4ab665",
      "parents": [
        "9ce1ea3aa744fdd5a63ecedd07859fb2faa6f8e1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 21 19:59:53 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 21 19:59:53 2012 -0700"
      },
      "message": "Volume changes in MediaRouteChooserDialog\n\nUse the max volume reported by the selected route as the max value to set.\n\nChange-Id: I9848dfb201387843e7ed398ac61e2d13e14e3f51\n"
    },
    {
      "commit": "b047b1f73800ff92eea4ff4b3adc62e5a20eb8df",
      "tree": "50d16bfc10866e297cd6345bf296b639143e66f2",
      "parents": [
        "95cf8c1121a95750358ee99169c96d8d4dfb4950",
        "be76e215438c049c3e1f771565438d833f4de861"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Jun 21 17:20:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 21 17:20:55 2012 -0700"
      },
      "message": "Merge \"b/6705777 Remove \u0027speaker\u0027 from strings\" into jb-dev"
    },
    {
      "commit": "be76e215438c049c3e1f771565438d833f4de861",
      "tree": "87130fac4f00742e91c26fcb318b32749a61ff79",
      "parents": [
        "89c6bec3218d2f3f6d9fbe04fe2936021440ea80"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Jun 21 17:05:52 2012 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Jun 21 17:05:52 2012 -0700"
      },
      "message": "b/6705777 Remove \u0027speaker\u0027 from strings\n\nWe should just say Tablet or Phone when selecting the local\nplayback instead of Tablet speakers or Phone speaker.\n\nChange-Id: Ia6c439f711bacb7b1e70fbcf4887df8141f91b61\n"
    },
    {
      "commit": "f7e0a328c939fa61792d4b685e8f9047a3a0ad90",
      "tree": "88450230f76173ebc36c34136d5177426eb0e920",
      "parents": [
        "89c6bec3218d2f3f6d9fbe04fe2936021440ea80"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 21 15:29:40 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 21 15:29:40 2012 -0700"
      },
      "message": "Allow ungrouping media routes when a group is the only alternate route\n\nFix a MediaRouteButton bug where group item counts weren\u0027t taken into\naccount when deciding whether to toggle between two available groups\nor show the chooser dialog.\n\nChange-Id: I6400ffd4cfe80c8072c5be360264b8ca91d71c41\n"
    },
    {
      "commit": "cda6996408d785f368e67afaca79a6afa6f57b1b",
      "tree": "37d3561784fb66ce832d96ff16c29dacff5c7bf4",
      "parents": [
        "65d4445bfd3351609f786fdf6038ddd362a3d6ca",
        "ed6103d573483fcafe4fe4590292673744eb2463"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Thu Jun 21 13:10:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 21 13:10:49 2012 -0700"
      },
      "message": "Merge \"Import translations. DO NOT MERGE\" into jb-dev"
    },
    {
      "commit": "ed6103d573483fcafe4fe4590292673744eb2463",
      "tree": "e24437840e648bb0c419df1423a7e11731427f8d",
      "parents": [
        "d5353b475001f19e3cbc9c1a4165c9e6038a812f"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Thu Jun 21 12:57:27 2012 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Thu Jun 21 12:57:27 2012 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: If3ebb62b4c2a912512600e51129551e23cf31553\n"
    },
    {
      "commit": "65d4445bfd3351609f786fdf6038ddd362a3d6ca",
      "tree": "6a145fe5159e30a937dc0288946ad95ebb695c65",
      "parents": [
        "ed5cc0e1f7648962f5c93e1277d282be75bcd537",
        "43af7e075622a315ffef6028264853c178ff4312"
      ],
      "author": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Thu Jun 21 12:32:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 21 12:32:39 2012 -0700"
      },
      "message": "Merge \"Add config option to enable links to Cell Broadcast app.\" into jb-dev"
    },
    {
      "commit": "43af7e075622a315ffef6028264853c178ff4312",
      "tree": "91b5867bc7dac0f8c02fc0763202299811d2c4e6",
      "parents": [
        "d5353b475001f19e3cbc9c1a4165c9e6038a812f"
      ],
      "author": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Thu Jun 21 10:56:44 2012 -0700"
      },
      "committer": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Thu Jun 21 12:17:18 2012 -0700"
      },
      "message": "Add config option to enable links to Cell Broadcast app.\n\nAdd \"config_cellBroadcastAppLinks\" internal boolean config item,\ndefaulting to false. For devices with the Cell Broadcast app,\nsetting this config option to true will add a menu item to the\nMMS app to jump to the list of received cell broadcasts, and a\npreferences item to Settings to jump to cell broadcast settings.\n\nBug: 6709985\nChange-Id: I9fe1919e6d76ba1dfe1e1381e2c38ecdd5e0a867\n"
    },
    {
      "commit": "ed5cc0e1f7648962f5c93e1277d282be75bcd537",
      "tree": "d70bd0916b4b3882feef7d2004894fb861899537",
      "parents": [
        "d5353b475001f19e3cbc9c1a4165c9e6038a812f"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Thu Jun 21 11:25:58 2012 -0400"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Thu Jun 21 13:07:29 2012 -0400"
      },
      "message": "revert I057b7ac0 now that the layouts are the expected height.\n\nBug: 6546766\nChange-Id: I736290b897b864228ecc3e46d86ef566efda1efd\n"
    },
    {
      "commit": "d5353b475001f19e3cbc9c1a4165c9e6038a812f",
      "tree": "7e5d708d1fe994808586800cb5efcb4ff7e7b271",
      "parents": [
        "790024bfe6dd2765dd5e552053797459aab72da1"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 21 09:28:07 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 21 09:29:51 2012 -0400"
      },
      "message": "Fix docs\n\nChange-Id: Ic5ff9aa07e65166a4ecaeecc5fb5e0091275bdcc\n"
    },
    {
      "commit": "790024bfe6dd2765dd5e552053797459aab72da1",
      "tree": "efb99877caf2206db79035f18543cb27f97bedf3",
      "parents": [
        "0d6f4c06df0b0e35125f088ca028c7226b274dc4",
        "064f9907c98283e76ed03fa65484fc6face22f92"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 21 06:04:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 21 06:04:43 2012 -0700"
      },
      "message": "Merge \"Unhide new methods on RemoteViews and Notification.\" into jb-dev"
    },
    {
      "commit": "0d6f4c06df0b0e35125f088ca028c7226b274dc4",
      "tree": "07f80d37d7f6aa25031e78de13de09eba3cbc2be",
      "parents": [
        "d7c00d2bdd011d3a73faf1c4a5bb8012d24dd648"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 20 23:59:06 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 21 00:39:35 2012 -0700"
      },
      "message": "Dejank: don\u0027t allocate when scrolling lists\n\nThe new display list properties introduces in JB were causing numerous\nand expensive memory allocations while scrolling lists. During a scroll\nListView sometimes attempts to apply an offset to views before they are\ndrawn for the first time. This had the side effect of generating a new\nIllegalStateException and its entire stack trace. The exception was\ncaught inside the display list and never seen by users.\n\nGenerating an exception is very expensive both in terms of allocated\nmemory and CPU time spent crawling the stack.\n\nList scrolls/flings are a common case of this issue but it also happens\nduring various types of animations. A simple alpha animation, for instance,\ncan cause the problem to occur.\n\nAnother side effect of this issue is more frequent and longer GC pauses.\n\nChange-Id: Ic1b37cc84f7c8f290209cfb990d030e96d6e0dc7\n"
    },
    {
      "commit": "da036c8a5709d5b985e0dd63c379e93135768c81",
      "tree": "1834c7bc4b7e514419715e7e857154bbdaafa47f",
      "parents": [
        "09829b71de3a84cb9d1bc0d8aad78dd16daadddf",
        "c23e54b4e1a1f908673ec1ede738355b2a68ccb4"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Jun 20 22:42:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 22:42:58 2012 -0700"
      },
      "message": "Merge \"Import translations. DO NOT MERGE\" into jb-dev"
    },
    {
      "commit": "09829b71de3a84cb9d1bc0d8aad78dd16daadddf",
      "tree": "b593ae9d7938ec009693dc4bf0da272591d4f719",
      "parents": [
        "fc32ec9a51cb78e58ae673abc327f4ef7be98fad",
        "8e37a85bf3dc39519942698dc90a3951306b934b"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 20 22:32:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 22:32:39 2012 -0700"
      },
      "message": "Merge \"Expand volume APIs for MediaRouter\" into jb-dev"
    },
    {
      "commit": "8e37a85bf3dc39519942698dc90a3951306b934b",
      "tree": "eb90d07708b259a54106b448edbb5b5d2c78b5b0",
      "parents": [
        "bd6b1820d931ef11fc7fc5b8571a8265c1ed4994"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 20 15:56:39 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 20 22:19:29 2012 -0700"
      },
      "message": "Expand volume APIs for MediaRouter\n\nAllow applications to set a requested volume level on RouteInfo\nobjects. If requested for a user route, the app-supplied callback will\nbe invoked to perform actual volume adjustment.\n\nChange-Id: I856990a0da7292492aa15e6562dbc3d055b848a0\n"
    },
    {
      "commit": "064f9907c98283e76ed03fa65484fc6face22f92",
      "tree": "cc1eaae4b7d69542aef005612b5ef569cc12161e",
      "parents": [
        "7a1a406b24c235ce59c13126d20cfb101c4e2777"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 20 23:43:41 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 21 00:15:01 2012 -0400"
      },
      "message": "Unhide new methods on RemoteViews and Notification.\n\nChange-Id: I0cbc270d9d7e9e728482c3b10650a32589636c9d\n"
    },
    {
      "commit": "c23e54b4e1a1f908673ec1ede738355b2a68ccb4",
      "tree": "468bfd192351186577993fc7058a9399a3edcc92",
      "parents": [
        "5070a7f0f4bf817e884b9e6ea8ee23c99209c50e"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Jun 20 19:48:35 2012 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Jun 20 19:48:35 2012 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: Ic5c7a282f3ce75cba92d8cda741ecaa9088d12be\n"
    },
    {
      "commit": "255cb7798160a083124cd2033e0619f8b3ed731c",
      "tree": "86b75b2246b8ab80c86cde13aa0c11af55338514",
      "parents": [
        "5070a7f0f4bf817e884b9e6ea8ee23c99209c50e",
        "a371154f08246e89c4cb4d5eaefd0b496ecc5632"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 20 19:28:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 19:28:16 2012 -0700"
      },
      "message": "Merge \"Make animations persist after completion.\" into jb-dev"
    },
    {
      "commit": "a371154f08246e89c4cb4d5eaefd0b496ecc5632",
      "tree": "d86a6aeb07aa8a0926a9716676175afe56059b47",
      "parents": [
        "2a2b021a2133b769e0b82fd6edc166ba98129680"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 20 18:27:32 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 20 18:49:38 2012 -0700"
      },
      "message": "Make animations persist after completion.\n\nTransition animations were set to fillAfter\u003dfalse which caused them\nto revert when they had completed. Normally this would not have\nmattered as the final state was obscured by the new Activity. In\nthe case of the Phone app the Activities churn so much that the\noriginal Activity was exposed.\n\nFixes bug 6691421.\n\nChange-Id: I96b8a43d0a2cac9a34a14a309548c41451c65a57\n"
    },
    {
      "commit": "927c7fd1fec8ff26fd4bf8cc64eb12dd634cb60b",
      "tree": "8205c1f3c1273f64fd5ba058f1723c0c4961feaa",
      "parents": [
        "dce5af632ce8899905fbf187b9505f6753d5a562",
        "87ab6962e44914fdee767c5be6b316228d2b7889"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Jun 20 17:56:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 17:56:40 2012 -0700"
      },
      "message": "Merge \"Fix crash when SimpleCursorAdapter changes cursor from null\" into jb-dev"
    },
    {
      "commit": "dce5af632ce8899905fbf187b9505f6753d5a562",
      "tree": "7d400f47811ca0190285f60da634d23f703cf048",
      "parents": [
        "bd6b1820d931ef11fc7fc5b8571a8265c1ed4994",
        "78bfb9829561876137c62ca1fff13760bfc77472"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jun 20 16:52:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 16:52:16 2012 -0700"
      },
      "message": "Merge \"Fix GlowPadView accessibility behavior.\" into jb-dev"
    },
    {
      "commit": "998a68369fcf7928b6fa58d6312426f88a27a39e",
      "tree": "004461a9fcd7868d06ae49c3df4d8645f6a27e7f",
      "parents": [
        "59ea115def6ed7277f6f159e0670b5a37c3ca126",
        "423d48bbba074ee1d0d7b09f4e9e074a6944edba"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jun 20 15:44:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 15:44:48 2012 -0700"
      },
      "message": "Merge \"Add a private method to retrieve the header list from PreferenceActivity\" into jb-dev"
    },
    {
      "commit": "423d48bbba074ee1d0d7b09f4e9e074a6944edba",
      "tree": "e6a321a8e07f164a9482096f762ee759473d2702",
      "parents": [
        "fe54cb6f3da7fe95d5141d97b0c6780e001ad058"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jun 20 13:54:53 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Jun 20 13:54:53 2012 -0700"
      },
      "message": "Add a private method to retrieve the header list from PreferenceActivity\n\nThis is required by Settings app to be able to update the header list\nif the accounts list changed.\n\nBug: 6685701\nChange-Id: If27f83ec86fe1f3519a6e25de4e4fe4864133dc8\n"
    },
    {
      "commit": "78bfb9829561876137c62ca1fff13760bfc77472",
      "tree": "361d4385a8e2553876b27b0b967d8b444f8d38ca",
      "parents": [
        "56802678a72157675382910e37857cf78e1cefcb"
      ],
      "author": {
        "name": "alanv",
        "email": "alanv@google.com",
        "time": "Wed Jun 20 12:10:48 2012 -0700"
      },
      "committer": {
        "name": "alanv",
        "email": "alanv@google.com",
        "time": "Wed Jun 20 13:22:45 2012 -0700"
      },
      "message": "Fix GlowPadView accessibility behavior.\n\nBug: 6702412\nChange-Id: If5ab75e77b0090a405004c66da0083e81d59deb4\n"
    },
    {
      "commit": "edc34cf55482faa25b48e867bd51ecec74dbd0e8",
      "tree": "41834986ba69a4cd4a8b416e8551007fcd3d5253",
      "parents": [
        "d0d3a850650ade52198e7836f87a0e27ad2d6b41",
        "ddaeed36152220e01aab2b9f6d4aac4861da5aa8"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Jun 20 12:26:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 12:26:14 2012 -0700"
      },
      "message": "Merge \"Import translations. DO NOT MERGE\" into jb-dev"
    },
    {
      "commit": "b6ce1f311ce154af713ebc4f543fc2aaed446939",
      "tree": "e0e5200d30708ffb8b9af13d7b7dd2eb01bacb9b",
      "parents": [
        "2c24de30a73b59ca1fa93cf7bfb7aba90953a0dc",
        "acdfbcca6f91bdf3f77ed7b2e699c97ce98c1fb8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 20 12:06:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 12:06:14 2012 -0700"
      },
      "message": "Merge \"Fix issue #6675499: java.lang.RuntimeException: Unable to start...\" into jb-dev"
    },
    {
      "commit": "ddaeed36152220e01aab2b9f6d4aac4861da5aa8",
      "tree": "8397f40284819cf18cc01b195973b01c139340d6",
      "parents": [
        "18ddb6ce6f3672a24a6f86ee4b28f5baa746bc20"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Jun 20 11:58:21 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Jun 20 11:58:21 2012 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: If50ab67d8bc4570a07cb2e9dba0c22ed4f7d7592\n"
    },
    {
      "commit": "18ddb6ce6f3672a24a6f86ee4b28f5baa746bc20",
      "tree": "55d7375e1f6368f6ff72be454c557f0059ac7dc2",
      "parents": [
        "17c1425f5ab5c6f734a700d74b5bd8118f289cd5",
        "1357012968f9066ea3051d83995e9bac69526c3c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 09:07:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 09:07:59 2012 -0700"
      },
      "message": "Merge \"Remote volume handling in MediaRouter\" into jb-dev"
    },
    {
      "commit": "17c1425f5ab5c6f734a700d74b5bd8118f289cd5",
      "tree": "cfb3190560fb4d671c994e4d8367b5110f60d8a0",
      "parents": [
        "2dde147b28684fc32f03ad748af8eb87d5408c7c",
        "c20fc8daf56eb348fa4a9355a9e33b0ebc468699"
      ],
      "author": {
        "name": "Luca Zanolin",
        "email": "zano@google.com",
        "time": "Wed Jun 20 02:32:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 20 02:32:12 2012 -0700"
      },
      "message": "Merge \"Clone the list of listeners before notifing any event.\" into jb-dev"
    },
    {
      "commit": "87ab6962e44914fdee767c5be6b316228d2b7889",
      "tree": "0dfb1fa58c664cf2e558cef770760a42a4bdc58d",
      "parents": [
        "5bb835a95942b0b313b2fa4e3f05941e630f9be7"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Jun 20 11:34:05 2012 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Jun 20 15:58:43 2012 +0800"
      },
      "message": "Fix crash when SimpleCursorAdapter changes cursor from null\n\nwhen the spinner\u0027s drop-down view is shown.\n\nBug: 6637141\n\nChange-Id: I62f759f778b040db386cc72a753c3b2745517b7e\n"
    },
    {
      "commit": "1357012968f9066ea3051d83995e9bac69526c3c",
      "tree": "3f633ea7356eb17d96bfc0f717ad9c38a35196fa",
      "parents": [
        "fe54cb6f3da7fe95d5141d97b0c6780e001ad058"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 19 14:03:09 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 19 19:41:35 2012 -0700"
      },
      "message": "Remote volume handling in MediaRouter\n\nExtend MediaRouter.UserRouteInfo to enable setting playback\n information, which includes volume. When the user route instance\n has a RemoteControlClient, forward any playback information to it.\n Enable specifying a callback to be notified of volume events\n on the route.\nExtend MediaRouter.RouteInfo to enable retrieving playback\n information.\n\nUpdate RemoteControlClient javadoc to reflect which parts of the\n API are not intended to be made public.\n\nChange-Id: I59d728eb61747af6c8c89d53f0faeb07940594c3\n"
    },
    {
      "commit": "2dde147b28684fc32f03ad748af8eb87d5408c7c",
      "tree": "efd3a5c5dcefee24bb36b453381b71a7fd25b427",
      "parents": [
        "f96d117e9bf2d5998677521330697628c95ec3f1",
        "849df0b5a7a5ef72610d687a8b1c2f0a23f873ab"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 19 19:18:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 19 19:18:34 2012 -0700"
      },
      "message": "Merge \"Add an XML attribute for controlling which route types a MediaRouteButton in a layout will alter.\" into jb-dev"
    },
    {
      "commit": "f96d117e9bf2d5998677521330697628c95ec3f1",
      "tree": "bc9c869fd67a7db5a289cd7164512191d8c7302a",
      "parents": [
        "fce2ec4da468c2d5ba26de8d051ff7ee64bb01c3",
        "77e67cf9055378d00bb57f458129462f33047039"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 19 18:39:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 19 18:39:08 2012 -0700"
      },
      "message": "Merge \"Add extra systrace tracing\" into jb-dev"
    },
    {
      "commit": "94754ef36d1ceacb9a335202585e60c82b1f4b0d",
      "tree": "ba262c583858e87e99a87f775915818385f619e0",
      "parents": [
        "2a2b021a2133b769e0b82fd6edc166ba98129680"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 19 17:38:04 2012 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 19 18:28:25 2012 -0700"
      },
      "message": "Fix 6656710: center dot pattern in GlowPadView\n\nThis fixes a bug where the dots weren\u0027t aligned with the center of the view.\nThe matrix should not contain the offset of the image itself since we really\nwant to scale about the abstract points.  The code now subtracts the image\ncentering positions (cx,cy) from the point to be scaled.\n\nChange-Id: I1d46a5d51b1fd1d39944c64baf86c306c2d5e923\n"
    },
    {
      "commit": "77e67cf9055378d00bb57f458129462f33047039",
      "tree": "e0a5c4942fab1721c16acb1b21e15b0325108ff0",
      "parents": [
        "54ab347fdde0e4d14d923cca80e5bcc7b879fc52"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 19 16:38:50 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 19 18:21:06 2012 -0700"
      },
      "message": "Add extra systrace tracing\n\nThis change shows how much time is spent updating and executing\nframework display lists within a frame.\nThis change also fixes a crash that happnes if you attempt to\nperform a dumpsys gfxinfo while the app is drawing (we are telling\ndevelopers to use this new tool.)\n\nChange-Id: Ia4047a78a42b545ab77176ef4f371c300686548c\n"
    },
    {
      "commit": "849df0b5a7a5ef72610d687a8b1c2f0a23f873ab",
      "tree": "61b52bcab967c6614fb7c232b09e8cf0dec941ac",
      "parents": [
        "2a2b021a2133b769e0b82fd6edc166ba98129680"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 19 17:47:13 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 19 17:47:48 2012 -0700"
      },
      "message": "Add an XML attribute for controlling which route types a\nMediaRouteButton in a layout will alter.\n\nChange-Id: I897a68188fa87e4c2dbc88794117a3ef87ffaab0\n"
    },
    {
      "commit": "2a2b021a2133b769e0b82fd6edc166ba98129680",
      "tree": "81b4e7f2b3781260664b5f2c7acd10375e17499e",
      "parents": [
        "f7e820bbc9d23e0657bbd6252fe285ba08a2551a",
        "eba1b70d7a66fa8299307895ec6d6d6495b387f0"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 19 17:00:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 19 17:00:35 2012 -0700"
      },
      "message": "Merge \"Permit MediaRouteButton to select system routes in toggle mode.\" into jb-dev"
    },
    {
      "commit": "f7e820bbc9d23e0657bbd6252fe285ba08a2551a",
      "tree": "4fca483860e1a0614f6446042d9cc522dfdf29e0",
      "parents": [
        "1b36a68f607538bd090c33b31bd418169657ff6c",
        "a7da8afe6dc866786acab8b06524d0079caa3fd7"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 19 16:41:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 19 16:41:50 2012 -0700"
      },
      "message": "Merge \"Fix 6693743: update animation ring for keyguard and search panel\" into jb-dev"
    },
    {
      "commit": "a7da8afe6dc866786acab8b06524d0079caa3fd7",
      "tree": "ef654cee961b787113da00871bb52ea1be50ce6d",
      "parents": [
        "c2585467107995f3130872eb7b721f3dbbcdf505"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 19 16:17:19 2012 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 19 16:17:19 2012 -0700"
      },
      "message": "Fix 6693743: update animation ring for keyguard and search panel\n\nThis is a partial revert of change Ibce96f45eb6a94582c694108b99e243fd57b1955.\n\nThis change:\n- shows the expanding ring animation on keyguard and navbar search\n- disables the first ping wave animation on both.\n- restores the outer ring\n\nChange-Id: I429d23a49ca2868dc00872b8b8fde000d6a53a6d\n"
    },
    {
      "commit": "1b36a68f607538bd090c33b31bd418169657ff6c",
      "tree": "29b1cae9fce863c7d591bb6ebf372f3b1b30e640",
      "parents": [
        "ebc9d317ff61bf8907809692d3efa899550d70d9",
        "45f5a76000e6988f997e1c448d6fd8a8c59308f0"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Jun 19 16:16:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 19 16:16:00 2012 -0700"
      },
      "message": "Merge \"DO NOT MERGE Engineer-asset light-theme findonpage prev/next buttons\" into jb-dev"
    },
    {
      "commit": "ebc9d317ff61bf8907809692d3efa899550d70d9",
      "tree": "780f18447da793ae82349a8df7302707080dd65f",
      "parents": [
        "cab997b2020ddb67158397dccadd28d91a7710d0",
        "ddbb346e5a08c94dca44d681af53f0d9dc75cadf"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Jun 19 15:59:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 19 15:59:27 2012 -0700"
      },
      "message": "Merge \"Handle non-started LayoutTransition animations correctly\" into jb-dev"
    },
    {
      "commit": "eba1b70d7a66fa8299307895ec6d6d6495b387f0",
      "tree": "99aa9f9d183af21459da66686c0605b13d7847f6",
      "parents": [
        "cab997b2020ddb67158397dccadd28d91a7710d0"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 19 15:58:38 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 19 15:58:38 2012 -0700"
      },
      "message": "Permit MediaRouteButton to select system routes in toggle mode.\n\nBug 6694917\n\nChange-Id: I82e68aee196c72f349e7638717b727ef3f23e9b5\n"
    },
    {
      "commit": "45f5a76000e6988f997e1c448d6fd8a8c59308f0",
      "tree": "1ef051ab59ca75a8e139020d169db67afd853f88",
      "parents": [
        "cab997b2020ddb67158397dccadd28d91a7710d0"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Jun 19 13:56:27 2012 -0700"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Jun 19 15:56:20 2012 -0700"
      },
      "message": "DO NOT MERGE Engineer-asset light-theme findonpage prev/next buttons\n\nThis is a cherrypick of Iae2795da from master.\n\nThese are provided with the expectation that they will be replaced\nwith more professional assets as soon as available.\n\nBug: 6685279\nChange-Id: Iae2795dafaffcc337b74f4a178f68de4a96b96bf\n"
    },
    {
      "commit": "ddbb346e5a08c94dca44d681af53f0d9dc75cadf",
      "tree": "e0274b333ee2a0c86e73ddd20619ebc0e62e5b1c",
      "parents": [
        "fe54cb6f3da7fe95d5141d97b0c6780e001ad058"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Jun 19 13:54:29 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Jun 19 15:39:16 2012 -0700"
      },
      "message": "Handle non-started LayoutTransition animations correctly\n\nA recent change to LayoutTransition noop\u0027d animations in non-visible\nparents, to avoid artifacts like scaling/moving from (0,0,0,0). But there\nwas logic in ViewGroup that didn\u0027t account for transitions that didn\u0027t actually\nrun an animation, causing a disconnect between the state of a parent (getting ready\nto remove an item later) and the state of the transition (not running, therefore\nnot needing the child to be removed later).\n\nThe fix was to detect when the transition did not start and avoid adding the\nview to the list of children to be removed later.\n\nIssue #6602502 Playing video through crackle application only audio is heard no video is displayed\n\nChange-Id: Id5260580ab0d6dd165c62006c7bd579fd821a5f5\n"
    },
    {
      "commit": "acdfbcca6f91bdf3f77ed7b2e699c97ce98c1fb8",
      "tree": "e614239d3d1c647503c3678e50e7c7cfc1c6a0ab",
      "parents": [
        "0abe556d28f5f5d395559cc6567b05939d1b2640"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 19 15:07:05 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 19 15:07:05 2012 -0700"
      },
      "message": "Fix issue #6675499: java.lang.RuntimeException: Unable to start...\n\n...activity ComponentInfo{com.google.android.gm/\ncom.google.android.gm.ui.MailActivityGmail}: java.lang.NullPointerException\n\nThere were a number of places in FragmentManagerImpl where we were\nnot dealing with mAdded being null.  In the original implementation,\nmAdded would almost always be null if mActive is null.  As we have\nadded features, this has become a less strong guarantee (and it actually\nwas never completely guaranteed), but there are a lot of places where\nwe would check for mActive being non-null and assume this meant\nmAdded is non-null.\n\nFix these to correctly check for mAdded.\n\nBug: 6675499\nChange-Id: I2a6a801d8bc89550fc73e12c9c3f8bb0ad6c7fa4\n"
    },
    {
      "commit": "45308b1b3b1582d048845df2ee5301241e52a5cf",
      "tree": "42befbc7aa70ffd9eea09fe3ba29681b84b437a4",
      "parents": [
        "c2585467107995f3130872eb7b721f3dbbcdf505"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 18 19:23:39 2012 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jun 19 15:00:13 2012 -0700"
      },
      "message": "Fix 6667238: allow market apps to support ACTION_ASSIST\n\nThis change allows market apps and 3rd parties to supply an activity\nthat responds to ACTION_ASSIST (e.g. market apps).\n\nIt also adds a test app to respond to the ASSIST intent and force\nthe intent disambiguation dialog to appear.\n\nChange-Id: I5a78863c6a9546d18c66275187d178f6a1c9ee17\n"
    },
    {
      "commit": "3dc1af6b6869098836a00a14f49cf2bf91bc52f2",
      "tree": "80ca29847c9f53eeb55bcad330264348176948a4",
      "parents": [
        "fe54cb6f3da7fe95d5141d97b0c6780e001ad058"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Jun 19 14:38:50 2012 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Jun 19 14:38:50 2012 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I050bc722a5a06acc49fc519d57bf16b14158e97a\n"
    },
    {
      "commit": "fe54cb6f3da7fe95d5141d97b0c6780e001ad058",
      "tree": "22a5646f3a47328d888efe65c1e9239387e6265d",
      "parents": [
        "2f4423043ffeaf232ec984be03743326f08cdc8a",
        "493861dfa011f482987c7a49d147d6e50a90c692"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 19 10:54:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 19 10:54:42 2012 -0700"
      },
      "message": "Merge \"Docs only: DENSITY_TV, not just for TVs any more!\" into jb-dev"
    },
    {
      "commit": "2f4423043ffeaf232ec984be03743326f08cdc8a",
      "tree": "e1ea822923119e84b19c67ff9ec057cee02f2b4d",
      "parents": [
        "5bb835a95942b0b313b2fa4e3f05941e630f9be7",
        "3114ce3861f20f9a5c2c59dd2629197a1f4874a8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 19 10:54:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 19 10:54:32 2012 -0700"
      },
      "message": "Merge \"Remote volume handling\" into jb-dev"
    },
    {
      "commit": "c20fc8daf56eb348fa4a9355a9e33b0ebc468699",
      "tree": "9e9fa3ece47d7d56702b5c5554eb1aeda5222b08",
      "parents": [
        "5bb835a95942b0b313b2fa4e3f05941e630f9be7"
      ],
      "author": {
        "name": "Luca Zanolin",
        "email": "zano@google.com",
        "time": "Tue Jun 19 18:15:29 2012 +0100"
      },
      "committer": {
        "name": "Luca Zanolin",
        "email": "zano@google.com",
        "time": "Tue Jun 19 18:15:29 2012 +0100"
      },
      "message": "Clone the list of listeners before notifing any event.\n\nThis is required, otherwise the listener cannot remove it-self from the\nlist of listeners during the notification.\n\nBug: 6692355\nChange-Id: I07762feb4f9b97ec4b6148d2f604d53e266b84d7\n"
    },
    {
      "commit": "493861dfa011f482987c7a49d147d6e50a90c692",
      "tree": "559b7d88407b10b2475bea1c91af8b277e13c821",
      "parents": [
        "ddbc85cbfdc8ac6ed02b104f0e9c46018a0e1c53"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 18 19:29:45 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 18 19:29:45 2012 -0700"
      },
      "message": "Docs only: DENSITY_TV, not just for TVs any more!\n\nChange-Id: Id70e0bc179ab405fbb7f3b2cda7b75f44ff30b57\n"
    },
    {
      "commit": "badf5a9442e639dc6ae2c4794c202143f6d2f16d",
      "tree": "5baf72d476c2009b1144982963468aaa25be9596",
      "parents": [
        "89f5a4624bfa487cb5fb192d9c3c9b30937b3f26",
        "cd943a7a013952af9b7286fd506fd63bf0993ac1"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Mon Jun 18 18:53:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 18 18:53:31 2012 -0700"
      },
      "message": "Merge \"Fixed text rendering issue with spans.\" into jb-dev"
    },
    {
      "commit": "3114ce3861f20f9a5c2c59dd2629197a1f4874a8",
      "tree": "c23f8f5c493fecd904022333cac099451fb20d6b",
      "parents": [
        "4cb3b76caa004867bac43f0001072e24bfa8c120"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 11 15:03:52 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 18 18:37:17 2012 -0700"
      },
      "message": "Remote volume handling\n\nExtend RemoteControlClient class to enable an applicaton to\n specify more information about how it\u0027s playing media, now covering\n usecases where media playback happens \"remotely\". This playback\n information can be used to set the volume and maximum volume\n used remotely.\nDeclare a new intent and associated extras in Intent,\n ACTION_VOLUME_UPDATE, so an application can be notified that\n the volume it handles should be updated. It can then use\n the new RemoteControlClient.setPlaybackInformation() method\n to notify AudioService what the volume is.\nExtend AudioService to maintain playback information associated\n with the RemoteControlClient information in the stack of\n media button event receivers (mRCStack). The information\n about the active remote is cached so the stack doesn\u0027t have\n to be iterated over in order to retrieve remote playback info.\n Events to \"adjust\" the remote volume based on hardware key\n presses cause the client application to be notified of\n volume updates, and the volume panel to display the volume\n set by the app.\n Revise which stream type is controlled when none is specified\n according to latest guidelines for remote playback.\nUpdate VolumePanel class to support a new pseudo stream type,\n AudioService.STREAM_REMOTE_MUSIC, that corresponds to the\n remote playback volume, and uses the new \"media route\" icon.\n Enable it to receive asynchronously new volume values for\n the remote that will be displayed if the UI is still up,\n and ignored otherwise.\n Now supports hiding/showing sliders dynamically so remote\n volume only appears when AudioService has a remote control\n client handling remote volume.\nDefine new java symbols for the two media route icons.\nModify lockscreen behavior: don\u0027t automatically control music\n volume when music is active, consider also remote playback.\n\nStill to do:\n- playback information set by RemoteControlClient should post\n  a message for AudioService to update playback information\n  instead of updating it synchronously\n\nChange-Id: I557aa687239f9acfe33a609f05876c67fa7eb967\n"
    },
    {
      "commit": "56bb344ccfd3d261cea9987c98a17d0820279b17",
      "tree": "c9869a9e00045958d1a543e0a6f98d23135ba714",
      "parents": [
        "ddbc85cbfdc8ac6ed02b104f0e9c46018a0e1c53",
        "9530e3a22d5ffa2019d1a5177b6a441d4d6d048b"
      ],
      "author": {
        "name": "Nicolas Falliere",
        "email": "nicof@google.com",
        "time": "Mon Jun 18 17:39:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 18 17:39:48 2012 -0700"
      },
      "message": "Merge \"Added or fixed doctrings for required permissions.\" into jb-dev"
    },
    {
      "commit": "9530e3a22d5ffa2019d1a5177b6a441d4d6d048b",
      "tree": "87588c39f929b97140284b60b26e5be03618bcb0",
      "parents": [
        "ec7c7ebf01121d17f7a12e827bd77c024eab54e8"
      ],
      "author": {
        "name": "Nicolas Falliere",
        "email": "nicof@google.com",
        "time": "Mon Jun 18 17:21:06 2012 -0700"
      },
      "committer": {
        "name": "Nicolas Falliere",
        "email": "nicof@google.com",
        "time": "Mon Jun 18 17:22:34 2012 -0700"
      },
      "message": "Added or fixed doctrings for required permissions.\n\nBug: 6591338\nChange-Id: Ia2092f9994854701b5fa1425c371817367ae07ec\n"
    },
    {
      "commit": "5892e2ec253465a46b346fc813a21b412ae85e2e",
      "tree": "5e65c45e79e18fcea4c065f80c0419da7528b2b6",
      "parents": [
        "12da2c5eeeadd6c23da5d3003d0da3b6b73d5052"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 18 17:04:58 2012 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 18 17:04:58 2012 -0700"
      },
      "message": "Fix 6683092: tune GlowPadView wave animation\n\nThis adds some aesthetic changes to the wave animation for GlowPadView:\n- wave shape is no longer symmetric\n- disable expand in keyguard\n- enable expand in SearchPanelView (when mAlwaysTrackFinger \u003d\u003d true)\n- if a current wave animation isn\u0027t finished yet, don\u0027t start a new one\n- various timing changes\n\nChange-Id: Ibce96f45eb6a94582c694108b99e243fd57b1955\n"
    },
    {
      "commit": "12da2c5eeeadd6c23da5d3003d0da3b6b73d5052",
      "tree": "c154532a2dcb1490f9cc93ab61454d6bda0b1119",
      "parents": [
        "c4947277e821153fc01256a425e4cbbe34a06eda",
        "20039ad17b94873ee40fdd61c3d1d1aa590010df"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jun 18 13:29:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 18 13:29:49 2012 -0700"
      },
      "message": "Merge \"Fix 6665117: ACTION_ASSIST visual improvements\" into jb-dev"
    },
    {
      "commit": "c4947277e821153fc01256a425e4cbbe34a06eda",
      "tree": "12a14fa7c93f7c7098a7a28dfbd902486f0abf80",
      "parents": [
        "eb2c1b21c6835399fa55227e498fb2930e533439",
        "e3efec74b3b5d699a89165f7edbf5d90aed3bca2"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Jun 18 12:57:03 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 18 12:57:03 2012 -0700"
      },
      "message": "Merge \"Import translations. DO NOT MERGE\" into jb-dev"
    },
    {
      "commit": "e3efec74b3b5d699a89165f7edbf5d90aed3bca2",
      "tree": "db146a3bbd76cc28382a6251fc50b56efad1047c",
      "parents": [
        "1c1ece1bd2ecfa6eacd1a1de8f529e81415f165d"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Jun 18 12:36:51 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Jun 18 12:36:51 2012 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I0108055d8a3aa31fb8157b43e0f2224fab488642\n"
    },
    {
      "commit": "ec7c7ebf01121d17f7a12e827bd77c024eab54e8",
      "tree": "1d02570b105306215d1d2ec716a807535c751c42",
      "parents": [
        "9fba9925c58f1b34792cd9edc8ad93b22e772f5b",
        "45a02e0809c14a52aa24658666df0d41ce661857"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 18 11:27:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 18 11:27:44 2012 -0700"
      },
      "message": "Merge \"API for finding accessibility focus in virtual tree not needed.\" into jb-dev"
    },
    {
      "commit": "4cb3b76caa004867bac43f0001072e24bfa8c120",
      "tree": "fc39f8063c3696d0cdce30192a9d1d3b2c5de169",
      "parents": [
        "1c1ece1bd2ecfa6eacd1a1de8f529e81415f165d",
        "eebebc9ff66808d738fbbaec6c3f1b16dc07d362"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 18 10:20:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 18 10:20:42 2012 -0700"
      },
      "message": "Merge \"Ensure WebViewClassic calls super.onHoverEvent()\" into jb-dev"
    },
    {
      "commit": "1b4dc0fe00805f82fb4bb89a97b6b0501e117505",
      "tree": "cf26e85bf31b1c673d036cb6fc96311dc8dd3e00",
      "parents": [
        "706a8699008ce416a7fbd9a4215726fdb00ee803",
        "4599696591f745b3a546197d2ba7e5cfc5562484"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Jun 17 19:32:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 17 19:32:22 2012 -0700"
      },
      "message": "Merge \"Volume control in MediaRouter dialogs\" into jb-dev"
    },
    {
      "commit": "706a8699008ce416a7fbd9a4215726fdb00ee803",
      "tree": "c8e6ec28b99a6d2d9f62fa91d308490c7a447f45",
      "parents": [
        "d7a04de16798acc04ec0a89a0c7d9f1cf60d1521",
        "39d5c6172503620ac3761148adac5fd7fa20d02d"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Jun 17 19:32:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 17 19:32:07 2012 -0700"
      },
      "message": "Merge \"Make MediaRouter UI more robust around route count changes\" into jb-dev"
    },
    {
      "commit": "d7a04de16798acc04ec0a89a0c7d9f1cf60d1521",
      "tree": "ad6fb448cd393aa827737680f46a891433215bf3",
      "parents": [
        "22aa51202652efbd55094217a046b8e5ecb7afe2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 17 14:17:52 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 17 15:55:46 2012 -0700"
      },
      "message": "Capture window manager\u0027s last ANR state in bug report.\n\nCurrently just grabbing the window state but we could grab\nother things as part of the last ANR report.\n\nBug: 6680398\nChange-Id: I23aa70907b1bdcb21c8acc556fde196ca790ef6a\n"
    },
    {
      "commit": "45a02e0809c14a52aa24658666df0d41ce661857",
      "tree": "331cad95192d9753a517d2a15b61b0436d554b39",
      "parents": [
        "130b4572d1f3df702e5b296a655d15a41f6d4c66"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jun 17 15:07:29 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jun 17 15:07:38 2012 -0700"
      },
      "message": "API for finding accessibility focus in virtual tree not needed.\n\n1. The function for finding where the accessibility focus in a virtual\n   node tree presented by an AccessibilityNodeProvider is not needed\n   API since the framework already keeps track of the accessibility\n   focused virtual node in order to draw the focus rectangle. This API\n   adds unnecessary complexity to developers of AccessibilityNodeProviders.\n\nbug:6675330\n\nChange-Id: I84774686b06a995073a39e45b8ef22f2cd04b773\n"
    },
    {
      "commit": "4599696591f745b3a546197d2ba7e5cfc5562484",
      "tree": "deb99136c03e9100fa6727fe8b7b23dcf7f21c8c",
      "parents": [
        "39d5c6172503620ac3761148adac5fd7fa20d02d"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat Jun 16 14:58:39 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat Jun 16 17:21:57 2012 -0700"
      },
      "message": "Volume control in MediaRouter dialogs\n\nMediaRouter dialogs now intercept the volume keys for altering the\ncurrent volume. The status icon indicates if the slider/buttons are\ncurrently controlling the local device volume or a remote device\u0027s\nvolume.\n\nGroup volume for user routes is handled by using the\nRemoteControlClient supplied by the first route in the group.\n\nChange-Id: I40a0d054847ed5acce7a4c3b669487841b4dca15\n"
    },
    {
      "commit": "39d5c6172503620ac3761148adac5fd7fa20d02d",
      "tree": "8720e26aeab2ae36577309dd912be3f0933c6f14",
      "parents": [
        "c4637d3efbbeb3e204691da96c357b5fea4ae2f1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat Jun 16 14:25:38 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat Jun 16 14:49:13 2012 -0700"
      },
      "message": "Make MediaRouter UI more robust around route count changes\n\nImprove the API around ActionProvider visibility overriding. Allow the\napplication to notify whatever is hosting the ActionProvider that\nvisibility has changed in a way that is friendly to alternate support\nlibrary-style reimplementations of MenuItem.\n\nAllow MediaRouter.Callback implementations to add or remove themselves\nor other Callbacks during dispatch of callback events.\n\nMake MediaRouteActionProvider track the visibility of corresponding\nmenu items more accurately.\n\nChange-Id: Ic7ddb6a87c3637904750d2661e4a9fa323b09ea0\n"
    },
    {
      "commit": "c4637d3efbbeb3e204691da96c357b5fea4ae2f1",
      "tree": "a2e1e8ff53738bbc1377d6ade269508103857668",
      "parents": [
        "130b4572d1f3df702e5b296a655d15a41f6d4c66",
        "1024de59618d6217beac1fc47866baa3741cc27d"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Sat Jun 16 12:34:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 16 12:34:56 2012 -0700"
      },
      "message": "Merge \"Allow restricting the scope of a phone-filter search\" into jb-dev"
    },
    {
      "commit": "1024de59618d6217beac1fc47866baa3741cc27d",
      "tree": "0df615827f406d27066ae7ec9f66a6534a83cb8d",
      "parents": [
        "fd4df46917c79067416985ac53a3da6b27e8c333"
      ],
      "author": {
        "name": "Daniel Lehmann",
        "email": "lehmannd@google.com",
        "time": "Fri Jun 15 20:32:33 2012 -0700"
      },
      "committer": {
        "name": "Daniel Lehmann",
        "email": "lehmannd@google.com",
        "time": "Fri Jun 15 20:32:33 2012 -0700"
      },
      "message": "Allow restricting the scope of a phone-filter search\n\nThis also includes a previous change to current.txt that hasn\u0027t been\ncopied to 16.txt yet\n\nBug:6662259\n\nChange-Id: Iaab5c38ad56882a1270b5276ba7a399bbb8a49f3\n"
    },
    {
      "commit": "130b4572d1f3df702e5b296a655d15a41f6d4c66",
      "tree": "dcbeec24c1138901ac4925446d20b810887267e2",
      "parents": [
        "d8bbf96a84cba7c31fa1535fe2467520f2aa0198"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 19:21:34 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 20:19:29 2012 -0700"
      },
      "message": "ActionProvider API update\n\n* Add ActionProvider#overridesItemVisibility and isVisible.\n  These methods allow an ActionProvider to override the\n  visibility of a MenuItem that it is bound to. If a MenuItem\n  has been explicitly hidden by the application, it will not\n  be visible.\n\n* Change MediaRouteActionProvider to not require a MediaRouter\n  callback, to avoid extra lifecycle management headaches.\n\nChange-Id: I606fa98b3a6a3e60a953dd024274f9bf9c67acdd\n"
    },
    {
      "commit": "eebebc9ff66808d738fbbaec6c3f1b16dc07d362",
      "tree": "0f5f31a18118e2f7410aa9db5b13d202cb2aa524",
      "parents": [
        "137bfad24f26fb3526329aadfe02d751e87027b5"
      ],
      "author": {
        "name": "alanv",
        "email": "alanv@google.com",
        "time": "Fri Jun 15 18:59:11 2012 -0700"
      },
      "committer": {
        "name": "alanv",
        "email": "alanv@google.com",
        "time": "Fri Jun 15 18:59:11 2012 -0700"
      },
      "message": "Ensure WebViewClassic calls super.onHoverEvent()\n\nBug: 6679763\nChange-Id: I9b182f25fa1c4050ea3a046c896e82ffbb4651ad\n"
    },
    {
      "commit": "20039ad17b94873ee40fdd61c3d1d1aa590010df",
      "tree": "8f32124cf4b2df6139bcc5505e57b4ca230a8ece",
      "parents": [
        "d2ee4960c492259665adc2c6630e1a59642677b9"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jun 15 17:26:28 2012 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jun 15 18:11:00 2012 -0700"
      },
      "message": "Fix 6665117: ACTION_ASSIST visual improvements\n\n- add generic icon for search providers that don\u0027t supply one\n- change alpha weighting factor for glow\n- don\u0027t show ring background\n\nChange-Id: I86c86dc2d623c25ec7b91e206fac8ad9cd60faac\n"
    },
    {
      "commit": "fd4df46917c79067416985ac53a3da6b27e8c333",
      "tree": "58f0de6b6f28a4899ee7fcf0b3b550202648ad8b",
      "parents": [
        "5aa02e20186a9e30553a8ef0d53d5fad4c0b7597",
        "307c5cfcdd275e56c6a11056ac4f6d6eb2758ee0"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 15:32:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 15 15:32:14 2012 -0700"
      },
      "message": "Merge \"Remove workaround for bug that was fixed a while ago.\" into jb-dev"
    },
    {
      "commit": "5aa02e20186a9e30553a8ef0d53d5fad4c0b7597",
      "tree": "fe8ce2cb688664a2d9014f813286d9acbed9c027",
      "parents": [
        "b06be57f0acf8bb7b8c1767604058c8f061a7b8b",
        "ba726113e525823f2594507d098f2d99426655f6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 15 15:30:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 15 15:30:40 2012 -0700"
      },
      "message": "Merge \"Revert \"Synthesize fake vsyncs when the screen is off.\"\" into jb-dev"
    },
    {
      "commit": "cd943a7a013952af9b7286fd506fd63bf0993ac1",
      "tree": "4bfb6f5254f3dc47e6bf463fd37bc14979693871",
      "parents": [
        "913bf80416a81f2783376939e7ad0b956975b05c"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Jun 07 17:54:47 2012 -0700"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Jun 15 15:29:13 2012 -0700"
      },
      "message": "Fixed text rendering issue with spans.\n\nBug 6598784\n\nThe algorithm uses three imbricated loops:\n- paragraphs\n- span regions (called \"blocks\" in that description) in these\n- characters in these\n\nWe can ignore the paragraphs and assume paraStart\u003d\u003d0.\n\nThe span region loop cuts the text into blocks of text which share\nthe same set of MetricAffectingSpan spans applied to them. Note that\nspanStart and spanEnd represent such a range, and not necessarily an\nactual span range.\n\nThe third loop then iterates over the characters of these blocks, and creates\na new line (calling out() as soon as the width has been reached.\n\nThe core of the problem comes from the \u0027nextSpanStart\u0027 variable.\nIt is used to restart the block loop from a previous position in case\na line has been created that does not intersect with the current block.\n\nHowever, in case the current block is larger than the width of the text,\nthe character loop is going to create other lines of text before we exit the\nj-loop. Going back to the block loop, we reset spanStart to the nextSpanStart,\nwhich may be too far back in the text. As a result, the same range of characters\nis measured again.\n\nThe (spanStart \u003d\u003d spanEnd) test was used to handle the case where\nnextSpanStart was indeed assigned to a value different than spanEnd.\n\nThis fix simplifies this logic and removes the nextSpanStart variable:\n\nWhen the created line ends before the current block (here \u003c spanStart), we\nimmediately exit the character loop, re-starting the block loop from the\ncurrent position.\n\nPatch 4: added a fix in measured to handle overlapping character ranges.\n\nChange-Id: Ie71b3cf4018b332e335ea916fef08acb43a6679e\n"
    },
    {
      "commit": "307c5cfcdd275e56c6a11056ac4f6d6eb2758ee0",
      "tree": "6304b288c2d3ace2994ad90813e1a0f05c3a44a7",
      "parents": [
        "27db797e37ea16ea5db6eb3f6a32e0f116c1b824"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 15:10:58 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 15:19:09 2012 -0700"
      },
      "message": "Remove workaround for bug that was fixed a while ago.\n\nChange-Id: I368dd8fea6b33af6908b6fe3b7691104166a707a\n"
    },
    {
      "commit": "531d5866d8e2529e2ae1c6ef12202119753bec03",
      "tree": "9b4610db56231cc1bb3afba7b962afa5941c0558",
      "parents": [
        "c1568feaba9f3c4b9f0fab5fcdf062ecb922fcaa",
        "8ffe8b304e4778b3c95e57ad5a77cd41c9cf9f7b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 15 15:00:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 15 15:00:43 2012 -0700"
      },
      "message": "Merge \"Accessibility focus search and setting it from hover are performed by the client.\" into jb-dev"
    },
    {
      "commit": "c1568feaba9f3c4b9f0fab5fcdf062ecb922fcaa",
      "tree": "08b407716eac6c602e6dfa401fe57130df98f54a",
      "parents": [
        "2f8ee7448d6a47178802f9bf00d9e1403b7e7ef9",
        "249405253d09c4a1305ea9eaf5ffdb7d3eb70727"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Jun 15 14:19:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 15 14:19:08 2012 -0700"
      },
      "message": "Merge \"Import translations. DO NOT MERGE\" into jb-dev"
    },
    {
      "commit": "2075f2d3e486b565c9abd2556d81dfb1449f6efb",
      "tree": "8ffed77bc2c2b6335d0e3471ea53cd0fc4021702",
      "parents": [
        "17b9cec1b6fedd0e54ff61f5a12f0e515add70ab",
        "6a9586bc57b162a2d68dd3e417f0fd43d8932fd0"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Jun 15 13:57:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 15 13:57:28 2012 -0700"
      },
      "message": "Merge \"Notify Java side to start when transition into full screen mode without a reload.\" into jb-dev"
    },
    {
      "commit": "249405253d09c4a1305ea9eaf5ffdb7d3eb70727",
      "tree": "6705eecadf6f7329284e5ccab0cd6fe6605c83cb",
      "parents": [
        "137bfad24f26fb3526329aadfe02d751e87027b5"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Jun 15 12:44:39 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Jun 15 12:44:39 2012 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I6ab3489fe984c442dceaef41e76ee5e6783e65ef\n"
    },
    {
      "commit": "27db797e37ea16ea5db6eb3f6a32e0f116c1b824",
      "tree": "374338041aef4dc64daec6cbd7d1377ea8e0990c",
      "parents": [
        "708f0739a54c2505921df4366a3ae301ba1edb20",
        "b5e2af5919351486a385effe77409d2a91ae9c19"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 11:52:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 15 11:52:10 2012 -0700"
      },
      "message": "Merge \"Update MediaRouteChooserDialog grouping UI\" into jb-dev"
    },
    {
      "commit": "6a9586bc57b162a2d68dd3e417f0fd43d8932fd0",
      "tree": "2c07b65044bd5e021dd4df0902f16baf0a2c5c4a",
      "parents": [
        "a7e3a1e0e7d308e7e78a1992038a34485d04ab29"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Jun 15 11:22:23 2012 -0700"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Jun 15 11:27:34 2012 -0700"
      },
      "message": "Notify Java side to start when transition into full screen mode without a reload.\n\nWhen video start in inline mode, and then transition into full screen mode, the\nvideo is still playing, so we need to notify the player, such that the controller\ncan get the state correctly.\n\nbug:6675847\n\nChange-Id: Ib5f712ca91fe1c374dcc20de996dac6ff7b9e983\n"
    },
    {
      "commit": "8ffe8b304e4778b3c95e57ad5a77cd41c9cf9f7b",
      "tree": "273c3b35797aa6502d816bcba01eeadf8f13c3b3",
      "parents": [
        "68a808bc702f03536bd0cf3e2556127e364119d6"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 15 10:31:31 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 15 10:50:23 2012 -0700"
      },
      "message": "Accessibility focus search and setting it from hover are performed by the client.\n\n1. Currently we are providing accessibility focus search algorithm in the\n   framework and we are also setting accessibility focus from hover. It\n   appears that implementing a focus search strategy that works for all\n   accessibility services is non trivial task if feasible. Based on\n   feedback from the developers of two such services at Google - TalkBack\n   and BarilleBack - the built in focus search does not quite match what\n   they need and they would like to implement a custom strategy.\n\n   Hence, having APIs for accessibility focus search in the framework does\n   not make. Therefore, we are hiding this APIs and later will take out the focus\n   search logic and allow the accessibility service to implement search.\n\n   Also putting accessibility focus from hover is tightly integrated with\n   the focus search since the set of views that get accessibility focus\n   from hover should be the same as the set of views returned by the\n   focus search routine. Therefore, we are letting the accessibility service\n   decide where to put accessibility focus when it gets an accessibility\n   hover event.\n\nbug:6675330\n\nChange-Id: Ie152230990a6602f3fd1d82de2177d0b1444d654\n"
    },
    {
      "commit": "b5e2af5919351486a385effe77409d2a91ae9c19",
      "tree": "6830f4c00e7014ae753d390593dd2c54fa378f14",
      "parents": [
        "90b9f84c43145c51180c7253cd3a3f59862c2611"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 14 23:06:24 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 00:11:34 2012 -0700"
      },
      "message": "Update MediaRouteChooserDialog grouping UI\n\nMove UserRouteInfo tag support to RouteInfo\n\nChange-Id: Ia753924f8613462d5f74736be93a8d748689eef1\n"
    },
    {
      "commit": "ba726113e525823f2594507d098f2d99426655f6",
      "tree": "44b1ebd1c72476be545ad719b2f824679898f97e",
      "parents": [
        "858491ba13ab5d45a5ec462d002b5856703b1b2b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 14 23:48:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 23:48:40 2012 -0700"
      },
      "message": "Revert \"Synthesize fake vsyncs when the screen is off.\"\n\nThis reverts commit 858491ba13ab5d45a5ec462d002b5856703b1b2b\n\nIt turns out that Surface Flinger is supposed to generate fake vsyncs while the screen is off, but sometimes it wasn\u0027t working due to a bug.  That bug has now been fixed by the following change: I7c6abc23bb021d1dfc94f101bd3ce18e3a81a73e"
    },
    {
      "commit": "5c74bca49a48c3316aca9fed00d287cb8cbc2be4",
      "tree": "9e455fbf45a110ee5c9aa98dfc02a754c300df3a",
      "parents": [
        "839734bbe502c876237a0473823b606803051825",
        "858491ba13ab5d45a5ec462d002b5856703b1b2b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 14 21:30:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 21:30:49 2012 -0700"
      },
      "message": "Merge \"Synthesize fake vsyncs when the screen is off.\" into jb-dev"
    },
    {
      "commit": "858491ba13ab5d45a5ec462d002b5856703b1b2b",
      "tree": "45cae93b69d1c317cef3578028013cee16fe642f",
      "parents": [
        "82134f76936be049cc4b23a894ba7decc1d59952"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 14 19:03:44 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 14 20:33:42 2012 -0700"
      },
      "message": "Synthesize fake vsyncs when the screen is off.\n\nWhen the screen is off, we might not receive real vsync pulses from\nthe hardware which would cause posted Choreographer callbacks to not run.\nThis is bad because messages in the Looper might be blocked behind a barrier\nthat is scheduled to be removed by one of those Choreographer callback\n(see ViewRootImpl.doTraversals).  Until the barrier is removed, those messages\nwill not run.  To prevent starvation of the Looper, we synthesize fake vsync\npulses at a reduced rate whenever the display hardware stops generating them.\n\nThis change should fix a variety of rare non-deterministic bugs where\nthe system might appear to be unresponsive while the screen is off,\nand spurious ANRs reported shortly after the screen is turned back on.\n\nBug: 6574842\nBug: 6636995\nBug: 6643559\nChange-Id: I263f2fdf979afd79e5ac47a0cc5d34a93b860c21\n"
    }
  ],
  "next": "839734bbe502c876237a0473823b606803051825"
}
