)]}'
{
  "log": [
    {
      "commit": "c1a968a8ed45181312f7d4bcdbba0cc8ddc201ba",
      "tree": "96832a4d49f1c52f276f75b5a572c7ce1eb589f2",
      "parents": [
        "1e87fe85a6ea3d17c9f299d2d2b60980362d5cf9"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 24 08:56:40 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 24 13:41:48 2010 -0800"
      },
      "message": "Option to enable StrictMode flashing on userdebug builds.\n\nChange-Id: Ifc8e733ea0e0f6bda234a18ad84bcd230879e802\n"
    },
    {
      "commit": "a111187a5b4dc5d287e29ced7d65e8d20edca140",
      "tree": "ddf8588ccb308b89e4d2580ec35d054483d3b656",
      "parents": [
        "9fb2807e2b1f633817c0cbcb09ffbda681d06901"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 23 20:55:11 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 24 10:41:07 2010 -0800"
      },
      "message": "Change rotation freeze to all be implemented in window manager.\n\nLots of work for no visible change in behavior, but now we can\ndo some fancier stuff...\n\nAlso allow rotation in all 4 directions.\n\nChange-Id: I7e5e9537c5e359f69b83c10f65cc1ce95f371461\n"
    },
    {
      "commit": "2820351489537698ad153c6397edf3270455edc5",
      "tree": "ac5bcee60b4ddde371d7b4d0c75881821522d04d",
      "parents": [
        "07cb89432cf1687ba4f903f56bc1d92979d2cd4a"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 24 11:06:49 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 24 12:28:45 2010 +0900"
      },
      "message": "Add an API to set InputMethodAndSubtype\n\nChange-Id: I66f1a4c8e0d98705614f12a737e7efcd0263b72a\n"
    },
    {
      "commit": "f3db1af8d55ab247b6db67baf4fe772c18f33cab",
      "tree": "e0ea1f8dfdcea2ceba9f3259dc83a655c3dca67d",
      "parents": [
        "b43d7589cf6201fc05f4c9d8b4a0c44d7cdba81e"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 23 13:34:33 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 24 06:32:44 2010 +0900"
      },
      "message": "Change return type of getShortcutInputMethodsAndSubtypes to Map\u003cInputMethodInfo, List\u003cInputMethodSubtype\u003e\u003e\n\nbug: 3201828\n\n- Brushed up the code\n\nChange-Id: I11ad9d1d749bd8947144ca7f1676bab3cf777fd6\n"
    },
    {
      "commit": "f3d86be6d7d2999cd6bae236817688490df7da71",
      "tree": "d498f746e4f6c16945bd18e00f4d82326dbfcc4f",
      "parents": [
        "a6a52dece70d75f6b5781fc902fd646b1122abd7"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Nov 23 10:31:52 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Nov 23 10:48:55 2010 -0800"
      },
      "message": "StrictMode fingerprinting / hashCode improvements.\n\nChange-Id: I08ff939327f7c11a562851847ae91c67b1db4f87\n"
    },
    {
      "commit": "0dccd0f0dc519b1f39b31aae9378ea8835feb94a",
      "tree": "668ef2c19b27392816c153dfa8c3882ee7cbcbf6",
      "parents": [
        "693c99ffdca44336134be635677371ceac3fae4b",
        "0c8224000db6a3c876f1d3717975a22d10ecddec"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Nov 23 10:14:29 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 23 10:14:29 2010 -0800"
      },
      "message": "Merge \"CloseGuard cleanups.\""
    },
    {
      "commit": "0c8224000db6a3c876f1d3717975a22d10ecddec",
      "tree": "d67d268cf623d570b32e6dfee79b5334179cfa35",
      "parents": [
        "621e17de87f18003aba2dedb719a2941020a7902"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Nov 23 09:17:56 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Nov 23 09:17:56 2010 -0800"
      },
      "message": "CloseGuard cleanups.\n\nChange-Id: I8ece2cb7f2c7ca2c1ac72ca3080c436e50aa6c80\n"
    },
    {
      "commit": "a31560598af25d5116effc2a6af0d9be12a0628d",
      "tree": "2dc63726586ff8ae3351d227f714408a3aaf443f",
      "parents": [
        "57914381a80c9f19cf5227b4af9e822fa0c74ea9"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Nov 20 12:28:27 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 23 10:30:31 2010 -0500"
      },
      "message": "Rename android.provider.Mtp to android.provider.Ptp\n\nWe are only supporting the PTP subset of MTP in host mode and have\nno plans for full MTP, so calling it Mtp was misleading.\n\nAlso moved ACTION_MTP_SESSION_END Intent name to android.provider.MediaStore\nand added it to the public API.\n\nChange-Id: Ie35d15864d5972e65a39b982aa51316ecca3725a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1c24e957ad8624753f9d89b578d9d34d7ac5f80b",
      "tree": "54172c624469752ef1e5027500395829cb19ed23",
      "parents": [
        "c60df506c152d8fd64ae386415060bf354e68d8e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 23 00:34:30 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 23 00:40:52 2010 -0800"
      },
      "message": "Fix issue #3222014: Dragging items around home screen is unresponsive\n\nAlso make the dim fade duration configurable, with a configured value\nthat more closely matches what UX wants.\n\nChange-Id: Id32e2de14a2a2003d8fade6331377d8d723ac397\n"
    },
    {
      "commit": "6804433b0af50f33a338307ae8ddb50bc49e886b",
      "tree": "e78bfcb642b1ea93e913aa80e55a9361a2cc1252",
      "parents": [
        "621e17de87f18003aba2dedb719a2941020a7902"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 22 18:19:48 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 22 19:39:52 2010 -0800"
      },
      "message": "StrictMode visual notification support.\n\nChange-Id: I64a5adb683060d9649f1132414547bb3c346a2a8\n"
    },
    {
      "commit": "621e17de87f18003aba2dedb719a2941020a7902",
      "tree": "978b402ced5bd03d3b4f6eaa9fbaaf186427823c",
      "parents": [
        "703c5f39c58168829e8d8f7ed7b5aea3f4fb600b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 22 15:59:56 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 22 18:35:55 2010 -0800"
      },
      "message": "Implement issue #3221502: New APIs to support new back stack / task navigation\n\nWhat this adds:\n\n- A new Intent activity flag to completely replace an existing task.\n- A new Intent activity flag to bring the current home task up behind\n  a new task being started/brought to the foreground.\n- New versions of startActivity() that take an array of Intents to be\n  started, allowing applications to start a task in a specific state.\n- A public moveTaskToFront() method on ActivityManager, with a new flag\n  that allows the caller to have the task moved to the front with the\n  current home task immediately behind it.\n\nChange-Id: Ie8028d09acffb5349d98043c67676daba09f75c8\n"
    },
    {
      "commit": "4e4569dab5c75804b01a19b2d6e6101b445c1c68",
      "tree": "b8c01fe6563c0b2a2c782979ea52f4828f98e567",
      "parents": [
        "e45674e284f690ca9c395811ae0703c276514f2b"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Nov 19 18:45:53 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 23 10:26:11 2010 +0900"
      },
      "message": "Add an API to get shortcut IMEs\n\n- If there are no selected shortcut IMEs, the most applicable voice input will be selected as a shortcut IME\n\nChange-Id: Ibd0f7ef5101013569c303820a3adc9038a97356d\n"
    },
    {
      "commit": "e9811d7dd4fee963a92430066205168b167a8434",
      "tree": "45132e857fd2b4b1794b9339327d64142f75329a",
      "parents": [
        "ef11d3289ed334f1704dc5e2fdcaba8c34b6c2a6",
        "3ef8b29fa03fe3ae1c57fd891a12afa46128fff8"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Nov 22 15:17:37 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 22 15:17:37 2010 -0800"
      },
      "message": "Merge \"Synchronize getCurrentInputMethodSubtype\""
    },
    {
      "commit": "3ef8b29fa03fe3ae1c57fd891a12afa46128fff8",
      "tree": "2d409aed72e43b021666ac82138120ef4c6a4026",
      "parents": [
        "804043193a46a79a8616fd7696fb781edb80b519"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 23 06:06:29 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 23 06:20:23 2010 +0900"
      },
      "message": "Synchronize getCurrentInputMethodSubtype\n\nChange-Id: I8bcedb39baba10e7035d5c1c11f41f74943874d1\n"
    },
    {
      "commit": "794be40f8b62b309004cc3f68ca9567e4ef24c6b",
      "tree": "bb5d94854312147a07e7e06de3324dd8dd4ec9e1",
      "parents": [
        "dab75b66aae2c30f88eab2fec2d177c5f11f24dc"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Nov 21 19:22:25 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Nov 21 19:22:25 2010 -0800"
      },
      "message": "new battery assets\n\nChange-Id: I61331a6eb237f8883bf604c0767623b08c2fa41b\n"
    },
    {
      "commit": "3fe7f2f2e35692fe563ae00f62995030f1987c4f",
      "tree": "3d264c1e383a64c4dbd7cb0d3813168f4b1e0d23",
      "parents": [
        "2026e8d4681437fb056409bc95bc2f126582e4a8"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Nov 20 13:48:58 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Nov 21 16:16:28 2010 -0800"
      },
      "message": "fix warning\n\nChange-Id: I243e9b81256af13b8296dd121b1204caed7a3996\n"
    },
    {
      "commit": "46439cec0eb0da4d0f853f2d8712d0c00c98475b",
      "tree": "66439c8d205d8851f16f3e51bb62327cd9ed6be1",
      "parents": [
        "804043193a46a79a8616fd7696fb781edb80b519"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Fri Nov 19 13:56:21 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Nov 21 16:16:27 2010 -0800"
      },
      "message": "Update the look of the notifications.  Includes adding a new Notification.Builder class.\n\nChange-Id: I7c57b81c45defe77d6f3d22472e9cf8432bbed03\n"
    },
    {
      "commit": "1f35d487ba1a5208e66bc960f35f6e1d874fbd1e",
      "tree": "08764c9bb0f2692a9a118cbabdc1f7ffa023f35a",
      "parents": [
        "d48124e0fe511265024a61abee67d8ed6ac61592"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Nov 19 15:39:41 2010 -0800"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Nov 19 16:08:24 2010 -0800"
      },
      "message": "Fixes to DevicePolicyManager.setPasswordExpirationTimeout\n\n* Fix permissions problem in DevicePolicyManager\n* Allow short timeouts (primarily for testing)\n* Remove unused debugging code\n\nBug: 3212583\nChange-Id: I3770b1c6f090363e8e8d65db92839cd53de05c45\n"
    },
    {
      "commit": "880119bf43d738ca632b5d3861eb52d655c1c0fc",
      "tree": "684a13f821e570aee075c77bde7f5fc28191015f",
      "parents": [
        "7ffd0871e6b8d7ab9443bef6e8b2a31674d1f623"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 18 22:26:40 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 19 13:21:08 2010 -0800"
      },
      "message": "Implement issue #2367442: Please add API for manipulating installer\npackage names\n\nChange-Id: I0563e896a47ae1a6e77aebc2d624fb1bde52ffbc\n"
    },
    {
      "commit": "434203a277cd2f237a71508a3d5a7d1602126cd5",
      "tree": "2981f403196d1df7f2ec322a89a4dac1342d86de",
      "parents": [
        "5af53d4363342b383fd1e4439b5a2c71a47c593d"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Oct 11 16:00:27 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Nov 19 10:24:30 2010 -0800"
      },
      "message": "Notify all VMs when proxy changes.\n\nbug:2700664\nChange-Id: I74cc6e0bd6e66847bf18f524ce851e3e9d2c4e87\n"
    },
    {
      "commit": "8e11ef0d949a52fec15359ec35557b2e773b093d",
      "tree": "e05b9bc14369925d52a27e8f913e5c5a5533727e",
      "parents": [
        "71d4ecb185bbe9e699aa85c65c98427a67a3fb12"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 18 19:47:42 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 18 19:57:49 2010 -0800"
      },
      "message": "Some work on issue #3201795: Improve transition when keyboard comes up\n\nNow try to slide dialogs if they end up moving due to the IME (or\nother system things) showing/hiding.  Pretty hackish, but seems to\nwork.\n\nChange-Id: Icd297e941cf847fa920c9605145c46be63043d52\n"
    },
    {
      "commit": "3fc78a59b6ec4182fc3671e555dd7f5a228b4903",
      "tree": "ff75464841bd03bd789972f7f365ea3b20503da6",
      "parents": [
        "a3326781352888ff80fcf920cf93fd738bb69e66"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 18 15:50:22 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 18 16:18:27 2010 -0800"
      },
      "message": "Fix issue 3192794.\n\nDelay uevent registration and initialization or wired accessories state\nuntil boot is completed.\n\nChange-Id: I272fc9fbf6c34e17d211360c30c712f72ac5bb5e\n"
    },
    {
      "commit": "884ef9a11fb25b80630265daee46c5609707751f",
      "tree": "3e8aa29981c1aac601e6130c343b00ae10bc39e6",
      "parents": [
        "7b71b3d99f4b1cfbe70cc195ddc875a44f1dfb27"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 18 10:39:46 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 18 10:47:12 2010 +0900"
      },
      "message": "Return the enabled subtypes for the current InputMethod when the input value of getEnabledInputMethodSubtypeList was null\n\nChange-Id: I6892064dbc2214946871a0ba4ad08e00a2eb6c7b\n"
    },
    {
      "commit": "7526da4bf28c4dffbfa8543f9e4936837864ae5d",
      "tree": "096c0d54f45694d6f63fc663d4b61103c6b54e4d",
      "parents": [
        "05b07fd204cc9cc340dc579db17008bf9e8161fd"
      ],
      "author": {
        "name": "Praveen Bharathi",
        "email": "pbharathi@motorola.com",
        "time": "Tue Nov 16 02:08:02 2010 -0600"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 17 10:53:41 2010 -0800"
      },
      "message": "frameworks:audio: Correct accessory detection at power up\n\nIn the init loop, when all the accessories are detected the\nstate of previous accessory is overridden by the state of the\nnext accessory. Adding the one line change keeps the state of\nall the detected accessories intact.\n\nChange-Id: I4347d8daa27800426dcfb23aac199bed4add67de\nSigned-off-by: Praveen Bharathi \u003cpbharathi@motorola.com\u003e\n"
    },
    {
      "commit": "67ddf9cbd5d7133c7f443cd3c55841ed1109c3a0",
      "tree": "5053a6b86d1820e1a12f3f96b534deacc0208fca",
      "parents": [
        "4f3c25f3175d3ef08577fd0b08c65772479ffecd"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 17 09:45:54 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 17 13:59:56 2010 +0900"
      },
      "message": "Add a function to get enabledInputMethodAndSubtype\n\nChange-Id: Ie97635343249aa63e33028c2843cab103125ca92\n"
    },
    {
      "commit": "0de1ed5bdf6f9603673632fa880dccd3b8ca1f97",
      "tree": "715bcdd7fc179f0290f7cdbb4dce8382c14340a8",
      "parents": [
        "68f0a32d103d3861103bce3763b222bde99c0a4c",
        "44ab8453e1c4c46790f792a46d026fa1017d8cfe"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 16 18:44:06 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 16 18:44:06 2010 -0800"
      },
      "message": "Merge \"Permission fix: don\u0027t require BACKUP perm for self-restores\""
    },
    {
      "commit": "44ab8453e1c4c46790f792a46d026fa1017d8cfe",
      "tree": "9c499e6c6c1c894bd00c203e8ce6f815cf580187",
      "parents": [
        "64f1163084433952766eed31dbd26df420ba6cfb"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 16 15:10:49 2010 -0800"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 16 16:57:29 2010 -0800"
      },
      "message": "Permission fix: don\u0027t require BACKUP perm for self-restores\n\nThe public API is not supposed to require the BACKUP permission in order\nfor an application to restore its own last-known-good backup data.  However,\nas currently implemented, BackupManager.requestRestore() [the public API\nin question] depends on private Backup Manager methods that *do* enforce\nthat permission.  The net result is that the method cannot be successfully\nused by third party applications: it will throw an exception if attempted.\nThis CL restructures the permission checking involved.\n\nFirst, the underlying beginRestoreSession() operation can now be passed a\n\u0027null\u0027 transport name; if this is done, then the restore session is begun\non whatever the currently-active transport is.  Looking up the name of the\nactive transport is one of the permission-guarded actions that was required\nwith the initial implementation.\n\nSecond, a package name can now be passed to beginRestoreSession().  If\nthis is done, then the restore session can only be used to perform a\nsingle-package restore of that one application.  The BACKUP permission is\nnot required if the caller is tying the restore to its own package name.\n\nIn combination, these changes permit BackupManager.requestRestore() to\nfunction without the calling app needing to hold any special permission.\nThe no-permission case is intentionally quite narrow:  the caller must\nhold the permission unless they both (a) pass \u0027null\u0027 for the transport\nname, thereby accepting whatever the currently active transport is, and\n(b) pass their own package name to restrict the restore session only\nto their own app.\n\nExternal bug http://code.google.com/p/android/issues/detail?id\u003d10094\nInternal bug 3197202\n\nChange-Id: Ibc9d652323f2da03727d850f991b4096af6520d2\n"
    },
    {
      "commit": "6689ac8a56a4e64c6f0ab4fa521e7ec3e28c02df",
      "tree": "68e252663ea35a2c12a7f29dab7152a42c931990",
      "parents": [
        "c7bc3d09bda82c0641035966559b911785ccf90e"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 15 16:26:04 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 15 16:26:04 2010 -0800"
      },
      "message": "Fix more things that CloseGuard found.\n\nNot terribly happy with how the code looks after, though.\n\nChange-Id: I7bf5f78ef6c0ac82339a2e49488ca6e64d13c05e\n"
    },
    {
      "commit": "725d8f06ecd31cd2e31eaa06e52de052dd07c5c7",
      "tree": "a6c54c95aa0d4dd311d78bd4abd17c64a861b44f",
      "parents": [
        "4543e0de206e362a59060b64e02b4b208b1e08f6"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 15 11:12:42 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 15 11:12:42 2010 -0800"
      },
      "message": "Close some things in system_server that CloseGuard found.\n\nChange-Id: I788c022235caddcb1972a34131442a683cd51eb5\n"
    },
    {
      "commit": "7eec10e6c99c30d5ee061fec08ac89ad4254ac32",
      "tree": "b196fb70709f29c6f6e60423578162f5dd189e63",
      "parents": [
        "7c2ae6570321575ad74a25bdc72bea1ec6558660"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 12 18:03:47 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Nov 14 14:23:42 2010 -0800"
      },
      "message": "Get rid of the extended themes.\n\nWe now decide whether to use a bitmap background based on whether the\nwindow\u0027s drawing is hardware accelerated.  To do this, there is a new\n\"state_accelerated\" that state list drawables can be parameterized on,\nand the standard window background uses this to select a solid color\nor bitmap drawable as appropriate.\n\nIntroduces a little hackery to have wm preview windows pretend like\nthey are hardware accelerated even if they aren\u0027t, so the preview looks\ncloser to the actual app.\n\nAlso Add a DialogWhenLarge variation for the light theme.\n\nChange-Id: I215a79d5df65ba3eed52ab363cade9d8218a6588\n"
    },
    {
      "commit": "b66d287e3003a0934d5714fbf15e554b3c814906",
      "tree": "0cc8bc71a4e44295e5ca6f290177a74d786e05eb",
      "parents": [
        "03eb319a3a7fe6fe9ab9eba6fc1f727285850906"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 10 01:04:04 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Nov 13 09:49:59 2010 +0900"
      },
      "message": "Add a setter of InputMethodSubtype to InputMethodManager\n\n- Public API: void setCurrentInputMethodSubtype(int pos)\n\nChange-Id: I55daa19ba924999def544bf841f00bf54852f3e1\n"
    },
    {
      "commit": "03eb319a3a7fe6fe9ab9eba6fc1f727285850906",
      "tree": "ebe9e324f9b5474f946ad494ae9fd3699bccbc02",
      "parents": [
        "5c5dfd0aa5b2d73fca259c0a5ac7f1c4d7cd47aa"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 11 18:17:42 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Nov 13 09:30:50 2010 +0900"
      },
      "message": "Reset IME to the build-in IME when there is something wrong with the current IME.\n\nBug: 3186000\n\n- By this change, there will be no need to find new applicable IME in Settings application\n- This change handles the edge case that there is something wrong with the current IME\n\nChange-Id: Idb42b6184ac135370064b967305faa81f1b382b2\n"
    },
    {
      "commit": "735cf38b8c7f8f91ad087511e44fe79018fa61d6",
      "tree": "d667e138277bad675890391fe741e1e7433049ee",
      "parents": [
        "46e75294d540fe807d78aec2582ae02cc38c7d42"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 11 20:40:09 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Nov 13 08:00:25 2010 +0900"
      },
      "message": "Add a function to switch back to the last used IME\n\nChange-Id: Iac7bcc2ee16dd04d91a3e75b160622d246788c9a\n"
    },
    {
      "commit": "a4e28d181942018ba8759989799a28fa88764ce3",
      "tree": "5c1f3569f8d3cf27381d1b4f9a488fd920729829",
      "parents": [
        "0bf307524157a355667e1c05fbac864dc117af81"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Nov 08 16:15:47 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Nov 11 19:43:24 2010 -0800"
      },
      "message": "Add password expiration support to DevicePolicyManager.\n\nChange-Id: Ib2629ec547c123ac489d7f4cbd4e0a1d4aa07620\n"
    },
    {
      "commit": "e7520d89fe2c5dc9dd833ecd9769c981df855b61",
      "tree": "c9a1386319be29f059bdda598252e9f7f96ee000",
      "parents": [
        "8bda1c1ef76618ec3e4bd7bb9db44dd325edc629"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 10 18:08:36 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Nov 11 09:46:07 2010 -0800"
      },
      "message": "StrictMode.Span support\n\nSupport for annotating critical regions (e.g. animations) with\na tag to be uploaded.\n\nChange-Id: I412fc78f40dc05c9a3c9f62a4b0463201dbdb767\n"
    },
    {
      "commit": "723a27ef3d7c94fc666abc52e0abd5e8526acb69",
      "tree": "40d37ba6b92831acceb6f0402035bb4a7b56d99d",
      "parents": [
        "a6689ddbba5d7d5e9ad7a07ae84a187497f18121"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 11 14:58:11 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 11 17:13:10 2010 +0900"
      },
      "message": "Save the history of InputMethodSubtype for reverting the subtype when IME was changed.\n\n- Re-revert the change https://android-git.corp.google.com/g/#q,78962,n,z\n*** If you want to see the diff between reverted change and new change, please see the diff between patch set 1 and the latest patch set\n\n- TODO: Add a public function \"switchToLastInputMethod\"\n\nChange-Id: Ic85d54b3b68e47a22360acaeb81202a366a34586\n"
    },
    {
      "commit": "a02fdf1ba03fad71cc80a89dfc74b17456d5b4a5",
      "tree": "79c461e2fe264625da73b202c6acf3ef639e9813",
      "parents": [
        "ec4d82046bcdaa6ea1d43601c9d0673444f3e3bf"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Nov 03 13:27:40 2010 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Nov 10 17:18:37 2010 -0800"
      },
      "message": "Adding widget auto-advance capability\n\nChange-Id: I058573f40a48fd7b5c2efa5f1041a1199919a51a\n"
    },
    {
      "commit": "c65347f239e0adae4fe9fad5248b69a5a6d3bbe8",
      "tree": "946fe166f86bbdc14f1db49bf9336a9d3383e69e",
      "parents": [
        "890729c88f5d4b32316e214b97d95dc9f9b45f75",
        "bf44ebae04f837596b9942ccb15d3d47bad4acec"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 10 11:11:40 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 10 11:11:40 2010 -0800"
      },
      "message": "am bf44ebae: am 9de93424: Merge \"Without SD card the shutdown sequence was delayed\"\n\n* commit \u0027bf44ebae04f837596b9942ccb15d3d47bad4acec\u0027:\n  Without SD card the shutdown sequence was delayed\n"
    },
    {
      "commit": "bf44ebae04f837596b9942ccb15d3d47bad4acec",
      "tree": "84980959c1312d1bfcdbcfa5153f9983e294e9b9",
      "parents": [
        "12a22635ebfcdf9f5dff7081740da680c9b689ae",
        "9de93424cc05446e3a216f406c55a3937c028416"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 10 11:07:18 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 10 11:07:18 2010 -0800"
      },
      "message": "am 9de93424: Merge \"Without SD card the shutdown sequence was delayed\"\n\n* commit \u00279de93424cc05446e3a216f406c55a3937c028416\u0027:\n  Without SD card the shutdown sequence was delayed\n"
    },
    {
      "commit": "cec30a7a0280600ce12993829c7587dd7514f656",
      "tree": "454801e2e40290d01c618f876e2cdaf66f70eaf7",
      "parents": [
        "f1094227f8efc04351b25d7095c36c6a4d8d033c",
        "8e7e0a9fd5c377294bfe2e09fca9b7551871f3c2"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Nov 10 10:12:09 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 10 10:12:09 2010 -0800"
      },
      "message": "Merge \"Fix data state change callbacks\""
    },
    {
      "commit": "6c8e20f96ae26533eb8081f4eab845ec710f9c9b",
      "tree": "6fe0a572dd444b34a8ffe732812fd8afeb2aa547",
      "parents": [
        "cb120a9ba707b08242ebe3e1180379f626088e5a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 09 18:59:09 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 09 19:04:49 2010 -0800"
      },
      "message": "Implement new task transition animations.\n\nChange-Id: I62c10e7b2afac4371b3739f1cd5948c655edc125\n"
    },
    {
      "commit": "8e7e0a9fd5c377294bfe2e09fca9b7551871f3c2",
      "tree": "09b81345a86c17ff1e15c8a8a014ad8d5e054504",
      "parents": [
        "2cf17ed7d87f8e0fc77de5e22c152018e7553959"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Nov 09 10:24:40 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Nov 09 16:28:51 2010 -0800"
      },
      "message": "Fix data state change callbacks\n\nInitial state should be unknown or we miss the first connected change.\nDon\u0027t send a disconnected msg when changing network types.\nFilter out redundent disconnects.\nAdd some logging.\n\nbug:3060742\nChange-Id: Idc797c1276b7417337a91ed60b12b1bf392d57c0\n"
    },
    {
      "commit": "0ba75bb22c2992f649ee5f7605a2b45442ad4862",
      "tree": "3b87bff502605e0e3d20c2ff6b7438ba6ae2e4d0",
      "parents": [
        "195d519c915eb27d5393a34027fc18c23cc3cf5f"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Nov 09 12:19:32 2010 -0800"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Nov 09 12:19:32 2010 -0800"
      },
      "message": "Revert \"Add a history of InputMethodSubtype for getting the last subtype of selected IME when IME was changed.\"\n\nThis reverts commit 1ab852fbcfe155c9d4373b7130f8515591669634.\n"
    },
    {
      "commit": "5d0db4d356346bee68aec9a124df70dbaa9aaed1",
      "tree": "a061575e55a7bb6bf2cc093a62a5252a22da37c0",
      "parents": [
        "5580e44c250944f5cd011b2682eea5cc2de9706c"
      ],
      "author": {
        "name": "Johan Alfven",
        "email": "johan.alfven@sonyericsson.com",
        "time": "Tue Nov 09 10:32:25 2010 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Tue Nov 09 10:32:25 2010 +0100"
      },
      "message": "Without SD card the shutdown sequence was delayed\n\nIf the memory card is not inserted (or removed) from\nthe phone the shut down process is very long. It\ntakes almost 24 seconds. For the phone with memory\ncard the averige is 5-6 seconds\n\nMake sure to send onShutDownComplete even if an SD\ncard is not mounted and no unmount is done.\n\nChange-Id: I0e79b82e294a971f5e7144cdd3cc16b7ff414b9c\n"
    },
    {
      "commit": "1ab852fbcfe155c9d4373b7130f8515591669634",
      "tree": "2d21df6d236e0b5533cad6dc166aedeb16dbda9d",
      "parents": [
        "5912f90e60a305996cdace35f72f847dfeb0f5ec"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Nov 05 22:56:07 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 09 16:43:00 2010 +0900"
      },
      "message": "Add a history of InputMethodSubtype for getting the last subtype of selected IME when IME was changed.\n\nChange-Id: I66752a881726c0ce2816a9d54de60fb0d992e968\n"
    },
    {
      "commit": "646f46eddf897bff4aebcc8454004539589e0965",
      "tree": "7c4c2d462b37c63dfb8ea145a08b7f762546dbbb",
      "parents": [
        "a4eb4c3a207c4d1b0e72bad332c3e6b928a77738"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 08 15:08:56 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 08 15:08:56 2010 -0800"
      },
      "message": "make the resolver activity\u0027s items visible\n\nChange-Id: Ic02c834c01c3d71d6e1c073f986b87ae5faa1da0\n"
    },
    {
      "commit": "1a542c7b8ed0be049869a12d1e01e2604d052ac2",
      "tree": "ed1b5acbe31240e259689a6496ed1cf2dfa5dd1b",
      "parents": [
        "3915bb845b032dc184dba5e60970b803390ca3ed"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 08 09:48:20 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 08 13:02:58 2010 -0800"
      },
      "message": "The CHEEK_TOUCH stuff never worked.  Remove it.\n\nBug: 3104906\nChange-Id: Ia37236ba1775fc3ec8c111e2e0b85b105e0dea6a\n"
    },
    {
      "commit": "3915bb845b032dc184dba5e60970b803390ca3ed",
      "tree": "198a47c1d4ada990ef04d563b5e0caaec35abc18",
      "parents": [
        "60029771d26ca3c51288c3d92cab1d3537147acd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 05 15:02:16 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 08 12:49:43 2010 -0800"
      },
      "message": "Tell system server whether the app handled input events.\n\nRefactored ViewRoot, NativeActivity and related classes to tell the\ndispatcher whether an input event was actually handled by the application.\n\nThis will be used to move more of the global default key processing\ninto the system server instead of the application.\n\nChange-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28\n"
    },
    {
      "commit": "60029771d26ca3c51288c3d92cab1d3537147acd",
      "tree": "c6016d37a49d9b420a571b3fb181ec0ceb867599",
      "parents": [
        "cce1d2a60bc1ef10ec6beb338ec3d4cf94486c47",
        "36f7413dabfab50699135019ba55151e9227f59d"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Nov 08 12:24:31 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 08 12:24:31 2010 -0800"
      },
      "message": "Merge \"add frequency band control API\""
    },
    {
      "commit": "3fe3851753e3623d3c7c468efa6ee17f17f9aa74",
      "tree": "b2024bc364b286ba52e359706ce4084c4fbcbb75",
      "parents": [
        "d57c14f95ee9cfa199e874f7993f4b9bf4f418de"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 03 11:46:54 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 08 11:22:01 2010 -0800"
      },
      "message": "Window manager: cancel animations before losing references to them.\n\nFor possible future changes to android.view.animation.Animation to tie\ninto StrictMode\u0027s animation annotations on violations.\n\nChange-Id: I3a23fa9bd5edb0500586bb0e341f83f998b28ae7\n"
    },
    {
      "commit": "5b59e02eb542f016866985945859b033e94f9f0b",
      "tree": "b9efb747263d813bc9d9798b85dd90d4464e6784",
      "parents": [
        "51387974f0914a12dcf758938bbd4ffe120bdab4",
        "ec062f63a2f5fb49f825544da348e594dbf5bf3c"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 08 11:01:41 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 08 11:01:41 2010 -0800"
      },
      "message": "Merge \"StrictMode: now in more system server threads.\""
    },
    {
      "commit": "ab36acb39941ce981dddda9f9cf4d2d23a56fd26",
      "tree": "d4bcf4171fa304133b5a6bcae91308667b1bc62d",
      "parents": [
        "2cf17ed7d87f8e0fc77de5e22c152018e7553959"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 05 14:12:11 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 08 10:46:19 2010 -0800"
      },
      "message": "Fixe some stuff.\n\nAddresses these bugs:\n\n3061847 - With no headers, PreferenceActivity crashes\n2888426 - minor typo in DevicePolicyManagerService.ActiveAdmin.writeToXml()\n3159155 - IllegalStateException:\"Can not perform this action after\n    onSaveInstanceState\" while dismissing a DialogFragment\n3155995 - PopupWindow.showAtLocation does not respect LayoutParams\n\nAlso tweak the new fragment APIs to use abstract classes instead of\ninterfaces as base classes.\n\nChange-Id: I9c0b4337fe0e304b737b5f7c2762762372bb3020\n"
    },
    {
      "commit": "ec062f63a2f5fb49f825544da348e594dbf5bf3c",
      "tree": "d87954d437798f3a8dc1f2f25edc6fdf134957c8",
      "parents": [
        "3a3f24e37049de6714de64188b1814a6476dbebb"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 03 09:56:54 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 08 10:39:05 2010 -0800"
      },
      "message": "StrictMode: now in more system server threads.\n\nWho knew there were so many Loopers in the system server?\n\nThis adds dropbox logging for the activity manager thread, policy\nthread, and window manager thread.\n\nThe goal\u0027s to catch more stuttering.\n\nChange-Id: I999a6ff4a955f0ef549b12a38796b843ade5fe66\n"
    },
    {
      "commit": "36f7413dabfab50699135019ba55151e9227f59d",
      "tree": "006bc30be81547b912373f200e028bb73c55ad04",
      "parents": [
        "3a3f24e37049de6714de64188b1814a6476dbebb"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Nov 04 16:57:37 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Nov 08 10:09:17 2010 -0800"
      },
      "message": "add frequency band control API\n\nChange-Id: I6cc6cdef27d493d4ef76cec17fdca7e49d9dc8d7\n"
    },
    {
      "commit": "12b1401262845d9b906d64ab54260c1378ade4a5",
      "tree": "c8bca83cc6eef8444844e2e2b42774e76acbf4a0",
      "parents": [
        "97a4f47411bb3d9a1637cc93e79314d774a04bae",
        "d28f753c943d72dcdf3b67566f911f46c8b6830d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Nov 06 13:00:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 06 13:00:35 2010 -0700"
      },
      "message": "Merge \"Turn off the ALS when the user setting doesn\u0027t ask for automatic brightness.\""
    },
    {
      "commit": "d28f753c943d72dcdf3b67566f911f46c8b6830d",
      "tree": "cfdd569ff52920c5dfa820471750448c36cb7f7c",
      "parents": [
        "f3e5fcc91734d8e39b396f1b70b9903a6b3dd2c0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Nov 06 12:56:53 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Nov 06 12:56:53 2010 -0700"
      },
      "message": "Turn off the ALS when the user setting doesn\u0027t ask for automatic brightness.\n\nBug: 3118027\nChange-Id: I24a97adce55b7b403edcbd331bdc8b0fc593b76f\n"
    },
    {
      "commit": "8806fc729b96bf806806ef8d82147d59abfc1536",
      "tree": "9d87de116485af110ecfa7cabc17fa94fa6a2c99",
      "parents": [
        "a27fc901d8543c7734f70f0ef05977dcb94671f6",
        "70fc04c84db8f99ac2ac60fd9719b91057aacc9b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Nov 05 13:58:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 05 13:58:20 2010 -0700"
      },
      "message": "am 70fc04c8: Reorganize PackageManager dump to avoid NPE\n\n* commit \u002770fc04c84db8f99ac2ac60fd9719b91057aacc9b\u0027:\n  Reorganize PackageManager dump to avoid NPE\n"
    },
    {
      "commit": "ed7bfbf6c87153c3f2f23d6856db4180d4bac429",
      "tree": "1d566f941ad814b9409d80cb107e21ceccc35edd",
      "parents": [
        "2332a74c61fb0c5041bff4f0e361364a3378b4c7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 05 13:08:35 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 05 13:45:10 2010 -0700"
      },
      "message": "Fix issue #3163426: Screen corruption when using the watermark feature\n\nChange-Id: I23f76f04fb52bb272eccbbcc55606c09404c6ca9\n"
    },
    {
      "commit": "70fc04c84db8f99ac2ac60fd9719b91057aacc9b",
      "tree": "5a32634a0597a9b247dcb6e0830b18d171758ccf",
      "parents": [
        "47e43febdd8ba83c333c9c98ca6a8c0bda421305"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 22 10:07:11 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Nov 05 11:59:45 2010 -0700"
      },
      "message": "Reorganize PackageManager dump to avoid NPE\n\nversionCode and mVersionName were added recently but ps.pkg can be null\nin some situations. Move them to where it will check before\ndereferencing it.\n\nBug: 3152896\nChange-Id: If992a1f29ac7b8f595f847b7743fd2374662bb6e\n"
    },
    {
      "commit": "9ef0283bdcd9534cc09ae37eb2b78771b95247b5",
      "tree": "2819ed8e9c104af435d741a1778cf1e5f584e078",
      "parents": [
        "63cf0279d73937f38def42eeb0ef8278c926e448"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 04 21:17:48 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Nov 05 11:40:56 2010 +0900"
      },
      "message": "Change API for getting InputMethodSubtype\u0027s mode from resource id to String\n\nChange-Id: I00aa99f8ab9901d40806a6bb336ab718eb857e8b\n"
    },
    {
      "commit": "09018c3e5399a3a741be5ed04e94385bb4082075",
      "tree": "d7a660fce65f7f5a66933bbc7adf92f9d85ec5e6",
      "parents": [
        "7899b0e07650902b69b1983193fb5cbed5789397",
        "090813ac95b1bd5f60f67f70bb49b0886954de09"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Nov 04 18:08:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 04 18:08:36 2010 -0700"
      },
      "message": "Merge \"Initiate wake up scan only in a disconnected state\""
    },
    {
      "commit": "167824671021ffdb5a8dd6769416d7262cb52be9",
      "tree": "b96cb81c4ac2d270473cd4fc4283b91c614a74ce",
      "parents": [
        "38b2a89df59a537fe97c6fc66c0cdaae43ff9694",
        "03595d01188d88c169e8c9dd51b357fd545e69cc"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Nov 04 17:02:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 04 17:02:44 2010 -0700"
      },
      "message": "Merge \"Tell each VM to flush their DNS cache.\""
    },
    {
      "commit": "38b2a89df59a537fe97c6fc66c0cdaae43ff9694",
      "tree": "3c97c3312bf99cc9d2225a12cace3aeb4b8274f5",
      "parents": [
        "7b362e431f3e17a755e56bc7dbc99bd661cb46ba",
        "237171f8ab476f1d3f9f54777dba62a349d2009a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 16:46:05 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 04 16:46:05 2010 -0700"
      },
      "message": "Merge \"Fixing CloseGuard reported issue in WiredAccessoryObserver\""
    },
    {
      "commit": "7b362e431f3e17a755e56bc7dbc99bd661cb46ba",
      "tree": "fd0b2b0207d8d7669cd0f5355bc22471fb39a1e9",
      "parents": [
        "f034f87da8f4c348c36334815214628fccbe5580"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 04 16:02:52 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 04 16:29:32 2010 -0700"
      },
      "message": "Implement local-window-only drags\n\nChange-Id: I19a9c4a045c532b99e3af9eb878797aed5cda1bf\n"
    },
    {
      "commit": "237171f8ab476f1d3f9f54777dba62a349d2009a",
      "tree": "8df85d72c8c0bb6c9a13a53f5e709448c29ba0ff",
      "parents": [
        "e84c00f4a7dec8c670eeef013b3cd6ecc7277de3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 16:23:21 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 16:23:21 2010 -0700"
      },
      "message": "Fixing CloseGuard reported issue in WiredAccessoryObserver\n\nThis was previously masked by the ArrayIndexOutOfBoundsException so I\nmissed it on my first pass.\n\nChange-Id: I0bdca9c888c77cb31f21def18809649321aa5427\n"
    },
    {
      "commit": "373818eeacfa58e1067b70e38c9c521afd5b48f3",
      "tree": "522111c0ba1fce0b04c3497a44b789dc94890b72",
      "parents": [
        "e213677037f836529efcc0ac201fc61dd95481c5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 04 15:37:47 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 04 15:37:47 2010 -0700"
      },
      "message": "Revert \"StrictMode: now in more system server threads.\"\n\nThis reverts commit 0721861d6111a8a03eb0d4aad14b7a90fd83cab6.\n"
    },
    {
      "commit": "090813ac95b1bd5f60f67f70bb49b0886954de09",
      "tree": "d11e068f952d46743fe141e714eb2198e1317326",
      "parents": [
        "218c60edc9976d701cfdc47925643e29712fc1cf"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Nov 03 16:13:32 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Nov 04 15:20:01 2010 -0700"
      },
      "message": "Initiate wake up scan only in a disconnected state\n\nWhen wifi is connected to an access point, we should\nnot wake up the device to initiate scans.\n\nChange-Id: I1a48387a0cac7b23a8d947d8409cafc63da18d38\n"
    },
    {
      "commit": "a4f03f98f16dca51ac5630b4f41bec08a7da1091",
      "tree": "4f89daa1d333148158d01817e685752531eb0674",
      "parents": [
        "f786805acc4e188e22c9a569f44506c40636e883",
        "fd9ddd1a40efc801dc7512950cb9336967b6f775"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 14:32:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 04 14:32:33 2010 -0700"
      },
      "message": "Merge \"Integrate StrictMode with CloseGuard\""
    },
    {
      "commit": "fd9ddd1a40efc801dc7512950cb9336967b6f775",
      "tree": "0b9edcf7357f5a50b2fa7d9a3dc714f294447ea1",
      "parents": [
        "cc82f3ae3cef7e5dac7992a10aeb8e147e12eb27"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 11:24:58 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 14:21:33 2010 -0700"
      },
      "message": "Integrate StrictMode with CloseGuard\n\nIn additional to adding the StringMode API for controling CloseGuard,\nthis checkin fixes several CloseGuard issues found booting a device.\n\nBug: 3041575\nChange-Id: I4dffd184f49438d6d477ed81a1c2a2a5b56cc76b\n"
    },
    {
      "commit": "b73617de462579f7c12c25a4c2747c576f00f6a2",
      "tree": "1f070d8a32c97062feca491ed9675af8d7c874dc",
      "parents": [
        "1ab022b8c8b063d95a591bf40109986c5b1bbb11"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Tue Aug 17 00:41:00 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Nov 04 16:55:29 2010 -0400"
      },
      "message": "Rotation lock.\n\nIWindowManager now supports two new methods,\nfreezeRotation() and thawRotation(), that allow a caller to\ntemporarily stash the device\u0027s current rotation as the\ndefault rotation (when no other constraints are present).\n\nThe system bar uses this to implement a user-accessible\nrotation lock by calling freezeRotation() and then turning\noff accelerometer-based display rotation; unless overridden\nby an app, the display will continue to appear in the frozen\nrotation until the rotation is unlocked by the user (either\nvia the rotation lock icon in the system bar or by checking\n\"rotate screen automatically\" in Settings).\n\nBug: 2949639\nChange-Id: Icd21c169d1053719590e72401f229424b254622f\n"
    },
    {
      "commit": "1ab022b8c8b063d95a591bf40109986c5b1bbb11",
      "tree": "d5524a2111de5e7273064f6cdd4d4f6e61eff5b7",
      "parents": [
        "218c60edc9976d701cfdc47925643e29712fc1cf",
        "b55dcc244dbf22704c79b5439a9d3fc9f9815308"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 04 13:47:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 04 13:47:13 2010 -0700"
      },
      "message": "Merge \"Fix an off-by-one error.\""
    },
    {
      "commit": "ea9020e0854427d47e566a1394df6749f3265410",
      "tree": "6d0ec3569fc36c5bbf368a5317d119508feddb8d",
      "parents": [
        "d8d7b555cb45bf55f74e89a7cf9312e400f7cd1c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 04 11:39:12 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 04 13:01:56 2010 -0700"
      },
      "message": "Add API to find out if there is a vibrator.\n\nChange-Id: If29f6ee19448222433cad9fad325d0095a8e5737\n"
    },
    {
      "commit": "b55dcc244dbf22704c79b5439a9d3fc9f9815308",
      "tree": "df95b2c875a7dccc788bc3f7da1d6cddf25bf6b5",
      "parents": [
        "0cf017307097f474e7fd362505537437b92ebe06"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 04 11:55:47 2010 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 04 12:35:01 2010 -0700"
      },
      "message": "Fix an off-by-one error.\n\n  I/SystemServer(  104): Wired Accessory Observer\n  E/SystemServer(  104): Failure starting WiredAccessoryObserver\n  E/SystemServer(  104): java.lang.ArrayIndexOutOfBoundsException: index\u003d3 length\u003d3\n  E/SystemServer(  104): \tat com.android.server.WiredAccessoryObserver.\u003cinit\u003e(WiredAccessoryObserver.java:79)\n  E/SystemServer(  104): \tat com.android.server.ServerThread.run(SystemServer.java:401)\n\nChange-Id: I6d40259d96b8c57c0ff04eab362a66b70e9fcd25\n"
    },
    {
      "commit": "bbd4a9f9166c3c4da98e5c6bae2978ffe485ed71",
      "tree": "71dbfeb6f37b502041dce33df90d5d53a894010a",
      "parents": [
        "8ad4b47920a88c6317c270514f0ce7b0b053d0a4",
        "0721861d6111a8a03eb0d4aad14b7a90fd83cab6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 04 12:21:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 04 12:21:48 2010 -0700"
      },
      "message": "Merge \"StrictMode: now in more system server threads.\""
    },
    {
      "commit": "03595d01188d88c169e8c9dd51b357fd545e69cc",
      "tree": "ddad8c3f64f73ee22248c369cf567d8e036aa26d",
      "parents": [
        "b52907f6be7edb3a8b709348af484dd7d646b13e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Nov 02 14:08:23 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Nov 04 11:52:35 2010 -0700"
      },
      "message": "Tell each VM to flush their DNS cache.\n\nbug:3095357\nChange-Id: I93de24e3e5a7d8b94d55f4facfffc863a2b8c202\n"
    },
    {
      "commit": "dfe7fd1776f8472b303f57d4715dcc160e735dd6",
      "tree": "6ec0c030f22e858f3fb182913025ec7f8e5764b3",
      "parents": [
        "6b81399aa1aebfcd02a0dff142996d13b75eacb7",
        "8fbb1e84ee6497f89322f2e40453c1cfa83fb4ef"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 03 23:09:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 03 23:09:46 2010 -0700"
      },
      "message": "Merge \"Find the most applicable subtype when there is no selected subtype but IME has subtypes\""
    },
    {
      "commit": "8fbb1e84ee6497f89322f2e40453c1cfa83fb4ef",
      "tree": "25ce4fe049ef0b6df9245af1af720b7bff684266",
      "parents": [
        "7e63e4df10ac17453ee9c94f4e6230d66665359f"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 02 23:15:58 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 04 14:58:28 2010 +0900"
      },
      "message": "Find the most applicable subtype when there is no selected subtype but IME has subtypes\n\nChange-Id: I1239d67a65abd5eedebd689d02f007961b9c5d73\n"
    },
    {
      "commit": "0721861d6111a8a03eb0d4aad14b7a90fd83cab6",
      "tree": "b7404c9a084e5c3fc72e0ace8c1019f1f36d5a38",
      "parents": [
        "c563859b1cab53dcde50e973994925d1cc60403e"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 03 09:56:54 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 03 21:11:34 2010 -0700"
      },
      "message": "StrictMode: now in more system server threads.\n\nWho knew there were so many Loopers in the system server?\n\nThis adds dropbox logging for the activity manager thread, policy\nthread, and window manager thread.\n\nThe goal\u0027s to catch more stuttering.\n\nChange-Id: I3ce8518ce183b3c90426750a2992e67200fee5d5\n"
    },
    {
      "commit": "26e37349831476d3225570af2dfbf1e459374c6b",
      "tree": "2d927c9f6f8989abd6465d5d6725827867e2c55b",
      "parents": [
        "de04e5242ad7d95c392070e1a4f7acdf3809b91a"
      ],
      "author": {
        "name": "Praveen Bharathi",
        "email": "pbharathi@motorola.com",
        "time": "Tue Nov 02 19:23:30 2010 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Nov 03 15:38:12 2010 -0700"
      },
      "message": "frameworks/base: switch audio to hdmi when cable is plugged in\n\nChange-Id: I01c4ee968bc0ffbb6ce75370935571cc1ff6f8c7\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "1997eebd62127d8086e60cf279678f45824cf15f",
      "tree": "25e805e43645bde4fd53522b1dd6e093266ab133",
      "parents": [
        "732c590ad6d37d521c95d629bc083f7796ddbbfe",
        "ed4f28b492da3ff140bbaabbbda798a08c40ea5b"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Nov 03 12:23:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 03 12:23:01 2010 -0700"
      },
      "message": "Merge \"Set country code in the driver and remove channel set\""
    },
    {
      "commit": "5f4b7d8a8a394940b49ecdd8b153a0eab9528c5c",
      "tree": "32ebccd7439b1fd2240633b8091c465bc942e4e6",
      "parents": [
        "a2773f51fdbf270b0ed6f8e7b11816487a9bb2fe",
        "9d1ab883293b047b654935b84d0803c8c383be91"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Wed Nov 03 12:00:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 03 12:00:56 2010 -0700"
      },
      "message": "Merge \"Fix drag enter/exit reporting\""
    },
    {
      "commit": "ed4f28b492da3ff140bbaabbbda798a08c40ea5b",
      "tree": "5676b10fe89f58e9c460e766532a24d2104fc62c",
      "parents": [
        "98444a944c9126898bc4c370f831a79bb3b30bd8"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Oct 29 15:32:10 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Nov 02 16:35:56 2010 -0700"
      },
      "message": "Set country code in the driver and remove channel set\n\nWith dual band support, using country code\nsettings is the way to go\n\nBug: 2936741\nChange-Id: I760dce4c43b1af19ee205c28f0d287420c8d9e85\n"
    },
    {
      "commit": "acc863cabbd6c03f4fe58e568f5bb3d119943ea9",
      "tree": "8c99ece8868f0419954faeaa1c931d45cd7c6835",
      "parents": [
        "c68134b74016b82e0c49c47b89d93b2d0921cbe5",
        "1406bcb75150e8386b4d858f27089cc1359e7f14"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Nov 02 16:12:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 02 16:12:13 2010 -0700"
      },
      "message": "Merge \"Use AsynChannel for synchronous API\""
    },
    {
      "commit": "1406bcb75150e8386b4d858f27089cc1359e7f14",
      "tree": "56c913612bea3ddecd86080ad0da3666e1416b1f",
      "parents": [
        "3521e2202d76141c1c5b6db75bcc4d3cf32b4217"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Oct 28 14:41:39 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Nov 02 16:08:35 2010 -0700"
      },
      "message": "Use AsynChannel for synchronous API\n\nalso cleaned up some unnecessary synchronous commands from state machine,\nand fixed an issue with a synchronous WPS command\n\nChange-Id: I55bf4379d9810e11f2ba2e03e2e703b132d1488f\n"
    },
    {
      "commit": "9d1ab883293b047b654935b84d0803c8c383be91",
      "tree": "e41a26d0f18e08f033d880e4a3de5c1a75db417d",
      "parents": [
        "4b8d36b30ad2e87f3969034eb42dc14b99f03686"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 02 15:55:39 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 02 15:55:39 2010 -0700"
      },
      "message": "Fix drag enter/exit reporting\n\nNow, each ViewGroup is tracking which of its child views [which might\nthemselves be ViewGroups] is currently under the drag point, and when the\ndrag leaves that child, a DRAG_EXITED is synthesized and dispatched all\nthe way down to the leaf view previously under the point.  ENTERED is\nstill *not* dispatched down like this; instead, it\u0027s calculated and\nsynthesized directly at each level based on the new LOCATION.\n\nThe ViewRoot still tracks the leaf drag target, but solely for the\npurpose of reporting changes to the OS after full dispatch of a new\nLOCATION -- the entered/exited messaging is no longer initiated at the\nViewRoot level.\n\nChange-Id: I0089cc538b7e33a0440187543fcfd2f8b12e197d\n"
    },
    {
      "commit": "7e63e4df10ac17453ee9c94f4e6230d66665359f",
      "tree": "99400284d31f6f0c2950f1b36da7960a21dd30a3",
      "parents": [
        "c4b5bf3c7668d3875362bb86af05b3e47937e2ee",
        "06e0744e9e1a04a07e2e1bf9279124223bd674da"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 02 04:14:17 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 02 04:14:17 2010 -0700"
      },
      "message": "Merge \"Update the subtype icon properly.\""
    },
    {
      "commit": "06e0744e9e1a04a07e2e1bf9279124223bd674da",
      "tree": "cb49e74d155383a1295e7b9b36968322db0ae8f1",
      "parents": [
        "a32edd4b4c894f4fb3d9fd7e9d5b80321df79e20"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 02 19:46:55 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 02 20:11:28 2010 +0900"
      },
      "message": "Update the subtype icon properly.\n\nChange-Id: Ib89959d1ea13f1e6f56e6280f90532e6695c4a00\n"
    },
    {
      "commit": "c4b5bf3c7668d3875362bb86af05b3e47937e2ee",
      "tree": "e94ae0a25ef5e413edd3e34c00829d2b618c70c0",
      "parents": [
        "a32edd4b4c894f4fb3d9fd7e9d5b80321df79e20",
        "7ab5d2d951792c9b1a1e7cfb279280c2d076506f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 02 02:34:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 02 02:34:15 2010 -0700"
      },
      "message": "am 7ab5d2d9: am a87ea46c: Fix bugs related to cheek event suppression.\n\n* commit \u00277ab5d2d951792c9b1a1e7cfb279280c2d076506f\u0027:\n  Fix bugs related to cheek event suppression.\n"
    },
    {
      "commit": "7ab5d2d951792c9b1a1e7cfb279280c2d076506f",
      "tree": "51056ccc3a744e0ef6266c420086f16999509c01",
      "parents": [
        "424963ef8d46c34d67ea24d25735944c0d87409c",
        "a87ea46cb023763e0a9b0222da20b0a354f79d8d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 01 21:02:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 01 21:02:05 2010 -0700"
      },
      "message": "am a87ea46c: Fix bugs related to cheek event suppression.\n\n* commit \u0027a87ea46cb023763e0a9b0222da20b0a354f79d8d\u0027:\n  Fix bugs related to cheek event suppression.\n"
    },
    {
      "commit": "a87ea46cb023763e0a9b0222da20b0a354f79d8d",
      "tree": "af391e4d3190d4023b6e5757a504346798151fc3",
      "parents": [
        "5dda76a72e8bb4630fb5fd38a42e7bceb5b9c954"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 01 20:35:46 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 01 20:51:58 2010 -0700"
      },
      "message": "Fix bugs related to cheek event suppression.\n\nTwo issues:\n\n1. First, due to an inverted conditional in the input dispatcher, we were\n   reporting touches as long touches and vice-versa to the power manager.\n\n2. Power manager user activity cheek event suppression also suppresses touch\n   events (but not long touch or up events).  As a result, if cheek event\n   suppression was enabled, touches would not poke the user activity timer.\n   However due to the above logic inversion, this actually affected long\n   touches.  Net result, if cheek suppression was enabled in the power manager\n   and you held your thumb on the screen long enough, the phone would\n   go to sleep!\n\nCheek event suppression is commonly turned on when making a phone call.\nInterestingly, it does not seem to get turned off afterward...\n\nThis change fixes the logic inversion and exempts touches from the cheek\nsuppression.  The reason we do the latter is because the old behavior\nwas actually harmful in other ways too: a touch down would be suppressed\nbut not a long touch or the touch up.  This would cause bizarre behavior\nif you touched the screen while it was dimmed.  Instead of brightening\nimmediately, it would brighten either when you lifted your finger or\n300ms later, whichever came first.\n\nBug: 3154895\nChange-Id: Ied9ccec6718fbe86506322ff47a4e3eb58f81834\n"
    },
    {
      "commit": "e1bef9404c82a13dcb33d29408a491cb77c962a5",
      "tree": "a9503eb1da5b110e7f0d020320a0e3ebed2cc543",
      "parents": [
        "21e941bf43362ddc6639a9f2d0828053360f53d7",
        "57c767c7b7a4cdcd0c33ec453a9f2c0b853999b6"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Nov 01 19:41:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 01 19:41:44 2010 -0700"
      },
      "message": "Merge \"Fix a bug that enabled Subtype ID can\u0027t be saved propery.\""
    },
    {
      "commit": "21e941bf43362ddc6639a9f2d0828053360f53d7",
      "tree": "686b10bd26b899198a744c6e38d4ffa6585714b7",
      "parents": [
        "879ed85598800bd2d87b7fe96d0a763d9b954a6e"
      ],
      "author": {
        "name": "Praveen Bharathi",
        "email": "pbharathi@motorola.com",
        "time": "Wed Oct 06 15:23:14 2010 -0500"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 01 18:41:19 2010 -0700"
      },
      "message": "Added support for dock headset observer\n\nChange-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292\nSigned-off-by: Praveen Bharathi \u003cpbharathi@motorola.com\u003e\n"
    },
    {
      "commit": "4d396052deb54399cbadbeb8abd873df6f3af342",
      "tree": "632cf9922df2abe3b23738792a100a9297517db0",
      "parents": [
        "487d9586635e6b209f9a5ed4063f005590d10e85"
      ],
      "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": "Mon Nov 01 15:00:25 2010 -0700"
      },
      "message": "Fix policy issues when screen is off.\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\nFixed a couple of issues where media keys were being handled inconsistently\nor not at all, particularly in the case of the new PAUSE, PLAY\nand RECORD keys.\n\nBug: 3144874\nChange-Id: Ie630f5fb6f128cfdf94845f9428067045f42892c\n"
    },
    {
      "commit": "fd2d01302781af91d77557a99874111a4fee8365",
      "tree": "89b38e3aff99a443627ac53268d009dec9ea07eb",
      "parents": [
        "6b21cdeb5f0127862d82f24a4b6001f495e3c8cd"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Oct 28 14:22:26 2010 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Nov 01 11:46:57 2010 -0700"
      },
      "message": "Add PhoneStateListener.onOtaspChanged.\n\nBug: 3102320\nChange-Id: I46e8d33a4ed80e5e074e92135653d57598d4c865\n"
    },
    {
      "commit": "57c767c7b7a4cdcd0c33ec453a9f2c0b853999b6",
      "tree": "098280c9deac03b4d3367f0b36a98e5191d316de",
      "parents": [
        "6b21cdeb5f0127862d82f24a4b6001f495e3c8cd"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Nov 01 22:34:08 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Nov 01 23:44:08 2010 +0900"
      },
      "message": "Fix a bug that enabled Subtype ID can\u0027t be saved propery.\n\nChange-Id: Iccf175c55ebfd86f3045ad27bff4f34d7963ebc7\n"
    },
    {
      "commit": "e4c7b3f25ee3cb8d3fba4d15a8fbb97bc83d8dd1",
      "tree": "8cd2374ff0b60c150c71e7cc53dbe52cec047176",
      "parents": [
        "a9ad6b818f6514af3ae583da650d64043764a124"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Oct 30 12:15:03 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Oct 30 12:15:03 2010 -0700"
      },
      "message": "Status bar: Forward the disabled state to the status bar process when it comes up.\n\nBug: 3108996\nChange-Id: I92c2ff645dc64ca2610e3de814e0cfef6cde88c3\n"
    },
    {
      "commit": "bfb191998eba2ebc710ff9eb59480b10909ba4c9",
      "tree": "384363801caa914f4035485392a204e6fe83ea0e",
      "parents": [
        "06487a58be22b100daf3f950b9a1d25c3ea42aa2"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Oct 29 15:25:44 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Oct 29 15:25:44 2010 -0700"
      },
      "message": "StrictMode: annotate violations with the Broadcast Intent\u0027s action, if any.\n\nChange-Id: If36ab776bb95054a109b5475c6be041c75c7e0af\n"
    },
    {
      "commit": "06487a58be22b100daf3f950b9a1d25c3ea42aa2",
      "tree": "51f435300301f0be1256da96ce25abc77112e2ee",
      "parents": [
        "e12774d4a81b3658de65e9d2848a7757d8612e0f"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Oct 29 11:37:18 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Oct 30 03:17:40 2010 +0900"
      },
      "message": "Add a functionarity for showing / hiding IME button on the system bar\n\nBug: 3077030\n\n- IME communicates with status bar directly.\n\nChange-Id: Ic5b6b5b7a2b8ea62372dcc9b9c36d81b9f2db651\n"
    },
    {
      "commit": "07bd5ae3911fd0c3a8692221f94e680a1e6dd3de",
      "tree": "0fc84defa0c499722f59d829f9ef41a3fd3a8ffa",
      "parents": [
        "9085a2441dc446bc3c4f3848b8a5100a70b4bf0c"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Oct 28 14:45:56 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Oct 29 09:54:50 2010 -0700"
      },
      "message": "fix interfaceflags for softap\n\nChange-Id: I4a4fa1e5f033c945feb64b2544b8c78618bb1f3e\nSigned-off-by: jmzhu \u003cjmzhu@marvell.com\u003e\n"
    },
    {
      "commit": "d102fea962fa0ab4bbb86363e4953a0e8a5c001f",
      "tree": "bc30766b457928486c7b30c4270381a30f56a2c5",
      "parents": [
        "04d50204705c9da52b218f11972da4e7d7a9cb84"
      ],
      "author": {
        "name": "Jim Rodovich",
        "email": "rodovich@motorola.com",
        "time": "Thu Sep 02 12:30:49 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Oct 28 10:22:47 2010 -0400"
      },
      "message": "PowerManagerService: Avoid paralysis when light events are reported frequently.\n\nAvoid resetting the debounce timer for automatic brightness if a new light event\nis received that agrees with the direction of change of the previous event(s).\n\nChange-Id: Id4d71f6db46ded46b24eb44cb8de9b2cfedb3f06\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    }
  ],
  "next": "4ca7f1e2811dc889e526de6c3d30bac8501c23d2"
}
