)]}'
{
  "log": [
    {
      "commit": "cd7cd2969f545ad061a9b4ecd0044f15eb1b4abb",
      "tree": "a0fe4e4099c4aa9ab97ef4dc764e93341e2cfd7e",
      "parents": [
        "d1544d38a2a281c4c7d39b6386cfb58ff2fabe20"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Nov 20 15:46:23 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 25 14:02:04 2010 +0900"
      },
      "message": "Store the current IME\u0027s token in the system bar for changing the current IME to a shortcut IME from the system bar\n\nBug: 3212206\nBug: 3201828\n\n- Added a shortcut IME button. This will be used for calling a shortcut IME (e.g. Voice input)\n- Made the positions of IME buttons left aligned\n- IME token is required to change IME because of the security reasons.\n\nChange-Id: I48ba5e2509b3aa1bfd2394f9201427fa6b93c6d3\n"
    },
    {
      "commit": "b0be5d1d4a31f0ba40dc38bf9990d8935b6a5c6c",
      "tree": "08b31a0a262d8f0e153906d17113d691491c31ec",
      "parents": [
        "a4db01151e521e59debee147e6c7c068e718de5e",
        "26f5a384d81487cc6bb80a78fb40d5e7e7ffc81e"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Nov 24 16:50:32 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 24 16:50:32 2010 -0800"
      },
      "message": "Merge \"Use apn types instead of host when sending notifications.\""
    },
    {
      "commit": "26f5a384d81487cc6bb80a78fb40d5e7e7ffc81e",
      "tree": "f41b1708cb84c631a90f7a0574316359e3324e04",
      "parents": [
        "b4f666f1c067b611cfa24c1896b53e20fc297eb5"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Nov 24 16:44:29 2010 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Nov 24 16:44:29 2010 -0800"
      },
      "message": "Use apn types instead of host when sending notifications.\n\nPreviously we were passing the apn host not the type and this\ncaused us to sometimes not send out network change notifications.\n\nAlso rename of getActivceApn to getActiveApnHost to make\nthe method clearer on what is being returned and add some debug.\n\nA future change will rename ApnSetting.apn to ApnSetting.host\nand getActiveApnString.\n\nbug: 2995554\nChange-Id: I0c405b0f823f62c9596968c8516b820d9f8a94f2\n"
    },
    {
      "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": "6dc08b3667a8cbf8a355ad27fc914fb2162d34f1",
      "tree": "b2b0b73796413c0176eb411ad051c35be78a9485",
      "parents": [
        "6bdbcd748ee64c7d66547c89673b415197a3001f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 23 17:59:39 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 24 13:04:01 2010 -0800"
      },
      "message": "Fix issue 3225810.\n\nTake a wake lock whenever A2DP output stream is active.\n\nChange-Id: Ie50e6d4cb34c8a1ba97b301ef25e10aeb153d8f3\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": "d48124e0fe511265024a61abee67d8ed6ac61592",
      "tree": "911d23e19005be9476454a576f2601e3ddb1013d",
      "parents": [
        "855e4c98846a4264b7a27ad68cfa66c12ac0591c",
        "f3d6dd0782e3135885efdc26cb86cf0bf811749f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 19 15:58:24 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 19 15:58:24 2010 -0800"
      },
      "message": "Merge \"Fix issue 3157123.\""
    },
    {
      "commit": "f3d6dd0782e3135885efdc26cb86cf0bf811749f",
      "tree": "bff3e49ad215f9573b7b89990e974a944d4c4a98",
      "parents": [
        "9c950b41c5531e6735f3d13f5b46ae89d59b3b8c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 18 08:40:16 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 19 15:49:42 2010 -0800"
      },
      "message": "Fix issue 3157123.\n\nUse a Mutex wherever atomic operations were used in AudioTrack,\nAudioRecord, AudioFlinger and AudioEffect classes.\n\nChange-Id: I6f55b2cabdcd93d64ef19446735b8f33720f8dbc\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": "04d93980ec2af55c04963a2b67f628d72ea7fe5f",
      "tree": "b1e0c579c3aae1086a44046d0304a3ba999587ad",
      "parents": [
        "d91dfd584f0ecdd258f90841b1e6573ca96c0f09",
        "550b1e17c332b1302299af0b3a8a2fa81d7cde65"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 18 15:55:31 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 18 15:55:31 2010 -0800"
      },
      "message": "am 550b1e17: am 671a6ff4: Add support for virtual sensors.\n\n* commit \u0027550b1e17c332b1302299af0b3a8a2fa81d7cde65\u0027:\n  Add support for virtual sensors.\n"
    },
    {
      "commit": "550b1e17c332b1302299af0b3a8a2fa81d7cde65",
      "tree": "5bdc22e42fede809c77d8260ccb8ca8875be7e8b",
      "parents": [
        "5e5c2a199a9e44ef56c6638a52b9a9153f3d8c0d",
        "671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 18 15:52:14 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 18 15:52:14 2010 -0800"
      },
      "message": "am 671a6ff4: Add support for virtual sensors.\n\n* commit \u0027671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8\u0027:\n  Add support for virtual sensors.\n"
    },
    {
      "commit": "671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8",
      "tree": "569c08c41c6c810c99395279283f6e1c812fc51d",
      "parents": [
        "80381ab4ed44bd69c3e3464a848ca15851365b03"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 11 17:58:51 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 18 15:29:05 2010 -0800"
      },
      "message": "Add support for virtual sensors.\n\nRework sensorservice to allow \"virtual sensors\", that is\nsensors that report a synthetized value based on real sensors.\n\nthe main change to sensorservice is around managing which real\nsensor need to be activated and which rate to use.\n\nThe logic for all this has been moved into SensorDevice, which\nessentially wraps the sensor HAL but adds two features to it:\n- it keeps track of which sensors need to be activated\n- it keeps track of what rate needs to be used\n\nFor this purpose an \"identity\" is associated with each real sensor\nactivation, so we can track them.\n\nOn start-up we check for gravity, linear-acceleration and\nrotation-vector sensors, if they\u0027re not present in the HAL, we\nsynthetize them in sensor-service.\n\nChange-Id: I841db2c1b37ef127ed571efa21732ecc5adf1800\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": "05b07fd204cc9cc340dc579db17008bf9e8161fd",
      "tree": "94cb3ddb9cae774750cf40c6d6c58f848e257272",
      "parents": [
        "1bf397ffbdaae9a5354c9bb0b5121c4a9f1c8c76",
        "8f677d66d9c3ba34c97e69b2bb9e161f129af0ee"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Nov 17 09:49:23 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 17 09:49:23 2010 -0800"
      },
      "message": "Merge \"Add new audio mode for audio communications other than telelphony.\""
    },
    {
      "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": "8f677d66d9c3ba34c97e69b2bb9e161f129af0ee",
      "tree": "c38d12165c0d6eead961d2fc4e8915a0bf936f93",
      "parents": [
        "75663ceec407dbab5740460b6e7ae7ae9403e5a0"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 15 12:11:32 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 16 10:23:37 2010 -0800"
      },
      "message": "Add new audio mode for audio communications other than telelphony.\n\nThe audio mode MODE_IN_CALL signals the system the device a phone\n call is currently underway. There was no way for audio video\n chat or VoIP applications to signal a call is underway, but not\n using the telephony resources. This change introduces a new mode\n to address this. Changes in other parts of the system (java\n and native) are required to take this new mode into account.\nThe generic AudioPolicyManager is updated to not use its phone\n state variable directly, but to use two new convenience methods,\n isInCall() and isStateInCall(int) instead.\n\nChange-Id: Id744cd26520ea1d1a4795eabe6a1f0c58789af76\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": "69e2d97ab13641622b7da40bed47b17d61b4d889",
      "tree": "d6aa1d51d3e567563690a20efbd9cec90fbb4c9c",
      "parents": [
        "dab0014acc9e010a65352a2eaa15bbed309a9c87",
        "f11bf284d355e2a8378c6a37a7ed702705ec6144"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 15 13:22:16 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 15 13:22:16 2010 -0800"
      },
      "message": "am f11bf284: am 305bc0fe: Merge \"Fix a race condition in sensormanager\" into gingerbread\n\n* commit \u0027f11bf284d355e2a8378c6a37a7ed702705ec6144\u0027:\n  Fix a race condition in sensormanager\n"
    },
    {
      "commit": "f11bf284d355e2a8378c6a37a7ed702705ec6144",
      "tree": "7b8e8d446873b87312e54bf6c384312596f2cdd7",
      "parents": [
        "99866c111bd72a6cc9be17b127cd40ec9396ca7d",
        "305bc0fe977f6197bfae847dbaf58916cf8980ba"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 15 13:19:46 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 15 13:19:46 2010 -0800"
      },
      "message": "am 305bc0fe: Merge \"Fix a race condition in sensormanager\" into gingerbread\n\n* commit \u0027305bc0fe977f6197bfae847dbaf58916cf8980ba\u0027:\n  Fix a race condition in sensormanager\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": "f33a6e9645517b9bcf7236bc6f2b7fe182a0137d",
      "tree": "44cf038843fc171c35835cb9c5ee8c07d4c393ed",
      "parents": [
        "e2ef2c10e76a4648a27ce4c392eb7b9b3589b9f7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Nov 14 20:55:25 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Nov 14 20:55:25 2010 -0800"
      },
      "message": "Fix a race condition in sensormanager\n\nthe per-connection state assumed the main sensorservice\nlock was held during access. This is however not true while\npre-processing the events just before sending them to clients.\nTherefore, there was a small window during which this state\ncould be modified while being used.\n\nwe now have an internal lock that protects this state.\n\nChange-Id: I594680f20f09d6a4f1f38f093a1d3f650dcef1be\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": "1a22bdb01ac4068c2876fe2d02f3c4c729669a1c",
      "tree": "c1b2427e4edc1aa1e06fbc03e8c7360d4955471d",
      "parents": [
        "62e2fa24cd6ec81ce301d1f3005b6153b8ce9743"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 09 14:06:52 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Nov 12 14:35:52 2010 -0800"
      },
      "message": "Add support for audio recording source in generic audio policy mgr.\n\nUpdate the platform-independent audio policy manager to pass the\n nature of the audio recording source to the audio policy client\n interface through the AudioPolicyClientInterface::setParameters()\n method.\n\nChange-Id: I6b4fd0f8a3acea0d7d30bbad98edd1977dc012bf\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": "fc1bbf1b7df9967a7804b1025eb451d90f6bf94d",
      "tree": "0d669ea6f34136a56e1278e237da5c00d2291395",
      "parents": [
        "237e5fba3241348980b9bcc2b4a75e0310ca5019",
        "065299b58d1c00cd24e442fa192561decf7b1fec"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 11 17:24:27 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 11 17:24:27 2010 -0800"
      },
      "message": "Merge \"Temporary workaround for issue 3187563\""
    },
    {
      "commit": "065299b58d1c00cd24e442fa192561decf7b1fec",
      "tree": "7e3abaf094a23902a19904a3b47c1ffa5cc942dd",
      "parents": [
        "d781089731127bd9199d47f53b170895868b8750"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 11 16:47:38 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 11 16:47:38 2010 -0800"
      },
      "message": "Temporary workaround for issue 3187563\n\nThe audio HAL does not always handle properly simultaneous input and output stream\nstate changes. This happens in particular when starting video record because output\nstream starts and stops while input is active.\n\nTemporary disable the video record jingle the time the audio HAL issues are solved.\n\nChange-Id: I3b923d81af543a335deae9e22d7f396bb5791d91\n"
    },
    {
      "commit": "7ab17a3426d3565f72c6832bb650d1709cbf52cf",
      "tree": "90e188808e39d3447b880ca20cac6b2fad137921",
      "parents": [
        "e1ccfb7f6e63f639988d9b50f060612f96c49c3f",
        "6c925d00e131e40811897e0ddc332d6f5bc83178"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 11 15:26:21 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 11 15:26:21 2010 -0800"
      },
      "message": "Merge \"Implement reducing the buffer count of a Surface.\""
    },
    {
      "commit": "e1ccfb7f6e63f639988d9b50f060612f96c49c3f",
      "tree": "0a1059aee49f5e68bdbe3ab6f1294989c83ea63f",
      "parents": [
        "d781089731127bd9199d47f53b170895868b8750",
        "792b847ee117c3c21b2859635caa7e7ec39d9c20"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 11 14:52:37 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 11 14:52:37 2010 -0800"
      },
      "message": "am 792b847e: am fcab475c: Merge \"record the last event received regardless of having clients or not\" into gingerbread\n\n* commit \u0027792b847ee117c3c21b2859635caa7e7ec39d9c20\u0027:\n  record the last event received regardless of having clients or not\n"
    },
    {
      "commit": "792b847ee117c3c21b2859635caa7e7ec39d9c20",
      "tree": "31b6a1d8a2dcefe0e7c4676622fa64af76482a4d",
      "parents": [
        "93896ad8792ba53d1990d61ee6193339f7b5d51d",
        "fcab475c906da5c159bc56a32c2610f6f55eafd9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 11 14:49:35 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 11 14:49:35 2010 -0800"
      },
      "message": "am fcab475c: Merge \"record the last event received regardless of having clients or not\" into gingerbread\n\n* commit \u0027fcab475c906da5c159bc56a32c2610f6f55eafd9\u0027:\n  record the last event received regardless of having clients or not\n"
    },
    {
      "commit": "6c925d00e131e40811897e0ddc332d6f5bc83178",
      "tree": "813fca5b0cff6cdc7e2a6c15a12b3ae777b12d3d",
      "parents": [
        "0b440fc34da7f53fcec24cc8c907b959218b957d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 02 11:51:32 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 11 14:06:38 2010 -0800"
      },
      "message": "Implement reducing the buffer count of a Surface.\n\nChange-Id: I7f979c60c06d654aa8265002836277434bc1a64f\nBug: 3095167\n"
    },
    {
      "commit": "7869c52370c2fa72244944aea9fade05a0c0da2a",
      "tree": "89e194797473341f1c953bce2ec96fb70a93ab06",
      "parents": [
        "a61cc93199b90870f7a7dce0610c8c6a785e7090",
        "d267d2a2f11e0dd8a14ad05180114c656b73d483"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 11 13:49:38 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 11 13:49:38 2010 -0800"
      },
      "message": "Merge \"Remove a problematic empty update optimization.\""
    },
    {
      "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": "3a9223ebf881b10996dac34b00e51e08a602d44b",
      "tree": "68d9fb04e5f7b07ab2c47e93c4eb8d3879c8e8c4",
      "parents": [
        "77f5c9542e159cb9f2f2908227212d4add8ce74c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 10 17:50:28 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Nov 10 17:50:28 2010 -0800"
      },
      "message": "record the last event received regardless of having clients or not\n\nWe only recorded the last received event (which is needed when a sensor\nis activated on a connection) when there was some connection active.\nThis should fix an issue where sometimes the light sensor doesn\u0027t\nreturn an event whent activated.\n\nwe also didn\u0027t need to hold the main lock while dispatching events\nto clients.\n\nChange-Id: I6c6386c040051ce205e3c0516c678e0603fa45e1\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": "d267d2a2f11e0dd8a14ad05180114c656b73d483",
      "tree": "b38ee662121fceb32cb6715b057886be4a6c4b24",
      "parents": [
        "95ab69f4f4c9c097d328a4bc2448e1aa8f0f2617"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Nov 10 14:57:18 2010 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Nov 10 15:09:09 2010 -0800"
      },
      "message": "Remove a problematic empty update optimization.\n\nThis change removes an optimization from SurfaceFlinger that skipped\ncomposition when it got window updates that had an empty dirty region.\nThis optimization caused problems because it would skip the hwcomposer\nset call, which could leave the window\u0027s previous frame buffer bound to\nan overlay plane.  When the application subsequently dequeued and tried\nto lock its next buffer (which would be the buffer currently bound to\nthe overlay), the lock call would block until the next hwcomposer set\ncall (which may never happen).\n\nChange-Id: I563b626a1d52c1f30eb82489eae0ceb4edc79936\nBug: 3138752\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": "820b9e0d3b6f94fe0b524aebf756ce25df273e6a",
      "tree": "01b706b917c8396834d10222483d671b5ba7a625",
      "parents": [
        "2b425d3c9b39603054febe0c2135b05764748158"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 08 18:38:14 2010 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 09 14:32:43 2010 -0800"
      },
      "message": "Add recording source for voice communication\n\nAdd a recording source used to designate a recording stream for\nvoice communications such as VoIP.\n\nChange-Id: I4091d67069b1a0170c1a5ca5e6acd51eb0aa08f9\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": "e3cfa1b8b22c07a58add42b27913c7d49913a166",
      "tree": "5bfc6cb01bb2240ed74b9160179a5fb55623d4b1",
      "parents": [
        "b765d32e811711a4327dd6103b5279a750cc883b",
        "f8c24a66a7318554604ae63d0ae4948c41b0d6e1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 08 20:00:33 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 08 20:00:33 2010 -0800"
      },
      "message": "am f8c24a66: am cd43fbb4: Merge \"improve sensorservice dumpsys and increase the max sensor rate to 1 ms (1000Hz)\" into gingerbread\n\n* commit \u0027f8c24a66a7318554604ae63d0ae4948c41b0d6e1\u0027:\n  improve sensorservice dumpsys and increase the max sensor rate to 1 ms (1000Hz)\n"
    },
    {
      "commit": "f8c24a66a7318554604ae63d0ae4948c41b0d6e1",
      "tree": "394c44d91f694e0b5070effc048a21339c14a4ae",
      "parents": [
        "3c09ba3f798c8dafed4846c6782bc489b841cdbb",
        "cd43fbb4537487a9c3185e919904f8b0c93daee6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 08 19:38:28 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 08 19:38:28 2010 -0800"
      },
      "message": "am cd43fbb4: Merge \"improve sensorservice dumpsys and increase the max sensor rate to 1 ms (1000Hz)\" into gingerbread\n\n* commit \u0027cd43fbb4537487a9c3185e919904f8b0c93daee6\u0027:\n  improve sensorservice dumpsys and increase the max sensor rate to 1 ms (1000Hz)\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": "94c4f5c1b28344001bae5ac4ad22dd01dc2fd679",
      "tree": "4eae7c790ac46f9435bbb053a6dbe65d9ecc2f36",
      "parents": [
        "5fd3054048b41b033700be3f30e4bca69f4f13a6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 05 19:12:58 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 08 13:51:53 2010 -0800"
      },
      "message": "improve sensorservice dumpsys and increase the max sensor rate to 1 ms (1000Hz)\n\nthe increased maximum rate is needed for proper gyro integration, current gyro\nparts can sample at up to 800Hz\n\nChange-Id: Ide75f6d5bc7a0fdafeb2dafd72db39e7afb9e794\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"
    }
  ],
  "next": "b55dcc244dbf22704c79b5439a9d3fc9f9815308"
}
