)]}'
{
  "log": [
    {
      "commit": "fefe3f689b0c1838d7a68c0d6275ab4d9f294636",
      "tree": "70d2a3c7755b8b2792aae5a87295cde832ee3476",
      "parents": [
        "8b71943942941d4404be2758b1ac817f1692264f",
        "cc43401cd10c681238e0be01de8fe14f5da94fb1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 23 14:29:36 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 23 14:29:36 2010 -0800"
      },
      "message": "am cc43401c: am 6eef0ca5: Merge \"frameworks/base: Fix to release references in ActivityManagerService\" into gingerbread\n\n* commit \u0027cc43401cd10c681238e0be01de8fe14f5da94fb1\u0027:\n  frameworks/base: Fix to release references in ActivityManagerService\n"
    },
    {
      "commit": "cc43401cd10c681238e0be01de8fe14f5da94fb1",
      "tree": "1586fe3790cc35955975b555e0454b86a83d50b7",
      "parents": [
        "fa93584a4fab6ca8d9348658dc30cedf76891753",
        "6eef0ca59438a15d14be8a72b6b29f01da91a5b8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 23 14:22:32 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 23 14:22:32 2010 -0800"
      },
      "message": "am 6eef0ca5: Merge \"frameworks/base: Fix to release references in ActivityManagerService\" into gingerbread\n\n* commit \u00276eef0ca59438a15d14be8a72b6b29f01da91a5b8\u0027:\n  frameworks/base: Fix to release references in ActivityManagerService\n"
    },
    {
      "commit": "6eef0ca59438a15d14be8a72b6b29f01da91a5b8",
      "tree": "e478f6a753f3435ceecce83d53643d148d088f40",
      "parents": [
        "c6f2b3b302c06b8b7b81ec7e3a43a7df1813d0e0",
        "a207ce2abafc653dd362f563f5eb46c2dea51460"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 23 14:19:03 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 23 14:19:03 2010 -0800"
      },
      "message": "Merge \"frameworks/base: Fix to release references in ActivityManagerService\" into gingerbread"
    },
    {
      "commit": "a207ce2abafc653dd362f563f5eb46c2dea51460",
      "tree": "3047d8845261a1f07ad3a35fdfdbe33b57e4d16e",
      "parents": [
        "3ce86481cbde92e2cb6fe3a46cbedd8b2a5c4b48"
      ],
      "author": {
        "name": "Vairavan Srinivasan",
        "email": "vairav@codeaurora.org",
        "time": "Thu Dec 23 13:51:48 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 23 14:16:56 2010 -0800"
      },
      "message": "frameworks/base: Fix to release references in ActivityManagerService\n\nServiceRecord\u0027s bindings is a hashmap to keep track of all active\nbindings to the service. This is not cleared when the service is\nbrought down by activity manager. This adds up the references to\nIntentBindRecords and its references to ServiceRecord. Fix is to\nclear the bindings.\n\nServiceRecord\u0027s restarter is a reference to the service and is not\ncleared when the service is brought down by activity manager. This\nadds up the references to ServiceRecord. Fix is to set the reference\nto null when the service is brought down by activity manager.\n\nChange-Id: Ica448cd5f60192c8adb23209b5d0e2cf0c04e446\n"
    },
    {
      "commit": "fa93584a4fab6ca8d9348658dc30cedf76891753",
      "tree": "929293fba0d2bedf4007bf6d61f7fb4b45c0d46d",
      "parents": [
        "6023873463331d30b7ed12942c3323f1b6975ed8",
        "c6f2b3b302c06b8b7b81ec7e3a43a7df1813d0e0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 23 12:43:48 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 23 12:43:48 2010 -0800"
      },
      "message": "am c6f2b3b3: Merge \"Fix policy issues when screen is off. (DO NOT MERGE)\" into gingerbread\n\n* commit \u0027c6f2b3b302c06b8b7b81ec7e3a43a7df1813d0e0\u0027:\n  Fix policy issues when screen is off. (DO NOT MERGE)\n"
    },
    {
      "commit": "00ee5b46854404a91d903e8bf42d9f900326326c",
      "tree": "9746c237e496d25153ac79237fda7784a72d73d1",
      "parents": [
        "7b3724dd306dcdfb07848d90e9e0a3d0456421c2",
        "3b99ede362568a3d213a2b3668126965ad80677e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 22 17:44:14 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 22 17:44:14 2010 -0800"
      },
      "message": "Merge \"Fix issue #3299143: Problem report for Hanping Chinese Dictionary Pro\""
    },
    {
      "commit": "3b99ede362568a3d213a2b3668126965ad80677e",
      "tree": "89fcad237dc05c7dbe6a80410bd8ef4374784420",
      "parents": [
        "49858741150cc115cc8815085899cbfdfb12d2f3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 22 17:37:34 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 22 17:37:34 2010 -0800"
      },
      "message": "Fix issue #3299143: Problem report for Hanping Chinese Dictionary Pro\n\nLet\u0027s not crash if there is no clip.\n\nChange-Id: I295031adf37fdd0997c39a2cffc2c6f602d7694e\n"
    },
    {
      "commit": "eb9f7a01b0f501a535d872a957c1102ebb13d1c7",
      "tree": "44df101d8d798a84649dd5a4c9d2d32ab6bc7284",
      "parents": [
        "2bf89b2197674ccc414ea60a61199562df9dc52b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 29 21:50:21 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Dec 22 16:00:21 2010 -0800"
      },
      "message": "Fix policy issues when screen is off. (DO NOT MERGE)\n\nRewrote interceptKeyBeforeQueueing to make the handling more systematic.\nBehavior should be identical except:\n- We never pass keys to applications when the screen is off and the keyguard\n  is not showing (the proximity sensor turned off the screen).\n  Previously we passed all non-wake keys through in this case which\n  caused a bug on Crespo where the screen would come back on if a soft key\n  was held at the time of power off because the resulting key up event\n  would sneak in just before the keyguard was shown.  It would then be\n  passed through to the dispatcher which would poke user activity and\n  wake up the screen.\n- We propagate the key flags when broadcasting media keys which\n  ensures that recipients can tell when the key is canceled.\n- We ignore endcall or power if canceled (shouldn\u0027t happen anyways).\n\nChanged the input dispatcher to not poke user activity for canceled\nevents since they are synthetic and should not wake the device.\n\nChanged the lock screen so that it does not poke the wake lock when the\ngrab handle is released.  This fixes a bug where the screen would come\nback on immediately if the power went off while the user was holding\none of the grab handles because the sliding tab would receive an up\nevent after screen turned off and release the grab handles.\n\nBug: 3144874\nChange-Id: Iebb91e10592b4ef2de4b1dd3a2e1e4254aacb697\n"
    },
    {
      "commit": "15c7439acb22ab079dd2ebe42bdf0d2ffd525c5d",
      "tree": "25fac424972b32834a98a1c0a2ee53ca1970f1a9",
      "parents": [
        "93e7d00f3f0466c088f70568941f5276316b9bd2"
      ],
      "author": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Tue Dec 21 22:31:44 2010 -0800"
      },
      "committer": {
        "name": "Jaikumar Ganesh",
        "email": "jaikumar@google.com",
        "time": "Wed Dec 22 15:24:18 2010 -0800"
      },
      "message": "Add TYPE_BLUETOOTH network interface for reverse tethering.\n\nChange-Id: I2aa61ce15f57aea9e8fd3a4cb56799c8bc51e998\n"
    },
    {
      "commit": "658ecc18695620441a0f77e84904ce9bbaba7dff",
      "tree": "0920d409e88c3d31a471bee90cd9de618040eb6f",
      "parents": [
        "8e5ba659df58ac692a0c4a46b25446ead5e03af6",
        "2f209e885a86b8396fe1344043cf9858751fcb64"
      ],
      "author": {
        "name": "Mattias Petersson",
        "email": "mattias.petersson@sonyericsson.com",
        "time": "Wed Dec 22 12:04:43 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 22 12:04:43 2010 -0800"
      },
      "message": "am 2f209e88: am 1622eee2: Improve performance of WindowState.toString()\n\n* commit \u00272f209e885a86b8396fe1344043cf9858751fcb64\u0027:\n  Improve performance of WindowState.toString()\n"
    },
    {
      "commit": "efe5bd77eb2a883c57912a0b4dbed122840f1fdd",
      "tree": "5ef3631dfcc0e1391f7687b75ab9e22e3cd4ccc4",
      "parents": [
        "ed4f1cd7c1f762cfe8d19a2e36bbc6b1eff7ad2d",
        "46f987465c1df4ec984e725747d4d79fc592abb7"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Dec 22 11:35:06 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 22 11:35:06 2010 -0800"
      },
      "message": "am 46f98746: am 5d0fafe8: Merge \"Be sure and report NO_CONNECTIVITY when needed.\" into gingerbread\n\n* commit \u002746f987465c1df4ec984e725747d4d79fc592abb7\u0027:\n  Be sure and report NO_CONNECTIVITY when needed.\n"
    },
    {
      "commit": "2f209e885a86b8396fe1344043cf9858751fcb64",
      "tree": "0b161e4b13e496fb89af0f9503eeea4230d48a89",
      "parents": [
        "7a9f17c3563be3eb5fc0927e20d9bc7ec09e20c3",
        "1622eee2e48678b17a4668641957f09213f98905"
      ],
      "author": {
        "name": "Mattias Petersson",
        "email": "mattias.petersson@sonyericsson.com",
        "time": "Wed Dec 22 11:25:32 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 22 11:25:32 2010 -0800"
      },
      "message": "am 1622eee2: Improve performance of WindowState.toString()\n\n* commit \u00271622eee2e48678b17a4668641957f09213f98905\u0027:\n  Improve performance of WindowState.toString()\n"
    },
    {
      "commit": "1622eee2e48678b17a4668641957f09213f98905",
      "tree": "73a488b0fda0f7aefc612929ff54f0dc132d5cac",
      "parents": [
        "3ce86481cbde92e2cb6fe3a46cbedd8b2a5c4b48"
      ],
      "author": {
        "name": "Mattias Petersson",
        "email": "mattias.petersson@sonyericsson.com",
        "time": "Tue Dec 21 10:15:11 2010 +0100"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 22 10:42:47 2010 -0800"
      },
      "message": "Improve performance of WindowState.toString()\n\nThis fix improves the performance by caching the string that should\nbe returned, and reuse it next time if possible.\nThis will make it faster to switch between activities, approximately\nhalf the time to create the new view when changing from landscape to\nportrait. Also, the time for starting a new application is be reduced\nas WindowState.toString is being called thousands of times in this\ncase.\n\nChange-Id: I2b8b9bc1e251d1af43b6c85f049c01452f2573a2\n"
    },
    {
      "commit": "eaa9e2750ff77c860df34273b64bc0b678a75748",
      "tree": "5b2d806b4233bd91cce2c97e891379b156621e5f",
      "parents": [
        "bb7dc3c8553b9dc4b718b93eabff77fcba10e6a0",
        "5f4d6433463078687bcc9e7a421efb28644440ab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 21 23:24:50 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 21 23:24:50 2010 -0800"
      },
      "message": "Merge \"Fix issue #3263026: Screen rotation animation is funky...\""
    },
    {
      "commit": "5f4d6433463078687bcc9e7a421efb28644440ab",
      "tree": "f86ccc53b0557a193acae348229ee9bb27fa2d55",
      "parents": [
        "f642c89964c9f53c22d0b0f12e33849a93ffbcb2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 21 20:40:11 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 21 23:23:26 2010 -0800"
      },
      "message": "Fix issue #3263026: Screen rotation animation is funky...\n\n...with more than one activity visible\n\nChange-Id: I7695108a3540f5dd0a59b792ca3bc84c8f680872\n"
    },
    {
      "commit": "bb7dc3c8553b9dc4b718b93eabff77fcba10e6a0",
      "tree": "67390d5573d36c9609c7d912698bdfe1ad9b01b4",
      "parents": [
        "f642c89964c9f53c22d0b0f12e33849a93ffbcb2",
        "7599a7fb1ab5b75ca801f7d7e448f4c097320e01"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Dec 21 23:09:38 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 21 23:09:38 2010 -0800"
      },
      "message": "Merge \"Fix NPE when the shortcut subtype was not found.\""
    },
    {
      "commit": "7599a7fb1ab5b75ca801f7d7e448f4c097320e01",
      "tree": "9788485a13c05fe16916e8de3ecd2e11e84b8a6b",
      "parents": [
        "16331c8a1d33defccc5cbb18694def79196c921b"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Dec 22 13:45:23 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Dec 22 16:01:35 2010 +0900"
      },
      "message": "Fix NPE when the shortcut subtype was not found.\n\nBug: 3300904\n\nChange-Id: I1bc2578b63bb842363d70e48c77e9f9fee8fac6b\n"
    },
    {
      "commit": "f642c89964c9f53c22d0b0f12e33849a93ffbcb2",
      "tree": "3ddd0d0f15e9a9f56c79f85c1b263b3c8c53933e",
      "parents": [
        "ed2e45b32faf36e2434460d22304e9bf28a9a40c",
        "7c0e75e744762cc0b119b1cd29e1226af1115376"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 21 19:21:41 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 21 19:21:41 2010 -0800"
      },
      "message": "Merge \"Gah forgot this.\""
    },
    {
      "commit": "7c0e75e744762cc0b119b1cd29e1226af1115376",
      "tree": "3929f1063f13784684ac9a8b84e64e3d3f7eb13c",
      "parents": [
        "b057c3dbe6814b4e83126deb8631ad4780ea2082"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 21 19:15:40 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 21 19:15:40 2010 -0800"
      },
      "message": "Gah forgot this.\n\nChange-Id: I8d2b31020ac309f17b967734e8ca97a36a5fae45\n"
    },
    {
      "commit": "88819b276b8a91943e7ff6f0509a87307562b30f",
      "tree": "96459a52e94b3f59ca105c67e8f424a35890c0cc",
      "parents": [
        "b057c3dbe6814b4e83126deb8631ad4780ea2082"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 21 18:18:02 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 21 18:18:02 2010 -0800"
      },
      "message": "Rework how recent tasks are added.\n\nNow recents is updated every time an activity is resumed.  This\nshould ensure the recent list is more consistent, in the face of\npressing back or things crashing.\n\nChange-Id: Ibf59419014e549fac55f18633185edcb5ffcaa3c\n"
    },
    {
      "commit": "46f987465c1df4ec984e725747d4d79fc592abb7",
      "tree": "fe591d1321507de79febc9ee11088885125395f7",
      "parents": [
        "20c915d80356859d8716f014a7d4950f06c38cfc",
        "5d0fafe80752ad4e40fe0ec2bc06c43e669a0612"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Dec 21 16:06:19 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 21 16:06:19 2010 -0800"
      },
      "message": "am 5d0fafe8: Merge \"Be sure and report NO_CONNECTIVITY when needed.\" into gingerbread\n\n* commit \u00275d0fafe80752ad4e40fe0ec2bc06c43e669a0612\u0027:\n  Be sure and report NO_CONNECTIVITY when needed.\n"
    },
    {
      "commit": "d68e321841b53263d97dcc7e1682e8f0c7877e62",
      "tree": "97f76e1a20480e67a97c9d11e65e71952d8aa9a8",
      "parents": [
        "12b82c8da7bc477e591b12d8b7e469a9ba6dd574"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Dec 21 11:43:28 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Dec 21 11:43:28 2010 -0800"
      },
      "message": "Be sure and report NO_CONNECTIVITY when needed.\n\nReports that we sometimes didn\u0027t report NO_CONNECTIVITY led to this suggested change.\nCould not repro the problem, but the change looks ok anyway.  Better safe than sorry.\n\nbug:3276408\nChange-Id: I0cdb48a05a5c9dfcf3a0b468a6eae43d461023b1\n"
    },
    {
      "commit": "16331c8a1d33defccc5cbb18694def79196c921b",
      "tree": "818a554358bc8d2e7c1cb3dd6ec73542e700daec",
      "parents": [
        "96abab264e4d96071dc169b4828e950c1ae59681"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Dec 20 23:48:46 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Dec 21 16:14:15 2010 +0900"
      },
      "message": "Add a parameter to InputMethodManagerService.getEnabledSubtype for allowing to select subtypes implicitly if no subtype is enabled.\n\nBug: 3142286\n\nChange-Id: I92d019d0648c552e6d7695c3530aa81ae054d702\n"
    },
    {
      "commit": "c1ff9b325562dfda88ba7d2ef1a763471d389377",
      "tree": "4966f7ba9a746c6fd63344cbe96c330f04ab2b50",
      "parents": [
        "635b2b77b917c1bf20ce135ce6fcc98a6a7be084",
        "d485c76b5e09a8c311f8f129cbe5ec75499556be"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 20 11:33:27 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 20 11:33:27 2010 -0800"
      },
      "message": "am d485c76b: am c8e8a12b: Merge \"Fix issue #3289835: NullPointerException in...\" into gingerbread\n\n* commit \u0027d485c76b5e09a8c311f8f129cbe5ec75499556be\u0027:\n  Fix issue #3289835: NullPointerException in...\n"
    },
    {
      "commit": "d485c76b5e09a8c311f8f129cbe5ec75499556be",
      "tree": "0b4c7c9f2634653c142aa62d0e48e66a870199cc",
      "parents": [
        "d90bc225b9d6e4f8f69d984aa63062a7b20ac65c",
        "c8e8a12b3c649bbaf610d2ff17bb10a7b32fe579"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 20 11:30:07 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 20 11:30:07 2010 -0800"
      },
      "message": "am c8e8a12b: Merge \"Fix issue #3289835: NullPointerException in...\" into gingerbread\n\n* commit \u0027c8e8a12b3c649bbaf610d2ff17bb10a7b32fe579\u0027:\n  Fix issue #3289835: NullPointerException in...\n"
    },
    {
      "commit": "43c9dd10f0fcc38e2e98efb6711e2c6c4d6e132b",
      "tree": "40c6e968b4d983175fbecea3d02d565d6060caab",
      "parents": [
        "6ecf3d1690789ace1a667093ad6bbdd6cd35bda7",
        "51f36f2d7810e16d71f6a70985f3e4f5f7132c78"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Dec 19 14:32:09 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Dec 19 14:32:09 2010 -0800"
      },
      "message": "Merge \"Bug 3292797. Talkback accessibility doesn\u0027t work at times.\""
    },
    {
      "commit": "4c7cc34127efa3308e1a09b28728868911b79789",
      "tree": "b720c14dd1a5fdb52cc832101443740761585af0",
      "parents": [
        "fb1b2317aba98ae1ce82a3feef9de4a8b72e4bf1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 16 16:37:39 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Dec 18 16:25:29 2010 -0800"
      },
      "message": "Demo hack!\n\nTo make a 800 tall screen run like a 720:\n\nadb shell setprop persist.demo.screensizehack 800\u003d720\n\nNote this is a persistent property, so it will (intentionally) remain across boots.\n\nChange-Id: I8a8a9f937399327444e8fb154b91f0e642db116e\n"
    },
    {
      "commit": "51f36f2d7810e16d71f6a70985f3e4f5f7132c78",
      "tree": "380b6150227ef0e8a7b7635d39d6401346f3eb59",
      "parents": [
        "4e6319b73c85082e18d1c532b86336ddd1f8cfaa"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Dec 18 16:20:53 2010 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Dec 18 16:22:53 2010 -0800"
      },
      "message": "Bug 3292797. Talkback accessibility doesn\u0027t work at times.\n\nChange-Id: I43c57a74675847d120a7f2e46b87a1f7f6e4137c\n"
    },
    {
      "commit": "7fee71f66afef6421b92fa48e63d4bc73f5d0c27",
      "tree": "3b21b203862606a78d6cbeb033c2bd0eb66ae723",
      "parents": [
        "f7ca8f0e4f143e63ddcd892e344f4c71cca92af8"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Dec 17 18:54:26 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Dec 17 19:00:44 2010 +0900"
      },
      "message": "Fix build breakage\n\nChange-Id: I5db5bcafc61f0aea5279e2f8679094a900b6f6cc\n"
    },
    {
      "commit": "f7ca8f0e4f143e63ddcd892e344f4c71cca92af8",
      "tree": "cd465de5e54af0082c5a47f752c5a633f8af53ce",
      "parents": [
        "540d3d26623f44caaa82a5c973cda818cb11f946",
        "217f548e79ab1ac3dd9e5be8fb6feaa6dcbe4000"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Dec 17 01:33:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 17 01:33:56 2010 -0800"
      },
      "message": "Merge \"Change \"more\" button to call InputMethodConfigure in Settings\""
    },
    {
      "commit": "88b03bd2e12c10c73e455a7eccf7d1aa324049d7",
      "tree": "077ec6cb9cf75789ac92db6c91ec29ba285ab413",
      "parents": [
        "64b591de33c53c0d41228ab494295cbf92d18315"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 16 11:15:18 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 16 13:29:27 2010 -0800"
      },
      "message": "Hm somehow my log didn\u0027t make it in the last patch.\n\nChange-Id: If7b3b041e478e1f05998323c02deb665f65073cb\n"
    },
    {
      "commit": "64b591de33c53c0d41228ab494295cbf92d18315",
      "tree": "c70996364a4a06d5b392bf041e657373a80233bf",
      "parents": [
        "060f2175465c61b4461439b82ecc387534938f32",
        "cb8f0e099c0e149b6fcc477f9b554a2688f99820"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 16 13:07:28 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 16 13:07:28 2010 -0800"
      },
      "message": "Merge \"Fix issue #3291975: Google services frame work crash...\""
    },
    {
      "commit": "3ec27e06a763f664b992cf1f9d8b378ea3fb53f5",
      "tree": "c7df5df3239d317e4c7d9bc3f64c35db92d8aab0",
      "parents": [
        "2bd83c00a0c72d3f6bd929c4df5fe83ee31b4704"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 16 12:41:56 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 16 12:41:56 2010 -0800"
      },
      "message": "Fix issue #3289835: NullPointerException in...\n\n..PackageManagerService.grantPermissionsLP when updating system app\n\nChange-Id: I36c1b96d2fe9a8737843d30f3a2669935fc281bb\n"
    },
    {
      "commit": "81d5ad515a9379432b2907aa9bcc830303202c84",
      "tree": "1170631d792c9a3a63c226574fbd3e397377c99b",
      "parents": [
        "f76aca984c4754e4de2cd731d5b6bbdb169b7544"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 16 11:27:38 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 16 11:35:40 2010 -0800"
      },
      "message": "Fix Bluetooth-tethering config of interface.\n\nbug:3288692\nChange-Id: Id7f1b680392f938000953157716bf9a8f8a66af9\n"
    },
    {
      "commit": "cb8f0e099c0e149b6fcc477f9b554a2688f99820",
      "tree": "9e3917bd0e66e7286903435c1101924ac8eb4dc7",
      "parents": [
        "f76aca984c4754e4de2cd731d5b6bbdb169b7544"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 16 11:15:18 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 16 11:15:18 2010 -0800"
      },
      "message": "Fix issue #3291975: Google services frame work crash...\n\n..observed after adding Google account from Gtalk\n\nChange-Id: Ide0646e01ded6f661e4e8de990a21e4d4330b416\n"
    },
    {
      "commit": "217f548e79ab1ac3dd9e5be8fb6feaa6dcbe4000",
      "tree": "6d05fef265101df6cdf8e68afe3819fd5ed0d6fd",
      "parents": [
        "6cb3b52df4f2ec4cc5f361886377657986e9dd19"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Dec 15 05:19:19 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Dec 16 14:19:56 2010 +0900"
      },
      "message": "Change \"more\" button to call InputMethodConfigure in Settings\n\n- Open input methods config fragment in Settings application\n- Add input to showInputMethodAndSubtypeEnabler\n\nChange-Id: I3f5c8a6a136aeb91326aa87475edee76517a8467\n"
    },
    {
      "commit": "342ea9dcf429299e504801a79fdc1551c5dfdef7",
      "tree": "3963d2612fa78fa89d415d53bb3a4e4ef9da76c7",
      "parents": [
        "a6b8c1c3bd1d9b84bbeb1820c0239742f50d3edb",
        "7c8a4b37765b7b491ab7979d589062ef546212bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 15 15:56:22 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 15 15:56:22 2010 -0800"
      },
      "message": "Merge \"Turn thumbnails back on.\""
    },
    {
      "commit": "9d6fa8693e8828ad62b87c15e0b5d8c74e5993ef",
      "tree": "c0d35dade6eaa1c9d64ec780abaaed026575bb41",
      "parents": [
        "7c6ca1907ee9f323d20a4d4b5bfa4be9e1c66d8b",
        "0be1e9844a16d7d7708fdb446b330533cd1d3260"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Dec 15 15:48:02 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 15 15:48:03 2010 -0800"
      },
      "message": "Merge \"Correct an error code to pass CTS.\""
    },
    {
      "commit": "0be1e9844a16d7d7708fdb446b330533cd1d3260",
      "tree": "4b46db9afe67974919974e51334073f53fb45078",
      "parents": [
        "3be80f2e6cf763fdfeb058d5a4ac8257cdc91135"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Dec 15 13:26:33 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Dec 15 15:22:50 2010 -0800"
      },
      "message": "Correct an error code to pass CTS.\n\nWe used to report an unmatch stopUsingNetworkFeature call with an \"ok, stopped\" response,\nbut we need to report it as an error.\n\nbug:3281837\nChange-Id: I35728159e62a021cb10de4396b3f60a92df0570f\n"
    },
    {
      "commit": "7c8a4b37765b7b491ab7979d589062ef546212bf",
      "tree": "03202344ecb7e014d6369cfd35ce2dbc8b56e70c",
      "parents": [
        "92272ab18945d93e7569fc73692220bf1365af36"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 15 14:58:00 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 15 14:58:00 2010 -0800"
      },
      "message": "Turn thumbnails back on.\n\nChange-Id: I5b895d4f3558cbae3c5920a3672f02e48c00a8b4\n"
    },
    {
      "commit": "b92df0f66926252cf60cdda7812bb1d50ce9378e",
      "tree": "6b77c14d18590e0b4e51183245a0c0f0151c51df",
      "parents": [
        "34961cc2e5cd483b15dfd1ff1eb33b01b849e0dc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Dec 10 16:19:32 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Dec 14 18:32:59 2010 -0800"
      },
      "message": "Clean up USB notifications:\n\nAdd support for separate USB connected and configuration events\n\nInclude both USB connected/disconnected and configuration state\nin USB_STATE Intent\n\nRemove redundant USB_CONNECTED and USB_DISCONNECTED Intents\nNow we just have the sticky USB_STATE broadcast\n\nMove USB disconnnect rebouncing from Tethering to UsbService\n\nChange-Id: Id13eb0c5d51152d2a538985d680ba1db7d2241dc\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e464fba4a4bbaef40b6b1a4c0f06969484c38edb",
      "tree": "9604439399998d35a3b3d830ccb9c4fe296dc69d",
      "parents": [
        "6b8653c6a366de45a3a75fbd3898a6ae67756008",
        "c28083ab70e0ac8f156a819264efcf930906a0c4"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Dec 14 16:22:28 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 14 16:22:28 2010 -0800"
      },
      "message": "Merge \"Don\u0027t queue multiple pending backups for the same app\""
    },
    {
      "commit": "c28083ab70e0ac8f156a819264efcf930906a0c4",
      "tree": "205ee33b98816d4ef47da217ccc173383071f337",
      "parents": [
        "2bc248b698b17fd333beae828039a8bff7604a9f"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Dec 14 16:16:44 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Dec 14 16:16:44 2010 -0800"
      },
      "message": "Don\u0027t queue multiple pending backups for the same app\n\nRepeated install/replace of an app before it ran its first backup pass\nwould wind up enqueueing multiple backup requests, all of which would\nrun back to back when the time came.  This no longer happens.\n\nAlso, if a backup request is queued for an app that is then uninstalled\nbefore that request is honored, we no longer fail in expensive and log-\nintensive ways; we now fail cleanly, early.\n\nBug 3133212\n\nChange-Id: I745f5b2f966a1c874f34a0107a438ad42fa7f005\n"
    },
    {
      "commit": "04808c294027f8bc318643a94c85a999257d7f52",
      "tree": "d87c26dcd2bef43b2640574105ae2b6ddc4d8ac5",
      "parents": [
        "fc29088e588e2248acd4a50ec14be6c84cde2597"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 13 17:01:41 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Dec 14 14:41:26 2010 -0800"
      },
      "message": "Fix some IpV4-only code.\n\nInterfaceConfiguration changed to use InetAddress and stop with the string-\u003eint-\u003estring\nconversions.\n\nbug:2542681\nChange-Id: I11c4954547333c43bb840fa0469ddde57b0d043b\n"
    },
    {
      "commit": "89f8d63a991f2dc4a961ad92ab5bb6b6c1ecd60f",
      "tree": "50d7f1ef866acd0fb2927074c50b13346f4e838d",
      "parents": [
        "001667313fb4ccc5e8235cd1abddf59c63e4560a",
        "73a3cb3848292c51d779cbb945088e8725404017"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Dec 14 10:32:05 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 14 10:32:05 2010 -0800"
      },
      "message": "Merge \"Time out orphaned / unresponsive restore sessions\""
    },
    {
      "commit": "001667313fb4ccc5e8235cd1abddf59c63e4560a",
      "tree": "d5ca521855b94aa4b735aa8f6ecbbb3104f9b651",
      "parents": [
        "a3ae4a06569afbbf135692b8d55289117c42b205",
        "3f64f8d8fc05189777e83b4efd3882cbc661fdeb"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Dec 14 10:31:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 14 10:31:56 2010 -0800"
      },
      "message": "Merge \"Don\u0027t restore wildly wrong sized wallpapers\""
    },
    {
      "commit": "d2835935d2df8be70d1b37d3ef3b2fe0155b3422",
      "tree": "77bbfae9a915bee48067b25774efe9cfdb9375e4",
      "parents": [
        "32f4ab457d9f79251413357b75b7a233068a892c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 13 16:28:46 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 13 20:41:17 2010 -0800"
      },
      "message": "Fix issue #3258849: Grab thumbnail when exiting an app via back\n\nAlso issue #3281400: Rotating a retained instance fragment leaks the fragment manager\n\nAnd turn off fragment debug logging.\n\nChange-Id: Ibdd7db82bb35618021bcba421ba92ced7cd691c2\n"
    },
    {
      "commit": "32f4ab457d9f79251413357b75b7a233068a892c",
      "tree": "19eec202d1d72443009b9e0e54486e5d545eb35e",
      "parents": [
        "21c7fe226624a8a1ec1f913fd1b90d8f10a3b1df",
        "02fb46a297c4f645f2a30b574151401dd0978521"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Dec 13 19:25:59 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 13 19:25:59 2010 -0800"
      },
      "message": "Merge \"WPS fixes and refactor\""
    },
    {
      "commit": "73a3cb3848292c51d779cbb945088e8725404017",
      "tree": "9fc29e750e21d9b91c9205f00d822628655640dd",
      "parents": [
        "29f94b781e1834d8280aba741b6e86b164d1223c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Dec 13 18:27:26 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Dec 13 19:09:47 2010 -0800"
      },
      "message": "Time out orphaned / unresponsive restore sessions\n\nAn app that fires up a restore session but then crashes or drops its\nsession reference will currently render restore functions totally\nunavailable until the device is rebooted.  This CL introduces an\ninactivity timeout [currently 60 seconds] on restore sessions, after\nwhich the session is shut down and becomes unavailable to the app\nwho nominally still held it.\n\nSynchronization between the timeout and the normal asynchronous\nuse of the session by the application is managed by running both\nthe timeout action and the normal teardown process on the backup\nmanager service\u0027s handler thread.\n\nBug 3276362\n\nChange-Id: I1f63b83e96e66b0e7eb15a1e20e375049babf06e\n"
    },
    {
      "commit": "3f64f8d8fc05189777e83b4efd3882cbc661fdeb",
      "tree": "124c21826f04e229fa22a9478794381b98c82eff",
      "parents": [
        "ffdd591a829af7fddd36a7b80d2a3b8188c871a6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Dec 10 17:12:19 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Dec 13 16:41:24 2010 -0800"
      },
      "message": "Don\u0027t restore wildly wrong sized wallpapers\n\nIf the dimensions of the original are sufficiently different from the\ndevice\u0027s preferred dimensions, just don\u0027t restore the image.  This\navoids bad letterboxing / clipping on e.g. phone \u003c-\u003e tablet data\nmigration.\n\nThe expansion/shrinkage ratios used here allow restores of saved\nwallpaper images among HVGA devices, among WVGA variants, and\namong tablets; but skip restoring wallpapers across those\ncategories (where severe clipping or letterboxing would occur).\n\nBug 3261863\n\nChange-Id: I75e75d6401d18f1df10d75796ee04e21d2302cfa\n"
    },
    {
      "commit": "ccc714131359eb1022d8c6702b7d82ab9e93f27c",
      "tree": "150c9798fc3d0d5dfee9c83d75845014a5edf983",
      "parents": [
        "ffdd591a829af7fddd36a7b80d2a3b8188c871a6",
        "78e9f4cbaece783b7b87ce3fb0a157dae766012a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 13 14:55:25 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 13 14:55:25 2010 -0800"
      },
      "message": "resolved conflicts for merge of 78e9f4cb to master\n\nChange-Id: I1135361e6d66f524c3f349e2bf1f31bd4191c634\n"
    },
    {
      "commit": "02fb46a297c4f645f2a30b574151401dd0978521",
      "tree": "9dff4f3b0a188161fcfb0017ea9d86a5fc065189",
      "parents": [
        "ffdd591a829af7fddd36a7b80d2a3b8188c871a6"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 08 11:27:37 2010 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Dec 13 14:50:51 2010 -0800"
      },
      "message": "WPS fixes and refactor\n\n- Allow IP and proxy set up for WPS\n- Use string for WPS pin to avoid losing leading zeros\n- Add a seperate WPS state machine and WpsConfiguration class\n\nChange-Id: I87f43fff8bba0ae8ff02e5fc495a8bc628a8c8cf\n"
    },
    {
      "commit": "78e9f4cbaece783b7b87ce3fb0a157dae766012a",
      "tree": "92ab76a16e62d5284f826fa58499bae963245b84",
      "parents": [
        "6d13b146e0444f40f45b9fe5812093c5e611b68e",
        "e4a5951925f16f18dae91ed65567e96528f17fee"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 13 14:37:09 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 13 14:37:09 2010 -0800"
      },
      "message": "am e4a59519: Fix issue #3154576: battery stats checkin should include UID -\u003e packages+ map\n\n* commit \u0027e4a5951925f16f18dae91ed65567e96528f17fee\u0027:\n  Fix issue #3154576: battery stats checkin should include UID -\u003e packages+ map\n"
    },
    {
      "commit": "e4a5951925f16f18dae91ed65567e96528f17fee",
      "tree": "b96636542b481ce23865326f49c5ddff934e71cd",
      "parents": [
        "e3f6336bcffc250da90ec864bccfa73ad1d016b9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 07 11:08:07 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 13 14:31:40 2010 -0800"
      },
      "message": "Fix issue #3154576: battery stats checkin should include UID -\u003e packages+ map\n\nIncludes some other small fixes to battery collection and a few\nother things.\n\nOutput of package info looks like this:\n\n5,0,i,uid,1000,com.android.settings\n5,0,i,uid,1000,com.android.providers.subscribedfeeds\n5,0,i,uid,1000,com.android.providers.settings\n5,0,i,uid,1000,com.android.server.vpn\n5,0,i,uid,1000,android\n5,0,i,uid,1000,com.android.systemui\n5,0,i,uid,1000,com.google.android.backup\n5,0,i,uid,1001,com.android.phone\n5,0,i,uid,1001,com.android.providers.telephony\n5,0,i,uid,1022,com.android.nfc\n5,0,i,uid,10021,com.google.android.location\n5,0,i,uid,10021,com.google.android.syncadapters.calendar\n5,0,i,uid,10021,com.google.android.gsf\n5,0,i,uid,10021,com.google.android.syncadapters.contacts\n5,0,i,uid,10026,com.android.providers.downloads.ui\n5,0,i,uid,10026,com.android.providers.media\n5,0,i,uid,10026,com.android.providers.drm\n5,0,i,uid,10026,com.android.providers.downloads\n5,0,i,uid,10032,com.android.launcher\n5,0,i,uid,10039,com.google.android.gm\n5,0,i,uid,10041,com.google.android.gallery3d\n5,0,i,uid,10049,com.android.providers.calendar\n\nChange-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d\n"
    },
    {
      "commit": "dd60ee728d9e44a8c85ed6a99bcfa44beb0afa23",
      "tree": "61ef5b890d810371ea1f6868218132e16c7adf75",
      "parents": [
        "20f9fec02053a4a0146b7ce0a83b067f4eb5b692",
        "6d13b146e0444f40f45b9fe5812093c5e611b68e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 13 13:12:36 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 13 13:12:36 2010 -0800"
      },
      "message": "am 6d13b146: am e78a0009: resolved conflicts for merge of 4b94c451 to stage-korg-master\n\n* commit \u00276d13b146e0444f40f45b9fe5812093c5e611b68e\u0027:\n  Added dropbox broadcast notification\n"
    },
    {
      "commit": "6d13b146e0444f40f45b9fe5812093c5e611b68e",
      "tree": "718855b74e2ccc8839b8722c2f26d60b39268b3d",
      "parents": [
        "6c2471649b5b1d1d9c19305a43676161823b623a",
        "e78a000955c283509ee8a21b8b7e448060ac8dd8"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 13 13:10:23 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 13 13:10:23 2010 -0800"
      },
      "message": "am e78a0009: resolved conflicts for merge of 4b94c451 to stage-korg-master\n\n* commit \u0027e78a000955c283509ee8a21b8b7e448060ac8dd8\u0027:\n  Added dropbox broadcast notification\n"
    },
    {
      "commit": "e78a000955c283509ee8a21b8b7e448060ac8dd8",
      "tree": "b314a80f3ae6ac3b0e63439f7204e6334f9aa316",
      "parents": [
        "d0ffef4b43594e540cb867da18d4403b4f583622",
        "4b94c451d2c3aea27c007518318ea98671ae6ed3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 13 13:06:13 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 13 13:06:13 2010 -0800"
      },
      "message": "resolved conflicts for merge of 4b94c451 to stage-korg-master\n\nChange-Id: I07b974f96ca598677e58623050e4668822e68f23\n"
    },
    {
      "commit": "30d7189067524000c738c188c4ff91f84f474d25",
      "tree": "e81dd5d176ecc8a370eea32b94ae80f65a045ec4",
      "parents": [
        "5bd7d9347b23f7ad5301723aebcb4663897cac1b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Dec 11 10:37:55 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 13 12:57:02 2010 -0800"
      },
      "message": "Fix issue #3274841: Orientation change problem with a paused activity\n\nPlus a bunch of debug output improvements.\n\nAnd some new Intent helpers for dealing with restarting an app.\n\nChange-Id: I50ec56bca6a86c562156b13fe8a6fdf68038a12e\n"
    },
    {
      "commit": "17d9550029c443968e488ddcfb9549563a141823",
      "tree": "795ff32fb3c21e8cb3dc4e1f45992940f8b131c4",
      "parents": [
        "35e1ee0d3943854a62b014237467e74e94a4bb9d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 10 01:42:05 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 10 11:43:40 2010 -0800"
      },
      "message": "Turn off screenshot capturing for thumbnails.\n\nMay reduce occurance of graphics hangs as a temporary stop-gap until\nthe real problem is fixed.\n\nChange-Id: I57f831944cc621bcb1d1d2051bb48f14e53879b1\n"
    },
    {
      "commit": "faa27f932e15c673106f984cbbeef23c079bcc81",
      "tree": "57717d6f2bee79687919ab91f04b64aebf7baea2",
      "parents": [
        "337885be6e0eadda2d54977104c5738b03f6fb34",
        "770126a678ccc9328a89407ffc82f4d998b25427"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 09 22:53:27 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 09 22:53:27 2010 -0800"
      },
      "message": "Merge \"Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService\""
    },
    {
      "commit": "770126a678ccc9328a89407ffc82f4d998b25427",
      "tree": "0b92be9747fabb684c73a8f73e30755415288e9c",
      "parents": [
        "957d85ec046651a8b0549b62021079ddcc0b8f53"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 09 22:30:37 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 09 22:52:05 2010 -0800"
      },
      "message": "Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService\n\nIn preparation for an upcoming change that will make UsbService into a real system service\n\nChange-Id: Id85d624cfc6b10b49a08105cfaaacc667a492c12\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7da6ac33a9de82be52e22846d5f22d502452854c",
      "tree": "2702555b7795977ce55732015b9745e7bb031b37",
      "parents": [
        "bca1c4ffad8c28fc142eddcd33095dfa2ebfb0a0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 09 19:22:04 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 09 19:22:04 2010 -0800"
      },
      "message": "Fix issue #3272051: Use backward transition when going backwards.\n\nAlso know as:\n\nIssue #3272051 Contacts edit view: Tapping the in-app back button\nresults in a forward transition\n\nYeah more complexity in deciding which animation to use.\n\nAlso reduce complexity in deciding which app\u0027s animation set to use,\nto balance things out (and make it have less stupid behavior).\n\nChange-Id: I78c6c5c5249a96206f7e03ce587c1dcb9a7dc14f\n"
    },
    {
      "commit": "a58fd15a5be03927f7ae211ee25ce165ec167681",
      "tree": "c4a936ec74e12f2d9677456469867b4507a7fd75",
      "parents": [
        "488a0d5ece8d68a2a49117e698ecaa6de4faf6b9",
        "f5e1c296370b45503a6c48bdb7da8b829bc0b906"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Dec 09 13:06:46 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 09 13:06:46 2010 -0800"
      },
      "message": "Merge \"Add a couple of transport-descriptive methods to IBackupManager\""
    },
    {
      "commit": "f5e1c296370b45503a6c48bdb7da8b829bc0b906",
      "tree": "2b573d53c3c09aeba0bcf3927d3c4674135ffd3e",
      "parents": [
        "882754e8cc5833e19696271d612b4b9eabcc5bb3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Dec 08 18:40:26 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Dec 09 12:58:24 2010 -0800"
      },
      "message": "Add a couple of transport-descriptive methods to IBackupManager\n\nPrivileged callers can now ask the transport for a string describing\nits current state, and for an Intent that can be passed to startActivity()\nin order to bring up its exported configuration UI.  These will be used\nin Settings in order to e.g. show the user the currently active account\nbeing used for backup, and allow the user to choose an account.\n\nThe data being funnelled through IBackupManager here are the ones\nalready exposed by the transports in their implementation of the\nIBackupTransport interface.\n\nBug: 2753632\n\nChange-Id: I2227a2b111d8d0ddf221d63020e20c1316fff55b\n"
    },
    {
      "commit": "c25f70a440ef9468085b8d98c8416c7e8b116753",
      "tree": "bae3974ee89930c4449717027d9e573849c50018",
      "parents": [
        "ffec4385a38bc8cbb871d0330d3890d88d608f77"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Wed Dec 08 15:56:45 2010 -0800"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Thu Dec 09 09:22:06 2010 -0800"
      },
      "message": "API CHANGE - Add hasGrantedPolicy() API\n\n* Allows an app to detect that it needs to have additional policies granted\n* Add \"refreshing\" parameter to setActiveAdmin() to handle this case\n* Minor cleanups to eliminate warnings (mostly for unused things)\n\nBug: 3253179\nChange-Id: I4bf639bf560557130bf98e8cfb75f996fac416f1\n"
    },
    {
      "commit": "d2112306330ce0c162bee4b864991962ca2b655a",
      "tree": "d169f93867e853220c40d38826fe81b4a1ad9eff",
      "parents": [
        "ff3c470778a69d262470e9707fce58dd485c6cc9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 07 19:38:17 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 16:13:59 2010 -0800"
      },
      "message": "remove support for PUSH_BUFFER surfaces and overlays\n\nthe same functionality is now supported through\nthe h/w composer HAL, and YUV support in the GPU.\n\nChange-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf\n"
    },
    {
      "commit": "b247536aa3d458750edbc6b45b2348a994d83426",
      "tree": "e8e0a14fd8ae0b5a8dab3c4f7b1e33af71238209",
      "parents": [
        "2b858caecb3c293c47b48eed12a55a49e3039874"
      ],
      "author": {
        "name": "Hakan Still",
        "email": "hakan.still@sonyericsson.com",
        "time": "Tue Dec 07 14:05:55 2010 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Wed Dec 08 13:19:33 2010 +0100"
      },
      "message": "Added dropbox broadcast notification\n\nTo monitor the dropbox an application have to either poll the dropbox\nand keep track of all entries or observ the /data/system/dropbox\ndirectory. The later requires that the application runs as system-user.\nThis commit adds that a broadcast intent is sent when something is written\nto the dropbox and an application can just listen on this intent and\nthen reads the entry with help of the DropboxManager class.\nThe application have to hold the permission android.permission.READ_LOGS\nto get the intent.\n\nChange-Id: I1f77f206a243df69f4ed5306078c47f7bf6181ec\n"
    },
    {
      "commit": "0aae2d4e0075fd699cf40b26dca0eb2c3b3e37d2",
      "tree": "04686805aa8c15025416aac0da1efc95149385a0",
      "parents": [
        "0b38aa0f971f58ac96ebb331463ba2087af7b724"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 07 23:51:29 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 08 00:35:27 2010 -0800"
      },
      "message": "Rework activity lifecycle so onSaveInstanceState() is after onPause().\n\nThe goal is to fix a bunch of fragment-related bugs caused by various\nthings trying to do fragment transactions after onPause()...  which\ncurrently throws an exception, since this is after the activity\u0027s state\nhas been saved so the new fragment state can be lost.\n\nThe basic change is relatively simple -- we now consider processes\nhosting paused or stopping activities to be unkillable, and the client\ncode now does the onSaveInstanceState() as part of stopping the\nactivity.\n\nFor compatibility, if an app\u0027s targetSdkVersion is \u003c HONEYCOMB, the\nclient side will still call onSaveInstanceState() prior to onPause()\nand just hold on to that state until it needs to report it in once\nbeing stopped.\n\nAlso included here is a change to generate thumbnails by taking\nscreenshots.  The code for generating thumbnails by re-rendering\nthe view hierarchy is thus removed.\n\nChange-Id: Iac1191646bd3cadbfe65779297795f22edf7e74a\n"
    },
    {
      "commit": "49ed71db425c5054e3ad9526496a7e116c89556b",
      "tree": "3d3b28bdaf76d5cc531fd3b52fcbb0efb32a05ba",
      "parents": [
        "f30c8287525ac049d4d7589a330be5713256046b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Dec 06 17:13:33 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Dec 07 17:35:26 2010 -0800"
      },
      "message": "Add support for fallback keycodes.\n\nThis change enables the framework to synthesize key events to implement\ndefault behavior when an application does not handle a key.\nFor example, this change enables numeric keypad keys to perform\ntheir associated special function when numlock is off.\n\nThe application is informed that it is processing a fallback keypress\nso it can choose to ignore it.\n\nAdded a new keycode for switching applications.\n\nAdded ALT key deadkeys.\n\nNew default key mappings:\n- ESC -\u003e BACK\n- Meta+ESC -\u003e HOME\n- Alt+ESC -\u003e MENU\n- Meta+Space -\u003e SEARCH\n- Meta+Tab -\u003e APP_SWITCH\n\nFixed some comments.\nFixed some tests.\n\nChange-Id: Id7f3b6645f3a350275e624547822f72652f3defe\n"
    },
    {
      "commit": "e798268f16ec6d0542616ea45ca0bb18ae2645ee",
      "tree": "827c64e6d164c4fc2ee607f12570d19712624bf6",
      "parents": [
        "59b3866653a5a561a65d85851061e19123c5755c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Dec 07 10:31:02 2010 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Dec 07 10:31:02 2010 -0800"
      },
      "message": "Have MobileDataStateTracker \u0026 DataConnectionTracker communicate directly.\n\nAdded CMD_SET_DATA_ENABLE which is sent when data is enabled/disabled\nvia the ConnectivityService. It is anticipated that the communication\nchannel will be used for additional commands and to receive unsoliciated\ncommands from DataConnectionTracker back to MobileDataStateTracker.\n\nChange-Id: I3863e7385155d503f069b1dcb7e4f766ec78b5f8\n"
    },
    {
      "commit": "da3d5e6587c1476d489495ac93e84ebf223024c9",
      "tree": "bca7bbbb104dc88394cf8d17f95fdc4923aa007a",
      "parents": [
        "c030a164c8a890947985d15722fe3df8785f7d04"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 13:56:24 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Dec 07 07:48:33 2010 -0800"
      },
      "message": "Add a Dummy data connection for testing purposes.\n\nEnable with:\n    \u003cstring-array translatable\u003d\"false\" name\u003d\"networkAttributes\"\u003e\n        \u003citem\u003e\"wifi,1,1,1\"\u003c/item\u003e\n        \u003citem\u003e\"dummy,7,7,0\"\u003c/item\u003e\n    \u003c/string-array\u003e\n\nin your config.xml\n\nChange-Id: I3965edaeb4873e95131f4083b8d23d682ce17841\n"
    },
    {
      "commit": "6dcc906c4518d52321fd3ea2d3b8f345844ba78c",
      "tree": "8d8c1baac0801cc42d5f3fa4fbe58c86af2e141f",
      "parents": [
        "e01af4dea3741e3e63be35abb227a795da909324",
        "a2e13392412d5094e49ea0053599477401d1a67e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 16:51:32 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 06 16:51:32 2010 -0800"
      },
      "message": "Merge \"Make Proxy change broadcast sticky\""
    },
    {
      "commit": "a2e13392412d5094e49ea0053599477401d1a67e",
      "tree": "62327e8bd3ac7ae7333d596ca5fda137e1abb0a5",
      "parents": [
        "384977fceaba842fd4a5f64111a2266c9e61dba5"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 11:29:17 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 11:29:17 2010 -0800"
      },
      "message": "Make Proxy change broadcast sticky\n\nMakes it easier for apps who care.  Includes the current values.\n\nChange-Id: I5f1d3589a036ebc9910281f97d4780ecda2829f2\n"
    },
    {
      "commit": "d752b66a3337df7578054ea827598e237819c57d",
      "tree": "d9eee8ad79eace11a7fcae8b10ab8adca353f5ed",
      "parents": [
        "536da84f41b11f647d6212dd334750689ebd8b2a",
        "110988c8b70f4ab089b179b7966497d508506263"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Mon Dec 06 10:38:04 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 06 10:38:04 2010 -0800"
      },
      "message": "Merge \"Fix notification/builder defaults\""
    },
    {
      "commit": "733c62909c1cca72be50094acb15dc1014b956ce",
      "tree": "536855f6bea1e8ef151077ac84faefe3b31850cb",
      "parents": [
        "7c2bacf6a904f470a7e850841c306065049feedc"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 09:30:17 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 09:47:31 2010 -0800"
      },
      "message": "Don\u0027t clobber the net hostname if it\u0027s already set.\n\nBe a good citizen.\n\nChange-Id: Ic58aeab013e2ff34201be71e01e399390edbbb5f\n"
    },
    {
      "commit": "110988c8b70f4ab089b179b7966497d508506263",
      "tree": "762afe6ad4daaaee85740ef5b673a4220385e669",
      "parents": [
        "88bf6084c339fe64ce910a35443ca2d71cfc2f23"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Dec 03 14:29:16 2010 -0800"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Dec 03 14:29:16 2010 -0800"
      },
      "message": "Fix notification/builder defaults\n\n* Builder wasn\u0027t setting mAudioStreamType to its non-zero default\n* Clean up warnings (imports, unused variables, overrides)\n\nBug: 3250299\nChange-Id: I019f54a0d6c97e71681d24144e784fa4b4737f7e\n"
    },
    {
      "commit": "88bf6084c339fe64ce910a35443ca2d71cfc2f23",
      "tree": "698e036fe8736884b56b24910142b3b78a476a77",
      "parents": [
        "ad2ff860bfef8d46b02b9093eb606b17b9bdead6",
        "87fc30828209afa25be69ac7053241f4eaeb3378"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 03 13:16:38 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 03 13:16:38 2010 -0800"
      },
      "message": "Merge \"Fix issue #3175809: system_server crash with SEGV_MAPERR (IKXEVEREST-1372)\""
    },
    {
      "commit": "87fc30828209afa25be69ac7053241f4eaeb3378",
      "tree": "92a3964b0d53255a62504e92c076bd51c3fbc9b8",
      "parents": [
        "189ee18d6c6483ad63cc864267328259e2e00b95"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 03 13:09:12 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 03 13:09:12 2010 -0800"
      },
      "message": "Fix issue #3175809: system_server crash with SEGV_MAPERR (IKXEVEREST-1372)\n\nDon\u0027t crash if dump() is called before we have set mDisplay.\n\nChange-Id: I0d3d356ff27dbc61353a5b99e348178937d5f4a5\n"
    },
    {
      "commit": "ed9c02b56c6f56a583aa272f82818ef039face75",
      "tree": "cfa642120d09967830d6e4af1a9cc984345bf4da",
      "parents": [
        "32820249adbcacb7a7a1d35f22a892badda03f3e"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Dec 03 12:01:38 2010 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Dec 03 12:01:38 2010 -0800"
      },
      "message": "Cleanup logging.\n\nChange-Id: Ie73c6d97ec19b0d27e58c085b60e885d90066056\n"
    },
    {
      "commit": "bcee0ef7ea3faa8c52b97ac3537289c20f2cc24f",
      "tree": "814b730b8689fa959573ccde66b3e38036dd4d32",
      "parents": [
        "fddcb0617456da836c8a4e5e16cc4177447608be",
        "d7ad0d28372bba03a3b6c5d01e0e7b0066e51374"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Dec 02 16:10:02 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 02 16:10:02 2010 -0800"
      },
      "message": "Merge \"sampling profiler hz -\u003e ms\""
    },
    {
      "commit": "fddcb0617456da836c8a4e5e16cc4177447608be",
      "tree": "b25907cf96374ff4bcc0aed3ccec1c6901d734d4",
      "parents": [
        "cd5e8b60cad508714fc9ecf42d6431ad8ccf7db1",
        "9065504a63d6bf37bf621191fda1d1fe4da76ee3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 02 16:03:05 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 02 16:03:05 2010 -0800"
      },
      "message": "Merge \"Improve support for external keyboards.\""
    },
    {
      "commit": "9065504a63d6bf37bf621191fda1d1fe4da76ee3",
      "tree": "500948db3ef54c52fc65f52f4ab4a220e4504009",
      "parents": [
        "d6a46103bfbed17451abf0fb608d7b778597846c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 02 13:50:46 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 02 16:01:32 2010 -0800"
      },
      "message": "Improve support for external keyboards.\n\nUse Vendor ID, Product ID and optionally the Version to\nlocate keymaps and configuration files for external devices.\n\nMoved virtual key definition parsing to native code so that\nEventHub can identify touch screens with virtual keys and load\nthe appropriate key layout file.\n\nCleaned up a lot of old code in EventHub.\n\nFixed a regression in ViewRoot\u0027s fallback event handling.\n\nFixed a minor bug in FileMap that caused it to try to munmap\nor close invalid handled when released if the attempt to map\nthe file failed.\n\nAdded a couple of new String8 conveniences for formatting strings.\n\nModified Tokenizer to fall back to open+read when mmap fails since\nwe can\u0027t mmap sysfs files as needed to open the virtual key\ndefinition files in /sys/board_properties/.\n\nChange-Id: I6ca5e5f9547619fd082ddac47e87ce185da69ee6\n"
    },
    {
      "commit": "d7ad0d28372bba03a3b6c5d01e0e7b0066e51374",
      "tree": "ed22d3af1b52eb63366610ee8ab5b55be8a25b01",
      "parents": [
        "e6744db78e1d742516143ca3973b18a93629dbe2"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Dec 02 15:30:23 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Dec 02 15:30:23 2010 -0800"
      },
      "message": "sampling profiler hz -\u003e ms\n\nGoes along with def41ec2e8 / Ifcfc343\n\nChange-Id: Ia5cc90e6f8d83dcdf40802859002507980310d06\n"
    },
    {
      "commit": "cd5e8b60cad508714fc9ecf42d6431ad8ccf7db1",
      "tree": "5f746c68c4c6cc2d2d2973950ac5080a0ae57ab6",
      "parents": [
        "ded695bb30e9c88c48c37e6fa5736771c6011b3d",
        "a30c12a18326ed4d608382cd4f970a6e15a58bf5"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 02 15:25:18 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 02 15:25:18 2010 -0800"
      },
      "message": "am a30c12a1: am 4a88013a: resolved conflicts for merge of bf1439c5 to stage-korg-master\n\n* commit \u0027a30c12a18326ed4d608382cd4f970a6e15a58bf5\u0027:\n  Preserve flags field of event passed to injectKeyEvent()\n"
    },
    {
      "commit": "a30c12a18326ed4d608382cd4f970a6e15a58bf5",
      "tree": "dc5cefae5210228bcd0b2bce08d70f00056cd1c8",
      "parents": [
        "5343f5a84e66cc0806d20c16b96e612e80131ac2",
        "4a88013a4a06a9ea80e8419f94694936e6b013f0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 02 15:21:35 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 02 15:21:35 2010 -0800"
      },
      "message": "am 4a88013a: resolved conflicts for merge of bf1439c5 to stage-korg-master\n\n* commit \u00274a88013a4a06a9ea80e8419f94694936e6b013f0\u0027:\n  Preserve flags field of event passed to injectKeyEvent()\n"
    },
    {
      "commit": "4a88013a4a06a9ea80e8419f94694936e6b013f0",
      "tree": "e577b5f10df205463a542d7de841320958bf8c78",
      "parents": [
        "40eade14bb87d24903588de04449fdfe2e1795cb",
        "bf1439c513f0d24a9d23755b50750831574785f4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 02 15:16:53 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 02 15:16:53 2010 -0800"
      },
      "message": "resolved conflicts for merge of bf1439c5 to stage-korg-master\n\nChange-Id: Iab543a7ee449025f1df5d58afaa8f8fdd4809c99\n"
    },
    {
      "commit": "b7090d68be1046e7b8743620592bb63c8256eeab",
      "tree": "9db257e8d07b6865ecd5a46d52d35e389579f5df",
      "parents": [
        "5e3af5fcba360916f38753bd505e47040fc87729"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 02 11:31:00 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 02 12:19:17 2010 -0800"
      },
      "message": "Load persisted global proxy settings.\n\nWas persisted before, but not loaded at boot.\n\nChange-Id: I6d6b69ede3d212a8266847d73d07a037ae917788\n"
    },
    {
      "commit": "d66c63e56e6b89d117bc4ff6dff9d70dec92e427",
      "tree": "12d878d1fb96b673cf480a732618dbe37e334d3f",
      "parents": [
        "97c40a9deeb18393792fe5096143d6760422dbe6",
        "cfce303cbdd59a3883957e4bc96a0476ceeb86ac"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Dec 02 09:51:05 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 02 09:51:05 2010 -0800"
      },
      "message": "Merge \"Remove the need for a token parameter from AsyncChannel.\""
    },
    {
      "commit": "c6ded10dd1ee08c887d0e81d683a7611fbe3ca4d",
      "tree": "8c49fb439a2e9427634fc869798f866d42b1469e",
      "parents": [
        "e1de3f390e7be3f82fa5e3e5bf6d6c8cc8414091"
      ],
      "author": {
        "name": "Mike Playle",
        "email": "mike.playle@realvnc.com",
        "time": "Mon Nov 29 16:01:03 2010 +0000"
      },
      "committer": {
        "name": "Mike Playle",
        "email": "mike.playle@realvnc.com",
        "time": "Thu Dec 02 16:25:46 2010 +0000"
      },
      "message": "Preserve flags field of event passed to injectKeyEvent()\n\nThis patch allows users of WindowManagerService.injectKeyEvent() to\nset flags on the key event being injected.\n\nIn particular this allows long presses (FLAG_LONG_PRESS) to be\ninjected into the window manager.\n"
    },
    {
      "commit": "cfce303cbdd59a3883957e4bc96a0476ceeb86ac",
      "tree": "9f1d4933672d57beb4849b6d63953aa9feec2777",
      "parents": [
        "f72a59bbbbd1e08cef131ad0341c44160d22a381"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Dec 01 23:20:25 2010 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Dec 01 23:20:25 2010 -0800"
      },
      "message": "Remove the need for a token parameter from AsyncChannel.\n\nBy returning the channel object it self it is unnecessary\nto have a token. Also, no current code needed it, if its\nneeded in the future it can be added back.\n\nChange-Id: Ie1d2a1e885f9cd74e95663711ccefb760811bf16\n"
    },
    {
      "commit": "407b4e91fe7627545b8110e683953353236b4543",
      "tree": "4235966903b57ba0faf502fc3a91e4f81aeef67b",
      "parents": [
        "4da12f07b5c1ecd7cea7f44081a744523936bd41"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 30 17:14:08 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Dec 01 14:45:06 2010 -0800"
      },
      "message": "API CHANGE: drags can now carry an originator-only object payload\n\nWhen calling startDrag(), the app can now supply an Object to be passed\nalong in every DragEvent that the app winds up receiving itself.  This\nobject is *not* passed to any other applications; it\u0027s strictly app-\nlocal.  The purpose is to allow state tracking/management to be done\ndirectly through the drag mechanism rather than requiring out-of-band\ncode.\n\nAn example of the utility here might be TextEdit widgets.  A drag that\nstarts in one TextEdit but ends in a different one should be treated as\na copy/paste operation, where the originating TextEdit is not altered.\nHowever, a drag that starts and ends in the *same* TextEdit is a \u0027move\u0027\noperation within that TextEdit; the text is removed from its original\nposition and inserted at the drop point.  To support this easily, the\ndrag/drop code in TextEdit can now pass a pointer to the originating\nview as the local state object.  Then, the drop recipient could tell\nwhether the drag started within the same TextEdit without needing to\nimplement any other out-of-band state tracking.\n\nThis CL (and its accompanying CLs in a few other packages where the\nstartDrag() API is being used) adds the new local-state parameter to\nthe API, but does not actually change the behavior of any existing\nclients.\n\nChange-Id: Icba73b2ab4a650b7a94485a19633065b0ef9058c\n"
    },
    {
      "commit": "0f761d6b8f5d5a607c87dbcdca6fe0ec7911970e",
      "tree": "06f47ce47a1b403c66865d0fa8d074e9467a937c",
      "parents": [
        "7423c09f7a8cf4c7a5cf6856e7e8eb40bb67cac6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 30 22:06:10 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 01 11:00:42 2010 -0800"
      },
      "message": "Implement issue #3201795: Improve transition when keyboard comes up\n\nViewRoot now does a fade animation between a snapshot of the previous\nlayout to the new one when its content rect changes.\n\nAlso tweaked some things in the window manager to fix problems in\ndeciding when to animate the movement of a window and when not to.\n\nChange-Id: I9b4b3bd53c8258bd39a2f2fc315e77cfc56a409c\n"
    },
    {
      "commit": "f38b709e470849943befbe88a0daeb7324f5114b",
      "tree": "94989c573797041e65af3cb088ce5fce2c5aa214",
      "parents": [
        "7e5cd7968356ea111988a372095e352d76476994",
        "af2d3c7ccebb009f31a92c1a87b0925a2891e1c4"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 01 09:53:17 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 01 09:53:17 2010 -0800"
      },
      "message": "am af2d3c7c: Merge \"DO NOT MERGE Remove wifistatetracker lock access in BroadcastReceiver\" into gingerbread\n\n* commit \u0027af2d3c7ccebb009f31a92c1a87b0925a2891e1c4\u0027:\n  DO NOT MERGE Remove wifistatetracker lock access in BroadcastReceiver\n"
    },
    {
      "commit": "1f2451007c660091b7b090c1ea332f9044515d2d",
      "tree": "eddeaa59b0443b271353cd731e9ce7ce5b1cd993",
      "parents": [
        "47e6b1b5eef8ee99872f278f66bc498c4fcca0d8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Nov 18 20:53:46 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 30 18:50:17 2010 -0800"
      },
      "message": "Ensure the ShortcutManager uses the correct key character map.\n\nThe ShortcutManager used to only receive the key code of the key event\nthat triggered the shortcut.  This change now provides the shortcut\nmanager with the whole key event so it can look up the associated\ncharacter using the correct key character map.\n\nTo make this more efficient, added a mechanism for recycling\nkey events.  At the moment it is only used by key events owned by the\nsystem process, since clients of the existing API (such as Views)\nmight continue to hold on to key events after dispatch has finished so\nthey would break if the key event were recycled by the framework.\n\nDeprecated KeyCharacterMap.BUILT_IN_KEYBOARD.\n\nChange-Id: I4313725dd63f2be01c350c005a41c7fde9bc67e8\n"
    },
    {
      "commit": "47e6b1b5eef8ee99872f278f66bc498c4fcca0d8",
      "tree": "ef5a7c87b8dca433ea9707c1289ae7c8d2ba3787",
      "parents": [
        "735206f121cb2a11b3397870e6565178627e0aa3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 29 17:37:49 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 30 17:15:49 2010 -0800"
      },
      "message": "Support non-orientation aware keyboards and other devices.\n\nFixed a bug with dpad keys on external keyboards being rotated\naccording to the display orientation by adding a new input device\nconfiguration property called \"keyboard.orientationAware\".\n\nAdded a mechanism for overriding the key layout and key character\nmap in the input device configuration file using the new\n\"keyboard.layout\" and \"keyboard.characterMap\" properties.\n\nAlso added \"trackball.orientationAware\", \"touch.orientationAware\" and\n\"touch.deviceType\" configuration properties.\n\nRewrote the configuration property reading code in native code\nso that it can be used by EventHub and other components.\n\nAdded basic support for installable idc, kl, and kcm files\nin /data/system/devices.  However, there is no provision for\ncopying files there yet.\n\nDisabled long-press character pickers on full keyboards so that\nkey repeating works as expected.\n\nChange-Id: I1bd9f0c3d344421db444e7d271eb09bc8bab4791\n"
    },
    {
      "commit": "735206f121cb2a11b3397870e6565178627e0aa3",
      "tree": "8ca8003e363d53f7540c3f368a055f3edcb8cbde",
      "parents": [
        "1c8c173666313f8ab589fa54911661cbc41a5e8f",
        "35e16bfa9b9ad1074a7130fb2119cc109f31d4b0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 30 17:03:32 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 30 17:03:32 2010 -0800"
      },
      "message": "Merge \"NotificationManagerService: minor cleanup\""
    },
    {
      "commit": "35e16bfa9b9ad1074a7130fb2119cc109f31d4b0",
      "tree": "442298ce521de7dae2693437ea5f11e4f7843fb3",
      "parents": [
        "7adfd1896c17d734440962c9f8dbe4aad48bcb49"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 30 19:53:36 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 30 19:53:36 2010 -0500"
      },
      "message": "NotificationManagerService: minor cleanup\n\nChange-Id: I998727662eb3c0bae20e5af3f8c5e702bf5d4f38\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f92b453a58d19531f3735dd90cd4f97a78823ae1",
      "tree": "8f1452ae7450e54b7ecc65d2a7307dfa9b9db36f",
      "parents": [
        "30c818444d876dd868b84adec2416308c90f32e3"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Nov 03 11:13:10 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Nov 30 16:07:05 2010 -0800"
      },
      "message": "DO NOT MERGE Remove wifistatetracker lock access in BroadcastReceiver\n\nThe worksource reporting gets blocked by the\nstatetracker lock which can cause system restarts when\ndone from broadcastreceiver thread\n\nBug: 3153787\nChange-Id: Ie70687e7453a1c3618bac1424562be44762b2c9d\n"
    },
    {
      "commit": "7d3a5bcf300aea7bffb1d46f28e244ca807f5e82",
      "tree": "7c39e0dcd232712e512d117ff4158de5fef64953",
      "parents": [
        "af60e276e8d297cb583e0a3242aa0baf81f9d7a6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 29 22:52:12 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 29 22:52:12 2010 -0800"
      },
      "message": "Auto-show IME for dialogs on large screens.\n\nOn a large screen the IME is not going to as significantly\ncover a pan \u0026 scan window, so allow it to auto-show if the\napp hasn\u0027t otherwise specified its visibility.\n\nAlso some fixes here and there.\n\nChange-Id: I10227ec59c43454e06e6870633f53426f4d78b83\n"
    },
    {
      "commit": "d93e75e45ee18e4829eddca57b99c72bd4e470f3",
      "tree": "dd186b2a3363daaa9273fc9989db9ab3c9a0a071",
      "parents": [
        "6189be3f3df481472f38183fedefd135034d5e0a",
        "043116a572c2bcb9dad4c264b38e252861fa54b4"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Mon Nov 29 18:11:58 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 29 18:11:58 2010 -0800"
      },
      "message": "Merge \"Update device password expiration/alarm behavior\""
    }
  ],
  "next": "043116a572c2bcb9dad4c264b38e252861fa54b4"
}
