)]}'
{
  "log": [
    {
      "commit": "ada8c4e6a3da96a795f39a1028d448eb7aebfab3",
      "tree": "d1b0b3d75a5ff4ca2ec80f8fb78739f5f2ea007f",
      "parents": [
        "96daa0ef4088b0e123a7dce20f572238ec42575b"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Aug 23 14:56:56 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 24 16:00:55 2011 +0900"
      },
      "message": "Add functions to set / get SpellCheckerSubtype\n\nChange-Id: I977326879fe201c4dee4a87da361217175eb6041\n"
    },
    {
      "commit": "29aae6f36e565b8f2a99f2193597b964bb800ee8",
      "tree": "72d0d0798fe9549ebc82e1766464d1fe3ea5233f",
      "parents": [
        "5b56f7d6f662a543d0432a46047a55f1ee900994"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 18 18:30:09 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 23 17:44:52 2011 -0700"
      },
      "message": "Fix issue #4279860: previous UI flashes before showing lock screen...\n\n...(when turning display on after recently turning it off)\n\nAlso clean up when we decide to turn the screen on to improve that\ntransition.  There are still problems here with turning it on\nbefore the wallpaper gets dispayed.\n\nChange-Id: I2bc56c12e5ad75a1ce5a0546f43a845bf0823e66\n"
    },
    {
      "commit": "661cd52e0e1d527132eb1cae604d3e64da7ec0cb",
      "tree": "3b9f7d3c75c9e28b96e8a8d961ef8fbee1fdae7b",
      "parents": [
        "5e82bc038385edcb669b44659401fb83dab9c880"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 22 00:26:20 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 22 13:42:05 2011 -0700"
      },
      "message": "Add progress dialog for booting after an upgrade.\n\nThis introduces a new facility for code during the boot process\nto display messages to the user through a progress dialog.  This\nis only for use when performing longer-than-usual post-upgrade\noperations such as running dexopt on applications or upgrading\ndatabases.\n\nChange-Id: I0e78439ccec3850fb67872c22f235bf12a158dae\n"
    },
    {
      "commit": "0191bba17cf78285aa38e0a91acbce112774d348",
      "tree": "d4143124a1a1f9f9f964197cf2680b20d25631f3",
      "parents": [
        "86c471db06e35f0cd96e5505f8eae56294d0272f"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Sun Aug 21 14:47:59 2011 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Sun Aug 21 14:47:59 2011 -0700"
      },
      "message": "Fix 4993068: Don\u0027t check password history when dpm sets the password\n\nThis fixes a crash caused by permission problems when we try to update\nthe password history and discover there\u0027s no password salt.  The code\nattempts to create the salt, which triggers the exception.\n\nThis could be fixed by wrapping the call with a clearCallingIdentity()/\nrestoreCallingIdentity(ident).  However, while looking at it, it occurred to me\nthat this can cause unexpected failures if the DPM tries to set the\npassword twice or happens to set it to something in the password history.\n\nInstead, we should *always* allow the DPM to reset the password to whatever it wants,\nprovided it passes the minimum password criteria.\n\nChange-Id: I1505b24f9c097ee5c2c44e4bf378ba90095b113b\n"
    },
    {
      "commit": "d6a2be3ef75892d223bddc82db8a4b4f22d0ec20",
      "tree": "9bf3a8c1822c23aba3395f1622e1f49ea2a96b2c",
      "parents": [
        "c0a2222552f48a2543a64a4cbe913d0b9ffc3cbf",
        "3dacd8470a55804fe267a901c6b9f243431e39e2"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Aug 19 15:21:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 19 15:21:43 2011 -0700"
      },
      "message": "Merge \"Allow Instrumentation to kill even persistent processes\""
    },
    {
      "commit": "3dacd8470a55804fe267a901c6b9f243431e39e2",
      "tree": "f5549b34f31dc399c9424b55d0c3e105c11ccc6a",
      "parents": [
        "eeb22142137d8309f6f010b10f504e23161190f4"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Aug 19 14:56:15 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Aug 19 14:57:57 2011 -0700"
      },
      "message": "Allow Instrumentation to kill even persistent processes\n\nFixes bug 5117630\n\nChange-Id: Iff40145fbbdc1d81a60cf2ecc5b24321162f7897\n"
    },
    {
      "commit": "1c9b260cf5af68ef06288eadc3b7d31dd05b28f7",
      "tree": "513fedf78769c2ff4c0578b7d6151b34b607cfd5",
      "parents": [
        "b9784398e60978d68da3e0e4566a66ed3a2fe297"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 19 14:08:43 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 19 14:08:43 2011 -0700"
      },
      "message": "Fix issue #5187844: Query is misrouted to wrong content provider\n\nChange-Id: I56834f41844990d67edc8af83273036b3d755e37\n"
    },
    {
      "commit": "937ffc174c742c56d33f64c6f1129403445193fd",
      "tree": "5ffda24ec2d91fbec5cd85f2ffcc0343ec11a7d3",
      "parents": [
        "53bd70301d0a41847d45f8e1ea4e0886ee469a75",
        "d99b293d5f11b784d7406f5398bc654920b42482"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 18 18:05:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 18:05:19 2011 -0700"
      },
      "message": "Merge \"Fix issue #5180553: permission RECEIVE_BOOT_COMPLETED is not checked\""
    },
    {
      "commit": "d99b293d5f11b784d7406f5398bc654920b42482",
      "tree": "bbe1ae46fa3227e470b3a7f607ee39cd257466cf",
      "parents": [
        "0197d825f15844e51b91a0006d411ecb06350641"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 18 14:39:58 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 18 16:02:41 2011 -0700"
      },
      "message": "Fix issue #5180553: permission RECEIVE_BOOT_COMPLETED is not checked\n\nChange-Id: I069673f2fbdf05e409c5e9ed99ccd1e15b4fe3ed\n"
    },
    {
      "commit": "9a20fa54c9ba4bd19f2afd6e8cc6e9954e7cb739",
      "tree": "8191feeabfa1cb16f2e1567e2d9b4652bb439e8e",
      "parents": [
        "1797d6086f9acbea582cac6d484e749abafa1868",
        "3a844fcf5a0e70a19c38dc500306b9ebe4e1413b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 18 15:01:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 15:01:10 2011 -0700"
      },
      "message": "Merge \"Background data notification, API clean up.\""
    },
    {
      "commit": "d1106fc9bff66ac4f93f9d6291f0d0136bb544e7",
      "tree": "973449d8d7156f83e4649efe6316d979609788e7",
      "parents": [
        "797a0b0145211e219fcb441a963a103679249aa7",
        "07714d41e57ef9d8e2e6b40d8764e42053cce1bd"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 18 09:20:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 18 09:20:47 2011 -0700"
      },
      "message": "Merge \"Default disable watchdog for vold connection\""
    },
    {
      "commit": "e8c88e6f764a77d94b0051ea169a82a61fcc0d0e",
      "tree": "4f4a2b3843b539bb8a7691affb4fd43c584b3fc3",
      "parents": [
        "9f550e91f4d82313135a37a426d563f855a4f6a5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 17 19:09:09 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 17 19:09:23 2011 -0700"
      },
      "message": "Fix issue #5163456: logspam/tight loop in BatteryStatsImpl\n\nNo longer use the old history code.\n\nChange-Id: I878ffe16e0014453c46db6a4f7228a81468d8cb9\n"
    },
    {
      "commit": "07714d41e57ef9d8e2e6b40d8764e42053cce1bd",
      "tree": "9532cf2e15a574170b3ee269db890dfff3a09256",
      "parents": [
        "4a8d9ad8acfd675a7f4d532c6564d3985ff67138"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 17 17:49:28 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 17 17:49:30 2011 -0700"
      },
      "message": "Default disable watchdog for vold connection\n\ncryptfs has long-running operations that cause the Watchdog to fire\nreliably when encrypting the filesystem. Disable Watchdog on\nMountService for this reason.\n\nChange-Id: Id03f5f60c704dcd74a8696ad9f32b5fba5381731\n"
    },
    {
      "commit": "3a844fcf5a0e70a19c38dc500306b9ebe4e1413b",
      "tree": "c835cc97cc3051ee80f29b693d26edd5986b5aa2",
      "parents": [
        "b51645ee2c7608f0b1a50d09f203cf5323b0b02d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 16 14:37:57 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 17 14:12:42 2011 -0700"
      },
      "message": "Background data notification, API clean up.\n\nWhen restricting background data, show ongoing notification to give\neasy access to re-enable. Deprecate getBackgroundDataSetting() API\nto always return true, since NetworkInfo.isConnected() is new source\nof truth. Handle upgrade path by reading from existing secure value,\nand kick one last broadcast when changing value. Remove background\ndata code from ConnectivityService.\n\nRemove warning alerts, since they push ifaces into restricted list;\nshould only happen when iface has limit.\n\nBug: 5163559, 5129421\nChange-Id: I0064d9d643656a4d32aaae51d4a58bce49fe295f\n"
    },
    {
      "commit": "842d9de74f9eaaf8a7b89dbe8475faf014ddafb8",
      "tree": "542da79ed346782aabd5cfbf6862bbd043ef47af",
      "parents": [
        "e117d0bda12f02e39b58b6460bee0aaf8ead9cf9",
        "bac26a1205883ad30343f1d1f64a039dcdda9f63"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Aug 17 11:39:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 17 11:39:32 2011 -0700"
      },
      "message": "Merge \"Getting rid of the (hidden) oldName parameter for widgets\""
    },
    {
      "commit": "bac26a1205883ad30343f1d1f64a039dcdda9f63",
      "tree": "266eca9e693499da737e02b6443c5ecd60a7b456",
      "parents": [
        "13ed7435030a43c30616a179a3ac2c81d2b297c8"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Tue Aug 16 20:42:30 2011 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Aug 17 11:37:58 2011 -0700"
      },
      "message": "Getting rid of the (hidden) oldName parameter for widgets\n\nChange-Id: I191cf64ed045fd7cb53e106f337cbeab5a914336\n"
    },
    {
      "commit": "e518be3085c7457f3451a64fbea3f9499ae39bf5",
      "tree": "f07952be9e8f0db7435838cf7a42b6f9ed9d743a",
      "parents": [
        "c5f9a42c50d79abec219870bd19009c260b062d6",
        "51beb81a8e901020293b7a30a68b405bca71d258"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Tue Aug 16 20:47:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 16 20:47:39 2011 -0700"
      },
      "message": "am 51beb81a: am ee93fd5c: am 7a0d746b: am baaf3ce6: Merge \"Handle stopping of services with still bound applications.\"\n\n* commit \u002751beb81a8e901020293b7a30a68b405bca71d258\u0027:\n  Handle stopping of services with still bound applications.\n"
    },
    {
      "commit": "51beb81a8e901020293b7a30a68b405bca71d258",
      "tree": "67825fa4fad3289df97efa714ff343cc5b39894e",
      "parents": [
        "e5cb629f3761b272ea52104c1093e0007f5c41b5",
        "ee93fd5c0d7b0296fca17363ec00dc2ee63a0841"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Tue Aug 16 20:45:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 16 20:45:19 2011 -0700"
      },
      "message": "am ee93fd5c: am 7a0d746b: am baaf3ce6: Merge \"Handle stopping of services with still bound applications.\"\n\n* commit \u0027ee93fd5c0d7b0296fca17363ec00dc2ee63a0841\u0027:\n  Handle stopping of services with still bound applications.\n"
    },
    {
      "commit": "baaf3ce6385da0f9f5ff6e2195e26c339ee9949e",
      "tree": "3a182785671172c9300a1bed0eb676799c20eaa7",
      "parents": [
        "d144748d4767b2ccfb13857e23f78bc944e9531d",
        "78f9fffca4cbfad50bdb73569bc4f484d84215ab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Tue Aug 16 19:29:25 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Aug 16 19:29:25 2011 -0700"
      },
      "message": "Merge \"Handle stopping of services with still bound applications.\""
    },
    {
      "commit": "755bd67a5081727ae1bbee2d39863b464a8b4f35",
      "tree": "b5ef3bdea69aabb912d7b00aa6986b7784586cec",
      "parents": [
        "751b85e8c3b5ff07eaaa6bdbd32517dcdc8f27aa",
        "d9be36c897680361da2daadba9bbc9da3c16329b"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 16 17:03:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 17:03:24 2011 -0700"
      },
      "message": "Merge \"Don\u0027t crash if a drag recipient throws an uncaught exception\""
    },
    {
      "commit": "d9be36c897680361da2daadba9bbc9da3c16329b",
      "tree": "097fbf3074d35133c91c7a95890c6eb8deb37166",
      "parents": [
        "154aa355f0ed0374a4b4db222419639ec1a385fe"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 16 16:09:33 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 16 16:09:33 2011 -0700"
      },
      "message": "Don\u0027t crash if a drag recipient throws an uncaught exception\n\nThere turn out to be two distinct bugs leading to runtime restarts.\n\nThe first, dating from at least Android 3.1, is that following certain kinds\nof app crashes we properly clean up the drag-state bookkeeping, but aren\u0027t\nprepared in the case of the drag-target timeout clock firing with a now-\nnull drag state in effect.  We now catch that edge condition and don\u0027t NPE\n(and note that there was already similar code around the separate timeout\nwhen an app is *starting* the drag process).\n\nThe second bug is that some new-in-ICS code in the input channel management\nwasn\u0027t prepared for certain cases where the current touch window could have\nbecome unusable and its input channel torn down summarily in the case of the\naforesaid app crash during drag.  The code now makes sure that there really\nis an input channel that needs to be flushed / cancelled prior to attempting\nthat operation.\n\nFixes bug 5173534\n\nChange-Id: Idaae158ecfb4b93456ab1425769b669962893c00\n"
    },
    {
      "commit": "4a56c437b6fd02dce06fa8565953964b01d21b5d",
      "tree": "f162cf5b64cb04c6f6a5e046fb04aba0f35af50a",
      "parents": [
        "3b2d54a0e71526ed23b0cd385137b93f2572d09c",
        "aea743aaa43a833fd8ff3dc56205197583152d5f"
      ],
      "author": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Tue Aug 16 14:50:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 14:50:56 2011 -0700"
      },
      "message": "Merge \"P2p enhancements\""
    },
    {
      "commit": "1db7f7940e24ad359a02aac07eb6b8b03f3f9804",
      "tree": "7b19634946ecb70e28ac59a01a72d09be6856ebe",
      "parents": [
        "f01e16a0ff1e4df10d177a47eae741e1a3ead9ce",
        "0c074e68437f1a705a8e73ac32e8e4dec370ec43"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Aug 16 14:25:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 14:25:30 2011 -0700"
      },
      "message": "Merge \"VPN: reset legacy VPN when resetting IPv4 addresses.\""
    },
    {
      "commit": "fadd2b8e0ffea0d5b4bf3ca16af4d5cea001b561",
      "tree": "634b7a1122f0be9b68241ae73c765c1a78cfc8a5",
      "parents": [
        "e81740442f94aefe7dd3f061dfbd20a6fdeb667d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 16 13:34:34 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 16 13:45:51 2011 -0700"
      },
      "message": "UsbManager: Use resource IDs for notification IDs\n\nto avoid ID collisions with other system services.\n\nBug: 5161005\n\nChange-Id: I069fbc40a8764bc85cceeacd04264abd32b62668\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e81740442f94aefe7dd3f061dfbd20a6fdeb667d",
      "tree": "0eefa7347fdc959994f369c118e190598f70a3db",
      "parents": [
        "8e99d183345391cddec70e18d3c41cf21f9f67cb"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 16 12:53:43 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 16 12:53:43 2011 -0700"
      },
      "message": "dumpsys: fix problems with -a option in battery and batteryinfo services\n\nNow the dumpsys battery output will show up in bugreports again.\n\nChange-Id: Id36e87d27e9d3c06dcc17671c81aa1d3fe260d1e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0c074e68437f1a705a8e73ac32e8e4dec370ec43",
      "tree": "9ed1af1c2c391dabe8a239803f1d168a9202ce05",
      "parents": [
        "8e99d183345391cddec70e18d3c41cf21f9f67cb"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Aug 15 15:19:40 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Aug 16 10:08:33 2011 -0700"
      },
      "message": "VPN: reset legacy VPN when resetting IPv4 addresses.\n\nCurrently legacy VPN only works on IPv4, and it should always\nturn down when the addresses are changed. It assumed that the\ninterface will be brought down and up, so the event can be\ndetected via interfaceStatusChanged(). However, the assumption\nwas incorrect and the event is actually driver-dependent. To\nfix this issue, ConnectivityService now tells VPN that the\ninterface is down when resetting IPv4 addresses.\n\nChange-Id: I76d15e56552d86635c5b274ca980be5da905a6fb\n"
    },
    {
      "commit": "8e99d183345391cddec70e18d3c41cf21f9f67cb",
      "tree": "af48f504e223f41a296fb0435cd80c613f54829b",
      "parents": [
        "7a9effebcf84dcbd820cafe6886a5562cb3d8e22",
        "f125a093636ef22c81a9d90397407f9ef05a6e9a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Aug 16 09:41:54 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 09:41:54 2011 -0700"
      },
      "message": "Merge \"Flush central DNS cache when things change.\""
    },
    {
      "commit": "46d2545db48e6b8565ef7beedf6486ef5d7f4507",
      "tree": "efae1b841c9c13637cc740a64eae5ae01e2edec1",
      "parents": [
        "bcc2d40a11432736e94c1dd3c64abd1aac476c20",
        "5ab2157bf1f105b02d3e2913cd3a33f9765b74ca"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 16 08:35:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 08:35:53 2011 -0700"
      },
      "message": "Merge \"Infrastructure to support package verifier\""
    },
    {
      "commit": "bcc2d40a11432736e94c1dd3c64abd1aac476c20",
      "tree": "cf82d9ce1c7dfbb91fb5d45a9881d55a93c87d22",
      "parents": [
        "d15ab6dce87d0eb7c929cac14832856476cd41e6",
        "1137341885d8dc451dddc2e01319fb0fab00bbc3"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 16 08:34:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 16 08:34:22 2011 -0700"
      },
      "message": "Merge \"Throw exception on odd length Signatures\""
    },
    {
      "commit": "34c788096f0f7c8f2b4b19c15fef65d0c4aef61d",
      "tree": "1b5fc2ec44bae98b7393d52aa0b587badab1f119",
      "parents": [
        "612cb6eeed15aa7e52eeb18550f205b63e88e00f",
        "62f20ecf492d2b29881bba307c79ff55e68760e6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 15 18:57:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 15 18:57:57 2011 -0700"
      },
      "message": "Merge \"Add new am option to profile the launching of an activity.\""
    },
    {
      "commit": "b51645ee2c7608f0b1a50d09f203cf5323b0b02d",
      "tree": "f655dc9b69121be1c4c55c5b64b03c82ca76fd84",
      "parents": [
        "a06cb342836d02fe1e176c16f83c4d0a55e00f8b",
        "b5d55e302d2253e4bfb233ea705caf258cdc4cb9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 15 18:44:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 15 18:44:15 2011 -0700"
      },
      "message": "Merge \"Foreground/background network stats using sets.\""
    },
    {
      "commit": "a06cb342836d02fe1e176c16f83c4d0a55e00f8b",
      "tree": "71cb57400ebf9bdc98ad2d3186d6a9a3170c580e",
      "parents": [
        "3365275aa2a253bcdfa7c62ead22587da198d5f2",
        "fa23c5ae226c1a1d39f89c5c87d4f340e91d90e0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 15 18:43:54 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 15 18:43:54 2011 -0700"
      },
      "message": "Merge \"Add NativeDaemonConnector users to watchdog.\""
    },
    {
      "commit": "62f20ecf492d2b29881bba307c79ff55e68760e6",
      "tree": "58ea602138a28fb3555368900acbad6219ae2de2",
      "parents": [
        "0f2da17a9523fc40bceb5209cabd044df648e98e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 15 17:40:28 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 15 17:55:57 2011 -0700"
      },
      "message": "Add new am option to profile the launching of an activity.\n\nChange-Id: Ie71a8043eafe41f53a0b3dbb5170276d87acbc9b\n"
    },
    {
      "commit": "b5d55e302d2253e4bfb233ea705caf258cdc4cb9",
      "tree": "7acd6751833ddeae0a6dbc97c8608cd986643018",
      "parents": [
        "11f4a48c54f3006778c874662ff04a4d9d157f25"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 10 17:53:27 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 15 17:30:25 2011 -0700"
      },
      "message": "Foreground/background network stats using sets.\n\nTeach NetworkStats about \"counter sets\" coming from kernel, and use\nthem to track usage in foreground/background.  Add AID_NET_BW_ACCT to\nsystem_server so it can control counter sets.\n\nMove to composite key of NetworkIdentitySet, UID, set, and tag when\nrecording historical usage.  Persisting still clusters by identity,\nsince that is heaviest object.\n\nRequest async stats poll during systemReady() to bootstrap later\ndelta calculations. Reset kernel counters when UID removed. Update\nvarious tests.\n\nBug: 5105592, 5146067\nChange-Id: Idabec9e3ffcaf212879821515602ecde0a03de8c\n"
    },
    {
      "commit": "5ab2157bf1f105b02d3e2913cd3a33f9765b74ca",
      "tree": "5c2241ddca3526545b73472ed0006eaba0439da1",
      "parents": [
        "dd7bc9f457204e60feeea53b0b12ba706d6964df"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 27 11:11:19 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 15 17:26:31 2011 -0700"
      },
      "message": "Infrastructure to support package verifier\n\nAllow a package verifier to approve or disapprove of a package being\ninstalled.\n\nChange-Id: Ibfea0f2b1aaa4ab1589a4e59f96144702b9bf94b\n"
    },
    {
      "commit": "f125a093636ef22c81a9d90397407f9ef05a6e9a",
      "tree": "430e31479c5178b3e36e5710861d479a0c3223d1",
      "parents": [
        "154aa355f0ed0374a4b4db222419639ec1a385fe"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Aug 15 12:31:55 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Aug 15 14:26:53 2011 -0700"
      },
      "message": "Flush central DNS cache when things change.\n\nFlushes the cache for an interface when\neither routes or DNS servers change.\n\nChange-Id: I021305f781be669aaa12074dc1cc21511f49eac4\n"
    },
    {
      "commit": "8b65c902ee25e9c38f64eef9f7af0cf9e86491e3",
      "tree": "25443a1cca2a8ac849d3074362b085d839bd1547",
      "parents": [
        "cb04a1f3a31c252a0e3fda5e7eaa16f3257c9397",
        "0a0ab128a65900a23f1018a14f5cbecec6443dd3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 14 20:13:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 14 20:13:19 2011 -0700"
      },
      "message": "Merge \"Use PARCELABLE_WIRTE_RETURN_VALUE flag in InputChannel. Bug: 5161290\""
    },
    {
      "commit": "40a9784d48211048fa3731a3ffdccda475750090",
      "tree": "9484d201ede92323d00a05ffd60296330d486f82",
      "parents": [
        "52727fc38aaf6821bac6adf33235f154139638d0"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Aug 14 17:12:10 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Aug 14 17:13:10 2011 -0700"
      },
      "message": "Fix bug 5154361 - New force close dialog text breaks button order rules\n\nReorder the force close/ANR dialog buttons to better match the new\nrules/intent from UX.\n\nChange-Id: I30fed56aabd0cc91d07852807347057176d82aaa\n"
    },
    {
      "commit": "0a0ab128a65900a23f1018a14f5cbecec6443dd3",
      "tree": "c7dddb0df25d105be2579c81d2838317a2d8496a",
      "parents": [
        "c74a02873a0981e3db2417af70ee7be3168ed1ba"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 12 18:08:08 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 12 18:08:08 2011 -0700"
      },
      "message": "Use PARCELABLE_WIRTE_RETURN_VALUE flag in InputChannel.\nBug: 5161290\n\nReplace mDisposeAfterWriteToParcel with code that takes advantage\nof the standard Parcel API support for releasing resources after\nwriting a Binder reply.\n\nThis change makes it less likely that InputChannels will leak\naccidentally when passed across a Binder.\n\nChange-Id: Id37706e7b88d074e8e4ac687c88f0db8963200f2\n"
    },
    {
      "commit": "7c0d8472d003334fafd14f7c1e7d95dbd213088b",
      "tree": "f4f64ec128ce06e98b3bd5d292d261ed5a20366a",
      "parents": [
        "585f727b385b5f2d41a1628f64297bd11db95bd0",
        "8e8d65ff5fdef12c6af3d003dfef19aadc39bea9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 12 15:22:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 12 15:22:32 2011 -0700"
      },
      "message": "Merge \"Fix some crashes that are happening in the system process.\""
    },
    {
      "commit": "8e8d65ff5fdef12c6af3d003dfef19aadc39bea9",
      "tree": "caae5adb7a77cee7617e4533620075a6afb4c0ae",
      "parents": [
        "8a5c6617d513bd0a47c733520facb3ba543b70b0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 11 19:36:18 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 12 14:20:59 2011 -0700"
      },
      "message": "Fix some crashes that are happening in the system process.\n\n- When shutting down, if the screen goes to sleep there is code\n  that tries to do a notifyAll without holding the lock:\n\njava.lang.IllegalMonitorStateException: object not locked by thread before notifyAll()\n\tat java.lang.Object.notifyAll(Native Method)\n\tat com.android.server.am.ActivityStack.checkReadyForSleepLocked(ActivityStack.java:776)\n\tat com.android.server.am.ActivityStack$1.handleMessage(ActivityStack.java:282)\n\tat android.os.Handler.dispatchMessage(Handler.java:99)\n\tat android.os.Looper.loop(Looper.java:137)\n\tat com.android.server.ServerThread.run(SystemServer.java:603)\n\n- If an invalid Uri object is sent to the system process it can crash because\n  the Uri class throws an assertion while unmarshalling.  Change this to an\n  IllegalArgumentException so it gets sent back to the caller:\n\njava.lang.AssertionError\n\tat android.net.Uri$PathPart.readFrom(Uri.java:2224)\n\tat android.net.Uri$HierarchicalUri.readFrom(Uri.java:1106)\n\tat android.net.Uri$1.createFromParcel(Uri.java:1689)\n\tat android.net.Uri$1.createFromParcel(Uri.java:1681)\n\tat android.content.IContentService$Stub.onTransact(IContentService.java:53)\n\tat android.content.ContentService.onTransact(ContentService.java:120)\n\tat android.os.Binder.execTransact(Binder.java:338)\n\tat dalvik.system.NativeStart.run(Native Method)\n\n- StrictMode can try to access the first index in the stack crawl of a stack crawl\n  array of length 0.  Not sure why this happens, but make the code more robust:\n\njava.lang.ArrayIndexOutOfBoundsException: length\u003d0; index\u003d0\n\tat android.app.ApplicationErrorReport$CrashInfo.\u003cinit\u003e(ApplicationErrorReport.java:341)\n\tat android.os.StrictMode$ViolationInfo.\u003cinit\u003e(StrictMode.java:1978)\n\tat android.os.StrictMode$AndroidBlockGuardPolicy.startHandlingViolationException(StrictMode.java:1097)\n\tat android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1068)\n\tat libcore.io.BlockGuardOs.read(BlockGuardOs.java:137)\n\tat libcore.io.IoBridge.read(IoBridge.java:426)\n\tat java.io.FileInputStream.read(FileInputStream.java:179)\n\tat java.io.InputStream.read(InputStream.java:148)\n\tat com.android.internal.os.ProcessStats.readFile(ProcessStats.java:804)\n\tat com.android.internal.os.ProcessStats.getCpuSpeedTimes(ProcessStats.java:564)\n\tat com.android.internal.os.ProcessStats.getLastCpuSpeedTimes(ProcessStats.java:545)\n\tat com.android.server.am.ActivityManagerService.updateCpuStatsNow(ActivityManagerService.java:1470)\n\tat com.android.server.am.ActivityManagerService.batteryNeedsCpuUpdate(ActivityManagerService.java:1522)\n\tat com.android.internal.os.BatteryStatsImpl$MyHandler.handleMessage(BatteryStatsImpl.java:110)\n\tat android.os.Handler.dispatchMessage(Handler.java:99)\n\tat android.os.Looper.loop(Looper.java:137)\n\tat com.android.server.am.ActivityManagerService$AThread.run(ActivityManagerService.java:1302)\n\n(Also fix this code to not cause strict mode to trigger at all, because there is\nno need, because this is just reading stuff from /proc.)\n\n- The system seems to crash during boot if it thinks it needs to rotate\n  the screen, when it is trying to take the freeze snapshot way too early.\n  There is no need to freeze the screen during boot or if the screen is off:\n\njava.lang.NullPointerException\n\tat android.view.Surface.init(Native Method)\n\tat android.view.Surface.\u003cinit\u003e(Surface.java:256)\n\tat com.android.server.wm.ScreenRotationAnimation.\u003cinit\u003e(ScreenRotationAnimation.java:91)\n\tat com.android.server.wm.WindowManagerService.startFreezingDisplayLocked(WindowManagerService.java:8758)\n\tat com.android.server.wm.WindowManagerService.startAppFreezingScreenLocked(WindowManagerService.java:3971)\n\tat com.android.server.wm.WindowManagerService.startAppFreezingScreen(WindowManagerService.java:4003)\n\tat com.android.server.am.ActivityRecord.startFreezingScreenLocked(ActivityRecord.java:515)\n\tat com.android.server.am.ActivityStack.ensureActivityConfigurationLocked(ActivityStack.java:3997)\n\tat com.android.server.am.ActivityManagerService.updateConfigurationLocked(ActivityManagerService.java:12535)\n\tat com.android.server.am.ActivityManagerService.updateConfiguration(ActivityManagerService.java:12439)\n\tat com.android.server.wm.WindowManagerService.systemReady(WindowManagerService.java:6161)\n\tat com.android.server.ServerThread.run(SystemServer.java:521)\n\nChange-Id: I85062bb5f6b0909a0f52feedaa75e7611d9d7fbd\n"
    },
    {
      "commit": "b858ec559e8c6a13f6d2212a11f3f952e43259f6",
      "tree": "b7011278d461ad0e09cb96fe4cc055e0423dbf52",
      "parents": [
        "61bb11cfa03abc345f27ec14f63929b6f600edff",
        "e99adc70c8e0a64cb8d13a2ec4c125adaf18904d"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu Aug 11 19:49:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 19:49:15 2011 -0700"
      },
      "message": "Merge \"On device startup, be in touch mode\""
    },
    {
      "commit": "e99adc70c8e0a64cb8d13a2ec4c125adaf18904d",
      "tree": "ba225363d76c21a03aca7913eccb513a52e1b768",
      "parents": [
        "1060dd20dc27533311198c335a0cd94053a867e7"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu Aug 11 18:28:01 2011 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu Aug 11 18:28:01 2011 -0700"
      },
      "message": "On device startup, be in touch mode\n\n- Solves bug where an icon showed focus state on startup in Launcher. Once the keyboard arrows are used, Launcher enters non-touch mode as usual\n\nChange-Id: I0080f3b72f6c22833c600a1026af0abc35024510\n"
    },
    {
      "commit": "7bc4827e364c49c5d516d5b50ad59c842be6b0bf",
      "tree": "37576fd14c2d03beec3d60d0e6d901f834c7059b",
      "parents": [
        "9cc07c3939581909bf7de42df0215a65fab7b472",
        "6853fcf53f119d82cddc4742a0c34e7a2f43431c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Aug 11 15:07:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 15:07:25 2011 -0700"
      },
      "message": "Merge \"Fix partial-read handling during restore\""
    },
    {
      "commit": "e342551e56e422a4409caaa51d225e750eb7c7b0",
      "tree": "01ea13838f43745f8bee19a0096292b90ee4ef3c",
      "parents": [
        "9092b6d52256ccf30580f50304ceaf0dc181951f",
        "f5121a9b802c6ddd3661ed5cae602380dbe67090"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 11 13:27:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 13:27:10 2011 -0700"
      },
      "message": "Merge \"Better errors from copyResource\""
    },
    {
      "commit": "e09cd7914c117e84bf78676d0e760c51aa147eb8",
      "tree": "c1fed3807d19183ea4208c99519ef4c41f89eede",
      "parents": [
        "1060dd20dc27533311198c335a0cd94053a867e7",
        "f9abb405903cab1fcd379388a96925524840c607"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 11 11:35:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 11:35:07 2011 -0700"
      },
      "message": "Merge \"New broadcast telling when an app is fully removed.\""
    },
    {
      "commit": "bde7a61a06beca0966f60c909c98ecc0979d3130",
      "tree": "81edbbe96cad3af7dacf6636200d9574f1f6c686",
      "parents": [
        "08633c79164c8ab7362d6af1cf9ab576916fa7e0",
        "e6b2429cf719f30259a3eae61b94524b5cff4fab"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Aug 11 09:55:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 09:55:08 2011 -0700"
      },
      "message": "Merge \"Remove default routes for non-default networks.\""
    },
    {
      "commit": "6853fcf53f119d82cddc4742a0c34e7a2f43431c",
      "tree": "a471eb7eaebe3016d79192edd62528d0e334ef67",
      "parents": [
        "734b14d6b89685c9da013cba3175b05ba6363d1b"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Aug 10 17:52:21 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Aug 10 17:55:15 2011 -0700"
      },
      "message": "Fix partial-read handling during restore\n\n...by once and for all making all of the code deal appropriately with\nexpected partial reads.  We also now produce a properly conformant\nunderlying \u0027tar\u0027 EOF sequence [which will be compressed to almost\nnothing] to doubly bulletproof the end-of-archive logic.\n\nFixes bug 5133658\n\nChange-Id: I24a785574861d64ef10fc727b9f6b235575696b0\n"
    },
    {
      "commit": "c269dc55f160762c78e6360472630ef33b5061cf",
      "tree": "85ab378da829c40c9dc86ff09fee30e408fa2528",
      "parents": [
        "7034e4e66568cf4e5294a18ae4fc7a6636c62fa8",
        "89ef0720ee8e0ac6ae1758faa917e4d6c9606fb4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 10 17:28:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 10 17:28:15 2011 -0700"
      },
      "message": "Merge \"Add input system to Watchdog. Bug: 5094994\""
    },
    {
      "commit": "f9abb405903cab1fcd379388a96925524840c607",
      "tree": "4c6caa42e95b0da5462f948f1380bba1c905a30a",
      "parents": [
        "458a57210930dd3d95fdcb2ab7dffdfd434a12cf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 10 15:00:59 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 10 17:15:17 2011 -0700"
      },
      "message": "New broadcast telling when an app is fully removed.\n\nChange-Id: Ia516d826f302a01881fa92d9ffdc0adfbf669a4b\n"
    },
    {
      "commit": "f5121a9b802c6ddd3661ed5cae602380dbe67090",
      "tree": "a1a10eddf61e5e159f0d71a17e2cc47a09856752",
      "parents": [
        "260e9105d7fc7b11c26a6843658df89b98d65971"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 10 16:23:32 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 10 17:00:30 2011 -0700"
      },
      "message": "Better errors from copyResource\n\nCopy resource would fail without a good error code when the file\ncouldn\u0027t be found during copy.\n\nAlso destroy the target container ID during move operations since it\nmight exist. If the copy failed due to it existing, it would get\ndestroyed anyway. This way the user has a chance to have a good outcome\nthe first time.\n\nBug: 3375299\nBug: 5113898\nChange-Id: I00559833f0801bc50e7cc031b462495e37a6b4ab\n"
    },
    {
      "commit": "89ef0720ee8e0ac6ae1758faa917e4d6c9606fb4",
      "tree": "2c239993b3d2702dd8becc03a738f1b151a4c4f1",
      "parents": [
        "ba421dddfd558b34726df5dfbf8a3bf748e285b1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 10 16:25:21 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 10 16:25:21 2011 -0700"
      },
      "message": "Add input system to Watchdog.\nBug: 5094994\n\nChange-Id: I153866958efc64ac19bda8b997c1c9f6ad425ec4\n"
    },
    {
      "commit": "aea743aaa43a833fd8ff3dc56205197583152d5f",
      "tree": "47d6b4ae6686be3d8ffbe09bde9dc56ff69daab9",
      "parents": [
        "6829bf4b4b883e01f85e3784dbd1f0f81a71469e"
      ],
      "author": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Fri Jul 29 23:55:49 2011 -0700"
      },
      "committer": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Wed Aug 10 15:53:49 2011 -0700"
      },
      "message": "P2p enhancements\n\n- ConnectivityService interaction and support for running dhcp server\nand client\n\n- State machine enhancements for connectivity interaction\n\nChange-Id: Iba3beb8c87554ffd67a7b7e852bbb4dd8666a4f5\n"
    },
    {
      "commit": "7244c977ecbc1f73e4cfd9d824fc2b68aa886139",
      "tree": "fb3a0e47b9e8a807321a625108fa74ebc20bfdfc",
      "parents": [
        "260e9105d7fc7b11c26a6843658df89b98d65971"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Aug 05 20:40:45 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Aug 10 15:49:25 2011 -0700"
      },
      "message": "Ensure interface down before wpa_supplicant start\n\nNow that the driver is built into the kernel, a runtime crash\nfollowed by a driver unload and reload does not reset the interface.\n\nEnsure interface is down before bringing up supplicant\n\nBug: 5032635\nChange-Id: Ib8f3d47617e587139a8a91a82146ee3a2f329700\n"
    },
    {
      "commit": "fa23c5ae226c1a1d39f89c5c87d4f340e91d90e0",
      "tree": "35bec63fb99988203d4bf4594d850c0b8fa98cac",
      "parents": [
        "8cceb1e42b76aabcd6c27cfe599f7cd251a84947"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 09 21:44:24 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 10 13:42:01 2011 -0700"
      },
      "message": "Add NativeDaemonConnector users to watchdog.\n\nTo catch instances where NativeDaemonConnector hangs while executing\ncommands, add users to system_server watchdog.  Also moved qtaguid\nenabler to separate thread to prevent blocking systemReady().\n\nBug: 5145437\nChange-Id: I4c6c1dc09864a1c05f9486a31faa1b366548e911\n"
    },
    {
      "commit": "dbff91077ddf437b62794e077d2ce9e10fff8170",
      "tree": "350f326738f900e12e5d518b5300123d8c6ddd96",
      "parents": [
        "e15a73ee4c9a28d89888095c7649a70c116ee160",
        "d5d7e164d316e595a64faf1555839d1939da0863"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 10 13:41:36 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Aug 10 13:41:36 2011 -0700"
      },
      "message": "Merge \"Support wrapping app processes to inject debug instrumentation. Bug: 4437846\""
    },
    {
      "commit": "cb30b22ff507a5a9a5d9c584f8b082f5e96c4d02",
      "tree": "4faaea2bb6e35b4ad68e210d2de67d9615d5c7c5",
      "parents": [
        "aba367eea4792a1d3778061181e3a38e188f4f06"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Jul 29 20:54:52 2011 -0700"
      },
      "committer": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Wed Aug 10 10:18:59 2011 -0700"
      },
      "message": "Add firmware reload support for P2P\n\nRefactor firmware reload call to support various modes - AP, STA \u0026 P2P\n\nBug: 5002384\nChange-Id: I10d20fe5a7842437cf80861bc8a834990db87db5\n"
    },
    {
      "commit": "e6b2429cf719f30259a3eae61b94524b5cff4fab",
      "tree": "641fd74486b8d1d2750909b7ecb8b8aefc546e8c",
      "parents": [
        "af61fd0fd46425a7ce80de4312880e3bbfe3ca81"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Aug 09 16:52:58 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Aug 09 16:52:58 2011 -0700"
      },
      "message": "Remove default routes for non-default networks.\n\nRecoding/port of a change that existed in GB but got dropped\nin the shuffle.\n\nbug:5036222\nChange-Id: I87e819d255c0c46f3ec8fe0fe18d27ae9df1ae36\n"
    },
    {
      "commit": "05355c3eb69ef2cd8d08260be059be006a2883b9",
      "tree": "05dd728f3091cffdb10e7a861482d0a3d5664446",
      "parents": [
        "af61fd0fd46425a7ce80de4312880e3bbfe3ca81"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 09 14:44:19 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 09 14:44:19 2011 -0700"
      },
      "message": "Enable network stats module by default.\n\nBug: 5138315\nChange-Id: Id4cffdc126bf14a005fc2d3aece87ea036a51999\n"
    },
    {
      "commit": "e13e48d6fc98d8fdf3b366f1f4eb5086b240df6d",
      "tree": "f520e0b7bb9ddc507f1c3821f6acca49a16767f1",
      "parents": [
        "61ccc6a203e1b0fb235a4eed2b40e0c080f57f0c",
        "461ff1f03c803a9a0a01f6a834101f811ea85c61"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 09 13:58:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 13:58:26 2011 -0700"
      },
      "message": "Merge \"Add security checks for new API\""
    },
    {
      "commit": "461ff1f03c803a9a0a01f6a834101f811ea85c61",
      "tree": "9c9732e2730217b400c1ddbfea9ffc7589636513",
      "parents": [
        "a4418e0fd94f27c0b40abe17d42af0880cb3effb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 09 09:43:03 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 09 11:08:34 2011 -0700"
      },
      "message": "Add security checks for new API\n\nBug: 5137679\nChange-Id: Ic0c1e0cf2960a7062ba318b60ee2c92506f6aab6\n"
    },
    {
      "commit": "a44abeb125a0c8a8e5a065f868d316e41354286a",
      "tree": "a2b607644d903e398d8c77f3a76a5a9c960959a1",
      "parents": [
        "98d29b44f76fea1dd325f06240557dfb253d635e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 08 19:24:01 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 08 19:24:28 2011 -0700"
      },
      "message": "Improve window manager debug output.\n\nCleaned this up while I was debugging another issue.\n\nChange-Id: I0663b9ed581c6868b59655a0f994d870971ec1a6\n"
    },
    {
      "commit": "880f64ac1080ccec111de91a4af026cca3d1bb25",
      "tree": "e4050b3689f30ebe6d015f106c0b11c276b6104f",
      "parents": [
        "930740d1efe00fabc9ff4354cb0379cbbf0765af",
        "199ed6ef89bd356895534ba09ac43ed340cd9a1a"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Aug 08 11:33:57 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 08 11:33:57 2011 -0700"
      },
      "message": "Merge \"VPN: introduce VpnService as the base class for user space VPN.\""
    },
    {
      "commit": "199ed6ef89bd356895534ba09ac43ed340cd9a1a",
      "tree": "c1a6050d486972644de268e015bd0ea9ba904bbc",
      "parents": [
        "fcc1b41b663c1a0cb551344c4a16a5ad9ce36d60"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Aug 03 17:38:49 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Aug 08 11:15:41 2011 -0700"
      },
      "message": "VPN: introduce VpnService as the base class for user space VPN.\n\nChange-Id: I4793a6eb51b33f669fc6d39e1a16cf5eb9e3d851\n"
    },
    {
      "commit": "c63502720e7b7c72e823589cf9afeb16f08c7c7d",
      "tree": "8861938e736d7cc156f3d6d31437a989fdecf55f",
      "parents": [
        "2dbf1b76b9da7d551e660606139f2d496fe9af47"
      ],
      "author": {
        "name": "Mark Brophy",
        "email": "mbrophy@google.com",
        "time": "Fri Aug 05 16:16:39 2011 +0100"
      },
      "committer": {
        "name": "Mark Brophy",
        "email": "mbrophy@google.com",
        "time": "Mon Aug 08 16:24:16 2011 +0100"
      },
      "message": "Store last-resume times in a separate XML file.\n\nIn UsageStatsService, separate last-resume times from the rest of\nthe statistics, and serialize them to an XML file daily.\n\nThis way, ApplicationsProvider will still be able to acces this data,\neven thoguh other statistics are flushed to disk and discarded each day.\n\nBug: 5108745\nChange-Id: Id3df3c98243ba02cde16b31e5e29bd9ff3602108\n"
    },
    {
      "commit": "74b551aae5dfee977917f8ab967d4e191bc4b50e",
      "tree": "677c49780de8deb8fdec9546d73b2320e0cf5a0d",
      "parents": [
        "03b2ea1102d9e3e9f189173878706ab04533eea3",
        "3e4e4af45216aee4d4b009fe842c0324610918eb"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Aug 08 06:50:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 08 06:50:19 2011 -0700"
      },
      "message": "Merge \"Turning off accessibility feature reboots the device\""
    },
    {
      "commit": "03b2ea1102d9e3e9f189173878706ab04533eea3",
      "tree": "af4cb040c8fda99e7993b53c3acc412ce1ff23ca",
      "parents": [
        "7d608423b721e0153f37bfd5eba78fcd2489562d"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 03 17:36:14 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Aug 08 19:29:26 2011 +0900"
      },
      "message": "Support xml configuration file for the spell checker and add the spell checker subtype\n\nChange-Id: I74715855525fc0a1282238d593ad37aefd42bfc3\n"
    },
    {
      "commit": "7d608423b721e0153f37bfd5eba78fcd2489562d",
      "tree": "1844ef30b7a4e467a39858ab5ffc7575c4f536d3",
      "parents": [
        "8868f9797c39e5fc7c9612fbb69d53f34f03f6a2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Aug 07 16:24:18 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Aug 07 20:20:56 2011 -0700"
      },
      "message": "Move OOM kernel settings to activity manager.\n\nThe activity manager now take care of plugging the correct settings\ninto the OOM killer in the kernel.  This is a lot cleaner because\nit is really central to how the activity manager works, and nobody\nelse cares about them.\n\nTaking advantage of this, the activity manager computes what it\nthinks are appropriate OOM levels based on the RAM and display\nsize of the device.\n\nAlso a small optization to the package manager to keep a binding\nto the package install helper for a bit after done using it, to\navoid thrashing on it.\n\nAnd some new APIs that are now needed by Settings.\n\nChange-Id: I2b2d379194445d8305bde331c19bde91c8f24751\n"
    },
    {
      "commit": "dfee59afb3e4cdcde38f6338f9360655de76da92",
      "tree": "9581ba1b0c6d7c0034e7ff69fcf85071a9244a1c",
      "parents": [
        "5d4967884132647a75d05bcc2ca1f9ce490b372f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Aug 05 20:48:30 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Aug 07 14:17:30 2011 -0700"
      },
      "message": "Fix bug 5011824 - New Holo overflow menu for physical menu key devices\n\nThe new Holo-style overflow menu now appears from the edge of the screen\nwhere the device\u0027s physical menu key can be found. The policy determining\nthis lives in getPreferredOptionsPanelGravity() in WindowManagerService.\n\nChange-Id: I8851a2265547156591e82044e50b5cfc58d3eefa\n"
    },
    {
      "commit": "ffbf1756f64844c9f0c916a4d3fb6766a191d459",
      "tree": "a528c86958bc0b18314b58d4bf6ab729a20c05f0",
      "parents": [
        "8dc6a1b2823f374a176fb21b8a174664a5f825fa",
        "aac0eb08bb2fdb32b2f2e045d74343abe6ae6bf8"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Sun Aug 07 13:37:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 07 13:37:59 2011 -0700"
      },
      "message": "Merge \"Remove notifications when an app is disabled.\""
    },
    {
      "commit": "aac0eb08bb2fdb32b2f2e045d74343abe6ae6bf8",
      "tree": "014dd09efa6e3d491d3e03577170b02f36593080",
      "parents": [
        "fb87cf606a22ab1056fd7caf9bf1f6d9f9190f51"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Sat Aug 06 22:51:56 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Sat Aug 06 22:51:56 2011 -0400"
      },
      "message": "Remove notifications when an app is disabled.\n\nBug: 4998840\nChange-Id: Ic0c14105924d815aed78da1f5510c98a2fe1dd77\n"
    },
    {
      "commit": "8dc6a1b2823f374a176fb21b8a174664a5f825fa",
      "tree": "eeb04170d38361b192670d2740ee9509e2283a2c",
      "parents": [
        "9ea31639738e8d2c90dc3a4fcd535d09a0b7209a"
      ],
      "author": {
        "name": "Isaac Levy",
        "email": "ilevy@google.com",
        "time": "Wed Jul 27 08:00:03 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Aug 05 20:45:08 2011 -0700"
      },
      "message": "Watchdog notify on explicit connect\n\nNotifies when user explicitly clicks on wifi dialog.\n\nChange-Id: I5eee37d68b422d748d41e9384d5006482a223dc5\n"
    },
    {
      "commit": "9ea31639738e8d2c90dc3a4fcd535d09a0b7209a",
      "tree": "d989269169af06601154db67e91a6660d32ca0c6",
      "parents": [
        "9c181ffbda73beb0a6d14529693896945af30591"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 05 14:43:50 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 05 19:22:25 2011 -0700"
      },
      "message": "Fix issue #5108980 Wallpaper is not restored after upgrade from IRK32B to IRK33B\n\nTake care of updating from old component name, and don\u0027t let this happen\nagain.\n\nAlso tweak how we switch between static wallpapers to avoid introducing\na 4MB allocation in the system UI process when this happens -- we now\nstop the current wallpaper service and start a new one, so we get a\nbrand new surface that we can draw only one time in to.\n\nChange-Id: I6fc8a42b8a46bba79759bd68fb7d0684b5d897b7\n"
    },
    {
      "commit": "9c181ffbda73beb0a6d14529693896945af30591",
      "tree": "a09d85f2ff87ddf29a6f2f343a7d9aa5771b4147",
      "parents": [
        "2adf53c758388c764878835631e43b90bd1302e9",
        "b437e090ec03a2bab10bdfcb9484577a7f34e157"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 05 18:18:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 18:18:52 2011 -0700"
      },
      "message": "Merge \"Improved memory use reporting.\""
    },
    {
      "commit": "b437e090ec03a2bab10bdfcb9484577a7f34e157",
      "tree": "86424e259db63fb8c7780a433b2eb808950fbc49",
      "parents": [
        "284585aa835096111c7129b330f458b75ed27a8d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 05 17:50:29 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 05 18:18:05 2011 -0700"
      },
      "message": "Improved memory use reporting.\n\nChange-Id: I38e53e6228bba92a142bafeedb5af8df4e4e5724\n"
    },
    {
      "commit": "d37dbc7c96aa78ba297b46de04a4c565b8a2e71a",
      "tree": "9f308520560f115e3f4abd76dc308f93a0905e54",
      "parents": [
        "580dc389db5d0a5fbdebb7c77fb89214318f9ce3",
        "eef4ae44b308350e669b829da75610058ff4d328"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Aug 05 15:07:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 15:07:41 2011 -0700"
      },
      "message": "Merge \"Fix bug where sometimes the full backup pw would not be validated\""
    },
    {
      "commit": "fb87cf606a22ab1056fd7caf9bf1f6d9f9190f51",
      "tree": "d24a9d9f5d4faddb8652a8c35580b110151b29e9",
      "parents": [
        "8f019d63055ad76b94710b7b96e29625173584c4",
        "2b30afdbad5e79c5775ac9756f3b986268d90f1f"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Aug 05 13:55:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 13:55:39 2011 -0700"
      },
      "message": "Merge \"resolved conflicts for merge of 7bb2d942 to master\""
    },
    {
      "commit": "eef4ae44b308350e669b829da75610058ff4d328",
      "tree": "da377126f2581fb7ae918a1cee056f55d31155cd",
      "parents": [
        "e83af902c4ed1f0f1afb1b4f6f26a8003aca4954"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Aug 05 13:15:53 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Aug 05 13:15:53 2011 -0700"
      },
      "message": "Fix bug where sometimes the full backup pw would not be validated\n\nThere was a hole where if no backup pw was supplied and the current\npw authentication field was also left blank, it wound up not verifying\nand just proceeding with the backup.\n\nChange-Id: I857d8e83cbb2b3bf6b6b04848c5696ef0cf393a1\n"
    },
    {
      "commit": "2b30afdbad5e79c5775ac9756f3b986268d90f1f",
      "tree": "e4a5ea1d6b4c77310a21d937fd6d405424d2b6dc",
      "parents": [
        "b51b844dc892ed98b73541afc6931377857bea2d",
        "7bb2d942498dea702f2020d7b81f0e13c2623500"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Aug 05 11:40:22 2011 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Aug 05 11:40:22 2011 -0700"
      },
      "message": "resolved conflicts for merge of 7bb2d942 to master\n\nChange-Id: I026b01805c81d8b26d22e4a195e5e38655a34d32\n"
    },
    {
      "commit": "d0c3f7e770d776808ea78fded3e0fb44e1b9d898",
      "tree": "f1597860afdd36fbc342e0edce78c29968e8d3d2",
      "parents": [
        "b51b844dc892ed98b73541afc6931377857bea2d",
        "fdd5f95a817820c8e3e240718c6ef2f0d0d96613"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Aug 05 10:21:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 10:21:51 2011 -0700"
      },
      "message": "Merge \"Update scanresult capability check\""
    },
    {
      "commit": "3e4e4af45216aee4d4b009fe842c0324610918eb",
      "tree": "79cdb68b22a2b76b6ad5ba7d7db28ee67d33a8f1",
      "parents": [
        "9fbceea01da9d802f2f03b559f78989d2ae50881"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 05 06:23:22 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 05 07:54:50 2011 -0700"
      },
      "message": "Turning off accessibility feature reboots the device\n\n1. The touch explorer uses delayed injection of events\n   which can happen after its hosting accessibility\n   input filer has been unregistered, thus the explorer\n   was trying to inject events when this is not allowed.\n   Now upon unregistration of the accessibility explorer\n   it resets the state of the touch explorer it hosts.\n\nbug:5105956\n\nChange-Id: I720682abf93382aedf4f431eaac90fd2c781e442\n"
    },
    {
      "commit": "9fbceea01da9d802f2f03b559f78989d2ae50881",
      "tree": "b00b1dc6179f5756ce4293085486189b619acbde",
      "parents": [
        "755edceadbd07084b694bfe29dc516436a6362d2",
        "47e02711d78ecac9112aa7f66e5664cdc46fb3d1"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 05 04:59:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 04:59:04 2011 -0700"
      },
      "message": "Merge \"ACTION_HOVER_EXIT sometimes not delivered during touch exploration.\""
    },
    {
      "commit": "0dc8bb25d21963528bfd0fc05ccbc01663b9fc5a",
      "tree": "e780344a249f885f330809f459d12ed17117d453",
      "parents": [
        "bd391ba1f24409d889d3fb84651f8c81edcd659e",
        "5357806980269d846a15c845a6fcc0384fb18860"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 05 03:59:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 03:59:06 2011 -0700"
      },
      "message": "Merge \"API cleanup for the spell checker framework\""
    },
    {
      "commit": "fdd5f95a817820c8e3e240718c6ef2f0d0d96613",
      "tree": "99250c56abe7d5f43c5aeec42e6cd39205f8e450",
      "parents": [
        "b491877331cab95b8d2f9191a674476f826f92a5"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Aug 04 16:55:54 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Aug 04 16:58:33 2011 -0700"
      },
      "message": "Update scanresult capability check\n\nScan results now have [ESS], [IBSS] \u0026 [P2P] to represent an\naccess point, ad-hoc network \u0026 p2p network.\n\nFix open network check.\n\nBug: 4998496\nChange-Id: I0bf3f168677b0cd8cb27297427b539e768210995\n"
    },
    {
      "commit": "7bb2d942498dea702f2020d7b81f0e13c2623500",
      "tree": "bd65d99b95f6f47c99a50a5dfbb928f35806ab32",
      "parents": [
        "03f8fcb8b017556df08d9926f8ca41b383c5ad08",
        "090df1dc4188e5b9ef10a0aca5081a196085ff56"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Aug 04 16:11:41 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 04 16:11:41 2011 -0700"
      },
      "message": "am 090df1dc: Merge \"Delay connectivity change notifications.\" into honeycomb-LTE\n\n* commit \u0027090df1dc4188e5b9ef10a0aca5081a196085ff56\u0027:\n  Delay connectivity change notifications.\n"
    },
    {
      "commit": "fe313490fb64746d4042934f77ac19d8d00d6a25",
      "tree": "883ff082f4a67b0305a3d69dd9f724045cb7bfea",
      "parents": [
        "d6a89b48c9395338cbeb230ccde5006ac6a9729f",
        "63d27a9233fed934340231f438493746084a681d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 04 15:39:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 04 15:39:24 2011 -0700"
      },
      "message": "Merge \"Network stats with varint, omit parcel fields.\""
    },
    {
      "commit": "628b08530a50bddbe3d65088a8b621c0950e0c19",
      "tree": "1ee2906125ba0c642216ad65a8577f9874ff63c6",
      "parents": [
        "1a230885b356256e91b3bf006ec72213ba6f8f76"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Aug 04 15:01:58 2011 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Aug 04 15:01:58 2011 -0700"
      },
      "message": "Delay connectivity change notifications.\n\nBecause changes to the route tables take time to propagate\nwe add a delay when sending out change notifications. This allows\napplications, such as GTalk, to create sockets without encountering\na 3 minute timeout.\n\nBug: 5008488\nChange-Id: I0eefb03a5d6358a58ea6ae5b4f697ff302b5511d\n"
    },
    {
      "commit": "b234636105317942bdf2daf4f5581c2218847084",
      "tree": "f80552a34cb6830843569916b99faa1849ff2e44",
      "parents": [
        "e30d6f1588a47fa4ad57a1de7bb28a7a0c58dedf",
        "fcc1b41b663c1a0cb551344c4a16a5ad9ce36d60"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Aug 04 13:04:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 04 13:04:51 2011 -0700"
      },
      "message": "Merge \"VPN: move away from the VPN permission.\""
    },
    {
      "commit": "1137341885d8dc451dddc2e01319fb0fab00bbc3",
      "tree": "d6c4e2d8c0ab8f2ed24cd7d2ed9e84ee1d63086e",
      "parents": [
        "62c7b37590b1a692384a55949d3b9eba221a3652"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 28 15:13:33 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 04 11:51:38 2011 -0700"
      },
      "message": "Throw exception on odd length Signatures\n\nThe old version of this code would silently truncate odd-length\nSignatures. However, this masks some bugs. Add a throw of\nIllegalArgumentException so users can easily see where they\u0027re getting\nbad input for Signatures.\n\nAlso, go through the existing code and catch this exception or\npre-check the input strings so system_server doesn\u0027t crash later.\n\nBug: 5092338\nChange-Id: I8c672c5eaeb738a92c4581ce0df09baf719980ef\n"
    },
    {
      "commit": "aead35a850ea7246aa93d40026fd8120dd1582f6",
      "tree": "3a6259faef0f981a3592dbac44fa87a91fef78c0",
      "parents": [
        "e0511bf055c522f1fa6391c5987675eef0791053",
        "f6d09845be2d58b1de7af9f6edc8b9ee216520a5"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Aug 04 10:29:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 04 10:29:23 2011 -0700"
      },
      "message": "Merge \"Fix p2p package paths\""
    },
    {
      "commit": "2b15cb21b313f83f7cccdc6f9116ba31ddc190ad",
      "tree": "68405f8f6a26b7b410e6d491273224953fc64955",
      "parents": [
        "7abaecc3dbb610b24e22685e6aa749c7011be1eb",
        "75f1fdec3e95e9c8b5add02ba6e9b14913058f22"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 04 11:40:25 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 04 11:40:25 2011 -0400"
      },
      "message": "Resolve merge conflict for \u002775f1fdec\u0027:\n\n    GPS Provider Service changes\n\n    GPS engine needs to receive network state changes from Android fw.\n\n    Added db query for the current APN, also added a new parameter\n    between JNI / HAL to the new method in AGpsRilInterface struct\n    for gps engine to receive APN from GPSLocationService\n\nConflicts:\n\tservices/java/com/android/server/location/GpsLocationProvider.java\n\nChange-Id: I33c45027f1571493d3525324f62d199517c4960c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "75f1fdec3e95e9c8b5add02ba6e9b14913058f22",
      "tree": "1df88c7138d14fe9ca9ad3cc87048658deab7300",
      "parents": [
        "a598d144e8c9722ff83e38cd8a70bc15a00bcdf3",
        "0b3af353dcf61177158934a11404cf2914038696"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood%android.com@gtempaccount.com",
        "time": "Thu Aug 04 07:53:53 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 04 07:53:53 2011 -0700"
      },
      "message": "am 0b3af353: am a82ee49a: am 8f5dd9ad: Merge \"GPS Provider Service changes\"\n\n* commit \u00270b3af353dcf61177158934a11404cf2914038696\u0027:\n  GPS Provider Service changes\n"
    },
    {
      "commit": "a5fe6b2efee02ab11c35e80ec50fec62be227273",
      "tree": "0441ee5839e58c068b025f486f6d8a326e5bad6e",
      "parents": [
        "9b0c6beed2cd5463655712ad80ed160c08611ff8"
      ],
      "author": {
        "name": "Kevin Tang",
        "email": "zhikait@codeaurora.org",
        "time": "Sun Jun 05 14:25:16 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Aug 04 10:33:35 2011 -0400"
      },
      "message": "GPS Provider Service changes\n\nGPS engine needs to receive network state changes from Android fw.\n\nAdded db query for the current APN, also added a new parameter\nbetween JNI / HAL to the new method in AGpsRilInterface struct\nfor gps engine to receive APN from GPSLocationService\n\nChange-Id: I62e35c948d2ac1961771d1a10581a3b8e695c05a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "47e02711d78ecac9112aa7f66e5664cdc46fb3d1",
      "tree": "df9d4e522b375c7a094dddea6e9e3573f1fd1f79",
      "parents": [
        "7abaecc3dbb610b24e22685e6aa749c7011be1eb"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jul 31 20:23:48 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Aug 04 06:34:37 2011 -0700"
      },
      "message": "ACTION_HOVER_EXIT sometimes not delivered during touch exploration.\n\n1. The code for detecting the end of a touch exploration gesture\n   was not injecting the hover exit event upon detection of the\n   gesture end.\n\nbug:5091758:\n\nChange-Id: I468164617d6677cd2a2a2815e1756c826d49f3a9\n"
    },
    {
      "commit": "f6d09845be2d58b1de7af9f6edc8b9ee216520a5",
      "tree": "b7397f4d5b2123606645bf811ac1c26a72b03532",
      "parents": [
        "eba69ac07085089194b4a1403f6b698605adf417"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Aug 03 15:37:08 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Aug 03 23:21:02 2011 -0700"
      },
      "message": "Fix p2p package paths\n\nSplit change Iba3beb8c which will not go in master to fix package paths\n\nBug: 5002384\nChange-Id: I15072b65422fcdfe17c3f130d169258d60748012\n"
    },
    {
      "commit": "5357806980269d846a15c845a6fcc0384fb18860",
      "tree": "4f6f4f976347d59d92bec50072fe7f5dd5c25d4d",
      "parents": [
        "cf27a3ecc6782b6c86f720b1df2459a160fde81a"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 03 16:08:59 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 04 12:53:56 2011 +0900"
      },
      "message": "API cleanup for the spell checker framework\n\nBug: 5110151\n\n- Add a bundle to an argment of newSpellCheckerSession\n- Expose SpellCheckerSessionImpl in SpellCheckerService\n- Fix function names\n- etc\n\nChange-Id: Ia8ec783b7b4d5fcd18389854b445fc10fc502297\n"
    },
    {
      "commit": "5564334aa5401e22fb1afc8fe5e55d4d3e7f53c3",
      "tree": "fb757ca586e838d6eb1007a5487f71243c9a2104",
      "parents": [
        "e2e7b1e2dc31f9e3be0bc44b999227937282f935",
        "1984e79d1593b80adf46b16666862f5787157aed"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Aug 03 18:35:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 18:35:33 2011 -0700"
      },
      "message": "Merge \"UsbDeviceManager: Fix typo that broke adb on/off setting persistence\""
    },
    {
      "commit": "63d27a9233fed934340231f438493746084a681d",
      "tree": "921466d4cb779162a92683b9e5e740b713d2215b",
      "parents": [
        "b389bdfba291382f9b306dd0e1bf7ba42fd94a4a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 03 17:04:22 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 03 17:21:07 2011 -0700"
      },
      "message": "Network stats with varint, omit parcel fields.\n\nPersist NetworkStatsHistory using variable-length encoding; since\nmost buckets have small numbers, we can encode them tighter. Initial\ntest showed 44% space savings. Also persist packet and operation\ncounters.\n\nLet NetworkStatsHistory consumers request which fields they actually\nneed to reduce parcel overhead.\n\nTests for verify varint and history field requests, also verify end-\nto-end by persisting history into byte[] and restoring. Expose\nbandwidth control enabled state. Extend random generation to create\npacket and operation counts. Moved operation counts to long.\n\nFix bug that miscalculated bytes since last persist, which would\ncause partial stats loss when battery pulled.\n\nBug: 4581977, 5023706, 5023635, 5096903\nChange-Id: If61e89f681ffa11fe5711471fd9f7c238d3d37b0\n"
    },
    {
      "commit": "01704e76fa52805f6e739fc0d8e63f403e74bfa8",
      "tree": "8df3609c25cbdd80b0e239540d52522b545b9e75",
      "parents": [
        "a841e524013c4bff360f2280cb5d2fbb1895d043",
        "1ebd74acf9977daa42133507e970dab88e08f0ef"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 03 17:09:38 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 17:09:38 2011 -0700"
      },
      "message": "Merge \"Better error codes for missing files\""
    },
    {
      "commit": "a841e524013c4bff360f2280cb5d2fbb1895d043",
      "tree": "9d5b4f899cfab8b0b329d20cecae52ee3d570cd4",
      "parents": [
        "1824a62bc1250fce5b575d19d4f4f8a32bc9ec05",
        "f0ceede8fff5df24e5c98701d81c2b71eb138aa9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 03 17:05:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 17:05:21 2011 -0700"
      },
      "message": "Merge \"Expose quota status for active network.\""
    }
  ],
  "next": "1ebd74acf9977daa42133507e970dab88e08f0ef"
}
