)]}'
{
  "log": [
    {
      "commit": "c2908e60c9b021fb4bb69acff8d49981dd4dade8",
      "tree": "7b719d7ca8dc804e2906df1d38022ea4f9c22c50",
      "parents": [
        "7eecbf2085bcfe475daf68090a1a4f47fbb6ec72"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 23 17:44:28 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 23 17:44:28 2010 -0800"
      },
      "message": "Support defered generation of mipmaps.  With this change we support mipmap generation when the texture is uploaded to GL without requiring RS to retain the full chain.\n"
    },
    {
      "commit": "7eecbf2085bcfe475daf68090a1a4f47fbb6ec72",
      "tree": "60735dbb382347f4a018a3428b7ecef63a2778fd",
      "parents": [
        "33285c37abee6d95d0ac55cd7e9889cdc8d96d14"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 23 15:27:51 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Feb 23 15:28:52 2010 -0800"
      },
      "message": "Begin implementation of generated java files from RS files.\n"
    },
    {
      "commit": "33285c37abee6d95d0ac55cd7e9889cdc8d96d14",
      "tree": "a0435985e72cfd4e829583e4803d9a9af88e8aae",
      "parents": [
        "17b7d97d7159da265d016a842c6319bd22b361d0",
        "c86727f5805f28fbd25da141c50fb6843f364f3a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 22 14:39:55 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 14:39:55 2010 -0800"
      },
      "message": "Merge \"remove a dependency of GraphicBuffer (libui) on Parcel (libbinder).\""
    },
    {
      "commit": "17b7d97d7159da265d016a842c6319bd22b361d0",
      "tree": "5bc1587b692b7870f3858083807d8687ea3f2cfa",
      "parents": [
        "176160a3edc299a35901c4345a04a01024af48ed",
        "6fe2b22085864b8f6bb6c59ecc0a12c6c4253309"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 22 14:17:52 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 14:17:52 2010 -0800"
      },
      "message": "Merge \"Fix bug where calling getButton(int) returns null.\""
    },
    {
      "commit": "176160a3edc299a35901c4345a04a01024af48ed",
      "tree": "64b2355babd7a884cc772f2f157d6be68126423f",
      "parents": [
        "1efc95f54ef28135d05db756f0b124a37341f90b",
        "1ff8fee7c8e4fcd4ef12c6c5d1055b7eccf5809b"
      ],
      "author": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Mon Feb 22 14:15:00 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 14:15:00 2010 -0800"
      },
      "message": "Merge \"Better file permissions enforcement on system keystore.\""
    },
    {
      "commit": "1efc95f54ef28135d05db756f0b124a37341f90b",
      "tree": "cad8be7c6a2ccbdca1ffa792637bf5d87db68d3b",
      "parents": [
        "29274dc363229a3a4f18c7341f90bd04e39c2c07",
        "ab3e1052823620a91a1330b31da6aaf530ed8c3b"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Feb 22 14:14:46 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 14:14:46 2010 -0800"
      },
      "message": "Merge \"Don\u0027t switch layout modes in AbsListView#onTouchModeChanged() Don\u0027t stomp mResurrectToPosition for LAYOUT_SPECIFIC in AbsListView#hideSelector()\""
    },
    {
      "commit": "6fe2b22085864b8f6bb6c59ecc0a12c6c4253309",
      "tree": "901aaa631c2f95dcae84233f1413d61e8128c4cf",
      "parents": [
        "4bd222f1072513b21cd66d6f983ebdccb6d9b0c8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Feb 22 14:11:40 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Feb 22 14:11:40 2010 -0800"
      },
      "message": "Fix bug where calling getButton(int) returns null.\n\nFixes external bug http://code.google.com/p/android/issues/detail?id\u003d6360\n"
    },
    {
      "commit": "29274dc363229a3a4f18c7341f90bd04e39c2c07",
      "tree": "23e8796bc12bdbaa7ac519da38f87ef2e8aee67f",
      "parents": [
        "b09cc2cde25d02f668b8bc2115a9479425f48703"
      ],
      "author": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Mon Feb 22 22:25:33 2010 +0100"
      },
      "committer": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Mon Feb 22 22:27:41 2010 +0100"
      },
      "message": "Also fix the API description file after UI_MODE_SERVICE rename.\n"
    },
    {
      "commit": "b09cc2cde25d02f668b8bc2115a9479425f48703",
      "tree": "9dc9497ee2500afe2b67d0c909261169cb585d92",
      "parents": [
        "93ed831c9010588a4cf5100462a558c15d2128b4",
        "3d4881067a16c7f65f2aeb06f58eb3f106b05c45"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Feb 22 13:21:58 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 13:21:58 2010 -0800"
      },
      "message": "Merge \"MountService: Force unmount when enabling ums\""
    },
    {
      "commit": "3d4881067a16c7f65f2aeb06f58eb3f106b05c45",
      "tree": "86788c1fd5af269e98b7adb72d3891e117226ea8",
      "parents": [
        "9a56aaf12b462a064e81e02386eca8a1e77fe737"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Feb 22 11:39:16 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Feb 22 13:08:44 2010 -0800"
      },
      "message": "MountService: Force unmount when enabling ums\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "93ed831c9010588a4cf5100462a558c15d2128b4",
      "tree": "ead46592b0e7e45b8344cbcf84eb9baf5dbf7433",
      "parents": [
        "299102f8c340f3cd11bfddb46ad31ec352bd49cb",
        "ec37e42fb260b867b19eb01606867a85ba2e5187"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Feb 22 12:58:44 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 12:58:44 2010 -0800"
      },
      "message": "Merge \"fix race condition introduced by CL https://android-git.corp.google.com/g/40395\""
    },
    {
      "commit": "299102f8c340f3cd11bfddb46ad31ec352bd49cb",
      "tree": "8699cf250c207c12c3e9f8faf4d07de40d77754b",
      "parents": [
        "da576e8c8406d4337cae9a51658a20f79449c3f5",
        "69fb574e294ed07404d515a66fccd046e974d32f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 22 12:57:41 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 12:57:41 2010 -0800"
      },
      "message": "Merge \"Fix missing UI_MODE_SERVICE rename.\""
    },
    {
      "commit": "da576e8c8406d4337cae9a51658a20f79449c3f5",
      "tree": "20ac93c61675f75c53e7e52fddf02a500692db4c",
      "parents": [
        "53332883543868fb83e111a07306368b7772b340",
        "b8144a9c18f23c91b836736a2fcea30917153002"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Feb 22 12:57:13 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 12:57:13 2010 -0800"
      },
      "message": "Merge \"Don\u0027t start global search from system dialogs\""
    },
    {
      "commit": "69fb574e294ed07404d515a66fccd046e974d32f",
      "tree": "b8114f66de2a6e0e893d2a96572aca277dae3c8b",
      "parents": [
        "53332883543868fb83e111a07306368b7772b340"
      ],
      "author": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Mon Feb 22 21:54:05 2010 +0100"
      },
      "committer": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Mon Feb 22 21:54:05 2010 +0100"
      },
      "message": "Fix missing UI_MODE_SERVICE rename.\n"
    },
    {
      "commit": "b8144a9c18f23c91b836736a2fcea30917153002",
      "tree": "92c1294a63d8bc01178922b0d9b60d8dca25f37b",
      "parents": [
        "bef118c25d3fa9fcc87f812e9dd30b7f949e37ba"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Feb 22 20:48:57 2010 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Feb 22 20:48:57 2010 +0000"
      },
      "message": "Don\u0027t start global search from system dialogs\n\nAlso, set FLAG_ACTIVITY_NEW_TASK to allow launching\nglobal search from non-activity contexts.\n\nFixes http://b/issue?id\u003d2460991\n\nChange-Id: I833d5b851f0127fb69165fbfc7d1ee190b320401\n"
    },
    {
      "commit": "53332883543868fb83e111a07306368b7772b340",
      "tree": "39fe760618d617d4e28d08e2bd00dbd33f055926",
      "parents": [
        "7e31e0c351a3b2bb70ee5507b34f1c72d62b56d7"
      ],
      "author": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Thu Feb 18 16:15:43 2010 -0800"
      },
      "committer": {
        "name": "Tobias Haamel",
        "email": "haamel@google.com",
        "time": "Mon Feb 22 21:42:39 2010 +0100"
      },
      "message": "Manager for controlling the UI modes.\n\nThe ui modes can be controlled with the UiModeManager class, which\nis can be retrieved as a system service via getSytemService(Context.UIMODE_SERVICE).\n\nThe class is necessary so that CarHome can be unbundled and other apps can\ndisable the car mode. Its currently a hidden class, since I\u0027m not sure if this\nis the best way to provide this functionality to the user.\n"
    },
    {
      "commit": "ec37e42fb260b867b19eb01606867a85ba2e5187",
      "tree": "672d62170ffbae8506efcf1f70fce54833adf848",
      "parents": [
        "4bd222f1072513b21cd66d6f983ebdccb6d9b0c8"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Feb 22 12:28:16 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Feb 22 12:32:52 2010 -0800"
      },
      "message": "fix race condition introduced by CL https://android-git.corp.google.com/g/40395\n"
    },
    {
      "commit": "7e31e0c351a3b2bb70ee5507b34f1c72d62b56d7",
      "tree": "5b177c59b9ab317e3951b6369a5676080afd9788",
      "parents": [
        "ec2c88d835dac156be0d14bd2b73cf3825e2e164",
        "21f1bd17b2dfe361acbb28453b3f3b1a110932fa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 22 12:18:01 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 12:18:01 2010 -0800"
      },
      "message": "Merge \"Fix issue #2438980: Implement package watcher for voice recognizer service setting\""
    },
    {
      "commit": "ec2c88d835dac156be0d14bd2b73cf3825e2e164",
      "tree": "dd1a7805c6951214ebb60fde3a2f7c28d358cc5a",
      "parents": [
        "9a56aaf12b462a064e81e02386eca8a1e77fe737"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Sat Feb 20 01:04:57 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Feb 22 15:10:38 2010 -0500"
      },
      "message": "Move new sound effects to the system stream.\n\nChange-Id: I11cfa6495abeb0193b1a3929ec54f0386cfe9ed2\n"
    },
    {
      "commit": "21f1bd17b2dfe361acbb28453b3f3b1a110932fa",
      "tree": "531c362903a1c327db99630996948da85cdedaf7",
      "parents": [
        "9a56aaf12b462a064e81e02386eca8a1e77fe737"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 19 17:02:21 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 22 11:27:52 2010 -0800"
      },
      "message": "Fix issue #2438980: Implement package watcher for voice recognizer service setting\n\nI am getting tired of writing package monitor code, realized this is missing in\na number of places, and at this point it has gotten complicated enough that I\ndon\u0027t think anyone actually does it 100% right so:\n\nIntroducing PackageMonitor.\n\nYes there are no Java docs.  I am still playing around with just what this\nthing is to figure out what makes sense and how people will use it.  It is\nbeing used to fix this bug for monitoring voice recognizers (integrating the\ncode from the settings provider for setting an initial value), to replace\nthe existing code for monitoring input methods (and fix the bug where we\nwouldn\u0027t remove an input method from the enabled list when it got\nuninstalled), to now monitor live wallpaper package changes (now allowing\nus to avoid reverting back to the default live wallpaper when the current\none is updated!), and to monitor device admin changes.\n\nAlso includes a fix so you can\u0027t uninstall an .apk that is currently enabled\nas a device admin.\n\nAlso includes a fix where the default time zone was not initialized early\nenough which should fix issue #2455507 (Observed Google services frame work crash).\n\nIn addition, this finally introduces a mechanism to determine if the\n\"force stop\" button should be enabled, with convenience in PackageMonitor\nfor system services to handle it.  All services have been updated to support\nthis.  There is also new infrastructure for reporting battery usage as an\napplicatin error report.\n"
    },
    {
      "commit": "ab3e1052823620a91a1330b31da6aaf530ed8c3b",
      "tree": "f129bc27cc0db75c8e972c1358c102541b6bb8e6",
      "parents": [
        "4bd222f1072513b21cd66d6f983ebdccb6d9b0c8"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Feb 18 10:35:05 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Feb 22 11:22:31 2010 -0800"
      },
      "message": "Don\u0027t switch layout modes in AbsListView#onTouchModeChanged()\nDon\u0027t stomp mResurrectToPosition for LAYOUT_SPECIFIC in AbsListView#hideSelector()\n"
    },
    {
      "commit": "9a56aaf12b462a064e81e02386eca8a1e77fe737",
      "tree": "c6c7e3a8ac5ff260f9823e2c774ccd721f27b92c",
      "parents": [
        "bcea8124a1d85c610b4bd4e6d360a861d2f61793",
        "8978547f254b6b6ba2e322794aa044803f3edc2a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 22 11:19:51 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 22 11:19:51 2010 -0800"
      },
      "message": "am 8978547f: am f5fe3949: Fix issue 2459650.\n\nMerge commit \u00278978547f254b6b6ba2e322794aa044803f3edc2a\u0027\n\n* commit \u00278978547f254b6b6ba2e322794aa044803f3edc2a\u0027:\n  Fix issue 2459650.\n"
    },
    {
      "commit": "1ff8fee7c8e4fcd4ef12c6c5d1055b7eccf5809b",
      "tree": "5c7f8f94fd6878b890a1f284eff87028f7301610",
      "parents": [
        "bcea8124a1d85c610b4bd4e6d360a861d2f61793"
      ],
      "author": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Mon Feb 22 11:16:51 2010 -0800"
      },
      "committer": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Mon Feb 22 11:17:38 2010 -0800"
      },
      "message": "Better file permissions enforcement on system keystore.\n"
    },
    {
      "commit": "8978547f254b6b6ba2e322794aa044803f3edc2a",
      "tree": "cabd2f1217040f3ba358eda894a1405f2b0bf71c",
      "parents": [
        "6371a2d31f30b473e91be9cced64a2527c086af1",
        "f5fe3949f5db69b19ce3fac7abce2088106f2e2b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 22 11:13:08 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 22 11:13:08 2010 -0800"
      },
      "message": "am f5fe3949: Fix issue 2459650.\n\nMerge commit \u0027f5fe3949f5db69b19ce3fac7abce2088106f2e2b\u0027 into eclair-plus-aosp\n\n* commit \u0027f5fe3949f5db69b19ce3fac7abce2088106f2e2b\u0027:\n  Fix issue 2459650.\n"
    },
    {
      "commit": "bcea8124a1d85c610b4bd4e6d360a861d2f61793",
      "tree": "c154de357dffc55aaf55dba57a8a97bb27eda6bc",
      "parents": [
        "4bd222f1072513b21cd66d6f983ebdccb6d9b0c8",
        "679dd12fa1edb7b5600e84671e06dc957fa8f784"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Feb 22 10:56:18 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 10:56:18 2010 -0800"
      },
      "message": "Merge \"Ignore touch down events near the edge of the screen for the purposes of pulling down the windowshade.\""
    },
    {
      "commit": "679dd12fa1edb7b5600e84671e06dc957fa8f784",
      "tree": "e1c3e108fd4e0af85d788573fceb21212ef15899",
      "parents": [
        "7edf7388b81eb7e3d3ed1e717f69896c3d95ecfa"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Feb 22 10:52:11 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Feb 22 10:52:11 2010 -0800"
      },
      "message": "Ignore touch down events near the edge of the screen for the purposes of pulling down the\nwindowshade.\n\nThis makes it happen less often when you pick up the device or push open the keyboard.\n"
    },
    {
      "commit": "4bd222f1072513b21cd66d6f983ebdccb6d9b0c8",
      "tree": "9754d6f45d2c33b4c507c5e12fa83effd5d8ba7d",
      "parents": [
        "bef118c25d3fa9fcc87f812e9dd30b7f949e37ba",
        "d833023307494d5bfe3fdc1ce79761fb8c9f49a6"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Feb 22 09:10:19 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 09:10:19 2010 -0800"
      },
      "message": "Merge \"Don\u0027t let email addresses in database names get into the EventLog.\""
    },
    {
      "commit": "d833023307494d5bfe3fdc1ce79761fb8c9f49a6",
      "tree": "575c66ec703bcc86cbdfef039fca5ddc5d5df34a",
      "parents": [
        "fed93779a3e144eaa44012b802feb20d194b3a97"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Feb 19 10:59:01 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Feb 22 09:09:21 2010 -0800"
      },
      "message": "Don\u0027t let email addresses in database names get into the EventLog.\n\nBecause some apps make SQLite database names containing email\naddresses, we take care not to log those email addresses in the\nEventLog, so other apps with READ_LOGS access can\u0027t read them.\n"
    },
    {
      "commit": "bef118c25d3fa9fcc87f812e9dd30b7f949e37ba",
      "tree": "6ebcc4333cab68476f7ee269f00653361fe40cae",
      "parents": [
        "7edf7388b81eb7e3d3ed1e717f69896c3d95ecfa",
        "164bd7953778a80ca24b4a30477173ecb79d5531"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Mon Feb 22 08:18:20 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 08:18:20 2010 -0800"
      },
      "message": "Merge \"In DumpRenderTree, skip tests for which we have the wrong results\""
    },
    {
      "commit": "7edf7388b81eb7e3d3ed1e717f69896c3d95ecfa",
      "tree": "34dd26777efa592adbef48769932538eb2ca22b4",
      "parents": [
        "4379dca2f4c6aa56986b9fd70bdbf5648fb1b6fe",
        "edcdbb6d3bb6f66e9fd91b15ef45f4cec5694393"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Feb 22 06:32:25 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 06:32:25 2010 -0800"
      },
      "message": "Merge \"Add new action for launching the user\u0027s music player app.\""
    },
    {
      "commit": "164bd7953778a80ca24b4a30477173ecb79d5531",
      "tree": "1147a4ed6a2dc721b7b344fa2a8c26c73c3000d6",
      "parents": [
        "b427a7b0e4f335b27484d4b46cfa48c0cc601755"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 05 10:53:04 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Mon Feb 22 14:28:05 2010 +0000"
      },
      "message": "In DumpRenderTree, skip tests for which we have the wrong results\n\nCurrently, the list of tests with incorrect results is not used.\n\nChange-Id: I5d3ab9bde6201c2574f08c7c87efa4873ee6fdd1\n"
    },
    {
      "commit": "4379dca2f4c6aa56986b9fd70bdbf5648fb1b6fe",
      "tree": "fd264cd398c55ca3319eebdecb422cf08bea42cb",
      "parents": [
        "b427a7b0e4f335b27484d4b46cfa48c0cc601755"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Fri Feb 19 15:17:21 2010 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Feb 22 09:13:57 2010 -0500"
      },
      "message": "Change the text for the browser downloads and history views.\n\nFix for http://b/issue?id\u003d2450232\n"
    },
    {
      "commit": "edcdbb6d3bb6f66e9fd91b15ef45f4cec5694393",
      "tree": "f76806fb2d5fffc381ca292a59ce05afe2b36ace",
      "parents": [
        "b427a7b0e4f335b27484d4b46cfa48c0cc601755"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Feb 18 16:00:43 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Feb 22 09:04:27 2010 -0500"
      },
      "message": "Add new action for launching the user\u0027s music player app.\n\nandroid.intent.action.MUSIC_PLAYER\n\nhttp://b/2237931\n"
    },
    {
      "commit": "f5fe3949f5db69b19ce3fac7abce2088106f2e2b",
      "tree": "4a7412c83ba329e9ce081e16b44d861dae6812e8",
      "parents": [
        "ee3bbefd34fd5330ebbc59175a328197ab7526af"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 22 01:37:19 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 22 01:37:19 2010 -0800"
      },
      "message": "Fix issue 2459650.\n\nThis change fixes a problem where an unwanted tone is generated by audio policy manager when a MT call is answered.\nThis is because of a policy that replaces high visibility system sounds (ringtones, alarms...) by a beep when in call.\nThere is a transitory phase while the call is being answered where the phone state is changed to IN_CALL but the\nringtone is still playing. The audio policy manager then mutes the end of the ringtone and starts playing a beep\nin replacement because the ringtone is categorized as high visibility.\n\nThe fix consists in changing the ringtone stream type from high visibility to low visibility. This is not a problem as\nthe only actual use case where a ringtone would be generated while in call is if another call is received.\nBut in this case, the phone system does not generate a ringtone but a call waiting tone instead.\nIt is therefore not required to handle a ringtone as a high visibiltiy tone that must be somehow signaled to the user\nwhile in call.\n"
    },
    {
      "commit": "c86727f5805f28fbd25da141c50fb6843f364f3a",
      "tree": "395806614f40b9aac7306a9e951305167fb8abe1",
      "parents": [
        "08d13c3cbb0b250b84ca861edb462060556aead9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 17:30:52 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Feb 21 23:27:25 2010 -0800"
      },
      "message": "remove a dependency of GraphicBuffer (libui) on Parcel (libbinder).\n\nAdd a Flattenable interface to libutils which can be used to flatten\nan object into bytestream + filedescriptor stream.\nParcel is modified to handle Flattenable. And GraphicBuffer implements\nFlattenable.\n\nExcept for the overlay classes libui is now independent of libbinder.\n"
    },
    {
      "commit": "b427a7b0e4f335b27484d4b46cfa48c0cc601755",
      "tree": "0c8659b05c431936d1c93dc8d00928c430a9bb72",
      "parents": [
        "08d13c3cbb0b250b84ca861edb462060556aead9",
        "620144029819df06bda2452fa3ec15334f66bd65"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Feb 21 23:18:45 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Feb 21 23:18:45 2010 -0800"
      },
      "message": "Merge \"Increase the sleep time to fix testTakePicture.\""
    },
    {
      "commit": "620144029819df06bda2452fa3ec15334f66bd65",
      "tree": "244e8173336887b3c65075c570a962b70ce49fee",
      "parents": [
        "e265532f30ca460dc0900c4cdfc3c7425ae7714b"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Feb 22 15:06:47 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Feb 22 15:08:16 2010 +0800"
      },
      "message": "Increase the sleep time to fix testTakePicture.\n\nOne of the build needs 5 seconds for snapshot in low light. I don\u0027t want to\nincrease the sleep time, but this is what we have now.\n\nbug:2141755\n"
    },
    {
      "commit": "08d13c3cbb0b250b84ca861edb462060556aead9",
      "tree": "9704cbf808666df16479b4b3a86e7e5c1dfd10e2",
      "parents": [
        "e70f61b1160e953e5e4d18d30a463fa9ba821779"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Thu Feb 18 15:42:13 2010 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Sat Feb 20 18:38:30 2010 -0800"
      },
      "message": "Fix code coverage output message when running tests in non-raw mode.\n\nBug 2082804\n"
    },
    {
      "commit": "e70f61b1160e953e5e4d18d30a463fa9ba821779",
      "tree": "763d50921749fb256c7e2b656db045ee21277b06",
      "parents": [
        "fda25347b8aaa860e0fdbc972c0f4411c85f8fa3"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 19 10:49:27 2010 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Sat Feb 20 17:29:05 2010 -0800"
      },
      "message": "Retry test-runner tests move.\n\nThis time change the frameworks makefile so it only includes test-runner/src\nin the public API.\n"
    },
    {
      "commit": "fda25347b8aaa860e0fdbc972c0f4411c85f8fa3",
      "tree": "d66fb8a557087894b6c45209353cea7ef829e663",
      "parents": [
        "59eac4b535adad485bffcfb07ae4b734168fc2e6"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Feb 20 08:07:03 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sat Feb 20 08:07:03 2010 -0800"
      },
      "message": "sdutils: Get rid of sdutils - use vdc for similar low level functions\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "59eac4b535adad485bffcfb07ae4b734168fc2e6",
      "tree": "b29a765e94fa7ab81b0fa52e8791557c35d90cc9",
      "parents": [
        "232f24e9c12a19cbbef304fb6ffc108d1334a800"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Feb 19 19:25:45 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Feb 19 19:25:45 2010 -0800"
      },
      "message": "Fix crash: check for install failure cleanly\n\nDon\u0027t go looking at attributes of a package struct without first verifying\nthat the struct pointer is non-null:  in the failed-install case, of course\nthere will be no package info.\n\nChange-Id: I3b2cafca2f1e3891a6592825ce5bcc977e7f3483\n"
    },
    {
      "commit": "232f24e9c12a19cbbef304fb6ffc108d1334a800",
      "tree": "3291ad7b91d4711cdb2ee5b9c28ec571d481bb8c",
      "parents": [
        "2cfa2c2f022b12883b569ace83b7dccdc222693a",
        "1bb6906c7a903ee6427c8ff37bdc5896c386ff73"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Fri Feb 19 18:23:45 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 18:23:45 2010 -0800"
      },
      "message": "Merge \"Automatically restore app data at install time\""
    },
    {
      "commit": "2cfa2c2f022b12883b569ace83b7dccdc222693a",
      "tree": "85a3f2537f709310f1d917e4b3bbc7c92cda16ed",
      "parents": [
        "75b455e767f458d1a30d00fbc29e61c7e15701c6",
        "281a80da143a977046e5b9f65afc85c7fb0b6d25"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Feb 19 18:18:04 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 18:18:04 2010 -0800"
      },
      "message": "Merge \"Fix 2448345: Fix tactile feedback bug in password/PIN and pattern unlock.\""
    },
    {
      "commit": "75b455e767f458d1a30d00fbc29e61c7e15701c6",
      "tree": "55b47f13a96e1902135822252567c80810f803b6",
      "parents": [
        "29415e84da6497fd030ea4df57ef6fd4f242298e",
        "13a6087f31a9b1d3e2011d63ce1fbd613a99f3bf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 19 17:55:26 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 17:55:26 2010 -0800"
      },
      "message": "Merge \"Update the \"Android Performance\" documentation.\""
    },
    {
      "commit": "29415e84da6497fd030ea4df57ef6fd4f242298e",
      "tree": "f4800b3ed13edf6932801645691aa230a9d35c76",
      "parents": [
        "6ad5a7a7c78799ecb306cb97d979bdb98cc52d15",
        "ed2ab7f1062e002053e5a9d8c73672b74268dcbb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 19 17:52:54 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 17:52:54 2010 -0800"
      },
      "message": "Merge \"Initialize layer position\""
    },
    {
      "commit": "ed2ab7f1062e002053e5a9d8c73672b74268dcbb",
      "tree": "1b1c74ebe0173767a6be0abb0acf77c974519147",
      "parents": [
        "6c81defa3d1111c36f8b0c9c4e84e8b2c342620f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 19 17:51:58 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 19 17:51:58 2010 -0800"
      },
      "message": "Initialize layer position\n"
    },
    {
      "commit": "13a6087f31a9b1d3e2011d63ce1fbd613a99f3bf",
      "tree": "4a3d063d8dad471cde5085300cf86279220085d2",
      "parents": [
        "41207b6eb0524c6a2fe9e85f6373785e2937e90f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 19 15:59:26 2010 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 19 17:51:15 2010 -0800"
      },
      "message": "Update the \"Android Performance\" documentation.\n\nA lot of this documentation isn\u0027t even true of the G1, let alone Froyo running\non a Nexus One. Distinguish between truth and fiction, clarify where the JIT\naffects things, and clarify certain confusions (such as the difference between\nintrinsics and native methods).\n\nI still need to include updated performance numbers in the final section. I\nshould also make the benchmark code available so that people don\u0027t have to\ntake our word for these things, and so it\u0027s easier for them to get an idea of\nthe performance of future devices and builds. (Though hopefully we can update\nthis every release in future.)\n\nAnyway, just removing the untruths is a big step forward.\n"
    },
    {
      "commit": "1bb6906c7a903ee6427c8ff37bdc5896c386ff73",
      "tree": "bdb540e8ba002ae648456c0d1af905ac7edd3676",
      "parents": [
        "6ad5a7a7c78799ecb306cb97d979bdb98cc52d15"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Feb 19 17:02:12 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Feb 19 17:24:07 2010 -0800"
      },
      "message": "Automatically restore app data at install time\n\nWhen an application being installed defines a backupAgent in its manifest, we\nnow automatically perform a restore of the latest-known-good data for that app.\nThis is defined as \"data backed up by this app from this handset, if available;\notherwise data for this app as it existed when the device was initially\nprovisioned.\"  If neither option exists for the app, no restore action is\ntaken.\n\nThe CL involves major changes in the Backup and Package Managers...\n\n* The Package Manager\u0027s act of installing an application has now been split\ninto two separate phases, with a data-restore phase optionally occurring\nbetween these two PM actions.  First, the details of the install are performed\nas usual.  Instead of immediately notifying install observers and issuing the\ninstall-related broadcasts, the in-process install state is snapshotted and\nthe backup manager notified that a restore operation should be attempted.  It\ndoes this by calling a new API on IBackupManager, passing a token by which it\nidentifies its in-progress install state.\n\nThe backup manager then downloads [if possible] the data for the newly-installed\napplication and invokes the app\u0027s backupAgent to do the restore.  After this\nstep, regardless of failure, it then calls back into the Package Manager to\nindicate that the restore phase has been completed, supplying the token that\nwas passed in the original notification from the Package Manager.\n\nThe Package Manager then runs the final post-install actions: notifying install\nobservers and sending out all the appropriate broadcasts.  It\u0027s only at this\npoint that the app becomes visible to the Launcher and the rest of the OS.\n\n... and a few other bits and pieces...\n\n* The ApplicationInfo.backupAgentName field has been exposed to the SDK.  This\ncan be reverted if there\u0027s a reason to do so, but it wasn\u0027t clear that this\ninfo needs to be hidden from 3rd party apps.\n\n* Debug logging of restore set IDs and operation timeout tokens [used during\nany asynchronous Backup Manager operation] are now consistently in hex for\nreadability.\n\n* We now properly reset our binder identity before calling into the transport\nduring restore-set operations.  This fixes a permissions failure when a\nsingle-app restore was attempted.\n\n* The \u0027BackupTest\u0027 test app is no longer lumped onto the system partition\nby default.\n\nChange-Id: If3addefb846791f327e2a221de97c8d5d20ee7b3\n"
    },
    {
      "commit": "6ad5a7a7c78799ecb306cb97d979bdb98cc52d15",
      "tree": "71605218da417e46b8ea6b3ba840c9cfdfdc7557",
      "parents": [
        "e49268af9e4639b6472048d03df0f6a72194790f"
      ],
      "author": {
        "name": "Doug Felt",
        "email": "dougfelt@google.com",
        "time": "Fri Feb 19 15:44:35 2010 -0800"
      },
      "committer": {
        "name": "Doug Felt",
        "email": "dougfelt@google.com",
        "time": "Fri Feb 19 16:23:02 2010 -0800"
      },
      "message": "Add a few simple tests of StaticLayout.\n"
    },
    {
      "commit": "e49268af9e4639b6472048d03df0f6a72194790f",
      "tree": "d232262e8ccad5cca47ca1e7ddce664433ba32f1",
      "parents": [
        "35abad216da8a49128c3899a206c15d44c471617",
        "7691af90625eaad79de639e61cd2e6b5566f2e0b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 19 16:00:26 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 16:00:26 2010 -0800"
      },
      "message": "Merge \"Make sure that the event callback thread is Java capable in the simulator.\""
    },
    {
      "commit": "7691af90625eaad79de639e61cd2e6b5566f2e0b",
      "tree": "809a63bfa44893f23f1d1683e5d4bd868630fcfd",
      "parents": [
        "c34ebce475a6994f1aa59b8c535ff966c8f59431"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 19 15:16:57 2010 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 19 15:47:51 2010 -0800"
      },
      "message": "Make sure that the event callback thread is Java capable in the simulator.\n"
    },
    {
      "commit": "35abad216da8a49128c3899a206c15d44c471617",
      "tree": "270209d011192998b92ed9f8a1e6312a4f3e82d7",
      "parents": [
        "6c81defa3d1111c36f8b0c9c4e84e8b2c342620f"
      ],
      "author": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Fri Feb 19 14:15:32 2010 -0800"
      },
      "committer": {
        "name": "Ken Shirriff",
        "email": "kens@google.com",
        "time": "Fri Feb 19 15:30:44 2010 -0800"
      },
      "message": "Add error logging to ContentProviderOperation.\n\nThis will dump out the contents of the operation in some error cases\nto make debugging easier.\n"
    },
    {
      "commit": "6c81defa3d1111c36f8b0c9c4e84e8b2c342620f",
      "tree": "135f77c35a105adfb00782f991112a61a8c57b34",
      "parents": [
        "8afbc53578a55cb39f97f959a0b444bf24f317ee",
        "8946dd3355fc1dcbad872c0546e356474d4cc5de"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 19 14:27:29 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 14:27:29 2010 -0800"
      },
      "message": "Merge \"Move package from internal to external and vice versa.\""
    },
    {
      "commit": "8afbc53578a55cb39f97f959a0b444bf24f317ee",
      "tree": "4829ddbd9e686cb2aefe08f51ab46df957ae4055",
      "parents": [
        "ea0ce99d296516ee737adb1b5c42948bb322850f",
        "bda8874a2990a864f32f8d2d916f7a05f33f797b"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Feb 19 14:22:25 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 14:22:25 2010 -0800"
      },
      "message": "Merge \"improve logging of errors when trying to resolve backrefs http://b/2371475\""
    },
    {
      "commit": "8946dd3355fc1dcbad872c0546e356474d4cc5de",
      "tree": "8b614c938152df8ad809fd9bf03c6876c8a7a58e",
      "parents": [
        "eac461cf7c246df737d2b0e7bd30be176a34c36e"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 19 09:19:34 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 19 14:20:54 2010 -0800"
      },
      "message": "Move package from internal to external and vice versa.\n"
    },
    {
      "commit": "ea0ce99d296516ee737adb1b5c42948bb322850f",
      "tree": "13f8ffe2222289e8317b30a994e255773997b017",
      "parents": [
        "32637cf9fd71096becb4f43bde56e9137b8187e4",
        "1f09c8314701c1d09be8e350344c58241905677b"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Feb 19 14:15:57 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 14:15:57 2010 -0800"
      },
      "message": "Merge \"Spinner now allows disabled adapter items\""
    },
    {
      "commit": "32637cf9fd71096becb4f43bde56e9137b8187e4",
      "tree": "20cba8f4b355e299f2cfeb1e074cf19db3ecf57f",
      "parents": [
        "bf31ed256a058310df657b072c685d60f48923d0",
        "45f2ca7f7d9fac55aa228e022f46ecbac8712a15"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Feb 19 14:15:19 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 14:15:19 2010 -0800"
      },
      "message": "Merge \"Recycle MotionEvents properly in GestureDetector\""
    },
    {
      "commit": "bf31ed256a058310df657b072c685d60f48923d0",
      "tree": "e0429a4a5bf4b538408530aecea3fde6641c0f61",
      "parents": [
        "ea25183196970412482e4dfc3a36e756880fe5b9",
        "c2cb25d49534cc05d114332b09dbeb36480348a3"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 19 13:27:24 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 13:27:24 2010 -0800"
      },
      "message": "Merge \"Add test pattern icon to Fountain.\""
    },
    {
      "commit": "c2cb25d49534cc05d114332b09dbeb36480348a3",
      "tree": "86de294a3185d389b7158328ef4fb2da3a4c2340",
      "parents": [
        "e4c487a75282e8a38a8b3defd49e7799c8670881"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 19 13:26:08 2010 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Feb 19 13:26:08 2010 -0800"
      },
      "message": "Add test pattern icon to Fountain.\n"
    },
    {
      "commit": "bda8874a2990a864f32f8d2d916f7a05f33f797b",
      "tree": "62693938d5176bf0a762c2e072a1a0a761d5958b",
      "parents": [
        "47bd43fd9dccd89d5b19a55e80207577cccd6de3"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Feb 19 13:13:04 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Feb 19 13:13:16 2010 -0800"
      },
      "message": "improve logging of errors when trying to resolve backrefs http://b/2371475\n"
    },
    {
      "commit": "ea25183196970412482e4dfc3a36e756880fe5b9",
      "tree": "93485d0108727fa26ac2fc59fd41ddb1809851d2",
      "parents": [
        "bc92766cfd8d91f390799a96d5fb8c4aa4d07448",
        "e599f78e7785d41902d7525c71d487b36d8ccca2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 19 13:12:07 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 13:12:07 2010 -0800"
      },
      "message": "Merge \"Use direct reference to enum in AaptAssets\""
    },
    {
      "commit": "e599f78e7785d41902d7525c71d487b36d8ccca2",
      "tree": "f4b3e6c993d5f70b1bacf24b6a5d6be06f6fa1f2",
      "parents": [
        "eac461cf7c246df737d2b0e7bd30be176a34c36e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 19 12:45:48 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 19 12:45:48 2010 -0800"
      },
      "message": "Use direct reference to enum in AaptAssets\n\nThe second argument to the getNavHiddenName can be NULL, so use a direct\nreference to the class to get the enum values instead of the argument.\n\nChange-Id: I0444572c23cb4de9e7da15a8310a49cf4619bb15\n"
    },
    {
      "commit": "1f09c8314701c1d09be8e350344c58241905677b",
      "tree": "4f5db71f079ca37b4b42a5629f6fbc445f4667fe",
      "parents": [
        "1aec20b6c397b536e5f183567eda7f5bb6798fed"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Feb 18 18:13:22 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Feb 19 12:01:57 2010 -0800"
      },
      "message": "Spinner now allows disabled adapter items\n"
    },
    {
      "commit": "bc92766cfd8d91f390799a96d5fb8c4aa4d07448",
      "tree": "979e35e75e81832e1f05c68582808c8118cd35ff",
      "parents": [
        "47bd43fd9dccd89d5b19a55e80207577cccd6de3",
        "8a2e0111958b9f6b665d0ed9a6d8bceb9d8fa31a"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Fri Feb 19 11:14:35 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 11:14:35 2010 -0800"
      },
      "message": "Merge \"Add some useful methods to OperationScheduler to inquire into the history, in case you want to second-guess its scheduling.\""
    },
    {
      "commit": "47bd43fd9dccd89d5b19a55e80207577cccd6de3",
      "tree": "94e472b6711d9291c2c283d7c32f8f7c21e305dd",
      "parents": [
        "481a10dd30ab5d4dbb2387417c52cefeb1a7fc27",
        "5e8f52f5c5ac97cbc514e72c4fc84b6fa46ebc57"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 11:12:03 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 11:12:03 2010 -0800"
      },
      "message": "Merge \"Ignore TEMPLATE.html in LayoutTest directories\""
    },
    {
      "commit": "481a10dd30ab5d4dbb2387417c52cefeb1a7fc27",
      "tree": "3686574827dac6a4b8d6f02abbe6c5bc4be3a7da",
      "parents": [
        "ac7c8e6cd1756d527d381308b7ff8c669531385c",
        "a3a0946554d120c35ebe0e632fdc454e49cf61e1"
      ],
      "author": {
        "name": "Martin Hibdon",
        "email": "mah@android.com",
        "time": "Fri Feb 19 10:56:47 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 10:56:47 2010 -0800"
      },
      "message": "Merge \"Enable bluetooth voice dialing in BluetoothHeadset.java.\""
    },
    {
      "commit": "5e8f52f5c5ac97cbc514e72c4fc84b6fa46ebc57",
      "tree": "4c2b97378d6741edfcca26c05836f89d1c13094a",
      "parents": [
        "2eae0694ea4a443e9776783bb96e51ce42f8be90"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 16:10:29 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 18:47:17 2010 +0000"
      },
      "message": "Ignore TEMPLATE.html in LayoutTest directories\n\nChange-Id: I5b1bbd915a569568db368d678a5cc32309fd7be5\n"
    },
    {
      "commit": "ac7c8e6cd1756d527d381308b7ff8c669531385c",
      "tree": "4255ea191559a11a3ce1f7bce13f1553d3815b3c",
      "parents": [
        "2eae0694ea4a443e9776783bb96e51ce42f8be90",
        "8570f7440780db5c9b410e033e843b0e80e2fd27"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Feb 19 10:46:36 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 10:46:36 2010 -0800"
      },
      "message": "Merge \"- fix the AccountManager documentation. http://b/2401790 - only pass the authtoken through from the authenticator to the client   for getAuthToken() and strip it out from the other calls, like   addAccount(). http://b/2332762 - beef up the documentation to indicate what calls are allowed to be made   from the main thread and which are not allowed. http://b/2384961 - wait a bit before retrying syncs that failed because one was already   in progress. http://b/2414235\""
    },
    {
      "commit": "2eae0694ea4a443e9776783bb96e51ce42f8be90",
      "tree": "f4b5508680458a4873823f3794c231f7259a03b9",
      "parents": [
        "0584242360c89f06074a45d01e5cd788c9a1fa01",
        "f53833b7283b810f9ada3abd9b6cfe21165e2931"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 10:45:28 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 10:45:28 2010 -0800"
      },
      "message": "Merge \"Remove tests that no longer exist from the DumpRenderTree skipped list\""
    },
    {
      "commit": "0584242360c89f06074a45d01e5cd788c9a1fa01",
      "tree": "093df653738deabca8b043c5d0fe5982970ae6f9",
      "parents": [
        "1aec20b6c397b536e5f183567eda7f5bb6798fed",
        "52f4362ecdaef299e7ab1ba94006cf4513605014"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 10:45:00 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 10:45:00 2010 -0800"
      },
      "message": "Merge \"Merges unused bug list with ignored result list in DumpRenderTree\""
    },
    {
      "commit": "1aec20b6c397b536e5f183567eda7f5bb6798fed",
      "tree": "e551cbf1462c5d0ae8ef16862ebb2d69390a2ec6",
      "parents": [
        "c1ca8c51c616d1517b18bf24feaa9f8f1430c835",
        "b2d69e3d7742840fe3b2fb86ded8bec510e7a9ca"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 19 10:33:14 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 10:33:14 2010 -0800"
      },
      "message": "Merge \"The MediaScanner is way too obsessed with restricting the files to be scanned.\""
    },
    {
      "commit": "c1ca8c51c616d1517b18bf24feaa9f8f1430c835",
      "tree": "d4b1e47a6cbcb24f8f278d93c69041d3bcf1d38b",
      "parents": [
        "9db619e5d3420c53d94866a02b8f3ed298afe636"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 19 10:31:05 2010 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 19 10:31:05 2010 -0800"
      },
      "message": "Revert \"Move framework test-runner unit tests to be closer to their source.\"\n\nThis reverts commit 12093976a4842a795491cfd2b1d3b71e18503f2d.\n"
    },
    {
      "commit": "9db619e5d3420c53d94866a02b8f3ed298afe636",
      "tree": "b968c141cff010a5230659643aea5df21a1ef0f4",
      "parents": [
        "884ed0190c46faf3fc0e156a80a7bdb133712ed1",
        "12093976a4842a795491cfd2b1d3b71e18503f2d"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 19 10:02:10 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 10:02:10 2010 -0800"
      },
      "message": "Merge \"Move framework test-runner unit tests to be closer to their source. Move the test-runner source into a separate src folder to accommodate the test move.\""
    },
    {
      "commit": "12093976a4842a795491cfd2b1d3b71e18503f2d",
      "tree": "04d06cdfe57151ca3856eab6c405f260583cf1fa",
      "parents": [
        "5df3a9017eaac2aef2ad360ce8f298b2d60b5536"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Thu Feb 18 17:56:11 2010 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 19 09:58:29 2010 -0800"
      },
      "message": "Move framework test-runner unit tests to be closer to their source.\nMove the test-runner source into a separate src folder to accommodate the test\nmove.\n"
    },
    {
      "commit": "884ed0190c46faf3fc0e156a80a7bdb133712ed1",
      "tree": "d4b1e47a6cbcb24f8f278d93c69041d3bcf1d38b",
      "parents": [
        "eac461cf7c246df737d2b0e7bd30be176a34c36e",
        "fafb041b47c1c5f6a4c253768295ed3aeb7ad412"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Feb 19 09:57:29 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 09:57:29 2010 -0800"
      },
      "message": "Merge \"MountService: Move boot-time mount to a thread - avoids ANR at boot\""
    },
    {
      "commit": "b2d69e3d7742840fe3b2fb86ded8bec510e7a9ca",
      "tree": "2f932be6b5e502bc8aba9623b8c72d9c8feb2b7a",
      "parents": [
        "b52188ee57279181dec7f7f22f2b163f62b1ddad"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 19 09:46:37 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 19 09:55:02 2010 -0800"
      },
      "message": "The MediaScanner is way too obsessed with restricting the files to be scanned.\n\nrelated-to-bug: 2326148\n"
    },
    {
      "commit": "eac461cf7c246df737d2b0e7bd30be176a34c36e",
      "tree": "eaf280d20ed523110d3e7594e63c5354f72b2085",
      "parents": [
        "2ac2340c5e98d4fb45698330b928b61be6f7e27f",
        "01228fcff613e2f30773130dd31acd3ba7d62bac"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 08:38:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 08:38:56 2010 -0800"
      },
      "message": "Merge \"Makes sure GeolocationPermissions is fully robust to calls being made before the message handler is initialized\""
    },
    {
      "commit": "2ac2340c5e98d4fb45698330b928b61be6f7e27f",
      "tree": "b5c48068666b25424a6cad7a6211dc36665be812",
      "parents": [
        "4787b3c10f9155474009fb558ae111e3d3c4e055",
        "3608d4a8908dae200e6991174ac2c75637f7c021"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Fri Feb 19 08:26:54 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 08:26:54 2010 -0800"
      },
      "message": "Merge \"Change to 5 days ago group to 7 days ago.\""
    },
    {
      "commit": "01228fcff613e2f30773130dd31acd3ba7d62bac",
      "tree": "99561d6542ac2150b368ab4d5af3b1e5b99ad7ca",
      "parents": [
        "e4b2d4dc7db426052d1dfebc40f6b64a001b6d73"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 12:59:50 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 16:26:41 2010 +0000"
      },
      "message": "Makes sure GeolocationPermissions is fully robust to calls being made before the message handler is initialized\n\nBug: 2315829\nChange-Id: I6c0d1adf7049c5c89228e43e34934702664c8691\n"
    },
    {
      "commit": "4787b3c10f9155474009fb558ae111e3d3c4e055",
      "tree": "529f875cb71d6707b34c3d6f2f73fe5e600dffb7",
      "parents": [
        "b52188ee57279181dec7f7f22f2b163f62b1ddad",
        "e4b2d4dc7db426052d1dfebc40f6b64a001b6d73"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 08:22:37 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 08:22:37 2010 -0800"
      },
      "message": "Merge \"Adds synchronization around message handler in GeolocationPermissions and WebStorage\""
    },
    {
      "commit": "3608d4a8908dae200e6991174ac2c75637f7c021",
      "tree": "bdd2178e54042f546826575deb1f4858ce06d349",
      "parents": [
        "bcbf564a3f527266693233cacd6728770d1a65fd"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Fri Feb 19 11:18:53 2010 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Fri Feb 19 11:18:53 2010 -0500"
      },
      "message": "Change to 5 days ago group to 7 days ago.\n\nFix for http://b/issue?id\u003d2450232\n"
    },
    {
      "commit": "b52188ee57279181dec7f7f22f2b163f62b1ddad",
      "tree": "70212b18a88b3a3d238e0331547fc3d05ba79533",
      "parents": [
        "d064c16469fd3086a17f2d45488b120205e7d857",
        "406a18b5b3d53466a3e03b66413ff3a50243a6a8"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 19 08:02:57 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 08:02:57 2010 -0800"
      },
      "message": "Merge \"Implement legacy behaviour for MediaPlayer\u0027s behaviour of starting from the start of the media on a start() call instead of resuming at the current position, if previously reached the end of the stream. Also properly report number of frames played to audio flinger. Finally, delay spawing the queue thread until actually used.\""
    },
    {
      "commit": "d064c16469fd3086a17f2d45488b120205e7d857",
      "tree": "ebd86cf84b30478999c818319f5dcb576970df05",
      "parents": [
        "8a032a3b29e7708e468e2078ff88a39e083db1da",
        "397afb54649d30b2710a6620b08c3565500f2ed7"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 19 08:02:48 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 08:02:48 2010 -0800"
      },
      "message": "Merge \"Fix a race condition in the prefetcher, the source may be shutdown while we\u0027re reading data from it.\""
    },
    {
      "commit": "f53833b7283b810f9ada3abd9b6cfe21165e2931",
      "tree": "8f4ee8e409e9d45e4132db55cea63f5df84e810c",
      "parents": [
        "52f4362ecdaef299e7ab1ba94006cf4513605014"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 15:28:34 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 15:44:34 2010 +0000"
      },
      "message": "Remove tests that no longer exist from the DumpRenderTree skipped list\n\nChange-Id: If927b40bc3aebdf73b6d23d6cda06cdf31479778\n"
    },
    {
      "commit": "52f4362ecdaef299e7ab1ba94006cf4513605014",
      "tree": "585c3b04307669524d2c97fbf6fa77da229807c5",
      "parents": [
        "4b9f74a2d3bd9672ec392b657eedefb31cd5b516"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 05 10:49:20 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 14:59:22 2010 +0000"
      },
      "message": "Merges unused bug list with ignored result list in DumpRenderTree\n"
    },
    {
      "commit": "fafb041b47c1c5f6a4c253768295ed3aeb7ad412",
      "tree": "7f3b001a5c6336d6bff264253841b7d4168d8d8a",
      "parents": [
        "8a032a3b29e7708e468e2078ff88a39e083db1da"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 18 19:40:04 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Feb 19 06:51:58 2010 -0800"
      },
      "message": "MountService: Move boot-time mount to a thread - avoids ANR at boot\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "e4b2d4dc7db426052d1dfebc40f6b64a001b6d73",
      "tree": "59ad589016d81f7bee1a7db4af2fbd2c47412972",
      "parents": [
        "4b9f74a2d3bd9672ec392b657eedefb31cd5b516"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 12:21:35 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 12:21:35 2010 +0000"
      },
      "message": "Adds synchronization around message handler in GeolocationPermissions and WebStorage\n\nThe message handler is instantiated on the WebCore thread and its presence is\nchecked on the browser thread. This requires synchronization.\n\nChange-Id: I4b71c7a2470b60fa273dc2bcb46f645ed135ee11\n"
    },
    {
      "commit": "8a032a3b29e7708e468e2078ff88a39e083db1da",
      "tree": "b6327286679762a81a7cc03fdf78fde84062ce2d",
      "parents": [
        "c0784c749bb36c9746acd8fe5fe26b3205104d22"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Tue Feb 02 18:20:11 2010 +0000"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Fri Feb 19 11:47:31 2010 +0000"
      },
      "message": "Pass key modifier state to webcore for touch events and update DRT so it can simulate them.\n\nChange-Id: Ic5aa8cb0376f6a3eecaa6340d57f28fa97f016bd\n"
    },
    {
      "commit": "281a80da143a977046e5b9f65afc85c7fb0b6d25",
      "tree": "f33810d87d89089be9b83a4a45163984cffb8483",
      "parents": [
        "165c62d3fb0aac36d42ae08dde651a18d318527c"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 18 19:54:22 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 18 20:15:52 2010 -0800"
      },
      "message": "Fix 2448345: Fix tactile feedback bug in password/PIN and pattern unlock.\n"
    },
    {
      "commit": "c0784c749bb36c9746acd8fe5fe26b3205104d22",
      "tree": "406dce794cef24f418a94d38a39bb85e6d0a8a79",
      "parents": [
        "8378bb39473c14b41bb7e1eec499f7b6be119d01",
        "bd3f527ea0fcca2be0f773e5d6832a80a884699f"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Feb 18 20:11:51 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 20:11:51 2010 -0800"
      },
      "message": "Merge \"Elaborate a little on the documentation for PackageManager\u0027s resolveActivity.\""
    },
    {
      "commit": "8378bb39473c14b41bb7e1eec499f7b6be119d01",
      "tree": "289b35371583b84d571f0da4ac237eb30960f693",
      "parents": [
        "e1550082c0e5a2f5d8331aaae0414552a98214cb",
        "79375f761922b208e2e50ff13a63552c9d01567b"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Feb 18 20:10:23 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 20:10:23 2010 -0800"
      },
      "message": "Merge \"Two big additions to the voice recognition APIs:\""
    },
    {
      "commit": "bd3f527ea0fcca2be0f773e5d6832a80a884699f",
      "tree": "6338bc3929a777ebcfc31ab4ef480534445243f9",
      "parents": [
        "79375f761922b208e2e50ff13a63552c9d01567b"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Feb 18 19:27:17 2010 -0800"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Feb 18 19:27:17 2010 -0800"
      },
      "message": "Elaborate a little on the documentation for PackageManager\u0027s resolveActivity.\n\nNot sure if this wording is perfectly appropriate, so comments welcome.\n"
    },
    {
      "commit": "79375f761922b208e2e50ff13a63552c9d01567b",
      "tree": "7966ee6e151299cf9c284774159f3dd883fd6071",
      "parents": [
        "9599452dd9c001cc2217175227514ef9ac631cd9"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Feb 18 19:01:47 2010 -0800"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Thu Feb 18 19:19:49 2010 -0800"
      },
      "message": "Two big additions to the voice recognition APIs:\n\n* Allow activities satisfying RecognizerIntent.ACTION_WEB_SEARCH to\n  point to the class name of a broadcast receiver which returns details\n  about the voice search implementation in an ordered broadcast response.\n  Provide a convenience method for getting the intent to fire for this\n  info. This can be used to get the current language preference and the\n  list of supported languages, and is extensible for future uses.\n\n* When creating a RecognitionManager, allow the caller to optionally specify\n  a specific component of a voice recognition service on the device that they\n  want to use. This way, an app can still use its own service through\n  RecognitionManager, even if it\u0027s not the one chosen the user in settings.\n"
    },
    {
      "commit": "e1550082c0e5a2f5d8331aaae0414552a98214cb",
      "tree": "077eded5aeb366994e0ad2246bad652673083a7b",
      "parents": [
        "90d141c1fab7fa32f26f815f63c10ceaf750b01a",
        "2c0b6ddf2ad016cc8103e014134efea8fb05e1e8"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 18 19:08:21 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 19:08:21 2010 -0800"
      },
      "message": "Merge \"Fix 2455162: Fix mdpi password entry keyboard to show \u0027OK\u0027 instead of return icon.\""
    },
    {
      "commit": "90d141c1fab7fa32f26f815f63c10ceaf750b01a",
      "tree": "6a22688b72126b9eaf20ac01c1134ac6c36356d5",
      "parents": [
        "939d5fafc904ff71f6d3afaedc3eb05420fac543",
        "59bac03b280115ba843b540298dfb2fbc20491af"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Feb 18 17:36:00 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 17:36:00 2010 -0800"
      },
      "message": "Merge \"Do setThreadPriority() later so we can notify the waiting thread and release the lock as soon as possible even if we run the loop in background priority.\""
    },
    {
      "commit": "8570f7440780db5c9b410e033e843b0e80e2fd27",
      "tree": "ec0bb72f30926b6c3857ce4fd949d2f25a13490b",
      "parents": [
        "fb6a5359e4ae8d36bcba601aa4ce81dbeb287617"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Feb 18 10:32:54 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Feb 18 17:34:33 2010 -0800"
      },
      "message": "- fix the AccountManager documentation. http://b/2401790\n- only pass the authtoken through from the authenticator to the client\n  for getAuthToken() and strip it out from the other calls, like\n  addAccount(). http://b/2332762\n- beef up the documentation to indicate what calls are allowed to be made\n  from the main thread and which are not allowed. http://b/2384961\n- wait a bit before retrying syncs that failed because one was already\n  in progress. http://b/2414235\n"
    },
    {
      "commit": "939d5fafc904ff71f6d3afaedc3eb05420fac543",
      "tree": "e4495cd83a8d402468637e51508c2ae5aaf600c8",
      "parents": [
        "165c62d3fb0aac36d42ae08dde651a18d318527c",
        "ce1200d42c46ae5d3ec637587b07dfdc02ad21c0"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Feb 18 17:34:16 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 17:34:16 2010 -0800"
      },
      "message": "Merge \"Add USB RNDIS enable/disable control\""
    },
    {
      "commit": "2c0b6ddf2ad016cc8103e014134efea8fb05e1e8",
      "tree": "c1c6a73e28547ee52713c659e77472c34ed78bc9",
      "parents": [
        "165c62d3fb0aac36d42ae08dde651a18d318527c"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 18 17:32:01 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 18 17:32:01 2010 -0800"
      },
      "message": "Fix 2455162: Fix mdpi password entry keyboard to show \u0027OK\u0027 instead of return icon.\n"
    },
    {
      "commit": "165c62d3fb0aac36d42ae08dde651a18d318527c",
      "tree": "d8fd8b547e6bba8c3f52af8ae3b7e96325795fd0",
      "parents": [
        "da99efcc5ec838bb9e03349b04a06e3259985428",
        "da2ca7a5b863d2cef9650cc9cb776a20693d9bb6"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 18 16:49:18 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 16:49:18 2010 -0800"
      },
      "message": "Merge \"framework: tests: Clean up asec unit tests and add rename tests\""
    },
    {
      "commit": "406a18b5b3d53466a3e03b66413ff3a50243a6a8",
      "tree": "e9585ff0cf444ac6f4e433992cc4f60bf35f7c1c",
      "parents": [
        "5706329cf42db714582fa698eb9f408350276f16"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 18 16:45:13 2010 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 18 16:45:13 2010 -0800"
      },
      "message": "Implement legacy behaviour for MediaPlayer\u0027s behaviour of starting from the start of the media on a start() call instead of resuming at the current position, if previously reached the end of the stream. Also properly report number of frames played to audio flinger. Finally, delay spawing the queue thread until actually used.\n\nrelated-to-bug: 2453220\n"
    }
  ],
  "next": "da99efcc5ec838bb9e03349b04a06e3259985428"
}
