)]}'
{
  "log": [
    {
      "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"
    },
    {
      "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"
    }
  ],
  "next": "4d396052deb54399cbadbeb8abd873df6f3af342"
}
