)]}'
{
  "log": [
    {
      "commit": "5744cd6ac8308b18d32938ee19ad3c8bb8b0fad5",
      "tree": "d06b8ec15b08609dd233f01f3ce855880741e8b3",
      "parents": [
        "308e69896c2812953d74ea63fe964bebaa68eef4",
        "90dc48b17f673b7e334e3254ea633450f994226c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:28:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 16:28:21 2010 -0700"
      },
      "message": "am 90dc48b1: Merge \"call into hwcomposer HAL when present\" into gingerbread\n\nMerge commit \u002790dc48b17f673b7e334e3254ea633450f994226c\u0027 into gingerbread-plus-aosp\n\n* commit \u002790dc48b17f673b7e334e3254ea633450f994226c\u0027:\n  call into hwcomposer HAL when present\n"
    },
    {
      "commit": "308e69896c2812953d74ea63fe964bebaa68eef4",
      "tree": "089d2fca340eac4cbe5d0637bd85ec64a770b719",
      "parents": [
        "f7db3e21ef713d4ff743f2a52837ea3d210bb84f",
        "24d7050ca605804efd5fde03f0d0d8d1d052c247"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:26:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 16:26:05 2010 -0700"
      },
      "message": "am 24d7050c: Merge \"don\\\u0027t handle the transparent region of a layer in draw()\" into gingerbread\n\nMerge commit \u002724d7050ca605804efd5fde03f0d0d8d1d052c247\u0027 into gingerbread-plus-aosp\n\n* commit \u002724d7050ca605804efd5fde03f0d0d8d1d052c247\u0027:\n  don\u0027t handle the transparent region of a layer in draw()\n"
    },
    {
      "commit": "f7db3e21ef713d4ff743f2a52837ea3d210bb84f",
      "tree": "fd5df6c3000ce9d6c70241676c551fed31f5698b",
      "parents": [
        "801d0b33e845648866472263263a7001b528c3f4",
        "8e7515d9c938f5addd08d97bccfccfa976e76c11"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:25:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 16:25:59 2010 -0700"
      },
      "message": "am 8e7515d9: Merge \"get rid of our LayerVector implementation\" into gingerbread\n\nMerge commit \u00278e7515d9c938f5addd08d97bccfccfa976e76c11\u0027 into gingerbread-plus-aosp\n\n* commit \u00278e7515d9c938f5addd08d97bccfccfa976e76c11\u0027:\n  get rid of our LayerVector implementation\n"
    },
    {
      "commit": "90dc48b17f673b7e334e3254ea633450f994226c",
      "tree": "862edc239bc21f1ddc4f15d57768bf6ffd39325c",
      "parents": [
        "24d7050ca605804efd5fde03f0d0d8d1d052c247",
        "e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:24:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 16:24:46 2010 -0700"
      },
      "message": "Merge \"call into hwcomposer HAL when present\" into gingerbread"
    },
    {
      "commit": "801d0b33e845648866472263263a7001b528c3f4",
      "tree": "79684148edf2e2244f1478f8a0cac8ef62d11ec8",
      "parents": [
        "f66f8a58cc4412bd258e1d5b11cac17a617bdc58",
        "025822a03a09337ec382e708c5a798fe805109ed"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:23:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 16:23:06 2010 -0700"
      },
      "message": "am 025822a0: Merge \"keep a list of visible sorted surfaces\" into gingerbread\n\nMerge commit \u0027025822a03a09337ec382e708c5a798fe805109ed\u0027 into gingerbread-plus-aosp\n\n* commit \u0027025822a03a09337ec382e708c5a798fe805109ed\u0027:\n  keep a list of visible sorted surfaces\n"
    },
    {
      "commit": "24d7050ca605804efd5fde03f0d0d8d1d052c247",
      "tree": "82e2e1563a5a36dda808f6c7c201df3e7f4eda2b",
      "parents": [
        "8e7515d9c938f5addd08d97bccfccfa976e76c11",
        "8514b92bc4dfab58aa762d75322e4c285b6ada17"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:21:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 16:21:01 2010 -0700"
      },
      "message": "Merge \"don\u0027t handle the transparent region of a layer in draw()\" into gingerbread"
    },
    {
      "commit": "8e7515d9c938f5addd08d97bccfccfa976e76c11",
      "tree": "b38fccc0b445bc09278b123aeea61a701fb1d669",
      "parents": [
        "025822a03a09337ec382e708c5a798fe805109ed",
        "1efba9a61716356014f4c452fd9e099c5ebe9bd0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:20:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 16:20:38 2010 -0700"
      },
      "message": "Merge \"get rid of our LayerVector implementation\" into gingerbread"
    },
    {
      "commit": "025822a03a09337ec382e708c5a798fe805109ed",
      "tree": "69a32098e0550ae31999100a59782a6c4c691fa6",
      "parents": [
        "95af0c14a64ef264d2b362ded4ca2b5a169d1066",
        "ff1d4102882ae9641a61fc4a3937866521bb72dc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:19:16 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 16:19:16 2010 -0700"
      },
      "message": "Merge \"keep a list of visible sorted surfaces\" into gingerbread"
    },
    {
      "commit": "f66f8a58cc4412bd258e1d5b11cac17a617bdc58",
      "tree": "ddd39a7b221d8c863fe5d5fdf648abe8d29ea5fa",
      "parents": [
        "2d8b9fe0f9fe44c17ccc4d041f726df490548984",
        "95af0c14a64ef264d2b362ded4ca2b5a169d1066"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 11 16:18:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 16:18:36 2010 -0700"
      },
      "message": "am 95af0c14: Merge \"Add support for the PointerLocation overlay.\" into gingerbread\n\nMerge commit \u002795af0c14a64ef264d2b362ded4ca2b5a169d1066\u0027 into gingerbread-plus-aosp\n\n* commit \u002795af0c14a64ef264d2b362ded4ca2b5a169d1066\u0027:\n  Add support for the PointerLocation overlay.\n"
    },
    {
      "commit": "95af0c14a64ef264d2b362ded4ca2b5a169d1066",
      "tree": "fba4bb178de08e99f4c71f882809bab315cec33a",
      "parents": [
        "bd1c082cf90d07e3ccb017b72e59b5ccad81dd07",
        "a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 11 16:15:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 16:15:48 2010 -0700"
      },
      "message": "Merge \"Add support for the PointerLocation overlay.\" into gingerbread"
    },
    {
      "commit": "e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20",
      "tree": "85ed9093e65551a73553d19d5e6122d051ef574b",
      "parents": [
        "8514b92bc4dfab58aa762d75322e4c285b6ada17"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 17:14:02 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:08:45 2010 -0700"
      },
      "message": "call into hwcomposer HAL when present\n\nChange-Id: I70f31c69a9436a43860e78977442863ecba6d27b\n"
    },
    {
      "commit": "8514b92bc4dfab58aa762d75322e4c285b6ada17",
      "tree": "3a76202641f0c159baf59bb77eeb708e09be62b8",
      "parents": [
        "1efba9a61716356014f4c452fd9e099c5ebe9bd0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 20:42:20 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:05:06 2010 -0700"
      },
      "message": "don\u0027t handle the transparent region of a layer in draw()\n\nthis is already taken into consideration in computeVisibleRegion\nand therefore not needed at draw time.\n\nChange-Id: I3fc7336d22f1147dfcd3a20fd71bf79b946d971f\n"
    },
    {
      "commit": "1efba9a61716356014f4c452fd9e099c5ebe9bd0",
      "tree": "92f59d2d9146a58da50cbfe1f1e76221ef44d5c3",
      "parents": [
        "ff1d4102882ae9641a61fc4a3937866521bb72dc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 18:09:09 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:05:05 2010 -0700"
      },
      "message": "get rid of our LayerVector implementation\n\nwe now use SortedVector\u003c\u003e with a special compare implementation.\n\nChange-Id: I910459cf3b3c8993b55ad0786a8c348369262de5\n"
    },
    {
      "commit": "ff1d4102882ae9641a61fc4a3937866521bb72dc",
      "tree": "63fd377016ac4465aab9a12afcf75ed07706b273",
      "parents": [
        "91a7f5fef8a9fc496acef23f513cb48139e8dff5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 17:19:56 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:04:51 2010 -0700"
      },
      "message": "keep a list of visible sorted surfaces\n\nChange-Id: Ib815eeff894f8a3b1e79fbbf8186d5d91bb60285\n"
    },
    {
      "commit": "2d8b9fe0f9fe44c17ccc4d041f726df490548984",
      "tree": "eade681ff3d57538ddba903777362eb8a7b14db9",
      "parents": [
        "80328ba09606bd0825d7d4c9a4f213d1de09e53a",
        "bd1c082cf90d07e3ccb017b72e59b5ccad81dd07"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 15:20:34 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 15:20:34 2010 -0700"
      },
      "message": "am bd1c082c: Merge \"New system property \"sys.boot_completed\" set to 1 when boot completed.\" into gingerbread\n\nMerge commit \u0027bd1c082cf90d07e3ccb017b72e59b5ccad81dd07\u0027 into gingerbread-plus-aosp\n\n* commit \u0027bd1c082cf90d07e3ccb017b72e59b5ccad81dd07\u0027:\n  New system property \"sys.boot_completed\" set to 1 when boot completed.\n"
    },
    {
      "commit": "bd1c082cf90d07e3ccb017b72e59b5ccad81dd07",
      "tree": "3d39390b4c25ab3fdf9abce37307717ca061cdf1",
      "parents": [
        "8ea71511c64e61fe23004889ff7032f991a751c8",
        "f4c454bac9cfd804603e65c5195f49a344adf82d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 15:16:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 15:16:01 2010 -0700"
      },
      "message": "Merge \"New system property \"sys.boot_completed\" set to 1 when boot completed.\" into gingerbread"
    },
    {
      "commit": "a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0",
      "tree": "65d87a9c55c869843540884f0fbced6a69841895",
      "parents": [
        "c3fc2d03d58a258c53c9265a70143d4af076b764"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 11 14:46:32 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 11 14:46:32 2010 -0700"
      },
      "message": "Add support for the PointerLocation overlay.\n\nThis change involves adding a new method to IWindowManager,\nmonitorInput() that returns an InputChannel to receive a copy of all\ninput that is dispatched to applications.  The caller must have\nthe READ_INPUT_STATE permission to make this request (similar to\nother window manager methods such as getKeycodeState).\n\nChange-Id: Icd14d810174a5b2928671ef16de73af88302aea0\n"
    },
    {
      "commit": "f5ee5358c187107b2e5a1e1fbcb5a648d793c798",
      "tree": "12dcb02cd32609d830b7541723ac8d18dd679fa3",
      "parents": [
        "136d8336b6cb18067cd783185dacef34ae785519",
        "ac9717ab73afe0123b6dbb63c4dd2fc88143e53e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 11 14:10:18 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 14:10:18 2010 -0700"
      },
      "message": "am ac9717ab: Merge \"Move OBB file reading to DefaultContainerService\" into gingerbread\n\nMerge commit \u0027ac9717ab73afe0123b6dbb63c4dd2fc88143e53e\u0027 into gingerbread-plus-aosp\n\n* commit \u0027ac9717ab73afe0123b6dbb63c4dd2fc88143e53e\u0027:\n  Move OBB file reading to DefaultContainerService\n"
    },
    {
      "commit": "f4c454bac9cfd804603e65c5195f49a344adf82d",
      "tree": "039e9405d49a1a33f6843795b0926a94a16e361c",
      "parents": [
        "a5ae50cd838b5725c63ed485292aae4edd1a98cb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 12:47:41 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 12:47:41 2010 -0700"
      },
      "message": "New system property \"sys.boot_completed\" set to 1 when boot completed.\n\nChange-Id: Ie3fc0b1efdfb637b0c780064a71e8c1575e15ca3\n"
    },
    {
      "commit": "79cb9a5d2d455af22c56b8cee045962c61668422",
      "tree": "c50fe5d696e110b80b3c5f46e2ed2f9c56035b7b",
      "parents": [
        "1ca94798ccd3a9b20f7824231cfb1f5fdf6bc719",
        "f2e67a5779d404b4791c6ab5b0d30dfb2c463514"
      ],
      "author": {
        "name": "Vairavan Srinivasan",
        "email": "vairav@codeaurora.org",
        "time": "Wed Aug 11 12:07:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 12:07:56 2010 -0700"
      },
      "message": "am f2e67a57: InputMethodService: Fix ignore case in showInputMethodPickerFromClient\n\nMerge commit \u0027f2e67a5779d404b4791c6ab5b0d30dfb2c463514\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f2e67a5779d404b4791c6ab5b0d30dfb2c463514\u0027:\n  InputMethodService: Fix ignore case in showInputMethodPickerFromClient\n"
    },
    {
      "commit": "1ca94798ccd3a9b20f7824231cfb1f5fdf6bc719",
      "tree": "fdb7468962208147e81032e2e7ed1db1673fd0f2",
      "parents": [
        "44e43d1f6593ae912b3818692058196233cd4ac9"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 09:30:31 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 11:56:21 2010 -0700"
      },
      "message": "Fix build: HistoryRecord is now ActivityRecord\n\nChange-Id: I5f402e76fbff58ec59ea26b6765e7455801a6cd0\n"
    },
    {
      "commit": "44e43d1f6593ae912b3818692058196233cd4ac9",
      "tree": "e67a660f2f1ec8cc00f5717f767029cbddcd7f54",
      "parents": [
        "a6c28cb014c32b9522c41385075c9db77296f6e7",
        "efcac2ffba6262829093c4388c35f93b0ba0510e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 11:51:31 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 11:51:31 2010 -0700"
      },
      "message": "resolved conflicts for merge of efcac2ff to gingerbread-plus-aosp\n\nChange-Id: Id6bd5ab1d6eda0372f2fd8eecb8f1d204066c4d5\n"
    },
    {
      "commit": "f2e67a5779d404b4791c6ab5b0d30dfb2c463514",
      "tree": "82d088584d3662e869da271968dda04a2267c130",
      "parents": [
        "efcac2ffba6262829093c4388c35f93b0ba0510e"
      ],
      "author": {
        "name": "Vairavan Srinivasan",
        "email": "vairav@codeaurora.org",
        "time": "Tue Aug 10 11:52:44 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 11:24:45 2010 -0700"
      },
      "message": "InputMethodService: Fix ignore case in showInputMethodPickerFromClient\n\nFix to avoid posting MSG_SHOW_IM_PICKER in\nshowInputMethodPickerFromClient when ignoring the request from the\nclient.\n\nChange-Id: Iff8a0809aea892b4493d5cffbb91adba2d74414e\n"
    },
    {
      "commit": "a02b8b05dd1e8b8cf169e1f89542ef835b11fc13",
      "tree": "aa1b5fb6b900c064d9914f51c9c3817a2c46f9df",
      "parents": [
        "9902196f9885d369e37cf44084e3f04513511ab0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 05 16:14:17 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 11 11:20:53 2010 -0700"
      },
      "message": "Move OBB file reading to DefaultContainerService\n\nThe system_server shouldn\u0027t touch files on the SD card. This change\nmoves the things that touch the SD card out to the\nDefaultContainerService so that it will get killed if the SD card goes\naway instead of the system_server.\n\nChange-Id: I0aefa085be4b194768527195532ee6dddc801cfc\n"
    },
    {
      "commit": "efcac2ffba6262829093c4388c35f93b0ba0510e",
      "tree": "78b66b5c88d4bfeb9b5067fe50f48090a39dbcf2",
      "parents": [
        "2ffe74ded51ee73ae1b412861f5d6ec58c835390"
      ],
      "author": {
        "name": "Srilakshmi Punuru",
        "email": "spunur@codeaurora.org",
        "time": "Mon Aug 09 23:48:12 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 11:17:31 2010 -0700"
      },
      "message": "InputMethodManagerService: Fix acore crash on boot up\n\nAt bootup, while starting the service, if the default Input Method is not set,\nit is trying to disable the icon even before the statusbar variable and the input\nmethod icon are initialized. Hence, initializing them before building the input method list.\n\nChange-Id: Ibde2ca3bd379d6620d84b75662ffad1a95a24fc6\n"
    },
    {
      "commit": "a6c28cb014c32b9522c41385075c9db77296f6e7",
      "tree": "a694ce83e853e4bf76c399b7cc5a664de876cf3b",
      "parents": [
        "a59aaed81b47f59ee9ee724760c4c39fcf429a18",
        "2ffe74ded51ee73ae1b412861f5d6ec58c835390"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 10:40:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 10:40:39 2010 -0700"
      },
      "message": "am 2ffe74de: Merge \"Fix isUsbMassStorageConnected() will always return true\"\n\nMerge commit \u00272ffe74ded51ee73ae1b412861f5d6ec58c835390\u0027 into gingerbread-plus-aosp\n\n* commit \u00272ffe74ded51ee73ae1b412861f5d6ec58c835390\u0027:\n  Fix isUsbMassStorageConnected() will always return true\n"
    },
    {
      "commit": "2ffe74ded51ee73ae1b412861f5d6ec58c835390",
      "tree": "112cd48cfd133d4423d82e917f6146fda857200d",
      "parents": [
        "bc881e66d15181494fdd5d0ece83e20ef325453b",
        "fc71125104650c61ab5b04f4c943de761d58cba6"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 10:27:17 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Aug 11 10:27:17 2010 -0700"
      },
      "message": "Merge \"Fix isUsbMassStorageConnected() will always return true\""
    },
    {
      "commit": "a59aaed81b47f59ee9ee724760c4c39fcf429a18",
      "tree": "ccf1c9dd45cd35ea85c1493abd3b094557398ac7",
      "parents": [
        "f781b4ef4bd840b7cee83fafdf2e31e709068bd3",
        "bc881e66d15181494fdd5d0ece83e20ef325453b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 10:16:32 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 10:16:32 2010 -0700"
      },
      "message": "am bc881e66: Merge \"frameworks/base: Swap width and height of temporary buffer only with orientation change\"\n\nMerge commit \u0027bc881e66d15181494fdd5d0ece83e20ef325453b\u0027 into gingerbread-plus-aosp\n\n* commit \u0027bc881e66d15181494fdd5d0ece83e20ef325453b\u0027:\n  frameworks/base: Swap width and height of temporary buffer only with\n"
    },
    {
      "commit": "bc881e66d15181494fdd5d0ece83e20ef325453b",
      "tree": "4891f70df8302f5e7588168dc744849094d2a5f0",
      "parents": [
        "e37ab63221af94d69437741a3645fc0e14a680bc",
        "92bd90de145bb377d591217690d1fc096c19c047"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 11 10:11:14 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Aug 11 10:11:14 2010 -0700"
      },
      "message": "Merge \"frameworks/base: Swap width and height of temporary buffer only with orientation change\""
    },
    {
      "commit": "92bd90de145bb377d591217690d1fc096c19c047",
      "tree": "316d743dd420e6ba3eb77bfe5a1246e9fdc25332",
      "parents": [
        "0f0dd448ea54ddb760ed77e7d9167b7d7ad1b916"
      ],
      "author": {
        "name": "Omprakash Dhyade",
        "email": "odhyade@codeaurora.org",
        "time": "Thu Aug 05 16:28:37 2010 -0700"
      },
      "committer": {
        "name": "Naomi Luis",
        "email": "nluis@codeaurora.org",
        "time": "Tue Aug 10 16:49:48 2010 -0700"
      },
      "message": "frameworks/base: Swap width and height of temporary buffer only with\norientation change\n\nCurrent code swaps the width and height by assuming that aspect\nratio of the buffer width and height will be same as that of the\nlayout clip width and height. That is not always true.\nChange the check to orientation change.\n\nChange-Id: Ie387f3a7369025427484e4173cbde7a08df2b9d7\n"
    },
    {
      "commit": "a27484f068047453af6345f2c2c58fcc1db899a5",
      "tree": "91f6d3284b2e4fa91a6c79c82323dc305b805b26",
      "parents": [
        "d35498f6062410e777d6ad41a720db32336e2089",
        "6061af11cb2b59b6261d12f98b9e8dd395ea8ba7"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Tue Aug 10 15:38:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 10 15:38:41 2010 -0700"
      },
      "message": "am 6061af11: Merge \"Sort the IME list before showing to user\"\n\nMerge commit \u00276061af11cb2b59b6261d12f98b9e8dd395ea8ba7\u0027 into gingerbread-plus-aosp\n\n* commit \u00276061af11cb2b59b6261d12f98b9e8dd395ea8ba7\u0027:\n  Sort the IME list before showing to user\n"
    },
    {
      "commit": "6061af11cb2b59b6261d12f98b9e8dd395ea8ba7",
      "tree": "0d64d1121343985413e6011422ff67dbf9eb183a",
      "parents": [
        "0f0dd448ea54ddb760ed77e7d9167b7d7ad1b916",
        "cf06e2cfcdddc0ca086ba5b03aa26a69de949e69"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Tue Aug 10 15:22:13 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Aug 10 15:22:13 2010 -0700"
      },
      "message": "Merge \"Sort the IME list before showing to user\""
    },
    {
      "commit": "8cdf4d92ec93b7ba1ea6d7aaf3540283edfc6925",
      "tree": "2c92930a8197637c170fe4201f132258c8c3487a",
      "parents": [
        "75493be9c0b4dd24fc5cddce6ee993ce5f0b2887",
        "6c6d57c6a04eed154de1f7d9b544c2cb34a83dac"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Mon Aug 09 19:53:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 09 19:53:48 2010 -0700"
      },
      "message": "am 6c6d57c6: Merge \"Fix focus notification\" into gingerbread\n\nMerge commit \u00276c6d57c6a04eed154de1f7d9b544c2cb34a83dac\u0027 into gingerbread-plus-aosp\n\n* commit \u00276c6d57c6a04eed154de1f7d9b544c2cb34a83dac\u0027:\n  Fix focus notification\n"
    },
    {
      "commit": "1ece7d6873027068a3e7b055597045e9387b217c",
      "tree": "1e14a07d1666f7a04cd676340b4f3faeb3e414b7",
      "parents": [
        "8b8b4536314d1354c244af2c9e665c4db4e27522",
        "2a6b80bc65c4782b5a7168b300e1dc5ec9f617ee"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 09 19:52:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 09 19:52:43 2010 -0700"
      },
      "message": "am 2a6b80bc: Fixed several audio effects problems.\n\nMerge commit \u00272a6b80bc65c4782b5a7168b300e1dc5ec9f617ee\u0027 into gingerbread-plus-aosp\n\n* commit \u00272a6b80bc65c4782b5a7168b300e1dc5ec9f617ee\u0027:\n  Fixed several audio effects problems.\n"
    },
    {
      "commit": "fc71125104650c61ab5b04f4c943de761d58cba6",
      "tree": "1525a1b0941fe17da5154a52e64a18a5f1eb8df5",
      "parents": [
        "0f0dd448ea54ddb760ed77e7d9167b7d7ad1b916"
      ],
      "author": {
        "name": "Tony Wu",
        "email": "Tony_Wu@acer.com.tw",
        "time": "Mon Aug 09 16:49:19 2010 +0800"
      },
      "committer": {
        "name": "Tony Wu",
        "email": "Tony_Wu@acer.com.tw",
        "time": "Tue Aug 10 10:09:13 2010 +0800"
      },
      "message": "Fix isUsbMassStorageConnected() will always return true\n\nAfter UMS mounted, isUsbMassStorageConnected() will always return true even if USB is disconnected.\nIt\u0027s because mUmsEnabling will always be ture.\n\nChange-Id: Ib24b2359ea2684eb0a9faeb880f383e87630e6e1\n"
    },
    {
      "commit": "6c6d57c6a04eed154de1f7d9b544c2cb34a83dac",
      "tree": "f393cc7f74a83f83c5654b89adc96a12b48dffc2",
      "parents": [
        "63cca69157eae17da2a5492d1bcb7330061a52ac",
        "5e7833a571967d1dbc8618ac96ad6a379bcdf66a"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Mon Aug 09 17:03:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 09 17:03:10 2010 -0700"
      },
      "message": "Merge \"Fix focus notification\" into gingerbread"
    },
    {
      "commit": "5e7833a571967d1dbc8618ac96ad6a379bcdf66a",
      "tree": "f8de5fbf04b798bec177bab0171d1ad77fcfd150",
      "parents": [
        "c6dc45700bf0c18708b0ad2f695ea85fadcbf131"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Mon Aug 09 17:01:11 2010 -0700"
      },
      "committer": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Mon Aug 09 17:01:11 2010 -0700"
      },
      "message": "Fix focus notification\n\nChange-Id: I51d73100695ceb70620754a1897ace681a26d839\n"
    },
    {
      "commit": "2a6b80bc65c4782b5a7168b300e1dc5ec9f617ee",
      "tree": "fc777c3694d8739aba7a44caedc867c7b87b88a9",
      "parents": [
        "8fb2e6e4720385961083a150a3e848ccaef544ae"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 29 23:43:43 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 09 05:48:20 2010 -0700"
      },
      "message": "Fixed several audio effects problems.\n\n- Fixed constant inversions in AudioEffect.java\n- Do not return error when enabling an already enabled effect\n- Update cached effect state in native AudioEffect class when effect is enabled/disabled by command() method\n- Remove click when restarting effect during disable sequence\n- Fixed problem in master mute management when volume control is delegated to effect.\n\nChange-Id: I6df4ce9fcc54fdc7345df858f639d20d802d6712\n"
    },
    {
      "commit": "443f9bafb02c6a5a7311c7069995e5a3bdd875f8",
      "tree": "620b8445ceace0185b5803902d90270b32419c99",
      "parents": [
        "f0857005b25c59b0135977b5d869be16232a1e50",
        "3b0d3d51412aa90ac3e334f1e0c4b7adb0e124f8"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Fri Aug 06 18:54:18 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 06 18:54:18 2010 -0700"
      },
      "message": "am 3b0d3d51: Merge \"Adding a way for Hierarchy Viewer to get the focused window.\" into gingerbread\n\nMerge commit \u00273b0d3d51412aa90ac3e334f1e0c4b7adb0e124f8\u0027 into gingerbread-plus-aosp\n\n* commit \u00273b0d3d51412aa90ac3e334f1e0c4b7adb0e124f8\u0027:\n  Adding a way for Hierarchy Viewer to get the focused window.\n"
    },
    {
      "commit": "f9624764711f9806cd8a8a95c4a0613995bab04a",
      "tree": "37236ac39268ae8c5fda88429a6fe649affc5fc9",
      "parents": [
        "8e15afe799bbe8d332640c1f2b57b5e0458a9625"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Wed Jul 14 17:02:37 2010 -0700"
      },
      "committer": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Fri Aug 06 13:27:31 2010 -0700"
      },
      "message": "Adding a way for Hierarchy Viewer to get the focused window.\n\nChange-Id: I01e6ab4aa24d632fba586cb9e112d8d9df1a681a\n"
    },
    {
      "commit": "19be0bd07e348fc405e1c46a698843695fc64e48",
      "tree": "eb560dc8eefacc95dcda9d92cce859f331baead9",
      "parents": [
        "69a8d4a8723d5c9fd7d93a15d09b3809cd56f50a",
        "5723dfe8c87d0887b8926f43637ed300466890d2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 06 07:41:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 06 07:41:44 2010 -0700"
      },
      "message": "am 5723dfe8: GPS: Don\\\u0027t set XTRA download pending flag at boot time.\n\nMerge commit \u00275723dfe8c87d0887b8926f43637ed300466890d2\u0027 into gingerbread-plus-aosp\n\n* commit \u00275723dfe8c87d0887b8926f43637ed300466890d2\u0027:\n  GPS: Don\u0027t set XTRA download pending flag at boot time.\n"
    },
    {
      "commit": "5723dfe8c87d0887b8926f43637ed300466890d2",
      "tree": "1bb85eaf9fed48cda01d142a570dbe905f2a440a",
      "parents": [
        "4c5d28cee0537c83ff0e5bc0daaae78f68dfc7c8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 06 10:06:26 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 06 10:15:15 2010 -0400"
      },
      "message": "GPS: Don\u0027t set XTRA download pending flag at boot time.\n\nXTRA data downloads are now strictly on demand from the GPS engine.\nAlso fix typo in handleDownloadXtraData()\n\nChange-Id: Ied1a6e2e62134add4d965326aae909c86f834682\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "6866ecb92700a03b4285cb8427eedf579f9cf0ea",
      "tree": "a6e2519348e70f106aa89eb1bef673edca0ea93e",
      "parents": [
        "e7b92260e228039295874bea024b629cb5a4d89a",
        "1d62c7737c33f92e79f0a180b05969f52484e64c"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Aug 05 21:10:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 05 21:10:06 2010 -0700"
      },
      "message": "am 1d62c773: Fix the build\n\nMerge commit \u00271d62c7737c33f92e79f0a180b05969f52484e64c\u0027 into gingerbread-plus-aosp\n\n* commit \u00271d62c7737c33f92e79f0a180b05969f52484e64c\u0027:\n  Fix the build\n"
    },
    {
      "commit": "1d62c7737c33f92e79f0a180b05969f52484e64c",
      "tree": "efbe9186ce59fc46ddfe08f1d7005c7e2fbf5188",
      "parents": [
        "b9605886d1a94de624b6feb5a81bb37f41653437"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Aug 06 11:32:24 2010 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Aug 06 11:52:38 2010 +0800"
      },
      "message": "Fix the build\n\nChange-Id: I410e2fd057b68e1b5b5b33ee10178a01d3c9b2fa\n"
    },
    {
      "commit": "a06ad953a2c44e81ea2d376ffefeae5ffb91de81",
      "tree": "c348bc86404ff07a76b424079bcdb6df2c2282ce",
      "parents": [
        "a68a0ebb51fdf00e0be0b77f03c6f3af3095973d",
        "7324489f18ee01586931f577f00567092cbf52df"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Aug 05 19:37:59 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 05 19:37:59 2010 -0700"
      },
      "message": "am 7324489f: Merge \"Add SIP service into system server.\" into gingerbread\n\nMerge commit \u00277324489f18ee01586931f577f00567092cbf52df\u0027 into gingerbread-plus-aosp\n\n* commit \u00277324489f18ee01586931f577f00567092cbf52df\u0027:\n  Add SIP service into system server.\n"
    },
    {
      "commit": "2d94231ef91c732f649ff7af9520ee9eac441b16",
      "tree": "34907f59357a6b7896c2fa8ce94a5a7e58687b27",
      "parents": [
        "499b743851aa84b9fc1a7e445e189946bc47ad5d"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Aug 05 12:17:37 2010 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Aug 06 08:40:50 2010 +0800"
      },
      "message": "Add SIP service into system server.\n\nChange-Id: Icc39e4e54768cfdcc1b20a3efe6206009b9a8d10\n"
    },
    {
      "commit": "811d66f1496b64b02c117e8d992db99e9e6cdc8d",
      "tree": "ca221a6541eba474d17b3b10ea01b12b4c4714ce",
      "parents": [
        "bbd1a04c628f6756085797423794020ccde70c5c",
        "9b87770f53c55a313a7fdc6f553265aabbde3446"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Aug 04 20:36:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 04 20:36:09 2010 -0700"
      },
      "message": "am 9b87770f: Merge \"Fix crash when startForeground posts a broken Notification.\" into gingerbread\n\nMerge commit \u00279b87770f53c55a313a7fdc6f553265aabbde3446\u0027 into gingerbread-plus-aosp\n\n* commit \u00279b87770f53c55a313a7fdc6f553265aabbde3446\u0027:\n  Fix crash when startForeground posts a broken Notification.\n"
    },
    {
      "commit": "9b87770f53c55a313a7fdc6f553265aabbde3446",
      "tree": "7d3c18b9f003d8c059407fa45b1e7c4f3ee62586",
      "parents": [
        "8c5035696b0aaf30ae49594b845f663fe633ac88",
        "d0a2f86f357f346639a6648b4004266865c979b4"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Aug 04 20:33:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 04 20:33:32 2010 -0700"
      },
      "message": "Merge \"Fix crash when startForeground posts a broken Notification.\" into gingerbread"
    },
    {
      "commit": "d6dc45c30c1704fca9ec33f51c7c4ec1bee515ea",
      "tree": "1a04f8d5019b9af8ffe56721f5764405f310e7f6",
      "parents": [
        "0b4e3ad356c6e4f2f4152d02de7a4dc395825bba",
        "125816a2a89343efdcccc5a74c2dd8a2608c54a0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 04 15:03:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 04 15:03:56 2010 -0700"
      },
      "message": "am 125816a2: Merge \"Failure to move .dex in eng builds is not fatal\" into gingerbread\n\nMerge commit \u0027125816a2a89343efdcccc5a74c2dd8a2608c54a0\u0027 into gingerbread-plus-aosp\n\n* commit \u0027125816a2a89343efdcccc5a74c2dd8a2608c54a0\u0027:\n  Failure to move .dex in eng builds is not fatal\n"
    },
    {
      "commit": "e2f7417529439d4ff3fd23fbe7fc1fcac4230385",
      "tree": "cafb6120bf33d5e342baacf35f9b77dce0effa75",
      "parents": [
        "508715259c332613240b2399c77d35ea7214f91a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 04 13:35:33 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 04 13:35:33 2010 -0700"
      },
      "message": "Failure to move .dex in eng builds is not fatal\n\nWhen moving between program locations or application names, the .dex\nfile is moved by installd. However, in engineering builds, the\napplications are run through dexopt on-demand. If the .dex file fails to\nmove, we can ignore it because it\u0027s most likely because the .dex file\ndoes not exist yet.\n\nChange-Id: Id5c4dbfa33f19c976acd9f184ccd637752326629\n"
    },
    {
      "commit": "c5183acae55e08f4bfcb58aa122a200863748a63",
      "tree": "7e4ebb7bacb2f81c5ae8b58fddc9deab906d2748",
      "parents": [
        "acc4e6838d1d4030cb65acf0f9adb800a81fb22f",
        "c68bcc320522abf856211e9aa00bba71ccaddacb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 04 09:18:27 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 04 09:18:27 2010 -0700"
      },
      "message": "am c68bcc32: Merge \"Only allow one movePackage operation in-flight\" into gingerbread\n\nMerge commit \u0027c68bcc320522abf856211e9aa00bba71ccaddacb\u0027 into gingerbread-plus-aosp\n\n* commit \u0027c68bcc320522abf856211e9aa00bba71ccaddacb\u0027:\n  Only allow one movePackage operation in-flight\n"
    },
    {
      "commit": "deb112674e9940a46c87fa4e3bae5d8d1ee84ef3",
      "tree": "f5ddf3474923811905ddd1f645a9d7be7d6dd7f5",
      "parents": [
        "866362fcb4db93584143c21934ea355cbf9e0757"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 02 11:36:21 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 04 08:44:31 2010 -0700"
      },
      "message": "Only allow one movePackage operation in-flight\n\nWhen a movePackage operation is requested, don\u0027t allow multiple requests\nto pile up for one package. Once a move is completed, an observer will\nreceive the message and be allowed to call movePackage again.\n\nChange-Id: Ie3842b6d96446febc0037bf9b8f1ca250735edc2\n"
    },
    {
      "commit": "d0a2f86f357f346639a6648b4004266865c979b4",
      "tree": "686b2bfe2b7deda215e330f84786f834c7003350",
      "parents": [
        "e339464f1c8efe7e53b761cf44ff5be6e537ecad"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Aug 03 15:29:31 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Aug 04 10:52:51 2010 -0400"
      },
      "message": "Fix crash when startForeground posts a broken Notification.\n\nThe NotificationManager tries to crash the calling app, but\nin the case of a service calling startForeground, the caller\nis the ActivityManager, so system_server goes down.\n\nNotificationManagerService#enqueueNotificationInternal is a\nnew internal-only method that accepts a UID/PID to use when\npunishing bogus notifications (such as the one in\nhttp://b/2869787).\n\nChange-Id: I84a9854bae630bc90288cebb94f174809d5dac8c\n"
    },
    {
      "commit": "9ee17b7dec7c76830b5add29f3b97039e178629a",
      "tree": "034a24e2a73c1d9ab311db27bdc486a973e567cd",
      "parents": [
        "10928c37f156963b017d508ffd79c033ace798e1",
        "866362fcb4db93584143c21934ea355cbf9e0757"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 03 17:00:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 03 17:00:20 2010 -0700"
      },
      "message": "am 866362fc: Merge \"Usage Stats: don\\\u0027t block writing stats to disk.\" into gingerbread\n\nMerge commit \u0027866362fcb4db93584143c21934ea355cbf9e0757\u0027 into gingerbread-plus-aosp\n\n* commit \u0027866362fcb4db93584143c21934ea355cbf9e0757\u0027:\n  Usage Stats: don\u0027t block writing stats to disk.\n"
    },
    {
      "commit": "389a916769aaf4b329839285d2f975fc23aadfb4",
      "tree": "ccc2ffd116bdef54f600ab18109e68c69d96b402",
      "parents": [
        "5d46ce24cc46dc57d31f809302af916999114ced"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 03 15:41:05 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 03 15:41:05 2010 -0700"
      },
      "message": "Usage Stats: don\u0027t block writing stats to disk.\n\nI was seeing lots of stack traces of people hung for noticeable\namounts of time when switching between activities.\n\ne.g. On of the common gmail stacks showing this pause was:\n\nandroid.os.StrictMode$StrictModeDiskWriteViolation: policy\u003d391 violation\u003d1\n  at android.os.StrictMode$AndroidBlockGuardPolicy.startHandlingViolationException(StrictMode.java:272)\n  at android.os.StrictMode$AndroidBlockGuardPolicy.onWriteToDisk(StrictMode.java:243)\n  at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:238)\n  at java.io.FileOutputStream.\u003cinit\u003e(FileOutputStream.java:97)\n  at java.io.FileOutputStream.\u003cinit\u003e(FileOutputStream.java:69)\n  at com.android.server.am.UsageStatsService.writeStatsFLOCK(UsageStatsService.java:424)\n  at com.android.server.am.UsageStatsService.writeStatsToFile(UsageStatsService.java:398)\n  at com.android.server.am.UsageStatsService.notePauseComponent(UsageStatsService.java:539)\n  at com.android.server.am.ActivityManagerService.updateUsageStats(ActivityManagerService.java:1856)\n  at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:667)\n  at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2925)\n  at com.android.server.am.ActivityStack.requestFinishActivityLocked(ActivityStack.java:2836)\n  at com.android.server.am.ActivityManagerService.finishActivity(ActivityManagerService.java:2276)\n  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:237)\n  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1415)\n  at android.os.Binder.execTransact(Binder.java:320)\n  at dalvik.system.NativeStart.run(Native Method)\n\n  at android.app.ActivityManagerProxy.finishActivity(ActivityManagerNative.java:1454)\n  at android.app.Activity.finish(Activity.java:3260)\n  at android.app.Activity.onBackPressed(Activity.java:1929)\n  at android.app.Activity.onKeyUp(Activity.java:1907)\n  at android.view.KeyEvent.dispatch(KeyEvent.java:1088)\n  at android.app.Activity.dispatchKeyEvent(Activity.java:2087)\n  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1661)\n  at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2543)\n  at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2516)\n  at android.view.ViewRoot.handleMessage(ViewRoot.java:1866)\n  at android.os.Handler.dispatchMessage(Handler.java:99)\n  at android.os.Looper.loop(Looper.java:123)\n  at android.app.ActivityThread.main(ActivityThread.java:3609)\n  at java.lang.reflect.Method.invokeNative(Native Method)\n  at java.lang.reflect.Method.invoke(Method.java:521)\n  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)\n  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)\n  at dalvik.system.NativeStart.main(Native Method)\n\nChange-Id: Id49157bc635017292eaefddc5e22d73f5f4ab05e\n"
    },
    {
      "commit": "b59b120929f10c1501d27ebab2f69180868e9776",
      "tree": "44620857f7911b817705b85515b125777efadf19",
      "parents": [
        "246aad12cf2becda5111d03fd1dd8f39712686f2",
        "321f7fad5c4a6ef27e944dc72e2ddbfb61af81de"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Tue Aug 03 11:26:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 03 11:26:21 2010 -0700"
      },
      "message": "am 321f7fad: Making sure that there is no notification when focus changes from something to nothing.\n\nMerge commit \u0027321f7fad5c4a6ef27e944dc72e2ddbfb61af81de\u0027 into gingerbread-plus-aosp\n\n* commit \u0027321f7fad5c4a6ef27e944dc72e2ddbfb61af81de\u0027:\n  Making sure that there is no notification when focus changes from something to nothing.\n"
    },
    {
      "commit": "321f7fad5c4a6ef27e944dc72e2ddbfb61af81de",
      "tree": "b5bf9e4ff1df05fd412899e020fca38fac896fd0",
      "parents": [
        "3d84280ccc31d12765e2efe03e2dd3ade1acfc33"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Mon Aug 02 20:01:01 2010 -0700"
      },
      "committer": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Tue Aug 03 11:21:55 2010 -0700"
      },
      "message": "Making sure that there is no notification when focus changes from something to nothing.\n\nChange-Id: Ib8b3bdd7f5dd999c933a017fe1b34263afe38e4a\n"
    },
    {
      "commit": "79f2d00596b7e24a285443c8e9e77bece3f5e9e2",
      "tree": "539dbe953ba8234cede29c8b3976499c9e08897f",
      "parents": [
        "59d4a5369cd68d4b65809ded407611b62b013f9a",
        "a213ce02ced6511edf02e29c45057f344bfe8636"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 02 15:19:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 02 15:19:19 2010 -0700"
      },
      "message": "am a213ce02: Merge \"Mute a common-case progress log about input injection\" into gingerbread\n\nMerge commit \u0027a213ce02ced6511edf02e29c45057f344bfe8636\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a213ce02ced6511edf02e29c45057f344bfe8636\u0027:\n  Mute a common-case progress log about input injection\n"
    },
    {
      "commit": "09e85dc0270ac9ce660c17ee8290ff2d136b395b",
      "tree": "1f7957006b9cb393315856ef00418733b8073266",
      "parents": [
        "d3579580df0cea7e37334d83ef7a9aa85ad70368"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 02 11:54:41 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 02 11:59:11 2010 -0700"
      },
      "message": "Mute a common-case progress log about input injection\n\nChange-Id: I37c9f5cb239ab93fde3a42f71f2782d8734c53ce\n"
    },
    {
      "commit": "9117669c7de41799535dfa88e5d68a30d7674733",
      "tree": "ac567180c7e57c1b8527491f9826300ba2f295cc",
      "parents": [
        "e2d33bbc496192d49c1e48baad446d8d0720d301",
        "8b61b68b648985df37197de204398f608c4ad8b1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 17:00:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 30 17:00:01 2010 -0700"
      },
      "message": "am 8b61b68b: Merge \"Only install after MCS success\" into gingerbread\n\nMerge commit \u00278b61b68b648985df37197de204398f608c4ad8b1\u0027 into gingerbread-plus-aosp\n\n* commit \u00278b61b68b648985df37197de204398f608c4ad8b1\u0027:\n  Only install after MCS success\n"
    },
    {
      "commit": "8b61b68b648985df37197de204398f608c4ad8b1",
      "tree": "3060ed71f863619d629b9d3a95f7ca44a40de980",
      "parents": [
        "d2165cfce7911dac66d1195ed9123e79b086d22b",
        "6f89fa07b4105b2e0cfac87db7ce5e7c9b9feead"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 16:55:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 30 16:55:37 2010 -0700"
      },
      "message": "Merge \"Only install after MCS success\" into gingerbread"
    },
    {
      "commit": "6f89fa07b4105b2e0cfac87db7ce5e7c9b9feead",
      "tree": "ee8da2d3ed9867716b4f44526074b868cff3fe5d",
      "parents": [
        "7c600369c9695de73ca37db552eb81b8b89d5e76"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 16:33:47 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 16:35:04 2010 -0700"
      },
      "message": "Only install after MCS success\n\nIf MCS dies in the middle of a call during install, only proceed if the\ncall was successful. Otherwise wait for the max retries to be reached\nand run the failure handling code there.\n\nChange-Id: I00a27ea91046ea6521a3cff5e5ffe2c71b2b5bb4\n"
    },
    {
      "commit": "e2d33bbc496192d49c1e48baad446d8d0720d301",
      "tree": "150da91ad923d491e1ddcc43777e3504832553b5",
      "parents": [
        "7600f934015cff4d678b0f4e8df0eb93749be7bb",
        "d2165cfce7911dac66d1195ed9123e79b086d22b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jul 30 15:23:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 30 15:23:19 2010 -0700"
      },
      "message": "am d2165cfc: Merge \"StrictMode: time violations in Binder calls\" into gingerbread\n\nMerge commit \u0027d2165cfce7911dac66d1195ed9123e79b086d22b\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d2165cfce7911dac66d1195ed9123e79b086d22b\u0027:\n  StrictMode: time violations in Binder calls\n"
    },
    {
      "commit": "d2165cfce7911dac66d1195ed9123e79b086d22b",
      "tree": "f5b615ce18d786aa15680265dc42a1fe509b2f76",
      "parents": [
        "f0aa24d91d23195f811e317c4cc4ddbe06db8974",
        "cb9ceb1029036363a81952d8ed5dfcbc83e6ff72"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jul 30 15:20:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 30 15:20:28 2010 -0700"
      },
      "message": "Merge \"StrictMode: time violations in Binder calls\" into gingerbread"
    },
    {
      "commit": "cb9ceb1029036363a81952d8ed5dfcbc83e6ff72",
      "tree": "20c48fd7126f64778944060ce2c2d8d4159bc36b",
      "parents": [
        "31b5d5485f7336639d252da7ba979234dbd2f1e1"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jul 29 14:29:02 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jul 30 14:28:55 2010 -0700"
      },
      "message": "StrictMode: time violations in Binder calls\n\nChange-Id: I5796993dce98be722cf679b78acaf0c9de0ba461\n"
    },
    {
      "commit": "154a320069a316491c25b716f2aeea8c51a758e8",
      "tree": "a134148c3f13d24f3aca4ebc574899669d3efa63",
      "parents": [
        "4609b0a8fcfbed9b893301232dfa3b70bb30e4e2",
        "27eecb704a27c1c73ed3449eba0307d8138b9c2e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 12:08:31 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 12:08:31 2010 -0700"
      },
      "message": "resolved conflicts for merge of 27eecb70 to gingerbread\n\nChange-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1\n"
    },
    {
      "commit": "85673d91681e6b5dede0c72f36ed3b81f5c4bb0d",
      "tree": "043b34d850b2695e6c9460251758ce5f7c9307fa",
      "parents": [
        "eb248a58fabac31873982e4f389ba81981f4041f",
        "a4fd0078d138b433d2250a74833ee3cc6424143a"
      ],
      "author": {
        "name": "Mattias Larsson",
        "email": "mattias7.larsson@sonyericsson.com",
        "time": "Fri Jul 30 08:45:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 30 08:45:05 2010 -0700"
      },
      "message": "am a4fd0078: Clear preferred activities when home process crashes\n\nMerge commit \u0027a4fd0078d138b433d2250a74833ee3cc6424143a\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a4fd0078d138b433d2250a74833ee3cc6424143a\u0027:\n  Clear preferred activities when home process crashes\n"
    },
    {
      "commit": "a4fd0078d138b433d2250a74833ee3cc6424143a",
      "tree": "0c0a4df97e36e40d5c7322e63f758d801d31a3de",
      "parents": [
        "4506c62abd5767d6d42a97e8e87793a1b3bcb625"
      ],
      "author": {
        "name": "Mattias Larsson",
        "email": "mattias7.larsson@sonyericsson.com",
        "time": "Tue Jun 22 22:37:03 2010 +0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 08:36:42 2010 -0700"
      },
      "message": "Clear preferred activities when home process crashes\n\nIf the \"default\" Home application has been replaced with\na third-party app that is repeatedly crashing at start-up,\nthere is no way for the user to clear the preferred activities\nor uninstall the bad application. If we clear the package\npreferred activities when the application crashes, the user\nwill be prompted with the ResolverActivity at the next boot\nand can try using the app again or choose to use another\nHome application.\n\nChange-Id: I8ba8e95e6752916d50515d96c117d3084fa980fd\n"
    },
    {
      "commit": "0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf",
      "tree": "f352225433516c35c4435b82be44d91c0cca9379",
      "parents": [
        "8a76a9085dbbca87b4c172577ca264d8b5f2ab32",
        "4506c62abd5767d6d42a97e8e87793a1b3bcb625"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 17:52:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 17:52:09 2010 -0700"
      },
      "message": "am 4506c62a: fix inaccurate copyrights\n\nMerge commit \u00274506c62abd5767d6d42a97e8e87793a1b3bcb625\u0027 into gingerbread-plus-aosp\n\n* commit \u00274506c62abd5767d6d42a97e8e87793a1b3bcb625\u0027:\n  fix inaccurate copyrights\n"
    },
    {
      "commit": "4506c62abd5767d6d42a97e8e87793a1b3bcb625",
      "tree": "30777cb6080dde28740111ac6b69ff014cee5075",
      "parents": [
        "9150cff64abc79927ade28061ac99a1ebf812905"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 17:35:37 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 17:35:37 2010 -0700"
      },
      "message": "fix inaccurate copyrights\n\nChange-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd\n"
    },
    {
      "commit": "392edec1162e9d00bcb66b271f43908f75d42ace",
      "tree": "5ecf0d7fb1e22166761f51b530aac6ac88b0f714",
      "parents": [
        "16263d9f8cc01392c2f3678b381ce897647c8c81",
        "3855980b4355017fa9a4988d7b150f3222075198"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 29 15:38:41 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 29 15:38:49 2010 -0700"
      },
      "message": "Merge from open-source froyo\n\nChange-Id: Ifa75fce9bd362b06ecb622219ef501e61e89fd76\n"
    },
    {
      "commit": "3855980b4355017fa9a4988d7b150f3222075198",
      "tree": "c078487e21c67006d0725783a4571c6b79f1f535",
      "parents": [
        "e8605af513e846f6cd223c9e92461189727d8c9b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 13:57:56 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 15:24:15 2010 -0700"
      },
      "message": "Fix a bug where we cleaned an apps external data when upgrading it. :(\n\nChange-Id: I0eee1e7062d334c66d6daa3c43e11a292263aada\n"
    },
    {
      "commit": "52075987c5726c95613f98571aac4c54e8319df4",
      "tree": "f9cb4c3bef56871dd4b84d693e72916897e66e35",
      "parents": [
        "06abd0a6a833beda1c0e68aed44912d145745a42",
        "31b5d5485f7336639d252da7ba979234dbd2f1e1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 14:12:17 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 14:12:17 2010 -0700"
      },
      "message": "am 31b5d548: Merge \"Fix a bug where we cleaned an apps external data when upgrading it. :(\" into gingerbread\n\nMerge commit \u002731b5d5485f7336639d252da7ba979234dbd2f1e1\u0027 into gingerbread-plus-aosp\n\n* commit \u002731b5d5485f7336639d252da7ba979234dbd2f1e1\u0027:\n  Fix a bug where we cleaned an apps external data when upgrading it. :(\n"
    },
    {
      "commit": "31b5d5485f7336639d252da7ba979234dbd2f1e1",
      "tree": "149d0d8de3a73420feac657cb8252f7ee2ce0020",
      "parents": [
        "571180c4c72e0bb4f930f8971edf000a652f10f6",
        "fb1f103191f1cf424a79aaf1cd67d2d1900138e0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 14:07:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 29 14:07:14 2010 -0700"
      },
      "message": "Merge \"Fix a bug where we cleaned an apps external data when upgrading it. :(\" into gingerbread"
    },
    {
      "commit": "fb1f103191f1cf424a79aaf1cd67d2d1900138e0",
      "tree": "764b1869ec3a254798133506c7059ac491a19bf0",
      "parents": [
        "a0ae8bc5c62b12269f20cbebdb0d8614e4e8eb1a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 13:57:56 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 13:58:32 2010 -0700"
      },
      "message": "Fix a bug where we cleaned an apps external data when upgrading it. :(\n\nChange-Id: I0eee1e7062d334c66d6daa3c43e11a292263aada\n"
    },
    {
      "commit": "b0a57502c6f17edd1a63bee1463bc2f9fd78e4a4",
      "tree": "e00ad298572b11438fb7e8535d0a4f8d586c9ec6",
      "parents": [
        "425560259c6d41e7f413fdd0f517dc47f350c533",
        "6ec402b5ae33c8927694d8522b4cc6a5c8ba974e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 29 13:09:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 13:09:07 2010 -0700"
      },
      "message": "am 6ec402b5: DO NOT MERGE: Fix input event injection ANRs on UI thread.\n\nMerge commit \u00276ec402b5ae33c8927694d8522b4cc6a5c8ba974e\u0027 into gingerbread-plus-aosp\n\n* commit \u00276ec402b5ae33c8927694d8522b4cc6a5c8ba974e\u0027:\n  DO NOT MERGE: Fix input event injection ANRs on UI thread.\n"
    },
    {
      "commit": "6ec402b5ae33c8927694d8522b4cc6a5c8ba974e",
      "tree": "5d4b19eda9ade71d7e34635479426f1dd484e8c2",
      "parents": [
        "6dea6f4e71b53e421564d783c227cbe0a2469183"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 15:48:59 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 29 12:54:27 2010 -0700"
      },
      "message": "DO NOT MERGE: Fix input event injection ANRs on UI thread.\n\nAdded a new asynchronous injection mode and made the existing\nsynchronization mechanism more robust.\n\nChange-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6\n"
    },
    {
      "commit": "7522cac555bd8010d6603cfe0ad831a6f1c1af4f",
      "tree": "fbac48918636253c45fee1fbfb051bb56435fb83",
      "parents": [
        "ba676a00c1b9ba59b30fe805b83d03d1768fffbd",
        "8dc16c27e23dae5bdf65fd2a2ced97c2f645a633"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 29 08:58:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 08:58:54 2010 -0700"
      },
      "message": "am 8dc16c27: Fix typo in GPS mode logic.\n\nMerge commit \u00278dc16c27e23dae5bdf65fd2a2ced97c2f645a633\u0027 into gingerbread-plus-aosp\n\n* commit \u00278dc16c27e23dae5bdf65fd2a2ced97c2f645a633\u0027:\n  Fix typo in GPS mode logic.\n"
    },
    {
      "commit": "8dc16c27e23dae5bdf65fd2a2ced97c2f645a633",
      "tree": "f13d07246db7fbaaf63550c9dd570da5677c62a0",
      "parents": [
        "a54d7d3d7dd691334189aab20d23c65710092869"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 29 11:39:55 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 29 11:39:55 2010 -0400"
      },
      "message": "Fix typo in GPS mode logic.\n\nMS-Assisted support should not be required for using MS-Based mode.\n\nChange-Id: Ia6ee219674de3e9cc13190b753f8776305a4fa90\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ba676a00c1b9ba59b30fe805b83d03d1768fffbd",
      "tree": "f91eb0f847ad32181065cba00e2c24e5e1c4bba3",
      "parents": [
        "45dc4f82a00e52b12389b22a7cfbbee5609e8e28",
        "a54d7d3d7dd691334189aab20d23c65710092869"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 29 07:43:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 07:43:10 2010 -0700"
      },
      "message": "am a54d7d3d: Fixed underrun in audioflinger mixer.\n\nMerge commit \u0027a54d7d3d7dd691334189aab20d23c65710092869\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a54d7d3d7dd691334189aab20d23c65710092869\u0027:\n  Fixed underrun in audioflinger mixer.\n"
    },
    {
      "commit": "a54d7d3d7dd691334189aab20d23c65710092869",
      "tree": "c210f11aa8f51610a039b1a2f6a2d59330710940",
      "parents": [
        "493941b8d8a12ee843d9823c0177f8005a7be54f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 29 06:50:24 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 29 06:50:24 2010 -0700"
      },
      "message": "Fixed underrun in audioflinger mixer.\n\nWhen all audio tracks have been disabled and the mixer is running idle before the output stream is placed in standby,\nthe mixer sometimes fails to write to the output stream on time to avoid underrun.\n\nThis is because the sleep period used to wait before the next write to output stream is too close to the actual buffer duration.\nIn fact this sleep time is not critical as if we write too early to the output stream, the kernel driver will wait for free buffers\nfrom the audio DSP DMA and we will sleep anyways.\n\nThe fix consists in dividing the calculated wait period by 2 to increase the margin.\n\nChange-Id: I5730887dc2ccce2a511bc858494a6f7da6b392a0\n"
    },
    {
      "commit": "45dc4f82a00e52b12389b22a7cfbbee5609e8e28",
      "tree": "3b68a67caef4c896b5381625294399c770f7ac49",
      "parents": [
        "4dc8ead1b4e63165c0a9e65adfbe46159758947a",
        "493941b8d8a12ee843d9823c0177f8005a7be54f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 29 03:35:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 03:35:52 2010 -0700"
      },
      "message": "am 493941b8: Allow creation of an audio effect on a session with no audio tracks.\n\nMerge commit \u0027493941b8d8a12ee843d9823c0177f8005a7be54f\u0027 into gingerbread-plus-aosp\n\n* commit \u0027493941b8d8a12ee843d9823c0177f8005a7be54f\u0027:\n  Allow creation of an audio effect on a session with no audio tracks.\n"
    },
    {
      "commit": "493941b8d8a12ee843d9823c0177f8005a7be54f",
      "tree": "4f65a1e32a5eb1ce656ab9acd9c5020707cc68fd",
      "parents": [
        "7b40518e56a3238b28b24a786a2ff22d5a425765"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 28 01:32:47 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 29 02:34:40 2010 -0700"
      },
      "message": "Allow creation of an audio effect on a session with no audio tracks.\n\nThis is necessary to allow creating and enabling an effect attached to a particular player\nsession before the playback is started. As a matter of fact, the implementation of the mediaplayer\ndoes not create the AudioTrack before playback starts.\n\nChange-Id: I1266e8885f9d756acc949303321aaac0fbf83e34\n"
    },
    {
      "commit": "9362ea760f565389f5accce7e17476d05510ed59",
      "tree": "83d5fbdb4feef3c5f4f990887186b03b456cf9a3",
      "parents": [
        "1de9f490b5c3f293b3748be3d4ccf3f78cdf460b",
        "9f2a91bc2b01c2cc60f73a0bae673225fdddec09"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 28 16:33:23 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 16:33:23 2010 -0700"
      },
      "message": "am 9f2a91bc: Merge \"fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once.\" into gingerbread\n\nMerge commit \u00279f2a91bc2b01c2cc60f73a0bae673225fdddec09\u0027 into gingerbread-plus-aosp\n\n* commit \u00279f2a91bc2b01c2cc60f73a0bae673225fdddec09\u0027:\n  fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once.\n"
    },
    {
      "commit": "9f2a91bc2b01c2cc60f73a0bae673225fdddec09",
      "tree": "4896baaf07143ebe2be37685c49714b223e3f100",
      "parents": [
        "bae6fe242ff9a97840ff0c5d9d87c0575d261682",
        "51c70e3e41ee8bedc1d951a06a74202dafa13009"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 28 16:30:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 16:30:56 2010 -0700"
      },
      "message": "Merge \"fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once.\" into gingerbread"
    },
    {
      "commit": "bba1eede35b356a50dfe12692c2ff30cd5de152d",
      "tree": "195452a7a85f7deb49a48b0e08c191fe9469806b",
      "parents": [
        "4b812738c70be53e79ba8a6b9c93de14388d1311",
        "f369a9b5f7b2ae75875753caf90ec68fd9dbc144"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:51:33 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 14:51:33 2010 -0700"
      },
      "message": "am f369a9b5: Remove stale temporary ASEC containers\n\nMerge commit \u0027f369a9b5f7b2ae75875753caf90ec68fd9dbc144\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f369a9b5f7b2ae75875753caf90ec68fd9dbc144\u0027:\n  Remove stale temporary ASEC containers\n"
    },
    {
      "commit": "4b812738c70be53e79ba8a6b9c93de14388d1311",
      "tree": "b5ada11ed225afbd84ab07b879e153e29644b61b",
      "parents": [
        "4e235622bc37e54208b88a18251f3682495af41f",
        "56c02dc3d325bab8549ec34b9d6aa7c62ef742d0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:51:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 14:51:29 2010 -0700"
      },
      "message": "am 56c02dc3: Merge \"Fix getTempContainerId()\" into gingerbread\n\nMerge commit \u002756c02dc3d325bab8549ec34b9d6aa7c62ef742d0\u0027 into gingerbread-plus-aosp\n\n* commit \u002756c02dc3d325bab8549ec34b9d6aa7c62ef742d0\u0027:\n  Fix getTempContainerId()\n"
    },
    {
      "commit": "f369a9b5f7b2ae75875753caf90ec68fd9dbc144",
      "tree": "65ddddfda965f4d2d140fcbc365317f4307be6db",
      "parents": [
        "56c02dc3d325bab8549ec34b9d6aa7c62ef742d0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:47:01 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:48:58 2010 -0700"
      },
      "message": "Remove stale temporary ASEC containers\n\nWhen a temporary container is created, its existence should be\nephemeral. However, if there is an error that causes system_server to be\nkilled during the process of creating a finalized ASEC, delete the stale\ncontainers on the next start-up of system_server.\n\nChange-Id: I7be8f94638a824295474c9a95960594848cb726b\n"
    },
    {
      "commit": "56c02dc3d325bab8549ec34b9d6aa7c62ef742d0",
      "tree": "b465b8f43821db74dc7c27afc2b214d882f82978",
      "parents": [
        "b1bb7180ec3446208ea717d96f6a507ea9955a13",
        "c78a8079740bfcad2e4439ccd74da52f6dc7fae2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:48:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 14:48:40 2010 -0700"
      },
      "message": "Merge \"Fix getTempContainerId()\" into gingerbread"
    },
    {
      "commit": "c78a8079740bfcad2e4439ccd74da52f6dc7fae2",
      "tree": "32980045a8a1e809f407a9c7c9ba51d283bfd004",
      "parents": [
        "7feab3470156c7864fe159115d575c16f0974493"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 15:18:38 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:45:14 2010 -0700"
      },
      "message": "Fix getTempContainerId()\n\ngetTempContainerId() would always return \"smdl2tmp1\" unless you had\nMAX_CONTAINERS number of SD card SDKs, because of an array sort that put\nall the zeros at the beginning.\n\nSwitch from trying to find a hole in the series of numbers to just\ngetting a number that\u0027s one larger than the previous. This reduces the\nalgorithmic complexity and the memory requirements.\n\nBug: 2832580\nChange-Id: I32dc75ef5a6645f594ea47b032d7402e8860ebcd\n"
    },
    {
      "commit": "9795a25da060f9a7df87da8ab43fb1086d4322a5",
      "tree": "98aec7df18a3721c94524d551b79e6d5420a20b8",
      "parents": [
        "8190f485539c36803489dcf5f198d03ed87ae8f9",
        "6d0fec2de3601821f4f44eeb7d7deedebb2b7117"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 14:25:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 14:25:05 2010 -0700"
      },
      "message": "am 6d0fec2d: Refactor input reader to support new device types more easily.\n\nMerge commit \u00276d0fec2de3601821f4f44eeb7d7deedebb2b7117\u0027 into gingerbread-plus-aosp\n\n* commit \u00276d0fec2de3601821f4f44eeb7d7deedebb2b7117\u0027:\n  Refactor input reader to support new device types more easily.\n"
    },
    {
      "commit": "6d0fec2de3601821f4f44eeb7d7deedebb2b7117",
      "tree": "9fdea32c5691a6d0bcb3085df47f42a8e6ecd565",
      "parents": [
        "b350bec514eb9fee473e4ef62680c53e992dc49b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 23 21:28:06 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 14:16:15 2010 -0700"
      },
      "message": "Refactor input reader to support new device types more easily.\n\nRefactored the input reader so that each raw input protocol is handled\nby a separate subclass of the new InputMapper type.  This way, behaviors\npertaining to keyboard, trackballs, touchscreens, switches and other\ndevices are clearly distinguished for improved maintainability.\n\nAdded partial support for describing capabilities of input devices\n(incomplete and untested for now, will be fleshed out in later commits).\n\nSimplified EventHub interface somewhat since InputReader is taking over\nmore of the work.\n\nCleaned up some of the interactions between InputManager and\nWindowManagerService related to reading input state.\n\nFixed swiping finger from screen edge into display area.\n\nAdded logging of device information to \u0027dumpsys window\u0027.\n\nChange-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612\n"
    },
    {
      "commit": "d3f6c1fa45d0b9aaf467159953ee4bea2ea89188",
      "tree": "40246ba7ef169f97dff65bf771d5a1e7372ca9a4",
      "parents": [
        "6fa8888254deb4961dc64c6ac03dc103c9cd8bcf",
        "0c39b6c65bcb96ed6438c7d792a67708409d8f0f"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Jul 28 10:16:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 10:16:39 2010 -0700"
      },
      "message": "am 0c39b6c6: Merge \"Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\" into gingerbread\n\nMerge commit \u00270c39b6c65bcb96ed6438c7d792a67708409d8f0f\u0027 into gingerbread-plus-aosp\n\n* commit \u00270c39b6c65bcb96ed6438c7d792a67708409d8f0f\u0027:\n  Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\n"
    },
    {
      "commit": "0c39b6c65bcb96ed6438c7d792a67708409d8f0f",
      "tree": "01bce9458ea87b0d7dbc4e55f0d72eb21f3ca56b",
      "parents": [
        "62d83a0c894b72d9abda1340d278d2aeec11e0fb",
        "84047bc295af663274ced27def33164d6e020b5d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Jul 28 09:53:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 09:53:12 2010 -0700"
      },
      "message": "Merge \"Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\" into gingerbread"
    },
    {
      "commit": "6fa8888254deb4961dc64c6ac03dc103c9cd8bcf",
      "tree": "e4e49810a908482ccd6d3dca1e7cfea6d0baa87b",
      "parents": [
        "d5786b982c90632a4b35fd2d984c4edc4bbdfb0b",
        "62d83a0c894b72d9abda1340d278d2aeec11e0fb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 28 07:51:02 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 07:51:02 2010 -0700"
      },
      "message": "am 62d83a0c: Merge \"Audio effects: modified command() parameter types.\" into gingerbread\n\nMerge commit \u002762d83a0c894b72d9abda1340d278d2aeec11e0fb\u0027 into gingerbread-plus-aosp\n\n* commit \u002762d83a0c894b72d9abda1340d278d2aeec11e0fb\u0027:\n  Audio effects: modified command() parameter types.\n"
    },
    {
      "commit": "62d83a0c894b72d9abda1340d278d2aeec11e0fb",
      "tree": "341b7d9f9fbd133f676feecd146e3790fe28fe29",
      "parents": [
        "c40d714ca520257bcb5ef2e03e83ea3273d3a0ec",
        "a4c72acfbc6c06588dd26cf41e67a834fc0a54f9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 28 07:48:49 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 07:48:49 2010 -0700"
      },
      "message": "Merge \"Audio effects: modified command() parameter types.\" into gingerbread"
    },
    {
      "commit": "a4c72acfbc6c06588dd26cf41e67a834fc0a54f9",
      "tree": "f837332558eb9f5bcec50e109878f7d98a644148",
      "parents": [
        "b73045935cd8ec5d1a1c5e7a7ca800448b5789ea"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 28 05:40:18 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 28 05:49:21 2010 -0700"
      },
      "message": "Audio effects: modified command() parameter types.\n\nThe type of the cmd, cmdSize and *pReplySize parameters of the effect control interface command()\nfunction have been modified from int to uint32_t. This is more consistent with their role.\n\nChange-Id: I84d289fc262d6753747910f06f485597dfee6591\n"
    },
    {
      "commit": "d5786b982c90632a4b35fd2d984c4edc4bbdfb0b",
      "tree": "d9aaeae87f944c6267f9ec09b9c8e10616a1db67",
      "parents": [
        "931ee98cc05aedaf0a7cdf0b7ec503a8586359f5",
        "c40d714ca520257bcb5ef2e03e83ea3273d3a0ec"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 28 04:11:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 04:11:03 2010 -0700"
      },
      "message": "am c40d714c: Merge \"Tethering: Use new ACTION_USB_STATE broadcast to monitor USB connected state\" into gingerbread\n\nMerge commit \u0027c40d714ca520257bcb5ef2e03e83ea3273d3a0ec\u0027 into gingerbread-plus-aosp\n\n* commit \u0027c40d714ca520257bcb5ef2e03e83ea3273d3a0ec\u0027:\n  Tethering: Use new ACTION_USB_STATE broadcast to monitor USB connected state\n"
    },
    {
      "commit": "c40d714ca520257bcb5ef2e03e83ea3273d3a0ec",
      "tree": "87bc4979430b652177e084cda82f6708d33fff2b",
      "parents": [
        "b73045935cd8ec5d1a1c5e7a7ca800448b5789ea",
        "ac051ae7ac62532c78f820a0c7347ca36b119132"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 28 04:04:18 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 04:04:18 2010 -0700"
      },
      "message": "Merge \"Tethering: Use new ACTION_USB_STATE broadcast to monitor USB connected state\" into gingerbread"
    },
    {
      "commit": "51c70e3e41ee8bedc1d951a06a74202dafa13009",
      "tree": "d917c80c3421a1312cfefc3e2ca7db25fce62a37",
      "parents": [
        "eab07e5c1d48d45f76ac2dd4a45c8a3457aa290d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 27 20:11:35 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 27 20:11:35 2010 -0700"
      },
      "message": "fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once.\n\nthis situation happened when the last buffer needed to be resized\n(or allocated, the first time). the assumption was that the buffer\nwas in use by SF itself as the current buffer (obviously, this\nassumption made no sense when the buffer had never been allocated, btw).\n\nthe system would wait until some other buffer became the \"front\" buffer.\n\nwe fix this problem by entirely removing the requirement that the\nbuffer being resized cannot be the front buffer. instead, we just\nallocate a new buffer and replace the front buffer by the new one.\n\nthe downside is that this uses more memory (an extra buffer) for a\nbrief amount of time while the old buffer is being reallocated and\nbefore it has actually been replaced.\n\nChange-Id: I022e4621209474ceb1c671b23deb4188eaaa7285\n"
    }
  ],
  "next": "931ee98cc05aedaf0a7cdf0b7ec503a8586359f5"
}
