)]}'
{
  "log": [
    {
      "commit": "8643aa0179e598e78d938c59035389054535a229",
      "tree": "c1d0ab0f77329fb34231e45703687d21a601fc88",
      "parents": [
        "219451363d7c9e657cb856bebce34bc29d7876fa"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 20 12:12:33 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 06 18:46:03 2011 -0700"
      },
      "message": "Interrogation of the view hierarchy from an AccessibilityService.\n\n1. Views are represented as AccessibilityNodeInfos to AccessibilityServices.\n\n2. An accessibility service receives AccessibilityEvents and can ask\n   for its source and gets an AccessibilityNodeInfo which can be used\n   to get its parent and children infos and so on.\n\n3. AccessibilityNodeInfo contains some attributes and actions that\n   can be performed on the source.\n\n4. AccessibilityService can request the system to preform an action\n   on the source of an AccessibilityNodeInfo.\n\n5. ViewAncestor provides an interaction connection to the\n   AccessibiltyManagerService and an accessibility service uses\n   its connection to the latter to interact with screen content.\n\n6. AccessibilityService can interact ONLY with the focused window\n   and all calls are routed through the AccessibilityManagerService\n   which imposes security.\n\n7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos\n   based on some criteria. These API go through the AccessibilityManagerServcie\n   for security check.\n\n8. Some actions are hidden and are exposes only to eng builds for UI testing.\n\nChange-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c\n"
    },
    {
      "commit": "60a31178385cfa1e7f10d364ae538b81f94536d4",
      "tree": "b5a09810ad21906d145b2c3023006c4f220f4762",
      "parents": [
        "a959c8ff90e6357ebab3de1887b2c6a98f039489",
        "51704fc9c2f42e72a86f580c3e2aa977e8b6b006"
      ],
      "author": {
        "name": "TK MUN",
        "email": "tk.mun@samsung.com",
        "time": "Mon Jun 06 12:57:24 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 06 12:57:24 2011 -0700"
      },
      "message": "am 51704fc9: am cecb710a: am 94260caf: Allow control over search order for tethering upstream interface selection\n\n* commit \u002751704fc9c2f42e72a86f580c3e2aa977e8b6b006\u0027:\n  Allow control over search order for tethering upstream interface selection\n"
    },
    {
      "commit": "51704fc9c2f42e72a86f580c3e2aa977e8b6b006",
      "tree": "6f1fb77814e1cd7cb834f9b11f4e03416b0e24ad",
      "parents": [
        "5aaed0970be451479a07b2423e709026dec6611b",
        "cecb710a6de249a3847da2f07464a1aecf9459ac"
      ],
      "author": {
        "name": "TK MUN",
        "email": "tk.mun@samsung.com",
        "time": "Mon Jun 06 11:51:22 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 06 11:51:22 2011 -0700"
      },
      "message": "am cecb710a: am 94260caf: Allow control over search order for tethering upstream interface selection\n\n* commit \u0027cecb710a6de249a3847da2f07464a1aecf9459ac\u0027:\n  Allow control over search order for tethering upstream interface selection\n"
    },
    {
      "commit": "c321c19fc91bfec9a74039ed4d37b815dd4ef379",
      "tree": "adbefdc8f339733357a1fd0f6eb817ba7b8b3cd7",
      "parents": [
        "8cdda442357bc5c5ab673b6369ee1560ebe1b086"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 03 19:43:23 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 03 19:49:00 2011 -0700"
      },
      "message": "Fixing a bug I introduced during my last merge.\n\nChange-Id: I6474ca94a6ef9bd17a5670a4baa51673f3c2f5d0\n"
    },
    {
      "commit": "d00ea44b314bbeaaa696e63184accb58964b0ff7",
      "tree": "4c590e3e77aee11bd2f68705080d818e71caad76",
      "parents": [
        "03133d50a39e0793c2d7f6f5399d2928aac5e057",
        "a858cb075d0c87e2965d401656ff2d5bc16406da"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 03 17:39:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 03 17:39:27 2011 -0700"
      },
      "message": "Merge \"Respect android:allowBackup\u003d\"false\" during full backup \u0026 restore\""
    },
    {
      "commit": "7218d830e27d81141588cd6e37f206d141a18f62",
      "tree": "fae19a482a9c238fb94b1f46e7b37daf4f18a3ab",
      "parents": [
        "a742f854901b8306d3696c9e9b7881c207130a01",
        "ca2b552d981239043a575dfc9db86966492d0f9e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 03 15:50:27 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 03 15:50:27 2011 -0700"
      },
      "message": "resolved conflicts for merge of ca2b552d to master\n\nChange-Id: I2f3693a59042ac5aa2d7bcdc3a504c78dc99a18b\n"
    },
    {
      "commit": "2515db74fe2e75018f618591fabe23fda8362bf3",
      "tree": "d581c08117c382c1d63b7a48e141be0fce755093",
      "parents": [
        "ce08f785604e15ec56b1e2e21f4058eec3c923d3",
        "3a80c50485809fe72d6de83dacad494c5e84ed24"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 03 14:43:18 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 03 14:43:18 2011 -0700"
      },
      "message": "am 3a80c504: am 8b9a2b6c: am e6676351: Work around OpenFeint bug.\n\n* commit \u00273a80c50485809fe72d6de83dacad494c5e84ed24\u0027:\n  Work around OpenFeint bug.\n"
    },
    {
      "commit": "a858cb075d0c87e2965d401656ff2d5bc16406da",
      "tree": "a184d02d871a906a5b3192bcec5f3495a2a97f21",
      "parents": [
        "507fc54924af53635e8d5520e5836c046af00775"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 03 12:27:51 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 03 14:06:46 2011 -0700"
      },
      "message": "Respect android:allowBackup\u003d\"false\" during full backup \u0026 restore\n\nPackages with this manifest attribute set \u0027false\u0027 will not be backed\nup even through the \"full device backup\" infrastructure.  If someone\nproduces an apparent restore file with data for such an application,\nit will not actually be restored onto the device.\n\nWhen an apk is installed during the course of a restore operation,\nit is validated against the manifest contents and deleted if there\nis a mismatch.  Also, if the newly-installed app is found to\ndisallow backups, no file content will be processed for that app.\n\nBug 4532159\n\nChange-Id: I59630054584b1394e567de939192e22e597044ee\n"
    },
    {
      "commit": "50469db07167e3a837e10f215baa4eacb1319604",
      "tree": "c05a65fb42218589897b459cfcbac5b0fe411f49",
      "parents": [
        "8c56154d9aa9573280d144cd361f9ef3f2435651",
        "7322e557cfe42da42779625d69ced2db74a9df90"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 03 13:17:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 03 13:17:00 2011 -0700"
      },
      "message": "am 7322e557: am a4cfcf10: am 75d6b3c2: Merge \"Fix issue #4502672: Wrong xml resources used for homescreen widgets.\" into honeycomb-mr2\n\n* commit \u00277322e557cfe42da42779625d69ced2db74a9df90\u0027:\n  Fix issue #4502672: Wrong xml resources used for homescreen widgets.\n"
    },
    {
      "commit": "f3b57def9345d6d3cac3604d6a970f6d48f345ec",
      "tree": "e4a0926992c2ed61953a07f329693dd0e6590b25",
      "parents": [
        "201e6606e78c67e8d94b131f43789c5d8aaf3beb",
        "7e193916c033bc952222ca808916b2dc4b4b557d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 03 12:13:24 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 03 12:26:54 2011 -0700"
      },
      "message": "resolved conflicts for merge of 7e193916 to master\n\nChange-Id: If06892419319c3a2d4ab6b03dd3ceb99b83803b5\n"
    },
    {
      "commit": "daac9dd9742c3a1eaeee339c4d21e6f2dc758923",
      "tree": "d7b51acaa5dbca5316ca8185aa5f2a20586992ab",
      "parents": [
        "3699c3d7c8a450cc39fd1c3db23b64208bd43353",
        "c22d145a9f26314e23ea678e96766755268e878b"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Jun 03 10:33:13 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 03 10:33:13 2011 -0700"
      },
      "message": "am c22d145a: am 3148557c: Merge \"DO NOT MERGE Use unchecked admin lookup for getStorageEncryption()\" into honeycomb-mr2\n\n* commit \u0027c22d145a9f26314e23ea678e96766755268e878b\u0027:\n  DO NOT MERGE Use unchecked admin lookup for getStorageEncryption()\n"
    },
    {
      "commit": "c22d145a9f26314e23ea678e96766755268e878b",
      "tree": "3942aed8aee8898b40d6ec5d2be3bbc71d9a802e",
      "parents": [
        "5b4e24400a4f1a6c67efd08ab2cda3389f78144e",
        "3148557c42aaa8abf4001dc6fd759e911ba55280"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Jun 03 10:28:45 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 03 10:28:45 2011 -0700"
      },
      "message": "am 3148557c: Merge \"DO NOT MERGE Use unchecked admin lookup for getStorageEncryption()\" into honeycomb-mr2\n\n* commit \u00273148557c42aaa8abf4001dc6fd759e911ba55280\u0027:\n  DO NOT MERGE Use unchecked admin lookup for getStorageEncryption()\n"
    },
    {
      "commit": "3148557c42aaa8abf4001dc6fd759e911ba55280",
      "tree": "602fc8ae0157aed51742776c9ba09462d7538378",
      "parents": [
        "be96408b801666bf196adb0eabff4839e51e63ed",
        "237574444b311f2f4d23c62f63162f77d34f10bc"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Jun 03 10:24:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 03 10:24:27 2011 -0700"
      },
      "message": "Merge \"DO NOT MERGE Use unchecked admin lookup for getStorageEncryption()\" into honeycomb-mr2"
    },
    {
      "commit": "ca2b552d981239043a575dfc9db86966492d0f9e",
      "tree": "5126b8a386f7aff3e19cf4ae9d253705aa0efddb",
      "parents": [
        "56503b8ddfe5c82407da32e18061e725f668432d",
        "c8812761609e532cceb400b112ed9982149c2490"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 17:34:03 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 02 17:34:03 2011 -0700"
      },
      "message": "am c8812761: am e1718de6: Merge \"Add a preference panel for mouse speed.\" into honeycomb-mr2\n\n* commit \u0027c8812761609e532cceb400b112ed9982149c2490\u0027:\n  Add a preference panel for mouse speed.\n"
    },
    {
      "commit": "c8812761609e532cceb400b112ed9982149c2490",
      "tree": "f12190c422dd4e3455af0fa9e036b604007c9be4",
      "parents": [
        "8186a5f065fac2b82c90cd18d79cd234bc221402",
        "e1718de61c20c8d401633f83589f18d2c0c652db"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 17:28:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 02 17:28:07 2011 -0700"
      },
      "message": "am e1718de6: Merge \"Add a preference panel for mouse speed.\" into honeycomb-mr2\n\n* commit \u0027e1718de61c20c8d401633f83589f18d2c0c652db\u0027:\n  Add a preference panel for mouse speed.\n"
    },
    {
      "commit": "9313a2779732aaaec1f61f85f260499036c7927a",
      "tree": "2b3038f4a184c95bac4718a2664170514958c041",
      "parents": [
        "7dad2c24fa7811c115f850fd2a8f2ecc8874061e",
        "096762d6efcae6300c02919bc6b3eaeeffccf91d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 16:50:59 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 02 16:50:59 2011 -0700"
      },
      "message": "am 096762d6: am 8075fe48: am 78470718: Fix various places that were using the wrong display metrics.\n\n* commit \u0027096762d6efcae6300c02919bc6b3eaeeffccf91d\u0027:\n  Fix various places that were using the wrong display metrics.\n"
    },
    {
      "commit": "7dad2c24fa7811c115f850fd2a8f2ecc8874061e",
      "tree": "09ffe99fc17075faa9129e2bce77a6509092c23a",
      "parents": [
        "63b18d395c84579cb179bddf6b6362990f3fd110",
        "9b94aa18f78e6c6281202e72b5a7451bc479fe82"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 16:50:13 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 02 16:50:13 2011 -0700"
      },
      "message": "am 9b94aa18: am e5d37701: am 8ea5e1d7: Fix compat mode bugs when updating apps.\n\n* commit \u00279b94aa18f78e6c6281202e72b5a7451bc479fe82\u0027:\n  Fix compat mode bugs when updating apps.\n"
    },
    {
      "commit": "237574444b311f2f4d23c62f63162f77d34f10bc",
      "tree": "6efe7fcbeb3e424fcb2bb30594b58cf80d3f3baa",
      "parents": [
        "a86290891a661ecdc8115fd441b44dcebedb9e3d"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Thu Jun 02 16:37:39 2011 -0700"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Thu Jun 02 16:37:39 2011 -0700"
      },
      "message": "DO NOT MERGE Use unchecked admin lookup for getStorageEncryption()\n\nDue to a copy/paste typo, getStorageEncryption() was protected by\ngetActiveAdminForCallerLocked(), which made the API unreadable if the\ncaller is not an admin.  This doesn\u0027t match the rest of the DPM API which\nallows the \"get\" calls to be made anonymously.\n\nThis fix supercedes the proposed workaround CL in the DPM ApiDemo sample.\n\nBackport of: If1a6237634e97ced09a7c6a8876bb6b0f60c9be9\n\nChange-Id: I728b2d85878b7c73a063c906529f0d973e166b49\n"
    },
    {
      "commit": "1a84fd1fb7a51f3fe4f8865e1cdd09f3490f696c",
      "tree": "cf9491aedb10c8355e62ae8384db0e9f005beb1c",
      "parents": [
        "19c97d46fb57f87ff45d9e6ea7122b4eb21ede8c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 01:26:32 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 15:39:21 2011 -0700"
      },
      "message": "Add a preference panel for mouse speed.\n\nBug: 4124987\nChange-Id: I3ce175d268a1d043cf5878481261b1049a15a149\n"
    },
    {
      "commit": "546d64f56d0f930070289e26021f97638601e388",
      "tree": "fcb1bc8412255db876f79e81f837e254e8e78c34",
      "parents": [
        "801453f53349589ba9977231a23b89e929cea00d",
        "5c2e4d20df934728f39312741ef3390fd87795ce"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 14:29:13 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 14:29:13 2011 -0700"
      },
      "message": "resolved conflicts for merge of 5c2e4d20 to master\n\nChange-Id: Iadbee872468ceafb54c5877046c91f6052f3c953\n"
    },
    {
      "commit": "61ad43dc1e62a9cfdbc3f6624d9c8b269fc59a44",
      "tree": "356d0fb8e9719e47ecc605036b044070b44a4f1c",
      "parents": [
        "6c2cb3061d031b5d8ccc095ecc038959d4489709",
        "469465c45e42c66201639feb49db5421f5843bbe"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 10:40:52 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 02 10:40:52 2011 -0700"
      },
      "message": "am 469465c4: am 0821f274: am 2a108403: I am a dummy.\n\n* commit \u0027469465c45e42c66201639feb49db5421f5843bbe\u0027:\n  I am a dummy.\n"
    },
    {
      "commit": "ed60f81940c5f2125518c7c31ad4f61b8a9baf3e",
      "tree": "59c083e4c28f202179b41cfb350a2c68c43ad0d3",
      "parents": [
        "c49b870adf26cd0ca6c0c562fe544b27d6ca312e",
        "76450622f08b1d0d09df7f1ad8e52afe01090770"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 09:20:52 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 09:20:52 2011 -0700"
      },
      "message": "resolved conflicts for merge of 76450622 to master\n\nChange-Id: I26ccd8f264e65f100d894f43cf597a781552db83\n"
    },
    {
      "commit": "cc28a669f61c71ec95e5cca2b25eab4266ea0cfb",
      "tree": "fe0f7631c0a03fd10cfdf56bf9d22c3a065361ab",
      "parents": [
        "f9886f3ee9db23cc5a553b92e2aeff0ae842c915",
        "4f31353cb3b00c77c9420ef27ec949fd570ede3b"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Jun 02 02:34:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 02 02:34:32 2011 -0700"
      },
      "message": "Merge \"Add an api to get the display name for InputMethodSubtype\""
    },
    {
      "commit": "4f31353cb3b00c77c9420ef27ec949fd570ede3b",
      "tree": "f8b82e376f7eaf019afb44d7adb4af31a64406f6",
      "parents": [
        "d1a1c09cb06fef6ade48063fe1171ff25cd38050"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Jun 01 16:13:45 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Jun 02 18:26:36 2011 +0900"
      },
      "message": "Add an api to get the display name for InputMethodSubtype\n\nBug: 4321667\n\nChange-Id: I55aa844ff33dae0cf8ef00072e87727992eb77c1\n"
    },
    {
      "commit": "f9886f3ee9db23cc5a553b92e2aeff0ae842c915",
      "tree": "76d2bfd0fe84b2028cc48e554aa89139a13a9dd8",
      "parents": [
        "c3076425bba5c129408338be4e138f8be16855a6"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 10 15:28:33 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jun 01 20:32:09 2011 -0700"
      },
      "message": "AccessiblityManagerService not cleaning up dead binders.\n\n1. AccessibilityManagerService was keeping handles to dead\n   IAccessibilitymanagerClients - now doing so.\n\n2. AccessibilityManagerService was lazily cleaning up dead\n   IAccessibilityServiceConnections - now using a callback.\n\n3. Cleaned up the book keeping of enabled services.\n\n4. Fixed a bug that the input filter is still enabled\n   when disabling accessibility.\n\nChange-Id: I5e9af7ab684a3b71e8ee51125b1262a17e960eb0\n"
    },
    {
      "commit": "3a80c50485809fe72d6de83dacad494c5e84ed24",
      "tree": "a755d77e8d03f867b29bde8381ea3f8999c0df0f",
      "parents": [
        "b30dda6b550fedcf5c3b15671d483205a7757e1b",
        "8b9a2b6cbd9cf37e9f5aa1bfc7106c67a5e89202"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 01 19:08:53 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 01 19:08:53 2011 -0700"
      },
      "message": "am 8b9a2b6c: am e6676351: Work around OpenFeint bug.\n\n* commit \u00278b9a2b6cbd9cf37e9f5aa1bfc7106c67a5e89202\u0027:\n  Work around OpenFeint bug.\n"
    },
    {
      "commit": "8b9a2b6cbd9cf37e9f5aa1bfc7106c67a5e89202",
      "tree": "270be935d0535b5211f6f2d92d849b9ff288c785",
      "parents": [
        "036c40f443a6d83881bc336a94b5da41bbc0bbcc",
        "e66763516a9c27c192adaba417616371a1c3c9bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 01 18:29:50 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 01 18:29:50 2011 -0700"
      },
      "message": "am e6676351: Work around OpenFeint bug.\n\n* commit \u0027e66763516a9c27c192adaba417616371a1c3c9bf\u0027:\n  Work around OpenFeint bug.\n"
    },
    {
      "commit": "287bd83f9ea257594e0d483d3851236139e5744e",
      "tree": "d2ea25615298d8ebccbdd824a4cf3f8af4b8cd6a",
      "parents": [
        "d840b66556b4a0a990189cfb28cd3a65ebb39d72"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat May 28 19:36:26 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 01 17:56:23 2011 -0700"
      },
      "message": "Snapshot PID/UID when enqueuing events.\n\nSince ProcessRecord can change before event is processed, snapshot\nPID/UID values when enqueuing.\n\nChange-Id: I281e63310c8fc6c3761ae00e80e06654b18b3e17\n"
    },
    {
      "commit": "75279904202357565cf5a1cb11148d01f42b4569",
      "tree": "db3b40af4fdfda1d46d1d4c9e471bf4630656036",
      "parents": [
        "77c1cc0aa4d088f54c3b36a05a19acfa5295c4da"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 24 18:39:45 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 01 17:44:52 2011 -0700"
      },
      "message": "Collect historical network stats.\n\nPeriodically records delta network traffic into historical buckets to\nsupport other services, such NetworkPolicyManager and Settings UI.\n\nIntroduces NetworkStatsHistory structure which contains sparse, uniform\nbuckets of data usage defined by timestamps.  Service periodically\npolls NetworkStats and records changes into buckets.  It only persists\nto disk when substantial changes have occured.  Current parameters\ncreate 4 buckets each day, and persist for 90 days, resulting in about\n8kB of data per network.\n\nOnly records stats for \"well known\" network interfaces that have been\nclaimed by Telephony or Wi-Fi subsystems.  Historical stats are also\nkeyed off identity (such as IMSI) to support SIM swapping.\n\nChange-Id: Ia27d1289556a2bf9545fbc4f3b789425a01be53a\n"
    },
    {
      "commit": "9599cc5f21152860af9d18015b1398b50743da76",
      "tree": "b3cd1d7e6b97c81f9c72d86869062acdc0387a5d",
      "parents": [
        "1b861278a2051f53ce7955fb7992fa536dc975d9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun May 22 14:59:31 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 01 17:26:30 2011 -0700"
      },
      "message": "Tests for NetworkPolicyManager rule generation.\n\nVerifies that policy changes trigger rule updates that respect current\nforegroundActivities status.  Also verifies logic that promotes a UID\nbased on its most-foreground PID.  Verifies that policy changes result\nin immediate rule changes.\n\nAlso verifies that BACKGROUND_DATA_SETTING_CHANGED broadcasts are sent\nby policy changes.\n\nChange-Id: I4fd0dad9e1dbccee2c5968244bb1814e6cb2c6e1\n"
    },
    {
      "commit": "1b861278a2051f53ce7955fb7992fa536dc975d9",
      "tree": "976f151d4cb66f67c34779dcb108676ff83c3514",
      "parents": [
        "751fb1108239c47e024d803301ee17de753dbef0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun May 22 00:34:52 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 01 17:21:17 2011 -0700"
      },
      "message": "Teach NetworkPolicyManager how to dumpsys itself.\n\nIncludes details on all internally known UIDs, which can be used for\ndebugging purposes.\n\nChange-Id: I340d25212e3c7a76a57de0a94ffeea34b6748941\n"
    },
    {
      "commit": "751fb1108239c47e024d803301ee17de753dbef0",
      "tree": "1c65e2dec48e2bcf20d9bd607e2eb0591d1ced18",
      "parents": [
        "8900fa65045436c5cef13b753c4ac82aed07b595",
        "c006f1aec15454782c35e028ad64d79a5c161cc1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 01 17:18:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 01 17:18:15 2011 -0700"
      },
      "message": "Merge \"Policy and rules work for ConnectivityManager.\""
    },
    {
      "commit": "c006f1aec15454782c35e028ad64d79a5c161cc1",
      "tree": "1cc9ecc18e55fce30c7054b21d7ecb326934e4f6",
      "parents": [
        "b145112effca63e770f52c5573980a204035b23a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu May 19 17:12:49 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 01 17:00:42 2011 -0700"
      },
      "message": "Policy and rules work for ConnectivityManager.\n\nTeach ConnectivityManager about UID-specific rules derived from policy,\nsuch as rejecting network traffic on \"paid\" interfaces.  Calls that\nreturn NetworkInfo now filter based on any REJECT rules in effect for\nthe calling UID.  (Added uid parameter if callers that still want all\ninterfaces.)\n\nChanged NetworkPolicyManager to derive rules based on current policy\ncombined with PowerManager and ActivityManager status, which it passes\nto ConnectivityService for eventual enforcement through netd.  When\nrules change the usability of a NetworkInfo for a specific UID, it also\ndispatches CONNECTIVITY_ACTION broadcasts to that UID.  Combined paid\nand background policy together to match current working definition.\n\nChange-Id: I797ea49439fcc487cfe2cbc16703d4b91ceb9af6\n"
    },
    {
      "commit": "e66763516a9c27c192adaba417616371a1c3c9bf",
      "tree": "2a390652646a5f7d83945001e8501f3841f72c23",
      "parents": [
        "fa8ee17702a79a2597670374679a0b1952f4630f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 01 16:51:20 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 01 16:52:36 2011 -0700"
      },
      "message": "Work around OpenFeint bug.\n\nChange-Id: Ib8320e50bb63fc56dc0118d5c8e9e328dbd3fcb1\n"
    },
    {
      "commit": "ca680af21b15ec51f31d294f2f1fe0110562fdfe",
      "tree": "d0b6825a2a6390597faafb4c49d9eb1b41e7c4f2",
      "parents": [
        "b145112effca63e770f52c5573980a204035b23a",
        "c994d693b684bcba1a690310b5b2be306074cc02"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Wed Jun 01 15:59:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 01 15:59:58 2011 -0700"
      },
      "message": "Merge \"Use unchecked admin lookup for getStorageEncryption()\""
    },
    {
      "commit": "c994d693b684bcba1a690310b5b2be306074cc02",
      "tree": "0bcf49f679e1977f1854e018be97403a1a0afb41",
      "parents": [
        "829de65b9aa8d59cff7d8b4acd6c89682a1952a5"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Wed Jun 01 15:30:54 2011 -0700"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Wed Jun 01 15:30:54 2011 -0700"
      },
      "message": "Use unchecked admin lookup for getStorageEncryption()\n\nDue to a copy/paste typo, getStorageEncryption() was protected by\ngetActiveAdminForCallerLocked(), which made the API unreadable if the\ncaller is not an admin.  This doesn\u0027t match the rest of the DPM API which\nallows the \"get\" calls to be made anonymously.\n\nThis fix supercedes the proposed workaround CL in the DPM ApiDemo sample.\n\nChange-Id: If1a6237634e97ced09a7c6a8876bb6b0f60c9be9\n"
    },
    {
      "commit": "75a99709accef8cf221fd436d646727e7c8dd1f1",
      "tree": "9ce16dbf95890e8dad57d63724a6cdb3d36d6fb9",
      "parents": [
        "2978cef0a77550ea3a364ffbf42fc43f2029070e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed May 18 16:28:19 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 01 15:09:55 2011 -0700"
      },
      "message": "Restore from a previous full backup\u0027s tarfile\n\nUsage:  adb restore [tarfilename]\n\nRestores app data [and installs the apps if necessary from the backup\nfile] captured in a previous invocation of \u0027adb backup\u0027.  The user\nmust explicitly acknowledge the action on-device before it is allowed\nto proceed; this prevents any \"invisible\" pushes of content from the\nhost to the device.\n\nKnown issues:\n\n* The settings databases and wallpaper are saved/restored, but lots\n  of other system state is not yet captured in the full backup.  This\n  means that for practical purposes this is usable for 3rd party\n  apps at present but not for full-system cloning/imaging.\n\nChange-Id: I0c748b645845e7c9178e30bf142857861a64efd3\n"
    },
    {
      "commit": "36f80f3a5a3de42d4e7ca4b53d4aa3e567f4df6f",
      "tree": "9fc258a8787c90942d9f7a6deb85369c91fd755e",
      "parents": [
        "bade424fdd4110752081183290417145f8af05e8",
        "590ec479fd51e13d077212833e2ac4f848a49cc3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 31 18:26:45 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 31 23:11:16 2011 -0700"
      },
      "message": "resolved conflicts for merge of 590ec479 to master\n\nChange-Id: I30503da6a73b9cb15eee66a67c75d50ccdc4b9f0\n"
    },
    {
      "commit": "7322e557cfe42da42779625d69ced2db74a9df90",
      "tree": "168cbb98976d6c44a513c3e6a7a3c79957f85fb1",
      "parents": [
        "409db558b3f47ac28f1291d82bef15a07b2920c3",
        "a4cfcf10cc300a1eb5b2a4254fb7d3190c56c4f1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 31 18:11:29 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 31 18:11:29 2011 -0700"
      },
      "message": "am a4cfcf10: am 75d6b3c2: Merge \"Fix issue #4502672: Wrong xml resources used for homescreen widgets.\" into honeycomb-mr2\n\n* commit \u0027a4cfcf10cc300a1eb5b2a4254fb7d3190c56c4f1\u0027:\n  Fix issue #4502672: Wrong xml resources used for homescreen widgets.\n"
    },
    {
      "commit": "a4cfcf10cc300a1eb5b2a4254fb7d3190c56c4f1",
      "tree": "1b14f7928184f94291b9633f2837046e69b1a15b",
      "parents": [
        "a3d68aedfbd21c340ff7c76394b8b9dfca67ae13",
        "75d6b3c2a24224e41e87685db0d9d0b8abea091d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 31 18:08:27 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 31 18:08:27 2011 -0700"
      },
      "message": "am 75d6b3c2: Merge \"Fix issue #4502672: Wrong xml resources used for homescreen widgets.\" into honeycomb-mr2\n\n* commit \u002775d6b3c2a24224e41e87685db0d9d0b8abea091d\u0027:\n  Fix issue #4502672: Wrong xml resources used for homescreen widgets.\n"
    },
    {
      "commit": "75d6b3c2a24224e41e87685db0d9d0b8abea091d",
      "tree": "5a857745b55a3f9829955bd313292ae49da7bc85",
      "parents": [
        "d40a5d5cb754b132d6c10ae78a6214f38ed23f3d",
        "2f0b17573d4324832f7a20402a3d2b5920bc4866"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 31 18:05:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 31 18:05:26 2011 -0700"
      },
      "message": "Merge \"Fix issue #4502672: Wrong xml resources used for homescreen widgets.\" into honeycomb-mr2"
    },
    {
      "commit": "2f0b17573d4324832f7a20402a3d2b5920bc4866",
      "tree": "eb85b9344237741f21f4989950677692b3bdbbda",
      "parents": [
        "8ede62745faa02265f927941d1195b6c1bf05ebb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 31 17:59:49 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 31 18:04:14 2011 -0700"
      },
      "message": "Fix issue #4502672: Wrong xml resources used for homescreen widgets.\n\nThere was a race in the system process between applying the initial\nconfiguration and executing code in higher-level system services\nlike the app widget service that relies on the config.  For some\nreason it starting showing up more after my code changes; it should\nnow be completely fixed.\n\nAlso fix the activity starting window to run in compatibility mode\nif its application is going to be in compatibility mode.\n\nAnd some various cleanup and small fixes.\n\nChange-Id: I0566933bf1bbb4259c1d99a60c0a3c19af1542e5\n"
    },
    {
      "commit": "46d0adf8256a42416584765625852b6e48497c90",
      "tree": "1667e7010a36ad8023b466242388317fa3a06174",
      "parents": [
        "b0aee3ee430ce79430ba16e53109840db5bc342a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 26 10:27:39 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 31 20:52:06 2011 -0400"
      },
      "message": "UsbService: Refactor USB host and device support into two separate classes\n\nHost support is in UsbHostManager, device support is in UsbDeviceManager\n\nRenamed UsbDeviceSettingsManager to UsbSettingsManager\n\nChange-Id: Ib76e72957c233fa7f08f454d4d9a2a1da6368cc7\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b0aee3ee430ce79430ba16e53109840db5bc342a",
      "tree": "d7f3749d92900a07b4fecbab2ef4bd53ae928a95",
      "parents": [
        "b530abcff5ae8e5ebb75ec6aa42b7c7c190e98a5",
        "da8bb74b9d9ffcb095815db800d0816c411f1fba"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 31 16:14:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 31 16:14:08 2011 -0700"
      },
      "message": "Merge \"Move stringToFile utility from ConnectivityService to FileUtils\""
    },
    {
      "commit": "7e193916c033bc952222ca808916b2dc4b4b557d",
      "tree": "29350441d48eae516007edf54f89f6143bfdc477",
      "parents": [
        "f257c4b575ad1bda77decfc2ecb5df234762247e",
        "425f2a6d71b3af058630367d75b0b924bf1aee49"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Tue May 31 15:51:21 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 31 15:51:21 2011 -0700"
      },
      "message": "am 425f2a6d: am c272d427: Merge \"Use ViewConfiguration to seed input system configuration.\" into honeycomb-mr2\n\n* commit \u0027425f2a6d71b3af058630367d75b0b924bf1aee49\u0027:\n  Use ViewConfiguration to seed input system configuration.\n"
    },
    {
      "commit": "425f2a6d71b3af058630367d75b0b924bf1aee49",
      "tree": "9923ea6fc050e2bbdff58917bf3ade6d7b276ef2",
      "parents": [
        "1311455f3ee8cbd2b2b83ec2d98e95e1da108743",
        "c272d4279493000928b8b7c6dbcf2d2b7d8d08b2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Tue May 31 15:44:04 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 31 15:44:04 2011 -0700"
      },
      "message": "am c272d427: Merge \"Use ViewConfiguration to seed input system configuration.\" into honeycomb-mr2\n\n* commit \u0027c272d4279493000928b8b7c6dbcf2d2b7d8d08b2\u0027:\n  Use ViewConfiguration to seed input system configuration.\n"
    },
    {
      "commit": "c272d4279493000928b8b7c6dbcf2d2b7d8d08b2",
      "tree": "63921d7f9beaa9580876bdacca8df46e4bcc38e7",
      "parents": [
        "d854304c2bcadbda37a7f1b24723dbc0030073ca",
        "214eaf48878bba00cbd5831871bcbd82632b6e34"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Tue May 31 15:42:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 31 15:42:18 2011 -0700"
      },
      "message": "Merge \"Use ViewConfiguration to seed input system configuration.\" into honeycomb-mr2"
    },
    {
      "commit": "214eaf48878bba00cbd5831871bcbd82632b6e34",
      "tree": "e981793f6a27d6aa789d92fe49ea346433452ae0",
      "parents": [
        "4e3f7206eb0af14d3da4c03bdf9918161774e726"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu May 26 19:17:02 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Tue May 31 15:00:59 2011 -0700"
      },
      "message": "Use ViewConfiguration to seed input system configuration.\n\nFix bug where the pointer presentation would be updated on\nany input reader timeout rather than only when a pointer gesture\nis in progress.\n\nBug: 4124987\nChange-Id: Ie9bba4a0b3228d55e45e65fa2ede5cd6ba887a08\n"
    },
    {
      "commit": "cc4053e031371456fe54d51bbad1db721db4ae38",
      "tree": "9f5954a422efc283efac0762906e822dbf89377e",
      "parents": [
        "da188fbe4b4d7b91e1440afe5a1279d0fd7a91eb"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 23 13:37:44 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 31 12:04:18 2011 -0700"
      },
      "message": "Accessibility serviceconfiguration via meta-data\n\nNote: This is a part of two CL change and contains the\n      system changes without updates to the settings.\n\n1. Added a mechanism for configuring an accessibility service via\n   XML file specified in a meta-data tag (similar to IMEs).\n\n2. Added property for specifying a settings activity for an\n   accessibility service.\n\n3. Refactored the APIs in AccessibilityManager to return\n   lists of AccessiblityServiceInfo instead ServiceInfo\n   since the former describes an AccessibilityService in\n   particular (similar to IMEs).\n\nChange-Id: Ie8781bb7e0cdb329e583b6702a612a507367ad7b\n"
    },
    {
      "commit": "9b4157935af9e44571187a9533c2cc9b413383bf",
      "tree": "c5a79afe893c246dbb37e05766857c7c069e9170",
      "parents": [
        "39a8dc4aaf6b8ff63b3168a8f7e3b8153d3891d8"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon May 30 12:37:52 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon May 30 22:44:48 2011 +0900"
      },
      "message": "Use isAuxiliary instead of ExtraValue for the auxiliary subtypes.\n\nChange-Id: Ibce4f884e697ca789b9942cf3abad43741040a87\n"
    },
    {
      "commit": "da8bb74b9d9ffcb095815db800d0816c411f1fba",
      "tree": "bfabe314d2203900749f1a974c1f89cfa39dd247",
      "parents": [
        "39a8dc4aaf6b8ff63b3168a8f7e3b8153d3891d8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat May 28 13:24:04 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat May 28 13:28:12 2011 -0400"
      },
      "message": "Move stringToFile utility from ConnectivityService to FileUtils\n\nChange-Id: I59a2dc649d59677f6b5e7ade252587c7c151ec06\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "096762d6efcae6300c02919bc6b3eaeeffccf91d",
      "tree": "38d99064934af8a263d0ac80123271d109654a2e",
      "parents": [
        "9b94aa18f78e6c6281202e72b5a7451bc479fe82",
        "8075fe48bf345e4014de9b7bee8def5f4373457c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 17:16:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 27 17:16:19 2011 -0700"
      },
      "message": "am 8075fe48: am 78470718: Fix various places that were using the wrong display metrics.\n\n* commit \u00278075fe48bf345e4014de9b7bee8def5f4373457c\u0027:\n  Fix various places that were using the wrong display metrics.\n"
    },
    {
      "commit": "8075fe48bf345e4014de9b7bee8def5f4373457c",
      "tree": "2ce99e545cc162b4efd66ce6f90933e94012cc75",
      "parents": [
        "e5d377014b04022a04fd0b2b24b343d1e0ec8d2a",
        "784707187d96b731df5256c1c2adb0aaf9037239"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 17:12:53 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 27 17:12:53 2011 -0700"
      },
      "message": "am 78470718: Fix various places that were using the wrong display metrics.\n\n* commit \u0027784707187d96b731df5256c1c2adb0aaf9037239\u0027:\n  Fix various places that were using the wrong display metrics.\n"
    },
    {
      "commit": "784707187d96b731df5256c1c2adb0aaf9037239",
      "tree": "61dde1177765cdf549349ca292a02110565210b8",
      "parents": [
        "8ea5e1d79eb1f05ee7628b0d45ea8fc8eea5330d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 17:09:19 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 17:09:19 2011 -0700"
      },
      "message": "Fix various places that were using the wrong display metrics.\n\nChange-Id: I1ac2a0c4a1b7c851dbc99d26f295c7dd49b0bd5c\n"
    },
    {
      "commit": "9b94aa18f78e6c6281202e72b5a7451bc479fe82",
      "tree": "e652a2575c5e1e646e40f1d4215ee91fdf639849",
      "parents": [
        "54cb63e26e41b80c013b8665878b9c7c7fb328c1",
        "e5d377014b04022a04fd0b2b24b343d1e0ec8d2a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 17:01:47 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 27 17:01:47 2011 -0700"
      },
      "message": "am e5d37701: am 8ea5e1d7: Fix compat mode bugs when updating apps.\n\n* commit \u0027e5d377014b04022a04fd0b2b24b343d1e0ec8d2a\u0027:\n  Fix compat mode bugs when updating apps.\n"
    },
    {
      "commit": "e5d377014b04022a04fd0b2b24b343d1e0ec8d2a",
      "tree": "e22a35a70bf793993c70bd2bd4c497792f35140d",
      "parents": [
        "528c49f112dce5f9687f30a9751e783196eca0c6",
        "8ea5e1d79eb1f05ee7628b0d45ea8fc8eea5330d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 16:58:33 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 27 16:58:33 2011 -0700"
      },
      "message": "am 8ea5e1d7: Fix compat mode bugs when updating apps.\n\n* commit \u00278ea5e1d79eb1f05ee7628b0d45ea8fc8eea5330d\u0027:\n  Fix compat mode bugs when updating apps.\n"
    },
    {
      "commit": "8ea5e1d79eb1f05ee7628b0d45ea8fc8eea5330d",
      "tree": "a676c6b0daf45a90b600d3268bb37e81f23a2275",
      "parents": [
        "b96cbbd11c4590bec846212c33361e02293f18b5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 16:45:31 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 16:49:29 2011 -0700"
      },
      "message": "Fix compat mode bugs when updating apps.\n\nNo longer accidentally puts an app into compatibility mode.\n\nAlso various cleanup, freezing screen while switching between modes.\n\nChange-Id: Ic1b3958be7800189a93f68e9dee3c5adfc45fe57\n"
    },
    {
      "commit": "d7eedc0a698062c506c3b7caf93f44a2181a80af",
      "tree": "9a6a7c41f1867eccb58555b4ac6109a688ffa427",
      "parents": [
        "8239b95d11d6bd68abce33f01d296b7edc6b786c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 27 16:35:55 2011 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 27 16:35:55 2011 -0700"
      },
      "message": "FileOutputStream guarantees to open O_TRUNC (unless you explicitly ask otherwise).\n\nChange-Id: Ibd2f247d8e52b2814729c93442ae197c186660f6\n"
    },
    {
      "commit": "5c2e4d20df934728f39312741ef3390fd87795ce",
      "tree": "04662b3fcdc339cea95feee8d14b445c8992dfaf",
      "parents": [
        "0f667ff5e57e171311c2b4ec19d29832ffbcd3f7",
        "8fcbfb52607263754b6d3895a112f792c5c3a12e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 17:12:36 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 26 17:12:36 2011 -0700"
      },
      "message": "am 8fcbfb52: am 94250ac6: Merge \"Add new supports-screens attributes for declaring the compatible screens.\" into honeycomb-mr2\n\n* commit \u00278fcbfb52607263754b6d3895a112f792c5c3a12e\u0027:\n  Add new supports-screens attributes for declaring the compatible screens.\n"
    },
    {
      "commit": "8fcbfb52607263754b6d3895a112f792c5c3a12e",
      "tree": "476aee5f274bb2b028c0e9f12fa4d9192fde3f77",
      "parents": [
        "a33bb164b2ac792d5bba76ba198fb052197fd520",
        "94250ac69c6e07534e4781d3479dccb79d8c366c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 17:09:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 26 17:09:39 2011 -0700"
      },
      "message": "am 94250ac6: Merge \"Add new supports-screens attributes for declaring the compatible screens.\" into honeycomb-mr2\n\n* commit \u002794250ac69c6e07534e4781d3479dccb79d8c366c\u0027:\n  Add new supports-screens attributes for declaring the compatible screens.\n"
    },
    {
      "commit": "94250ac69c6e07534e4781d3479dccb79d8c366c",
      "tree": "0002c4ca6a9cf1b7d5ac087199fa11b879ccdbc2",
      "parents": [
        "4686fb8ac8c88eb1f0d76fc4157be4cb5949e98e",
        "df6e980e3f63eb0f6f9eb437fa925d5009cd9c44"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 17:07:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 17:07:52 2011 -0700"
      },
      "message": "Merge \"Add new supports-screens attributes for declaring the compatible screens.\" into honeycomb-mr2"
    },
    {
      "commit": "df6e980e3f63eb0f6f9eb437fa925d5009cd9c44",
      "tree": "5440eeb979427cf2d0be09e067b0dd5c0d62a943",
      "parents": [
        "7a09f72b8850ec22e4ca7fd50aba20ead7666f67"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 14:20:23 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 14:48:04 2011 -0700"
      },
      "message": "Add new supports-screens attributes for declaring the compatible screens.\n\nChange-Id: I40d57e4354e48accc1027c9f90916ea73eb5190d\nandroid:requiresSmallestWidthDp provides the smallest supported width.\nandroid:compatibleWidthLimitDp provides the largest compatible width.\n"
    },
    {
      "commit": "469465c45e42c66201639feb49db5421f5843bbe",
      "tree": "d12444e21ffb3c0e15eaf8e910b926e4d71b2faa",
      "parents": [
        "76450622f08b1d0d09df7f1ad8e52afe01090770",
        "0821f2745d05af98195c9c1c7889ca14e9c56e0b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 14:14:41 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 26 14:14:41 2011 -0700"
      },
      "message": "am 0821f274: am 2a108403: I am a dummy.\n\n* commit \u00270821f2745d05af98195c9c1c7889ca14e9c56e0b\u0027:\n  I am a dummy.\n"
    },
    {
      "commit": "76450622f08b1d0d09df7f1ad8e52afe01090770",
      "tree": "3d61522a5670621da4083f2d8542478a3befcd26",
      "parents": [
        "0bb63c58a464e7df60de103319204b7b590e5d75",
        "d5238cc1ab8366389b2aada228f2f2e5cbb3244e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 14:14:35 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 26 14:14:35 2011 -0700"
      },
      "message": "am d5238cc1: am 7a09f72b: Merge \"Rework how we decide whether to use system or status bar.\" into honeycomb-mr2\n\n* commit \u0027d5238cc1ab8366389b2aada228f2f2e5cbb3244e\u0027:\n  Rework how we decide whether to use system or status bar.\n"
    },
    {
      "commit": "5e34a1945a6b26dff5551a37627c5216b076d896",
      "tree": "ad320f5935177d91c59136df2f65544c3a08c332",
      "parents": [
        "101139cc8f5b975dfacf1a2ffd3bdae8e3907f65",
        "1d8f8819f1e98cdf3b7756396158613e95fe9eb6"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 26 13:34:42 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 26 13:34:42 2011 -0700"
      },
      "message": "am 1d8f8819: Merge \"Break apart queries to getInstalled* API DO NOT MERGE\" into honeycomb-mr2\n\n* commit \u00271d8f8819f1e98cdf3b7756396158613e95fe9eb6\u0027:\n  Break apart queries to getInstalled* API DO NOT MERGE\n"
    },
    {
      "commit": "0821f2745d05af98195c9c1c7889ca14e9c56e0b",
      "tree": "baa13ddc047496003a2d1ba5c4abf99e07d77aaf",
      "parents": [
        "d5238cc1ab8366389b2aada228f2f2e5cbb3244e",
        "2a108403803bd30bee1c019060c208fb8c52c10c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 13:34:37 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 26 13:34:37 2011 -0700"
      },
      "message": "am 2a108403: I am a dummy.\n\n* commit \u00272a108403803bd30bee1c019060c208fb8c52c10c\u0027:\n  I am a dummy.\n"
    },
    {
      "commit": "d5238cc1ab8366389b2aada228f2f2e5cbb3244e",
      "tree": "ec6f26829875401ac65b2f9a0235a243687149df",
      "parents": [
        "90856661cf07453a23c3737f421a4686b70d95c1",
        "7a09f72b8850ec22e4ca7fd50aba20ead7666f67"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 13:34:33 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 26 13:34:33 2011 -0700"
      },
      "message": "am 7a09f72b: Merge \"Rework how we decide whether to use system or status bar.\" into honeycomb-mr2\n\n* commit \u00277a09f72b8850ec22e4ca7fd50aba20ead7666f67\u0027:\n  Rework how we decide whether to use system or status bar.\n"
    },
    {
      "commit": "1d8f8819f1e98cdf3b7756396158613e95fe9eb6",
      "tree": "b1d2fa9f52cc01032563f5dad35d9ae4f51b864f",
      "parents": [
        "c31239616cca417e71acb98813df7eda645835df",
        "1bb6cf18c0039cb9d2a60713ea34d3709af58c5c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 26 13:10:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 13:10:23 2011 -0700"
      },
      "message": "Merge \"Break apart queries to getInstalled* API DO NOT MERGE\" into honeycomb-mr2"
    },
    {
      "commit": "2a108403803bd30bee1c019060c208fb8c52c10c",
      "tree": "bb9a6f8d2192a88f87b9c49a7147739d6de94150",
      "parents": [
        "7a09f72b8850ec22e4ca7fd50aba20ead7666f67"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 11:45:00 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 11:45:00 2011 -0700"
      },
      "message": "I am a dummy.\n\nChange-Id: Ie6908a8931954f83ab0e9b905173b576dbf3661d\n"
    },
    {
      "commit": "590ec479fd51e13d077212833e2ac4f848a49cc3",
      "tree": "09e45bc88b07d2732f3da4e07e09ea20ec329956",
      "parents": [
        "3f5b95b05efcf7ab2e8f193649b841dc1786f2ef",
        "80ef2a9745e6103efd9698577536bbfed1fd74f6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 11:02:52 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 26 11:02:52 2011 -0700"
      },
      "message": "am 80ef2a97: am 42f8094c: Merge \"Spiffy new compatibility mode UI.\" into honeycomb-mr2\n\n* commit \u002780ef2a9745e6103efd9698577536bbfed1fd74f6\u0027:\n  Spiffy new compatibility mode UI.\n"
    },
    {
      "commit": "81e56d535c853d73ff537357da5b935f51cb779d",
      "tree": "b0d69765bbefecbdeeadebc24b7e57f902af84b9",
      "parents": [
        "42f8094c066209a65b09d53611ef5c93daba4c51"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 00:55:58 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 10:46:19 2011 -0700"
      },
      "message": "Rework how we decide whether to use system or status bar.\n\nThe PhoneWindowManager is now responsible for determing this,\nsince it needs to do this before we can generate the configuration\nsince we need to take into account the system bar size we will use.\n\nAlso the Display should now report the screen height without\nincluding the system bar.\n\nChange-Id: I82dfcc5e327e4d13d82c373c6c870f557a99b757\n"
    },
    {
      "commit": "80ef2a9745e6103efd9698577536bbfed1fd74f6",
      "tree": "2b507d2f664405313d5b9b6109777fa004ec807f",
      "parents": [
        "a4e747445ac0bdd2cc561802c9c7abfedbd0d981",
        "42f8094c066209a65b09d53611ef5c93daba4c51"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 10:00:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 26 10:00:00 2011 -0700"
      },
      "message": "am 42f8094c: Merge \"Spiffy new compatibility mode UI.\" into honeycomb-mr2\n\n* commit \u002742f8094c066209a65b09d53611ef5c93daba4c51\u0027:\n  Spiffy new compatibility mode UI.\n"
    },
    {
      "commit": "1bb6cf18c0039cb9d2a60713ea34d3709af58c5c",
      "tree": "ca4c1bb52197b19df287cd4dbc4cd972ce454eef",
      "parents": [
        "42f8094c066209a65b09d53611ef5c93daba4c51"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 15 17:50:10 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 26 09:53:24 2011 -0700"
      },
      "message": "Break apart queries to getInstalled* API DO NOT MERGE\n\nTo avoid blowing past the Binder IPC limit, change the\nPackageManagerService to have a DB-like interaction where the client\ntells the service the last \"row\" that it read.\n\nThe fact that we use a HashMap instead of a TreeMap makes this\nproblematic. For now we\u0027re just making a new ArrayList for the keys and\nthen sorting them for each call. This can make the API slower for callers\nof this, but it\u0027s probably greatly overshadowed by the cost of the data\ntransfer itself.\n\nBug: 4064282\nChange-Id: Ia3a8cdaa94581ed9336f2e05694b8c8a5f757bce\n"
    },
    {
      "commit": "8c1132e3ceed8e1a8c696e2afe0e6fe456ccd7ef",
      "tree": "91476edcc4d1ce9b1a92acd45058a8ab33f1a1fb",
      "parents": [
        "42c5a1666c4e576ccd5974233513100aad2c1534",
        "0601eb7953cbf77d92826bef3ca37e208d922de7"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu May 26 06:01:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 06:01:41 2011 -0700"
      },
      "message": "Merge \"Framework support for Android Dreams.\""
    },
    {
      "commit": "42c5a1666c4e576ccd5974233513100aad2c1534",
      "tree": "78d7835af04bef744259eb34ced43efef6b691e6",
      "parents": [
        "2a3c67c0e99bd3d8c6c538ff323a27df19cad109"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu May 26 16:46:14 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu May 26 19:21:35 2011 +0900"
      },
      "message": "Fix internal variables and equals in SuggestionSpan\n\nBug: 4443922\n\n- Instantiating other package\u0027s class for the name is complicated, so we changed the internal value for the notification target class from Class to String.\n- Implement equals\n\nChange-Id: Iaf7682be777f0027d33c9a3be4609ac01b6950ad\n"
    },
    {
      "commit": "2a3c67c0e99bd3d8c6c538ff323a27df19cad109",
      "tree": "6f05e3d75dd19952e7d7256309ff970c9ac2bb8d",
      "parents": [
        "620d69d85b240a31ad1c41a23d28ea746e161ee3",
        "cfb046dead49568de6f6808a697e0508ef39a3a6"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed May 25 21:29:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 21:29:07 2011 -0700"
      },
      "message": "am cfb046de: am 2c09a9c0: am 5520610c: Merge \"Make adb shell am display-size persistent.\" into honeycomb-mr2\n\n* commit \u0027cfb046dead49568de6f6808a697e0508ef39a3a6\u0027:\n  Make adb shell am display-size persistent.\n"
    },
    {
      "commit": "620d69d85b240a31ad1c41a23d28ea746e161ee3",
      "tree": "e8d0e41ca88d90155a250305c8146d8b83486524",
      "parents": [
        "b3094dbe29deded7f503327087d10631669547e5",
        "103e74d9b1fdebbbc035da0567cd075554d4137d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 21:28:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 21:28:39 2011 -0700"
      },
      "message": "am 103e74d9: am d6f29cd8: am 2a15eb55: Merge \"Fix issue #4445007: DPM initializes some values to 1, instead of 0\" into honeycomb-mr2\n\n* commit \u0027103e74d9b1fdebbbc035da0567cd075554d4137d\u0027:\n  Fix issue #4445007: DPM initializes some values to 1, instead of 0\n"
    },
    {
      "commit": "42f8094c066209a65b09d53611ef5c93daba4c51",
      "tree": "edf0542248487db54f142f1f8a9b5111b722d6d2",
      "parents": [
        "fa574c0e0ce7f84eea34e96dededea35329dbd18",
        "36cd41f8efa6f6a683d3353d309ff548295af9e9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 21:18:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 21:18:36 2011 -0700"
      },
      "message": "Merge \"Spiffy new compatibility mode UI.\" into honeycomb-mr2"
    },
    {
      "commit": "36cd41f8efa6f6a683d3353d309ff548295af9e9",
      "tree": "5b460b9496f38b91267704e0da8501fa49b1df65",
      "parents": [
        "2a15eb559cfc18800b3e345995df76695a3ae4b2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 21:00:46 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 21:08:37 2011 -0700"
      },
      "message": "Spiffy new compatibility mode UI.\n\nChange-Id: I1207eaafae59a434fcc979ad60a83e2d685288af\n"
    },
    {
      "commit": "f9f01008624e2d28c15a90d942fa36f98c8c967d",
      "tree": "3e6cfc7fc71c3cf7db7588713c7f0b9a64c1da81",
      "parents": [
        "f30c23d7bfa7a490ce01e2799905f320883c66d3"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu May 19 21:31:50 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu May 26 11:02:31 2011 +0900"
      },
      "message": "Add Apis to send notifications when the suggestion was picked\n\n- Due to a strong request from VoiceIME\n\nBug: 4443922\n\nChange-Id: Ia539de0acf66053e0349daec459d75e36805f6bf\n"
    },
    {
      "commit": "3c2fb0242b0ec21101959dfa08aad3162a523634",
      "tree": "5f338cb0714dbe36988431320f8919576d91009a",
      "parents": [
        "13412d31650366f41b1f3d9f429cb0a01dd575ef",
        "8148cc3e47e50c916066e2fed562618b5827188f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:46:53 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:46:53 2011 -0700"
      },
      "message": "am 8148cc3e: am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n\n* commit \u00278148cc3e47e50c916066e2fed562618b5827188f\u0027:\n  Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n"
    },
    {
      "commit": "8148cc3e47e50c916066e2fed562618b5827188f",
      "tree": "98dfbd122cf6768c672c4826742e2694330ce8a9",
      "parents": [
        "e8dc05aa6d2f4138729438281485ca10d854dc8d",
        "86ea1f5f521981d075aef56f11693e4f3bc32fdb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:43:34 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:43:34 2011 -0700"
      },
      "message": "am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n\n* commit \u002786ea1f5f521981d075aef56f11693e4f3bc32fdb\u0027:\n  Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n"
    },
    {
      "commit": "86ea1f5f521981d075aef56f11693e4f3bc32fdb",
      "tree": "72e1e44513d3e9e204a4fbd2855a079822e949eb",
      "parents": [
        "a6dbfdd3a858aac52cc87f80f91e8eef7d613605"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 12 22:39:53 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed May 25 14:37:17 2011 -0700"
      },
      "message": "Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n\nAdded a new PointerIcon API (hidden for now) for loading\npointer icons.\n\nFixed a starvation problem in the native Looper\u0027s sendMessage\nimplementation which caused new messages to be posted ahead\nof old messages sent with sendMessageDelayed.\n\nRedesigned the touch pad gestures to be defined in terms of\nmore fluid finger / spot movements.  The objective is to reinforce\nthe natural mapping between fingers and spots which means there\nmust not be any discontinuities in spot motion relative to\nthe fingers.\n\nRemoved the SpotController stub and folded its responsibilities\ninto PointerController.\n\nChange-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e\n"
    },
    {
      "commit": "cfb046dead49568de6f6808a697e0508ef39a3a6",
      "tree": "591a065c04235d8dd913efefb3cd4a62bde21a37",
      "parents": [
        "103e74d9b1fdebbbc035da0567cd075554d4137d",
        "2c09a9c0e960163a16ad1d06055aa6ee9635c693"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed May 25 11:46:28 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 11:46:28 2011 -0700"
      },
      "message": "am 2c09a9c0: am 5520610c: Merge \"Make adb shell am display-size persistent.\" into honeycomb-mr2\n\n* commit \u00272c09a9c0e960163a16ad1d06055aa6ee9635c693\u0027:\n  Make adb shell am display-size persistent.\n"
    },
    {
      "commit": "2c09a9c0e960163a16ad1d06055aa6ee9635c693",
      "tree": "5fc6f6752a6295d6b4003114a0c3b86d6bdbaa8c",
      "parents": [
        "d6f29cd8f92b098330818227428f5a42836097b7",
        "5520610cb2612054c5d0bcec9d031f7b71faa349"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed May 25 11:43:06 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 11:43:06 2011 -0700"
      },
      "message": "am 5520610c: Merge \"Make adb shell am display-size persistent.\" into honeycomb-mr2\n\n* commit \u00275520610cb2612054c5d0bcec9d031f7b71faa349\u0027:\n  Make adb shell am display-size persistent.\n"
    },
    {
      "commit": "5520610cb2612054c5d0bcec9d031f7b71faa349",
      "tree": "ebaa618f61490fc160e6ac7b3631512b8a2dd9c7",
      "parents": [
        "2a15eb559cfc18800b3e345995df76695a3ae4b2",
        "571ae90801d943a4c0c8897d1cf74c9cfe04b1ec"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed May 25 11:40:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 11:40:59 2011 -0700"
      },
      "message": "Merge \"Make adb shell am display-size persistent.\" into honeycomb-mr2"
    },
    {
      "commit": "571ae90801d943a4c0c8897d1cf74c9cfe04b1ec",
      "tree": "0fe9dfac6a14c64bf2aa9a19487a0d530197be2e",
      "parents": [
        "ef89cc14957ab631346564801841190346632ac9"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue May 24 13:48:43 2011 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed May 25 11:40:21 2011 -0700"
      },
      "message": "Make adb shell am display-size persistent.\n\nChange-Id: If3d5d18729f4e89eb7e689994deadd996fd487e9\n"
    },
    {
      "commit": "103e74d9b1fdebbbc035da0567cd075554d4137d",
      "tree": "da4933eda163ccf5079408f7540f0d3ae099423f",
      "parents": [
        "361c286d095a22152750e73b01bfc6b1d2076a4d",
        "d6f29cd8f92b098330818227428f5a42836097b7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 11:18:59 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 11:18:59 2011 -0700"
      },
      "message": "am d6f29cd8: am 2a15eb55: Merge \"Fix issue #4445007: DPM initializes some values to 1, instead of 0\" into honeycomb-mr2\n\n* commit \u0027d6f29cd8f92b098330818227428f5a42836097b7\u0027:\n  Fix issue #4445007: DPM initializes some values to 1, instead of 0\n"
    },
    {
      "commit": "d6f29cd8f92b098330818227428f5a42836097b7",
      "tree": "2a434ab3d3a25e08394370a26f2917dd9bea4a9c",
      "parents": [
        "5d9e0a1a867aa5b6162a972288cbef41fd68a29b",
        "2a15eb559cfc18800b3e345995df76695a3ae4b2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 11:14:13 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 11:14:13 2011 -0700"
      },
      "message": "am 2a15eb55: Merge \"Fix issue #4445007: DPM initializes some values to 1, instead of 0\" into honeycomb-mr2\n\n* commit \u00272a15eb559cfc18800b3e345995df76695a3ae4b2\u0027:\n  Fix issue #4445007: DPM initializes some values to 1, instead of 0\n"
    },
    {
      "commit": "d998acb3491fe750ce157b6171d5b0a18f4b3883",
      "tree": "bcd5ea1329cd397a5bc8bd8689478b8679c6ae0d",
      "parents": [
        "c404e9b20165f634904d1489216d17d8e09fe696"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 10:48:28 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 10:51:27 2011 -0700"
      },
      "message": "Fix issue #4445007: DPM initializes some values to 1, instead of 0\n\nAlso fix not writing the settings file when an admin is removed.\n\nAnd take care of an old to-do about not removing an admin until\nafter it has received the broadcast about it being disabled.\n\nChange-Id: I4ebe0ea0461222b65425b2c5438b646b572f18c8\n"
    },
    {
      "commit": "cecb710a6de249a3847da2f07464a1aecf9459ac",
      "tree": "3f27ccc9086887cbfdf5051f2c56aa97fc025299",
      "parents": [
        "58ada2f3bbab749fb5a813fb8f82eee347080405",
        "94260caf2fb3f5dbf6e17b29a269b46ea05f8680"
      ],
      "author": {
        "name": "TK MUN",
        "email": "tk.mun@samsung.com",
        "time": "Wed May 25 10:42:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 10:42:07 2011 -0700"
      },
      "message": "am 94260caf: Allow control over search order for tethering upstream interface selection\n\n* commit \u002794260caf2fb3f5dbf6e17b29a269b46ea05f8680\u0027:\n  Allow control over search order for tethering upstream interface selection\n"
    },
    {
      "commit": "94260caf2fb3f5dbf6e17b29a269b46ea05f8680",
      "tree": "16afdf2b64061a927de7b0c0c49c7a250fa0a068",
      "parents": [
        "c9cd2387b6938a6fbefc731d2177902266f2a130"
      ],
      "author": {
        "name": "TK MUN",
        "email": "tk.mun@samsung.com",
        "time": "Wed May 18 18:30:48 2011 +0900"
      },
      "committer": {
        "name": "Simon Wilson",
        "email": "simonwilson@google.com",
        "time": "Wed May 25 10:32:06 2011 -0700"
      },
      "message": "Allow control over search order for tethering upstream interface selection\n\nChange-Id: If02c9b2bb61b68ebafafadc23ba17a332bc8004f\nSigned-off-by: TK MUN \u003ctk.mun@samsung.com\u003e\n"
    },
    {
      "commit": "b5b1fb25853eb2e00f981d3b0bb52acd50684c4f",
      "tree": "00f0ba0a582ea20541eb075827472d33231138ea",
      "parents": [
        "e372c17ba76163018cbc1b6972c9e6b0a8a8b5f4",
        "ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 24 14:26:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 24 14:26:18 2011 -0700"
      },
      "message": "Merge \"Support wrapping app processes to inject debug instrumentation. Bug: 4437846\""
    },
    {
      "commit": "7cc9ee2676d3e892945d2096b18739802d5179e1",
      "tree": "50dd106df6162f8ff90c49e7e966f8047474a42a",
      "parents": [
        "942bc252ce7dbd229e28ee3a44dc94e1dd0b0d90",
        "859443f2a4d6a2b72c3e9c75720d32d4e4c09489"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 24 12:57:17 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 24 12:57:17 2011 -0700"
      },
      "message": "am 859443f2: am c0d9834a: am 5d78e0b8: Merge \"GPS: Change NTP polling interval from 4 to 24 hours\" into honeycomb-mr2\n\n* commit \u0027859443f2a4d6a2b72c3e9c75720d32d4e4c09489\u0027:\n  GPS: Change NTP polling interval from 4 to 24 hours\n"
    },
    {
      "commit": "9fd4c6d3aeea46820c7ab637b0bc6556b798bc2b",
      "tree": "daeccd1270d7bec3f9a9caa944a249d8d996c43f",
      "parents": [
        "aa9fff8cb457cb5330390dcd82868a0f480a26fe",
        "49b9449b6605c7b4f77f9a0635ba93f7dfa0ea47"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 24 12:56:56 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 24 12:56:56 2011 -0700"
      },
      "message": "am 49b9449b: am d8d84708: am 988b6648: Merge \"MountService: Add StorageVolume as extra in storage related broadcasts.\" into honeycomb-mr2\n\n* commit \u002749b9449b6605c7b4f77f9a0635ba93f7dfa0ea47\u0027:\n  MountService: Add StorageVolume as extra in storage related broadcasts.\n"
    },
    {
      "commit": "ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3",
      "tree": "ae346479a6c069a3a57acecb18a0b0a563325e3f",
      "parents": [
        "cbc38e74f028d9e337eba0f3ed7c435310cc10c2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 16 17:08:42 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 24 12:01:25 2011 -0700"
      },
      "message": "Support wrapping app processes to inject debug instrumentation.\nBug: 4437846\n\nChange-Id: I4552501c693716b14714afb5c5248edaca9547ab\n"
    },
    {
      "commit": "0601eb7953cbf77d92826bef3ca37e208d922de7",
      "tree": "2c03cf6044b025e951648a6ea42577f3292e8f33",
      "parents": [
        "52ee3eb4ebf108e593cc85b79d0aa1f651c69e35"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Apr 13 01:01:32 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Tue May 24 10:28:52 2011 -0400"
      },
      "message": "Framework support for Android Dreams.\n\nA Dream is an activity that is launched by the window\nmanager after a specified idle time. You might think of this\nas a \"screen saver\", but with the same capacity for\ninteractivity as any other application.\n\nThe window manager maintains a timer (like the screen lock\ntimer) that is reset on userActivity; the timer is suspended\nduring wakelocks and when the screen is off.\n\nWhen the timer elapses, the user\u0027s preferred dream module is\nlaunched (by reading Settings.Secure.DREAM_COMPONENT, which\nis configured through the Settings app UI).\n\nLike a dock app, the user can install new dreams and a\nsingle application package may contain multiple dream\nactivities. Unlike the dock mode, however, there is no\n\"screensaver mode\" for the system to manage. This allows us\nto offer the user the ability to run a dream at any time, in\naddition to making the overall mechanism quite simple.\n\nThere is no public API for this facility.\n\nThere is, however, a useful/recommended base class for dream\nactivities in the support library (change I4559a958).\n\nChange-Id: Ied691856f88cfa38a7aca496d015f9a595da72f2\n"
    },
    {
      "commit": "859443f2a4d6a2b72c3e9c75720d32d4e4c09489",
      "tree": "a9b6b7d3d47430edbe56f6236388aa33ca0923c7",
      "parents": [
        "fcdbcf9174f7a5404da4514b71041c3d37692d15",
        "c0d9834a1c6dd8d9cd0b7fe9b50495578c104405"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 23 18:45:17 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 23 18:45:17 2011 -0700"
      },
      "message": "am c0d9834a: am 5d78e0b8: Merge \"GPS: Change NTP polling interval from 4 to 24 hours\" into honeycomb-mr2\n\n* commit \u0027c0d9834a1c6dd8d9cd0b7fe9b50495578c104405\u0027:\n  GPS: Change NTP polling interval from 4 to 24 hours\n"
    },
    {
      "commit": "a4620793038b9a9163b26c6ece882cb454fcbf87",
      "tree": "450e8f355658bcc56bf19dc00f8c63d3464cb69f",
      "parents": [
        "442fa21e98835ceb966f196906907eb236d38d65"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 20 15:29:23 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 23 18:39:56 2011 -0700"
      },
      "message": "Observe screen on/off events in NetworkPolicy.\n\nThe POLICY_REJECT_BACKGROUND policy requires that network traffic be\nblocked when a UID goes into the background.  Even if the UID has an\nactivity in the foreground, it\u0027s considered \"background\" if the screen\nis turned off.\n\nThis changes watches for SCREEN_ON/OFF broadcasts, and rule generation\nnow observes screen state.  It also introduces an observer pattern so\nthat ActivityManager doesn\u0027t directly know about NetworkPolicy, and\nmoves the service management into SystemServer.\n\nChange-Id: Ie7a84929d3ca60ae4578d47e19d5a8da10fd8d58\n"
    },
    {
      "commit": "442fa21e98835ceb966f196906907eb236d38d65",
      "tree": "8a343e88f27371e0b02f0f25df869e38e079b779",
      "parents": [
        "9ddcdd98d97b2d5026d62d2b60c8582515381eaf",
        "eedcb9525ba5befee2ba6ebb7a9ee3f13395c2a3"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 23 18:38:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 23 18:38:04 2011 -0700"
      },
      "message": "Merge \"APIs to profile network usage for current UID.\""
    }
  ],
  "next": "c0d9834a1c6dd8d9cd0b7fe9b50495578c104405"
}
