)]}'
{
  "log": [
    {
      "commit": "497e4437af386930dff3bd55296d128bd4520959",
      "tree": "5e645f890e7a5072075de10255e7b032dcf1e12e",
      "parents": [
        "484a6c5b2495b2e1381d3867715239f8436ba373"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 14 17:27:29 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 14 22:43:08 2011 -0700"
      },
      "message": "Data usage warning and limit notifications.\n\nWatch for network statistics to cross NetworkPolicy warning or limit,\nand show notifications to user as needed.  Currently checks during\nany statistics update, but will eventually move to event registration\nthrough netd when kernel supports.\n\nFixed accounting bug in getSummaryForNetwork().  Only apply UID policy\nto applications; applying to system processes could break critical\nservices like RIL.\n\nChange-Id: Iac0f20e910e205f3cbc54ec96395ff268b1aa379\n"
    },
    {
      "commit": "5ab3cbc9d817587ad5ded30828dc3b05892862e7",
      "tree": "acd197b43f573074b2528a69f617830779e1f0ec",
      "parents": [
        "024ebbd129ae7cd25e84ae5489c08e66a2afa055",
        "474dcb5c3ddff737c4ac9fc44a1f7be569605e5f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 14 22:08:49 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 14 22:08:50 2011 -0700"
      },
      "message": "Merge \"Add support for disabling pointer gestures.\""
    },
    {
      "commit": "474dcb5c3ddff737c4ac9fc44a1f7be569605e5f",
      "tree": "5fc1710768966b240ded5e6e62e51f77d7e57c55",
      "parents": [
        "93fa9b30b91f75ee161d0791ff17f98d1a603812"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 14 20:22:50 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 14 22:07:31 2011 -0700"
      },
      "message": "Add support for disabling pointer gestures.\n\nMade it possible for individual windows to disable pointer gestures\nwhile the window has focus using a private API.\n\nCleaned up the InputReader configuration code to enable in-place\nreconfiguration of input devices without having to reopen them all.\nThis change makes changing the pointer speed somewhat nicer since the\npointer doesn\u0027t jump back to the origin after each change.\n\nChange-Id: I9727419c2f4cb39e16acb4b15fd7fd84526b1239\n"
    },
    {
      "commit": "475deae9a8f074c76b3f31cc43c2250a1cf91439",
      "tree": "9eacb031b6657fcd31e8384c700464afce1bfb45",
      "parents": [
        "c04c457eb7783a98fa452449484a818dbb7e0b45",
        "d00bebb005794afc739f54ff21c6ffd7c866738a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 21:53:25 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 14 21:53:25 2011 -0700"
      },
      "message": "am d00bebb0: am abe5bd23: am a9551706: Testing done, compatibility mode no longer on by default.\n\n* commit \u0027d00bebb005794afc739f54ff21c6ffd7c866738a\u0027:\n  Testing done, compatibility mode no longer on by default.\n"
    },
    {
      "commit": "d00bebb005794afc739f54ff21c6ffd7c866738a",
      "tree": "58e1f87eb9edeb61cbbef6c8fcd86a9192238428",
      "parents": [
        "27bad6f33b98e8d7417a6ce4d7f09b2fa1146379",
        "abe5bd23c341da035e9905d9e50c1d6bccf229dc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 21:50:56 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 14 21:50:56 2011 -0700"
      },
      "message": "am abe5bd23: am a9551706: Testing done, compatibility mode no longer on by default.\n\n* commit \u0027abe5bd23c341da035e9905d9e50c1d6bccf229dc\u0027:\n  Testing done, compatibility mode no longer on by default.\n"
    },
    {
      "commit": "abe5bd23c341da035e9905d9e50c1d6bccf229dc",
      "tree": "ca1fe885b0b2c61ef874b603afd36a0324851711",
      "parents": [
        "baa89d3839f70bd31e5219c636ac24a4cc29928d",
        "a9551706a279a798c91d8ef593b2acb16a30c682"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 21:47:51 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 14 21:47:51 2011 -0700"
      },
      "message": "am a9551706: Testing done, compatibility mode no longer on by default.\n\n* commit \u0027a9551706a279a798c91d8ef593b2acb16a30c682\u0027:\n  Testing done, compatibility mode no longer on by default.\n"
    },
    {
      "commit": "a9551706a279a798c91d8ef593b2acb16a30c682",
      "tree": "cc373175230194eeea5dd7b7dfe99b336b839e06",
      "parents": [
        "f930232fd1c8d301d91853c8fe5dca43979ac807"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 21:05:03 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 21:05:03 2011 -0700"
      },
      "message": "Testing done, compatibility mode no longer on by default.\n\nChange-Id: I5bcc98d2b3a1a02ca788ab61440f0aa5d4f7fb4e\n"
    },
    {
      "commit": "15856f7b62d06d968f57441ffe7dd31aac631952",
      "tree": "2f0c0b8991e27a05eee83dc16fb8145dc1d86230",
      "parents": [
        "30d71a05aaffadd0da1ff3c715a46dab5b645645",
        "27bad6f33b98e8d7417a6ce4d7f09b2fa1146379"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 21:01:45 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 14 21:01:45 2011 -0700"
      },
      "message": "am 27bad6f3: am baa89d38: am f930232f: Fix a major problem in fragment lifecycle.\n\n* commit \u002727bad6f33b98e8d7417a6ce4d7f09b2fa1146379\u0027:\n  Fix a major problem in fragment lifecycle.\n"
    },
    {
      "commit": "27bad6f33b98e8d7417a6ce4d7f09b2fa1146379",
      "tree": "4e43e99e36414077fd05309932ff51d226e530a8",
      "parents": [
        "ca2832bc60b986db245ced0e4a2b8a77d4982f32",
        "baa89d3839f70bd31e5219c636ac24a4cc29928d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 20:57:48 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 14 20:57:48 2011 -0700"
      },
      "message": "am baa89d38: am f930232f: Fix a major problem in fragment lifecycle.\n\n* commit \u0027baa89d3839f70bd31e5219c636ac24a4cc29928d\u0027:\n  Fix a major problem in fragment lifecycle.\n"
    },
    {
      "commit": "baa89d3839f70bd31e5219c636ac24a4cc29928d",
      "tree": "80fad68d9f4557218b2c5e8715cdb20dd09466c7",
      "parents": [
        "027e9e28b2880b8e50912d7c25e68e8f196bb66b",
        "f930232fd1c8d301d91853c8fe5dca43979ac807"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 20:54:40 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 14 20:54:40 2011 -0700"
      },
      "message": "am f930232f: Fix a major problem in fragment lifecycle.\n\n* commit \u0027f930232fd1c8d301d91853c8fe5dca43979ac807\u0027:\n  Fix a major problem in fragment lifecycle.\n"
    },
    {
      "commit": "f930232fd1c8d301d91853c8fe5dca43979ac807",
      "tree": "6609c0215f9888761749d4f96d088e604c9bca18",
      "parents": [
        "4e04380d0a42347013808ee2058c786582ad548f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 18:36:14 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 20:47:44 2011 -0700"
      },
      "message": "Fix a major problem in fragment lifecycle.\n\nWhen animating away a fragment, we were not putting it through\nthe last part of its lifecycle (onDestroy() etc).\n\nAlso, retained fragments that have a target were broken.  Oops.\n\nChange-Id: I5a669b77a2f24b581cde2a0959acf62edb65e326\n"
    },
    {
      "commit": "3fe9cc5ea6a9e1acd52144c8ae6cb0492dba34ba",
      "tree": "5383392d0134c178b9704fc78b0b69f7e285d058",
      "parents": [
        "051d16ebec491f7ab504672f561e97b7e850eb1e",
        "e95c07bd8a4f658e035ba0ed2079357961af011b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 16:13:26 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 16:13:26 2011 -0700"
      },
      "message": "resolved conflicts for merge of e95c07bd to master\n\nChange-Id: I9af0c08a9f1c1f68661efe051a66835e850b76f6\n"
    },
    {
      "commit": "e95c07bd8a4f658e035ba0ed2079357961af011b",
      "tree": "a169e1928d1495ea24681a13696a08f6149c0b71",
      "parents": [
        "398d021b2f94561609e81fc1f1bdf7c1313cb3e2",
        "7c7f8e18dee8b582ec8e30a1412903ceec2ef5f5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 15:22:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 14 15:22:12 2011 -0700"
      },
      "message": "am 7c7f8e18: am 0a8a2324: Merge \"Fix issue #4603422: Compatibility mode button doesn\\\u0027t always update\" into honeycomb-mr2\n\n* commit \u00277c7f8e18dee8b582ec8e30a1412903ceec2ef5f5\u0027:\n  Fix issue #4603422: Compatibility mode button doesn\u0027t always update\n"
    },
    {
      "commit": "7c7f8e18dee8b582ec8e30a1412903ceec2ef5f5",
      "tree": "cdae55d66a1b31a725cbb84e1472201cd487955c",
      "parents": [
        "5d730c9237fdf3252a9aa0c01c1653bae69f4f39",
        "0a8a2324239d7604e2a68349585aa67b59b25f4c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 15:14:34 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 14 15:14:34 2011 -0700"
      },
      "message": "am 0a8a2324: Merge \"Fix issue #4603422: Compatibility mode button doesn\\\u0027t always update\" into honeycomb-mr2\n\n* commit \u00270a8a2324239d7604e2a68349585aa67b59b25f4c\u0027:\n  Fix issue #4603422: Compatibility mode button doesn\u0027t always update\n"
    },
    {
      "commit": "7d04932ef5c001769ccef244f551b75773f1666b",
      "tree": "4befb1901bbeadb7336811941301ed09dd19f444",
      "parents": [
        "700a1f25719138b94c453beb6325e627a11a9883"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 15:00:32 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 15:05:16 2011 -0700"
      },
      "message": "Fix issue #4603422: Compatibility mode button doesn\u0027t always update\n\nWe now tell the system bar every time the top activity has changed for\nit to re-evaluate its UI state.\n\nAlso fix issue #: 4607102 Low rider notifications.  It turns out this\nwas due to the change in the dialog asset; the notification UI was relying\non this having a lot of padding to make it sit above the status bar.\nNow we have an explicitly mechanism to set how much it overlaps (or doesn\u0027t)\nthe status bar.\n\nChange-Id: Iab5ebd86e620ff4fc4cd77206e18af962ec2830e\n"
    },
    {
      "commit": "fcc79771f092f34505b1accb80365cbcaa379667",
      "tree": "d63a6b976835dd636be22c65207e0ced586cf6fe",
      "parents": [
        "8a8743efa422ccb8338b439ec972b797c9f7db47"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jun 13 22:28:34 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jun 13 22:28:34 2011 -0700"
      },
      "message": "Generate default policy for devices without IMSI.\n\nChange-Id: I38500919ea60f78d99684608589c8fc3092bf239\n"
    },
    {
      "commit": "82f0a85c3ba81cb6932d956c1c8cc5a99e89052a",
      "tree": "8ebf9a6ee42192b262f44732e9495b06277c04e0",
      "parents": [
        "ad4e03d6978054db19f1267af2b8c1072272f3fe",
        "541c9949ae9c05636d3e0442aa5080815121a042"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jun 13 19:22:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 19:22:29 2011 -0700"
      },
      "message": "Merge \"Move adb related functionality from SystemServer and NotificationManagerService to UsbDeviceManager\""
    },
    {
      "commit": "541c9949ae9c05636d3e0442aa5080815121a042",
      "tree": "c2ed45bfc0f28f9cb5cc68c1bca24c9b393834b8",
      "parents": [
        "4a97122ebf4d92a3f94402041729d77905e6c0c0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Jun 12 19:35:45 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jun 13 22:20:06 2011 -0400"
      },
      "message": "Move adb related functionality from SystemServer and NotificationManagerService to UsbDeviceManager\n\nChange-Id: I9e64b54bc2d027d88ae2d2cd893068e29b6fe237\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "26cfe80fe168f8cecea6a9eab697c80f1efeccce",
      "tree": "329129731dcafd61defe4a575ec6efd8eca0c436",
      "parents": [
        "716a38adcbc3ce61238e2c866d8cf865a3522518",
        "3663227a8be5c6c05bf4adadc378fd69b7ae814c"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jun 13 15:08:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 15:08:43 2011 -0700"
      },
      "message": "Merge \"VPN: add MTU support.\""
    },
    {
      "commit": "3663227a8be5c6c05bf4adadc378fd69b7ae814c",
      "tree": "d358db75f7ea6f012725347b577e7772743f84fe",
      "parents": [
        "36673698078cb47e777418cadc4115a65bc5947d"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jun 13 15:05:37 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jun 13 15:05:37 2011 -0700"
      },
      "message": "VPN: add MTU support.\n\nChange-Id: Ia2f06ae1fcf065bde7dafd212b84b37a34f1a47e\n"
    },
    {
      "commit": "49edc107b593a6e28f8331d563b4fe3b78beb34f",
      "tree": "85f1c290452687b0c0273b476abfff11b69b0f07",
      "parents": [
        "c282401b5729d07a522b35d54f199a0e85fd3f34",
        "36673698078cb47e777418cadc4115a65bc5947d"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jun 13 14:35:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 14:35:12 2011 -0700"
      },
      "message": "Merge \"VPN: use ParcelFileDescriptor.adoptFd() instead of doing it in JNI.\""
    },
    {
      "commit": "36673698078cb47e777418cadc4115a65bc5947d",
      "tree": "0090ea7d9ce1a9f1a1a9024c82bac58816fc6049",
      "parents": [
        "1775a0c866277bf43d3c71008803a61502980cea"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jun 13 14:24:13 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jun 13 14:32:18 2011 -0700"
      },
      "message": "VPN: use ParcelFileDescriptor.adoptFd() instead of doing it in JNI.\n\nThis removes the dependency of android_util_Binder.h.\nThis change also removes some redundant zeroing.\n\nChange-Id: Ie9fedd471dfa198f9a3261e03651f945cefbbf61\n"
    },
    {
      "commit": "c282401b5729d07a522b35d54f199a0e85fd3f34",
      "tree": "65c1870b05c022b5768db62106b423d6dbbb71ea",
      "parents": [
        "2f911b7461b6f421e38778aed391ce55aaa87846",
        "eeee4d2c01d3c4ed99e4891dbc75c7de69a803fa"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 13 14:30:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 13 14:30:30 2011 -0700"
      },
      "message": "Merge \"Final polish of the interrogation feature.\""
    },
    {
      "commit": "af11d4859582a9736aa204562f0beac5a7d60934",
      "tree": "58231807c7ac38064b124297fb9a4f64b04a2855",
      "parents": [
        "22c055e6424e0e9579711545d8f4800c0f796db8"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jun 13 00:14:31 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jun 13 00:14:31 2011 -0700"
      },
      "message": "Fix test-related build breakage.\n\nChange-Id: I48a3dbbdc49d742d6ad19cff34ee8da4b3949bb8\n"
    },
    {
      "commit": "22c055e6424e0e9579711545d8f4800c0f796db8",
      "tree": "516406d2d05c2f47c7a2645cfa487eec01b504db",
      "parents": [
        "4a97122ebf4d92a3f94402041729d77905e6c0c0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Jun 12 21:13:51 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Jun 12 23:21:34 2011 -0700"
      },
      "message": "External mutation of full NetworkPolicy set.\n\nInstead of embedding complex template coexistence rules into policy\nservice, rely on external editors to enforce, and offer atomic\nget/set operations for full policy sets.\n\nGenerate default mobile policy when none exists, using default of 4GB\nwarning and cycle reset of current day.  Dispatch listener events\nthrough Handler when holding internal lock, and catch CLASS_UNKNOWN\nnetworks in 3G_LOWER template.\n\nChange-Id: I063cf1eaf330e32b75d0697b89fc04488e6dfaea\n"
    },
    {
      "commit": "4a97122ebf4d92a3f94402041729d77905e6c0c0",
      "tree": "2dce98de643ebbfe98c06c70b54d743362a900d2",
      "parents": [
        "39ebc2195ed16b9e955dd57f5c95212bb7b934b6"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Jun 11 22:16:55 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Jun 11 22:17:17 2011 -0700"
      },
      "message": "Growable NetworkStats object instead of builder.\n\nNetworkStats now grows in place with arraycopy() instead of callers\nneeding to know record count a priori.  Better growth calculation for\nboth NetworkStats and NetworkStatsHistory; 50% each time.  Better\nestimates of buckets needed in calling services.\n\nChange-Id: I3adbffa0b7407612cc6349d9135a8b4eb63cd440\n"
    },
    {
      "commit": "39ebc2195ed16b9e955dd57f5c95212bb7b934b6",
      "tree": "9ddc7b44606238491b6adc14361c65136875f2fe",
      "parents": [
        "13010be779ba0ff2496709f15f862166d677b547"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Jun 11 17:25:42 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Jun 11 17:55:56 2011 -0700"
      },
      "message": "Persist UID stats, lazy loading, resize buckets.\n\nPersisting detailed UID stats in separate \"netstats_detail.bin\" file\nto enable different schedules for summary and detail polling.  Only\nload detailed UID history on demand, since it\u0027s not needed during\nboot.  Add test to verify UID stats are persisted across simulated\nreboot.\n\nMove external settings into well-named interface, which is still\nbacked by Settings.Secure.  During periodic poll events, resize any\nhistory to match current bucket duration setting.  Test to verify.\n\nChange-Id: I6366f3583a591f8ba859b0e5987daf8cafa4e95a\n"
    },
    {
      "commit": "eeee4d2c01d3c4ed99e4891dbc75c7de69a803fa",
      "tree": "316a5bbeb6b5d98029a0996772dca1857fcb9059",
      "parents": [
        "eaf7ce6067707fcebd58067135376af51858d2e5"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 10 20:51:30 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 10 21:10:46 2011 -0700"
      },
      "message": "Final polish of the interrogation feature.\n\n1. Added a new event type for notifying client accessibilitiy\n   services for changes in the layout. The event is fired at\n   most once for a given time frame and is delivered to clients\n   only if it originates from the window that can be interrogated.\n\n2. Exposed the findByText functionality in AccessibilityNodeInfo.\n   This is very useful for an accessibility service since it allows\n   searching for something the user knows is on the screen thus\n   avoiding touch exploring the content. Touch exploring is\n   excellent for learning the apps but knowing them search is\n   much faster.\n\n3. Fixed a bug causing an accessibiliby service not to receive\n   the event source in case of more than one service is registered\n   and one of them does not have paermission to interrogate the window.\n   The same event was dispatched to multiple services but if one\n   of them does not have interrogation permission the event is\n   modified to remove the source causing subsequent serivices not\n   to get the later.\n\n4. Moved the getSource setSource methods to AccessibilityRecord\n   instead in AccessibilityEvent.\n\n5. Hiden some protected members in AccessibilityRecod which should\n   not be made public since getters exist.\n\n6. Added the View absolute coordinates in the screen to AccessibilityNodeInfo.\n   This is needed for fast computation of relative positions of\n   views from accessibility - common use case for the later.\n\n7. Fixed a couple of marshalling bugs.\n\n8. Added a test for the object contract of AccessibilityNodeInfo.\n\nChange-Id: Id9dc50c33aff441e4c93d25ea316c9bbc4bd7a35\n"
    },
    {
      "commit": "eaf7ce6067707fcebd58067135376af51858d2e5",
      "tree": "24be28b58f0cdbccbac4f44a986f8d8afa3aaace",
      "parents": [
        "57af6e76789c096fc7c7d3c3a8a192f8ee46ccf0",
        "cd2ca4038a027315832c38c68be5076000bc4b53"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 10 19:47:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 10 19:47:31 2011 -0700"
      },
      "message": "Merge \"Move data cycle methods to framework object.\""
    },
    {
      "commit": "cd2ca4038a027315832c38c68be5076000bc4b53",
      "tree": "27018030282a7f5fd1b12608da4e1077a73b8d3e",
      "parents": [
        "21c9c45e5caf62b935354b74392fb40c4bf18529"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 10 15:14:07 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 10 19:45:34 2011 -0700"
      },
      "message": "Move data cycle methods to framework object.\n\nMoved so they can be used by both system service and Settings UI, since\nthey both work with data usage cycles.  Still covered by tests.\n\nChange-Id: I01c0c4db6da9457dd867c9167d31a5f9f8e5f5d9\n"
    },
    {
      "commit": "57af6e76789c096fc7c7d3c3a8a192f8ee46ccf0",
      "tree": "5d595824e69156ea844ab770b1e1cdc21992aa1a",
      "parents": [
        "27e4266a4d63f1b20c632a665e65350bb1eac681",
        "21c9c45e5caf62b935354b74392fb40c4bf18529"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 10 19:41:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 10 19:41:33 2011 -0700"
      },
      "message": "Merge \"Interface-level network policy, persist policies.\""
    },
    {
      "commit": "21c9c45e5caf62b935354b74392fb40c4bf18529",
      "tree": "70af9e90ead6bbb5608cae836b14f98b055b5ded",
      "parents": [
        "b505074e8273887fbcd1e933738a42e770085fb8"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 07 12:26:43 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 10 19:35:20 2011 -0700"
      },
      "message": "Interface-level network policy, persist policies.\n\nDefine NetworkPolicy as cycle-reset day and warning/limit values, and\nset/get through NetworkPolicyManager.  Watch ConnectivityManager for\nnetwork connection events, and apply quota rules based on matching\ninterfaces.  Policy service matches based on strong identity to support\nIMSI-specific policy values.\n\nCalculates remaining quota based on current stats recorded since the\nlast reset cycle day.  Tests to verify edge cases around February.\n\nPersist network and UID policies in XML, and restore on boot.\n\nChange-Id: Id40ba7d6eed6094fbd5e18e6331286c606880d80\n"
    },
    {
      "commit": "bc38d3e44e698f4db749c2feed34e13a94c54a1b",
      "tree": "74bd508d4a2d8b95d68c08149b3d0f476e423683",
      "parents": [
        "ad47ab3524289eee8410f0b93b024c70a1d469fd",
        "24572375323dee79e3b456af07640ca194fd40bf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 10 18:59:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 10 18:59:21 2011 -0700"
      },
      "message": "Merge \"Optimize orientation changes.\""
    },
    {
      "commit": "24572375323dee79e3b456af07640ca194fd40bf",
      "tree": "0a8923e3213aeb18d385e2c7eb2816d7698be49e",
      "parents": [
        "0a2f6640defa14b1bf1753ee2faf7e3d32c259f0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 09 19:05:15 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 10 18:13:30 2011 -0700"
      },
      "message": "Optimize orientation changes.\n\nModified setRotation to allow it to restart a rotation in\nprogress as long as the rotation animation has not yet started.\nThis enables the system to recover more quickly from mispredicted\norientation changes.\n\nRemoved the call to System.gc() when freezing the display, which\nadded 60-80ms before we even started the orientation change.\nWe used to need this to make it less likely that an upcoming GC\nwould cause a pause during the window animation, but this is\nnot longer a concern with the concurrent GC in place.\n\nChanged the wallpaper surface to be 32bit.  This accelerates\ndrawing and improves the overall appearance slightly.\n\nReduced code duplication in the WallpaperManager.\n\nChange-Id: Ic6e5e8bdce4b970b11badddd0355baaed40df88a\n"
    },
    {
      "commit": "2447edd85baac3225a12b868ef40f76cfdc6ec11",
      "tree": "ce3ee08dbdbc8f56af08b9cd4606707e3c71fa05",
      "parents": [
        "d3ee2fa18464fb7e4d7f6d27610fbf60b6d1ffce"
      ],
      "author": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Mon May 09 16:05:33 2011 -0700"
      },
      "committer": {
        "name": "Ben Komalo",
        "email": "benkomalo@google.com",
        "time": "Fri Jun 10 09:37:17 2011 -0700"
      },
      "message": "New device policy to disable camera.\n\nThis introduces a new policy that a DeviceAdmin can use to disable _all_\ncameras on the device. A separate CL will be made on the media side to\nwatch this policy bit and act accordingly.\n\nBug: 4185303\nChange-Id: I700cfc4a8317bb74087ccae39346d74467fc58b2\n"
    },
    {
      "commit": "21e2f1b4a0877ee38f7ba89eb32f585fb34431f3",
      "tree": "bf9894acb7731c45aff01628ec9d11efcdb671ed",
      "parents": [
        "f7728ae964f180081c8e1cb11c01d36e85dc8650",
        "e7c6998e0a953ae55487d4fe122739646f9280aa"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jun 10 00:26:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 10 00:26:52 2011 -0700"
      },
      "message": "Merge \"API to set additional subtypes\""
    },
    {
      "commit": "e7c6998e0a953ae55487d4fe122739646f9280aa",
      "tree": "a173fb870396c4f294883dc5fa50cfac0ea48ca1",
      "parents": [
        "3932aa7ff887007f4ae1e28e47b6775c9ceca566"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jun 03 17:57:59 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jun 10 15:26:03 2011 +0900"
      },
      "message": "API to set additional subtypes\n\nBug: 4321667\n\n- Due to the voice team\u0027s strong request\n\nChange-Id: Ia8bbc277c0987bde996e6f65541877cec96a3ca1\n"
    },
    {
      "commit": "7bbf6f7d11877496502c20e8998a6984ab05cd39",
      "tree": "05bb937ccdb4304842f7953a81c064331e522ace",
      "parents": [
        "e6b03d0979e0bd6dfeda7b45850182c3092bb3e7",
        "8297f669356ee997c5faa745815e8b9a7009fba7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 18:42:55 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 09 18:42:55 2011 -0700"
      },
      "message": "am 8297f669: am 3aabdeac: am 5ba2e872: Merge \"Fix for not reporting correct \"sw\" in compat mode.\" into honeycomb-mr2\n\n* commit \u00278297f669356ee997c5faa745815e8b9a7009fba7\u0027:\n  Fix for not reporting correct \"sw\" in compat mode.\n"
    },
    {
      "commit": "f741e679c496f7345304a6543f01d7048e31d1a7",
      "tree": "e53a3b9f98c16611761a062dc0d60828ce74b365",
      "parents": [
        "aab49b40e8dd78aca67db160f5d0c787379c8f7f",
        "e2aa04908cfdf65ef309f1491f31a0c8846977ff"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 17:50:36 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 17:50:36 2011 -0700"
      },
      "message": "resolved conflicts for merge of e2aa0490 to master\n\nChange-Id: Id0448a1598fc93aca0652b29253e02586e35a067\n"
    },
    {
      "commit": "70a1c1190d19bd8dba912f8901fe529466fa1037",
      "tree": "140d3976e5ae8a4688f12130e1e9b12e29af0c4e",
      "parents": [
        "1a92e1e5d6cbee4723e2aa2a7e7a1d9361b00de8",
        "188cecfdb68996d1e6d48cd3c76ff566a72b378c"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Jun 09 15:47:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 09 15:47:08 2011 -0700"
      },
      "message": "Merge \"WifiWatchdogService refactor\""
    },
    {
      "commit": "188cecfdb68996d1e6d48cd3c76ff566a72b378c",
      "tree": "00416faf6783786895dcf4b82675a4358323f0bb",
      "parents": [
        "c76c55af9b4772efc90ea476f8646db4ccffb95f"
      ],
      "author": {
        "name": "Isaac Levy",
        "email": "ilevy@google.com",
        "time": "Wed Jun 08 13:38:24 2011 -0700"
      },
      "committer": {
        "name": "Isaac Levy",
        "email": "ilevy@google.com",
        "time": "Thu Jun 09 13:55:15 2011 -0700"
      },
      "message": "WifiWatchdogService refactor\n\nMinor refactoring of WatchdogService ahead of logic changes.\nLightly tested on a stingray.\n\nChange-Id: I051603a598fe3162f170fb0a09e461fcb9b0038e\n"
    },
    {
      "commit": "1fdc061e99a5e3f1d47bf1e2b780abbfe11e6a81",
      "tree": "c9e14a83125ce8d41b8db796fb6963d21184b4a8",
      "parents": [
        "6a065874c3e6b8953b49f644f97c600b42f43470",
        "816e5b72190787f2b6136925c172a00ebcbe4077"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 11:24:32 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 09 11:24:32 2011 -0700"
      },
      "message": "am 816e5b72: am ee3de4a9: am a3ce0f1e: Merge \"Remove compat mode dialog.\" into honeycomb-mr2\n\n* commit \u0027816e5b72190787f2b6136925c172a00ebcbe4077\u0027:\n  Remove compat mode dialog.\n"
    },
    {
      "commit": "3f3913550c10792edb8aecf66cc83c3db5c8b311",
      "tree": "600831085e71b152bd00eceae85112fc4903a99f",
      "parents": [
        "f24ed1c27255b5003044efb1df53903d59f92b77"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Jun 05 17:42:53 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jun 09 10:14:13 2011 -0700"
      },
      "message": "Persist network stats using AtomicFile.\n\nImplements read/write of network stats using AtomicFile, along with\nmagic number and versioning.  Stores in \"/data/system/netstats.bin\"\nfor now.  Tests to verify that stats are persisted across a simulated\nreboot, and to verify that TEMPLATE_WIFI is working.\n\nFixed bug where kernel counters rolling backwards would cause negative\nstats to be recorded; now we clamp deltas at 0.\n\nChange-Id: I53bce26fc8fd3f4ab1e34ce135d302edfa34db34\n"
    },
    {
      "commit": "8297f669356ee997c5faa745815e8b9a7009fba7",
      "tree": "45a5d832585de6a7fdf3d6c4a2d737097ea6aa4d",
      "parents": [
        "9dfd7d0a47549bdf0b429b760a9ede9748f427de",
        "3aabdeaceff8405406d90c329a6691552559556d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 22:38:03 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 08 22:38:03 2011 -0700"
      },
      "message": "am 3aabdeac: am 5ba2e872: Merge \"Fix for not reporting correct \"sw\" in compat mode.\" into honeycomb-mr2\n\n* commit \u00273aabdeaceff8405406d90c329a6691552559556d\u0027:\n  Fix for not reporting correct \"sw\" in compat mode.\n"
    },
    {
      "commit": "3aabdeaceff8405406d90c329a6691552559556d",
      "tree": "60cb14813acd7af7d6bda6983c5914627bc9dcd3",
      "parents": [
        "2d618e415fa0ed8a1e7ac8d0ffe98cebdf6c208b",
        "5ba2e872fa684c0f1b992a95df00854b58f2cd8c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 22:35:25 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 08 22:35:25 2011 -0700"
      },
      "message": "am 5ba2e872: Merge \"Fix for not reporting correct \"sw\" in compat mode.\" into honeycomb-mr2\n\n* commit \u00275ba2e872fa684c0f1b992a95df00854b58f2cd8c\u0027:\n  Fix for not reporting correct \"sw\" in compat mode.\n"
    },
    {
      "commit": "48a7651823030ed3c0f4c084b423430044425fea",
      "tree": "593a12e4aa51d8bff8fdb7cf34f3afca9f7e8a99",
      "parents": [
        "021408910af170268cb486910d4dd5a7d838c2bb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 21:51:44 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 22:26:33 2011 -0700"
      },
      "message": "Fix for not reporting correct \"sw\" in compat mode.\n\nChange-Id: Ia225c94b36ccc3589d417aafd5680247678eddfd\n"
    },
    {
      "commit": "13f99a0d0e309b63c3441148032e9992c0e4e650",
      "tree": "f855071f145d8420b6bee554ff2484994d8e2254",
      "parents": [
        "9b3811b685a384be930e18b37e26c1c58a3da3d0",
        "e9e78ecd2c0ae5f48ed81fdfff4a89cb803fc409"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 08 20:13:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 08 20:13:57 2011 -0700"
      },
      "message": "Merge \"Fix handling of directory entries\""
    },
    {
      "commit": "e9e78ecd2c0ae5f48ed81fdfff4a89cb803fc409",
      "tree": "2da70dfa7ba568ce511e75ad674aa59c4d14f042",
      "parents": [
        "0a251cd5ee8bbd8e787a1d17ddbe7f9524a9e313"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 08 20:09:31 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 08 20:11:49 2011 -0700"
      },
      "message": "Fix handling of directory entries\n\nDon\u0027t emit tar blocks for directories with an invalid nonzero size.  Also, if\nsuch an entry is encountered during restore, don\u0027t actually attempt to treat\nit as valid and thus skip over the next actual tar entry.\n\nThis patch also adds tracking of the data actually consumed during restore,\nand reports a total at the end of stream.\n\nChange-Id: I625173f76df3c007e899209101ff2b587841f184\n"
    },
    {
      "commit": "e2aa04908cfdf65ef309f1491f31a0c8846977ff",
      "tree": "6a435d736210c7aeffdafd47685640dd8c546b6c",
      "parents": [
        "3948a2b4205c36bc1b4a3911753d970248480742",
        "a1396dfe7ad6ec6953f544be42d69d7804ab0fd4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 20:06:40 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 08 20:06:40 2011 -0700"
      },
      "message": "am a1396dfe: am 02140891: Merge \"Work on issue #4518815: Compatibility mode introduces compatibility regression...\" into honeycomb-mr2\n\n* commit \u0027a1396dfe7ad6ec6953f544be42d69d7804ab0fd4\u0027:\n  Work on issue #4518815: Compatibility mode introduces compatibility regression...\n"
    },
    {
      "commit": "a1396dfe7ad6ec6953f544be42d69d7804ab0fd4",
      "tree": "f991e5d319b209f51e588cad2e0d032de9cf38f7",
      "parents": [
        "735463d1d9a1e490fa6b30d4273d24fc2f12bcd9",
        "021408910af170268cb486910d4dd5a7d838c2bb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 20:02:43 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 08 20:02:43 2011 -0700"
      },
      "message": "am 02140891: Merge \"Work on issue #4518815: Compatibility mode introduces compatibility regression...\" into honeycomb-mr2\n\n* commit \u0027021408910af170268cb486910d4dd5a7d838c2bb\u0027:\n  Work on issue #4518815: Compatibility mode introduces compatibility regression...\n"
    },
    {
      "commit": "5fd2169eabd77e6bfafaf456e58051a3bafb2bca",
      "tree": "77048c3540c64cad77e5c140b6477a321190c586",
      "parents": [
        "4381f6421ca408d1dc66430ddfb107c5011bfe25"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 07 14:09:47 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 18:45:43 2011 -0700"
      },
      "message": "Work on issue #4518815: Compatibility mode introduces compatibility regression...\n\n...for Market App iRunner\n\nThere were a lot of serious issues with how we updated (or often didn\u0027t update)\nthe display and resource state when switching compatibility mode in conjunction\nwith restarting and updating application components.  This addresses everything\nI could find.\n\nUnfortunately it does *not* fix this particular app.  I am starting to think this\nis just an issue in the app.  This change does fix a number of other problems\nI could repro, such as switching the compatibility mode of an IME.\n\nAlso a few changes here and there to get rid of $#*\u0026^!! debug logs.\n\nChange-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317\n"
    },
    {
      "commit": "ff3bdca31f4cf2bd607519b276dd175763aa1784",
      "tree": "61bea91f9ae3f7c94f0f666696e150134b6a844d",
      "parents": [
        "9eb5847777b317991a44c01b901f35d99485c733"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon May 23 17:26:46 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Jun 08 14:16:42 2011 -0700"
      },
      "message": "The service part of the user space VPN support.\n\nThe dialogs will be in another change.\n\nChange-Id: I0cdfd2ef21ffd40ee955b3cbde5ada65dbfdb0bc\n"
    },
    {
      "commit": "9eb014aeb0630dab9210f8eb8b6c2f4250d5990e",
      "tree": "e828d015bc0763e79cbecd0255866020494c1f01",
      "parents": [
        "3932aa7ff887007f4ae1e28e47b6775c9ceca566"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 08 09:17:45 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 08 09:17:45 2011 -0700"
      },
      "message": "UsbManager: Clean up extras for ACTION_USB_STATE broadcast\n\nAlso added name for new PTP USB function\n\nChange-Id: Ia2775ba2b23ef6a6108ca7e060239eb51c2eecc8\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "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": "816e5b72190787f2b6136925c172a00ebcbe4077",
      "tree": "202c9d56b59b7def9694d1b8d3b1729e839a2f68",
      "parents": [
        "891266e36e230fa0a4f4466672834a8e3e97598e",
        "ee3de4a950a188c6a4d5fb732242249af4807837"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 07 15:56:05 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 07 15:56:05 2011 -0700"
      },
      "message": "am ee3de4a9: am a3ce0f1e: Merge \"Remove compat mode dialog.\" into honeycomb-mr2\n\n* commit \u0027ee3de4a950a188c6a4d5fb732242249af4807837\u0027:\n  Remove compat mode dialog.\n"
    },
    {
      "commit": "ee3de4a950a188c6a4d5fb732242249af4807837",
      "tree": "9cad62f18a24e6a8b588b432bff01fe6bef89c2a",
      "parents": [
        "b5b98f877a09907a9a3b0c7e590e6e0ddd575158",
        "a3ce0f1e6f92e9580b0b0cbdc6cc124d2163f6c5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 07 15:47:14 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 07 15:47:14 2011 -0700"
      },
      "message": "am a3ce0f1e: Merge \"Remove compat mode dialog.\" into honeycomb-mr2\n\n* commit \u0027a3ce0f1e6f92e9580b0b0cbdc6cc124d2163f6c5\u0027:\n  Remove compat mode dialog.\n"
    },
    {
      "commit": "29478269319502c92d04979411120bf49d2d011f",
      "tree": "91e9a27358493c788602cab0ae2cce6117a73cc4",
      "parents": [
        "8de47a2f25a9379c44f220f0bd0f25585bfbc9fb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 07 15:44:22 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 07 15:44:22 2011 -0700"
      },
      "message": "Remove compat mode dialog.\n\nChange-Id: I37bccdf9d3e7c56048633da5731ad111910e530f\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"
    }
  ],
  "next": "1a84fd1fb7a51f3fe4f8865e1cdd09f3490f696c"
}
