)]}'
{
  "log": [
    {
      "commit": "19862bf5d058b6ab0c2979e7a5e0297dae6b170b",
      "tree": "9a7c9f07a90ebfac513267b7af45708c14eb1ff2",
      "parents": [
        "61ee0bbb5b87fb5c4c3dc219868d52743def3d2b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jun 02 17:38:22 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 07 23:54:28 2011 -0700"
      },
      "message": "Compute range-based usage in NetworkStatsHistory.\n\nWhen given a start/end range, interpolate between buckets to return\nthe total network usage.  Used to summarize detailed UID stats.  Method\nto combine NetworkStatsHistory regardless of bucket size.  Used to\ncombine all histories matching a template.\n\nAdded tests for both methods.\n\nChange-Id: Ia463910c0ecf7cf08dcf97c658ad99742bd6b882\n"
    },
    {
      "commit": "61ee0bbb5b87fb5c4c3dc219868d52743def3d2b",
      "tree": "94f09295cd2ce955d7d4c36cf9796e4fd0b2cd6d",
      "parents": [
        "d2a458750e5a3d490af09cecb5c28370baf0a913"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun May 29 22:50:42 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 07 23:43:46 2011 -0700"
      },
      "message": "UID network stats, secure settings, and random.\n\nCollect UID-granularity network stats during regular poll event.  Add\ndumpsys argument to generate fake historical data for debugging, and\nmove stats parameters to Settings.Secure.\n\nChange-Id: I09b36a2955dc10c697d4b9c3ff23dcb3ac37bd70\n"
    },
    {
      "commit": "d2a458750e5a3d490af09cecb5c28370baf0a913",
      "tree": "72881850dcc70e3b74c52be52ec4858c96a98a8e",
      "parents": [
        "dd82b85677b3556776dbf023ad4fdc22cf075523"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat May 28 20:56:34 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 07 23:09:25 2011 -0700"
      },
      "message": "Map network identity using ConnectivityService.\n\nInstead of deriving network identity based on raw subsystem broadcasts,\nlisten for updates from ConnectivityService.  Added atomic view of all\nactive NetworkState, and build map from \"iface\" to NetworkIdentity set\nfor stats tracking.\n\nTo avoid exposing internal complexity, INetworkStatsService calls use\ngeneral templates.  Added TelephonyManager mapping to classify network\ntypes using broad labels like \"3G\" or \"4G\", used to drive templates.\n\nCleaned up Objects and Preconditions.\n\nChange-Id: I1d4c1403f0503bc3635a59bb378841ba42239a91\n"
    },
    {
      "commit": "dd82b85677b3556776dbf023ad4fdc22cf075523",
      "tree": "bc6495e7d85ffe1a405c721c6b22b54fd4a2b8dd",
      "parents": [
        "061136c8d87f3c28837bac09d2c16d22b22762fb",
        "00f7b3f76515d1c6fbe5cf9fee9d3760787c03cd"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jun 07 19:29:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 07 19:29:20 2011 -0700"
      },
      "message": "Merge \"Crash in the TouchExplorer\""
    },
    {
      "commit": "00f7b3f76515d1c6fbe5cf9fee9d3760787c03cd",
      "tree": "21145bcb8b29b55082d78de6ffac58fcbb8e8d7c",
      "parents": [
        "c8307c885f8462f2baf9f06c9916d1521f7fdcfb"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jun 07 19:24:10 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jun 07 19:27:56 2011 -0700"
      },
      "message": "Crash in the TouchExplorer\n\n1. No clearing the last touch explore event in all cases\n   when transitioning to another mode.\n\n2. Incorrectly assuming the the action index of an up/down\n   events is 0.\n\nbug:4551506\n\nChange-Id: I43f8e800b54a340968489dc924a539795a9195cb\n"
    },
    {
      "commit": "5bc7c93ca7a40827120f232deca996630cd58a39",
      "tree": "4f32a87847bd49220fbc2215315767ccb7bf29f1",
      "parents": [
        "0e9e03f554a3cc7842035d043d50d97ade045382",
        "008ff39b7cb1a1f80f29595459fd82a55ce52b83"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Jun 07 18:18:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 07 18:18:56 2011 -0700"
      },
      "message": "Merge \"Do not register the callbacks in the constructor.\""
    },
    {
      "commit": "774ed9d9537c15482e8baca2f2890c5d2f4ffe75",
      "tree": "a22195f0a2d7e97ce86126610a0ece0d9f579460",
      "parents": [
        "f5969553727e7a9058820291439403bb3f9b327f",
        "8b2c00144ac262a6fbdbbac1ed8dfe813b883f81"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 07 17:48:39 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 07 17:48:39 2011 -0700"
      },
      "message": "resolved conflicts for merge of 8b2c0014 to master\n\nChange-Id: I33a5a2949dc6c2d09e8196ba8c7128caa7ac2361\n"
    },
    {
      "commit": "f5969553727e7a9058820291439403bb3f9b327f",
      "tree": "d5fcf06d381e9b7e127fd0896b5b7a0ef5fcd068",
      "parents": [
        "48076da85cfd0c68214b719167c958dae6a25ebd",
        "5e4d0206486378ffc7d2992750e439d54df15147"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Jun 07 17:19:02 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 07 17:19:02 2011 -0700"
      },
      "message": "am 5e4d0206: am b400184a: Merge \"Handle AsyncChannel disconnect in WifiService\" into honeycomb-LTE\n\n* commit \u00275e4d0206486378ffc7d2992750e439d54df15147\u0027:\n  Handle AsyncChannel disconnect in WifiService\n"
    },
    {
      "commit": "aefc94f19acc29ae9b6abc32dcdbb2ff453984cb",
      "tree": "de3da56c1f781b6e713f553d1535637c64f6112d",
      "parents": [
        "f18e311ee5d35db0cae96f0b216a88e5b42604dc",
        "4bd505883df3d8ca7583d854f1c71302c615519d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 07 17:18:16 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 07 17:18:16 2011 -0700"
      },
      "message": "am 4bd50588: am fc3fa5dc: am 1b405592: Merge \"Fix issue #4539687: At least one compatibility-mode app (Androminion)...\" into honeycomb-mr2\n\n* commit \u00274bd505883df3d8ca7583d854f1c71302c615519d\u0027:\n  Fix issue #4539687: At least one compatibility-mode app (Androminion)...\n"
    },
    {
      "commit": "ba4b2faa0991ce4797fbc19270a5554eaa895588",
      "tree": "5b62c2f9858c9c3a85f5e04e02c7af3887ba68b9",
      "parents": [
        "2391a983149a0838e37a64ce85a2c19382a1311b",
        "3f6c77b7caa02193205cb6ce180e0eb5a7579aa6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 07 15:20:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 07 15:20:34 2011 -0700"
      },
      "message": "Merge \"Fix embedded spaces in tar stream EVEN HARDER\""
    },
    {
      "commit": "2391a983149a0838e37a64ce85a2c19382a1311b",
      "tree": "6fc6dd0fdbc4ee829d7912de45f7011126bf513a",
      "parents": [
        "0df77e6d4283ee0ab2e636419b7e8c1a191371da",
        "5ea65d609f0c8e1e3a1dcd192c4058aa2ccf3212"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Jun 07 15:16:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 07 15:16:00 2011 -0700"
      },
      "message": "Merge \"Update walled garden detection logic\""
    },
    {
      "commit": "5ea65d609f0c8e1e3a1dcd192c4058aa2ccf3212",
      "tree": "3ade7c456a6e3a323d9dc30d7ac88ca17482b95a",
      "parents": [
        "40f4efe712b375cf0421f4651abbc703595d9d47"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sun Jun 05 21:29:56 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Jun 07 15:10:58 2011 -0700"
      },
      "message": "Update walled garden detection logic\n\nDNS based techniques dont always work. Some hotspots\nredirect on data fetch on IP. Use a known pattern match\non URL to detect a walled garden instead.\n\nAlso, added gservices capability to turn off the feature\nor change the URL \u0026 the pattern to match\n\nBug: 4378442\nChange-Id: I78b4208d3ea3ace20069169e7c01ed769892d94d\n"
    },
    {
      "commit": "3f6c77b7caa02193205cb6ce180e0eb5a7579aa6",
      "tree": "f811ac1b87ff6368b62db25eca407badb37f0a81",
      "parents": [
        "65abc4531f1222ffa04350a3afc6d61fcc77b2a3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 07 13:17:17 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 07 13:17:17 2011 -0700"
      },
      "message": "Fix embedded spaces in tar stream EVEN HARDER\n\nChange-Id: I97ac586ff3541a05d73e1e53f680517c15e6c662\n"
    },
    {
      "commit": "65abc4531f1222ffa04350a3afc6d61fcc77b2a3",
      "tree": "933c9e581180dac18434f1573e3a8b88984d1bdd",
      "parents": [
        "ffccff0864a39f59b7ec378c4cf69737a01b8599",
        "8e8b280bd19fa6cb69bb19e1d90cf03a47ba2d72"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 07 12:44:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 07 12:44:52 2011 -0700"
      },
      "message": "Merge \"StorageVolume: Add allowMassStorage flag\""
    },
    {
      "commit": "8e8b280bd19fa6cb69bb19e1d90cf03a47ba2d72",
      "tree": "aeda095d802b63fc00a69d51e918d1ee67dce94e",
      "parents": [
        "7e4db3767b1338dd9f2c09a3f6453abd656c977f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 07 08:03:33 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jun 07 12:43:49 2011 -0700"
      },
      "message": "StorageVolume: Add allowMassStorage flag\n\nChange-Id: I9d19e635bb06e50068d7e4e6919322bd5bb2e00f\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b0628bfd5aac480a0d412ac96b8af1d97ac01c30",
      "tree": "1b7854cfc31f7f25ec1879e1d83192ed2b7f5244",
      "parents": [
        "5c54f4b3cb6d0e402a0db122f741b488ef95792c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 02 15:08:13 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 07 12:16:27 2011 -0700"
      },
      "message": "Implement shared-storage full backup/restore\n\nEvery available shared-storage volume is backed up, tagged with its\nordinal in the set of mounted shared volumes.  This is an approximation\nof \"internal + the external card\".  This lets us restore things to the\nsame volume [or \"equivalent\" volume, in the case of a cross-model\nrestore] as they originated on.\n\nAlso fixed a bug in the handling of files/dirs with spaces in\ntheir names.\n\nChange-Id: I380019da8d0bb5b3699bd7c11eeff621a88e78c3\n"
    },
    {
      "commit": "8b2c00144ac262a6fbdbbac1ed8dfe813b883f81",
      "tree": "44a649adea82169ad9659e51b9f0e4306b28433a",
      "parents": [
        "5e4d0206486378ffc7d2992750e439d54df15147",
        "b3536145725250401d25ffa00cda85d222dfc21e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:34:38 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 06 20:34:38 2011 -0700"
      },
      "message": "am b3536145: am ed48fa89: Merge \"Touch pad improvements. Bug: 4124987\" into honeycomb-mr2\n\n* commit \u0027b3536145725250401d25ffa00cda85d222dfc21e\u0027:\n  Touch pad improvements. Bug: 4124987\n"
    },
    {
      "commit": "5e4d0206486378ffc7d2992750e439d54df15147",
      "tree": "6f624f289f48f23347ad754080ff3ef06452b5b5",
      "parents": [
        "c3709f2509bfc15d13a590b8342503f858ee67e2",
        "b400184ad6277676048a30b042ed0667de662ad8"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Jun 06 20:34:35 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 06 20:34:35 2011 -0700"
      },
      "message": "am b400184a: Merge \"Handle AsyncChannel disconnect in WifiService\" into honeycomb-LTE\n\n* commit \u0027b400184ad6277676048a30b042ed0667de662ad8\u0027:\n  Handle AsyncChannel disconnect in WifiService\n"
    },
    {
      "commit": "b3536145725250401d25ffa00cda85d222dfc21e",
      "tree": "93b59c5c04aab3a428f7ebf7f3d24456ed63ec9a",
      "parents": [
        "b400184ad6277676048a30b042ed0667de662ad8",
        "ed48fa89a8e31b04681347a9235c2a566e7dbb8e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:32:25 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 06 20:32:25 2011 -0700"
      },
      "message": "am ed48fa89: Merge \"Touch pad improvements. Bug: 4124987\" into honeycomb-mr2\n\n* commit \u0027ed48fa89a8e31b04681347a9235c2a566e7dbb8e\u0027:\n  Touch pad improvements. Bug: 4124987\n"
    },
    {
      "commit": "b400184ad6277676048a30b042ed0667de662ad8",
      "tree": "0a8d601da54df2a7f19805ba585a503f22c8d83b",
      "parents": [
        "277bfd7cdd889e4f59e57925b90d1899f7312c4e",
        "6da83d5868907f64658d51f6a59261ed16c386a1"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Jun 06 20:31:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 06 20:31:55 2011 -0700"
      },
      "message": "Merge \"Handle AsyncChannel disconnect in WifiService\" into honeycomb-LTE"
    },
    {
      "commit": "ed48fa89a8e31b04681347a9235c2a566e7dbb8e",
      "tree": "7f263849b561d892ddbf422a5ffeca34d0f7bff0",
      "parents": [
        "c1830a77a7fe0f1ccd52f405cb076d40fe085e2f",
        "bb3fcba0caf697f1d238a2cbefdf1efe06eded99"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:30:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 06 20:30:47 2011 -0700"
      },
      "message": "Merge \"Touch pad improvements. Bug: 4124987\" into honeycomb-mr2"
    },
    {
      "commit": "bb3fcba0caf697f1d238a2cbefdf1efe06eded99",
      "tree": "61dccaf85759b22557e978672b81bd686089e087",
      "parents": [
        "7f5b99676f2fda710c2182cae16f6b9094a1d98c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 19:23:05 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 19:23:05 2011 -0700"
      },
      "message": "Touch pad improvements.\nBug: 4124987\n\nOnly show one spot per touch point instead of one spot per\nfinger for multitouch gestures.\n\nTweaked the pointer acceleration curves.\n\nDissociated the hover/tap timeouts from the \"tap\" timeout\nsince they mean very different things.\n\nChange-Id: I7c2cbd30feeb65ebc12f6c7e33a67dc9a9f59d4c\n"
    },
    {
      "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": "4bd505883df3d8ca7583d854f1c71302c615519d",
      "tree": "2d5bbe485d7851a21d9014e9803107a1e9a72fce",
      "parents": [
        "abc838716816107754ab0479242d03807ce79fc2",
        "fc3fa5dc1045a8f25fc1982443e05873edf028df"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 06 18:18:34 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 06 18:18:34 2011 -0700"
      },
      "message": "am fc3fa5dc: am 1b405592: Merge \"Fix issue #4539687: At least one compatibility-mode app (Androminion)...\" into honeycomb-mr2\n\n* commit \u0027fc3fa5dc1045a8f25fc1982443e05873edf028df\u0027:\n  Fix issue #4539687: At least one compatibility-mode app (Androminion)...\n"
    },
    {
      "commit": "fc3fa5dc1045a8f25fc1982443e05873edf028df",
      "tree": "07a08cd75d0a9aa01aec6bd516ee14339fe0a253",
      "parents": [
        "f6e479993e7c85265692829990ceb3879fbce424",
        "1b405592550c719aa5dd93178705ae08b4e84a2f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 06 17:33:59 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 06 17:33:59 2011 -0700"
      },
      "message": "am 1b405592: Merge \"Fix issue #4539687: At least one compatibility-mode app (Androminion)...\" into honeycomb-mr2\n\n* commit \u00271b405592550c719aa5dd93178705ae08b4e84a2f\u0027:\n  Fix issue #4539687: At least one compatibility-mode app (Androminion)...\n"
    },
    {
      "commit": "bc7386c2615a7c496deea59ac1b5ab2da7f7b61f",
      "tree": "bf516f86e63fda1be81f68d9b9878ace8191731f",
      "parents": [
        "b16b020dd32147fbaaf7de47d5de16bfee10967a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 06 17:27:54 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 06 17:29:10 2011 -0700"
      },
      "message": "Fix issue #4539687: At least one compatibility-mode app (Androminion)...\n\n...will only launch when held in portrait mode.\n\nThere was a bug in the window manager that caused all of the careful code to\nupdate the configuration in sync with movements between activities to break.\nNow it is fixed, so this app works, and we no longer see the bad slow orientation\nchanges when switching between activities that want to be in different\norientations.\n\nChange-Id: I5d93f99649849bdaca2e8bebade6b91b8b6cf645\n"
    },
    {
      "commit": "6da83d5868907f64658d51f6a59261ed16c386a1",
      "tree": "b3d8f491a01853c4ac7ba3b6fba3fb7708498fa2",
      "parents": [
        "e9d32283e4eca1ee27218ed66f754a694678ac6d"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Jun 06 12:54:06 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Jun 06 15:17:58 2011 -0700"
      },
      "message": "Handle AsyncChannel disconnect in WifiService\n\nBackport change I928544a0 to LTE branch and also handle\ndisconnect on WifiStateMachine channel\n\nBug: 4473750\nChange-Id: I556330c10243a1805555f6bf6dcc7e43b78e3bfd\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.\""
    }
  ],
  "next": "42c5a1666c4e576ccd5974233513100aad2c1534"
}
