)]}'
{
  "log": [
    {
      "commit": "38aac047431ea370509f956ad16224b39a71e586",
      "tree": "282f999de682b9eeb93ac095944783df25920a13",
      "parents": [
        "08b997c7421735252fa927d89f22ab6ceba0bff8"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Sep 06 14:41:33 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Sep 06 14:41:33 2011 +0900"
      },
      "message": "Do not show the label for auto subtypes\n\nChange-Id: Ie62d0b83f2fcb2c93d3935bcaa5121d2adc56b7d\n"
    },
    {
      "commit": "05dbb65dfa3b81a4b70069ca6aa0a343b56565f9",
      "tree": "6fbc21418980bd5c7130d7a7519f865d9e303f0c",
      "parents": [
        "dbfba8560dda9de810c4265b765d49952519e841"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Mon Aug 22 15:22:43 2011 +0900"
      },
      "committer": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Tue Sep 06 00:07:03 2011 +0900"
      },
      "message": "Two line item for the IME switcher dialog.\n\nbug: 5098770\nChange-Id: I2b955973e7f223d8c98d8dac6aaa657a7a31b555\n"
    },
    {
      "commit": "fead8f976700906101714b3265e64e30c0a80180",
      "tree": "e6f2d2197f2cec8610b9802c65c199f129c66612",
      "parents": [
        "6b0c11da5a7a7ea236fd9dc409d1ce7a33bff9c2",
        "15d161f61bd97e937e95fe8a8e520a947113c7b1"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Sep 02 17:35:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 02 17:35:00 2011 -0700"
      },
      "message": "Merge \"Ensure appwidgets are loaded before usage.\""
    },
    {
      "commit": "6b0c11da5a7a7ea236fd9dc409d1ce7a33bff9c2",
      "tree": "030e2647a2ad0b6f972447e3c3640631c6e29ea2",
      "parents": [
        "a59e3146b7dc298043e43e1816e3415b2583a3c8",
        "5d927c2d8e832fcfcb0154c8741f896001141ef4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 02 17:18:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 02 17:18:32 2011 -0700"
      },
      "message": "Merge \"Fix issue #5150899: Call activity takes 15MB we never get back.\""
    },
    {
      "commit": "5d927c2d8e832fcfcb0154c8741f896001141ef4",
      "tree": "7d162893e30019d24ec5a50cdc5566878e8d3a08",
      "parents": [
        "a55c369e73a8864cc34290625acd16c68956c58a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 02 12:22:18 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 02 12:22:18 2011 -0700"
      },
      "message": "Fix issue #5150899: Call activity takes 15MB we never get back.\n\nPersistent process can no longer use hardware acclerated drawing\nwhen running on a low-memory device.\n\nChange-Id: I3110335617af1c98fcede9bf41f4a1d0c20d0e87\n"
    },
    {
      "commit": "db97f60054b6011fbcc1baf29a68b940b53046c0",
      "tree": "6dfcc0110676e1990a348a17dc52029a8dfd1e32",
      "parents": [
        "bffb83e96c2f3d01bf42490737201ab4de79c91b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Sep 02 11:59:08 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Sep 02 11:59:08 2011 -0400"
      },
      "message": "Fix logic for power button overridding the \"wait for prox negative state\" after a call\n\nWhen in a phone call, we keep the screen off while the prox sensor returns positive\nand the device is oriented in a vertical position.\nIf the call is terminated on the other end, we keep the screen off\nuntil the proximity sensor returns negative.\nWe do this to avoid having the screen turn on as soon as the other end\nhangs up while the phone is still next to your head.\n\nHowever, we allow the power button to wake the screen while waiting for the proximity\nsensor to go negative as a precaution in case there is a problem with the proximity sensor.\nBut unfortunately that logic broke due to a change in the call path used to turn the screen\non from the power button (it previously called userActivity, now it uses a wake lock).\nThis change adds code to handle the new code path so the power button will wake the screen\nwhile we are waiting for the proximity sensor to go negative after a call.\n\nBug: 5184524\n\nChange-Id: I7d1e0f0d1f78680c552a05d68a392647823250ab\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "bffb83e96c2f3d01bf42490737201ab4de79c91b",
      "tree": "4ea30ddba89c37b7a369773fc6532e4e0ac93bb3",
      "parents": [
        "1d477c53bf2f389813d04d5163d210fccf00ceb9",
        "a86f5e448cd6d29340ca6cbe509bc6384bc0d711"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 02 04:44:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 02 04:44:41 2011 -0700"
      },
      "message": "Merge \"Add an option for the implicitly selected subtype\""
    },
    {
      "commit": "a86f5e448cd6d29340ca6cbe509bc6384bc0d711",
      "tree": "14f2beefe9761a87db231f70d143a5e8a59d856e",
      "parents": [
        "a2f69c914dbb8cbd8761bff3ec4399e500e62674"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 02 17:12:42 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 02 20:27:38 2011 +0900"
      },
      "message": "Add an option for the implicitly selected subtype\n\nBug: 5057886\nChange-Id: Iddde4724891501b4f18cade6a3d2c64b6124e58a\n"
    },
    {
      "commit": "ee5e77cafec2eae70890abdcc1646ed39b06eddd",
      "tree": "761b1fccabd3d49f58470e8694032f552060f9dd",
      "parents": [
        "117999d1f44ec3423369385495ae207898b7b73e"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 02 18:50:15 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 02 19:22:50 2011 +0900"
      },
      "message": "Make setAdditionalInputMethodSubtypes async\n\nBug: 5120261\nChange-Id: Ic7869cfaa5361531e08d58d7dfa5ba0feab0613e\n"
    },
    {
      "commit": "15d161f61bd97e937e95fe8a8e520a947113c7b1",
      "tree": "d4a1cbeee14d310ccc462aca575a4f4b0ab47885",
      "parents": [
        "ba5fe92361f717899e4b1e37a79f9f0547624487"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 01 21:30:56 2011 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Sep 01 22:35:19 2011 -0700"
      },
      "message": "Ensure appwidgets are loaded before usage.\n\nBefore accessing appwidget details, always ensure that configuration\nis loaded from disk.\n\nChange-Id: Ic71dd62fcdb1d1e5f7bae397efa8dce787434ba5\n"
    },
    {
      "commit": "9b69a04e24e70a8e82e1820c877c8f4df0c7a980",
      "tree": "d6667199f18e3489b1a2c5057b796805f7e39826",
      "parents": [
        "c7f159e29f1522a8c362145f8d454c21fc1e920e",
        "07b0dd9a092273f0451cd9881312cb9b22a7af3f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 01 21:31:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 01 21:31:21 2011 -0700"
      },
      "message": "Merge \"Sample network statistics for sanity check.\""
    },
    {
      "commit": "c7f159e29f1522a8c362145f8d454c21fc1e920e",
      "tree": "0eeb457b72adf31cdb9cb582c63080e2c2ccd947",
      "parents": [
        "ff7130288f5df81f654cc008cfea33c263882722",
        "0fea823673e9cab24bd16a1c80a9bd689fc7a6f9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 01 21:31:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 01 21:31:15 2011 -0700"
      },
      "message": "Merge \"Selectively add stats based on iface active state.\""
    },
    {
      "commit": "7de6578f1c4bf97c9f856f819d4985d25163012a",
      "tree": "3cdb1a214ecc417260ee16ae078b94063443fbb7",
      "parents": [
        "554d4a576586d0e21312862c4b1cf9abdaaf15f4",
        "0e60db221c80bb1c57eaa7989b7079e5ba5a27a4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 01 15:56:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 01 15:56:36 2011 -0700"
      },
      "message": "Merge \"Fix issue #4974633: Block the HOME button using TYPE_KEYGUARD\""
    },
    {
      "commit": "69666e078152362b19d02d9ee79bbd5fc69e09c3",
      "tree": "3bed6429e1ba7da61b8ecd164969b8015cf7ba1f",
      "parents": [
        "912a8b7062647700436c4ea001f58d61fd46c72f",
        "ba24e4d8bbeb60e96d74f05e21691dad61ce497e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 01 15:54:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 01 15:54:43 2011 -0700"
      },
      "message": "Merge \"Fix issue #5229575: Youtube link shared through messaging is not...\""
    },
    {
      "commit": "0fea823673e9cab24bd16a1c80a9bd689fc7a6f9",
      "tree": "86f58495167f335bd5ea6454cdd45fc597b67524",
      "parents": [
        "270bcaa9d1b7e6cef723532692d82bb231ac7137"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 01 01:07:31 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 01 15:23:38 2011 -0700"
      },
      "message": "Selectively add stats based on iface active state.\n\nOnly combine /proc/net/dev and xt_qtaguid stats when iface is marked\nas active.  When inactive, only return xt_qtaguid stats.  When iface\nis unknown to xt_qtaguid, always pass through /proc/net/dev stats.\n\nBug: 5242730\nChange-Id: I469fc6abe45309f794afebca814cbb39e4f13af5\n"
    },
    {
      "commit": "07b0dd9a092273f0451cd9881312cb9b22a7af3f",
      "tree": "64b53d8cc9970341b9c2c415e7f2cb85f13c4814",
      "parents": [
        "270bcaa9d1b7e6cef723532692d82bb231ac7137"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 01 13:06:19 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 01 15:07:19 2011 -0700"
      },
      "message": "Sample network statistics for sanity check.\n\nAfter detailed poll events, sample high-level network statistics to\nsanity check iface totals against UID totals.\n\nBug: 5248382\nChange-Id: I1c1fbb7c094c9ff0c9dde416467c563dda68f478\n"
    },
    {
      "commit": "ba24e4d8bbeb60e96d74f05e21691dad61ce497e",
      "tree": "a9546623a2358532720b7448cd874dd62191258f",
      "parents": [
        "1434ab98e690cbcfcdcd2296b491a44bff14cc55"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 01 11:17:06 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 01 12:39:17 2011 -0700"
      },
      "message": "Fix issue #5229575: Youtube link shared through messaging is not...\n\n...opening after selecting option \"Youtube\" as a luncher.\n\nAlso:\n\n* Tweak window animations so that the wallpaper exist animations do not\nstop too early (causing the wallpaper to suddenly disappear).\n* Make sure no input is being processed while booting, to avoid\naccidentally doing things especially in the upgrade dialog.\n* Some other small cleanup.\n\nChange-Id: I40a6b53731991d4e31ac4502e3d85f0e47507481\n"
    },
    {
      "commit": "0e60db221c80bb1c57eaa7989b7079e5ba5a27a4",
      "tree": "aa76ef25a9cda55cc6b486cc38be3bc9ed4a93cb",
      "parents": [
        "1434ab98e690cbcfcdcd2296b491a44bff14cc55"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 01 11:17:57 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 01 11:17:57 2011 -0700"
      },
      "message": "Fix issue #4974633: Block the HOME button using TYPE_KEYGUARD\n\nApplications shouldn\u0027t be able to change their window type after\nthe window is added to the window manager.\n\nChange-Id: Iac63da65f96fb30683f68f8d89c3fd29199a750c\n"
    },
    {
      "commit": "2d012c128fda793be3bf443f0b8596fbe23ca323",
      "tree": "26443043ec2d2a527136022a2c9ba65c8c9ffe88",
      "parents": [
        "270bcaa9d1b7e6cef723532692d82bb231ac7137",
        "9b2886e24301e5d4e7052ec4a6eaff273d3f516c"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Aug 31 17:44:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 17:44:50 2011 -0700"
      },
      "message": "Merge \"Create new isNetworkSupported API\""
    },
    {
      "commit": "9b2886e24301e5d4e7052ec4a6eaff273d3f516c",
      "tree": "27925e197c2c104a8ca70be59404c3c444c90c8c",
      "parents": [
        "ac73e4bb420dbda31a866f3b86b207c71ecfa2f6"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Aug 31 11:46:42 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Aug 31 16:53:12 2011 -0700"
      },
      "message": "Create new isNetworkSupported API\n\nUseful for checking if on a wifi-only device.\nSimilar to asking for NetworkInfo for a network type and checking for\nnull, though here the intent is explicit.\n\nbug:5087537\nChange-Id: Ia3ddd09b6b735b8b3ceb7a347891e015fd96b218\n"
    },
    {
      "commit": "d040edbae968d826aa2c82d382345811a45c646b",
      "tree": "a2193bbef37a990257ebabc7953b16409aac453e",
      "parents": [
        "be566b488a78e9e5ba0971ebe888d41511a11fa8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 31 12:47:58 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 31 14:18:32 2011 -0700"
      },
      "message": "Use floating point window positions.\n\nGets rid of gapps between windows during animations.\n\nChange-Id: I17d2ef0af214008f0eabd7eb19268f145fe83b39\n"
    },
    {
      "commit": "dcc882edfe530e1bbd61e776a7d2c8b874768e1d",
      "tree": "31cf72fa6401b9c0329f0fc70872598c449e4888",
      "parents": [
        "b2c4f0bf11f38fd31d80f1256c89b9db043a2929",
        "cbe67d5b33a2b183266e4398b1797db65aba9403"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 31 14:12:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 14:12:18 2011 -0700"
      },
      "message": "Merge \"Make ViewServer more quiet Bug #5231539\""
    },
    {
      "commit": "cbe67d5b33a2b183266e4398b1797db65aba9403",
      "tree": "8d88dca1c15d47e8796b12f455e396456cf25130",
      "parents": [
        "799833a8b451a04be201d25ae72213e8562f7774"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 31 14:11:07 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 31 14:11:07 2011 -0700"
      },
      "message": "Make ViewServer more quiet\nBug #5231539\n\nChange-Id: Ib1f3e0d7592b4af802efe4e9630a220c23450521\n"
    },
    {
      "commit": "9d4bc852ea459c2a4347a87ce0357b3328a25db8",
      "tree": "30f7154a210380d638c54107cd670681cd557d72",
      "parents": [
        "16b241a58f1ec4b317647b6fd0ad9b5cc3f7ba3d",
        "cc4f7db698f88b633a286d8ab1105b28a474cd09"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 31 13:01:16 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 13:01:16 2011 -0700"
      },
      "message": "Merge \"Fix input channel leak. Bug: 5156144\""
    },
    {
      "commit": "c593380d1bccbfbd45c404954b2670b65acc287f",
      "tree": "dd4e112536245e0cc74f71144371a0a068332ed4",
      "parents": [
        "6b14b23ad586b664aa09dfb46d627782ac00eb74"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 31 21:26:04 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 31 21:26:04 2011 +0900"
      },
      "message": "Fix crash in setAdditionalInputMethodSubtypes\n\nBug: 5142455\nChange-Id: I5eca4c1a3d9a964db04c819fc671670ef1b81817\n"
    },
    {
      "commit": "ed2b24ecc7842b27178fc584a9e5bd5b1ab07635",
      "tree": "08ad0fd3c0e50c44bdf3926208885a62d4688226",
      "parents": [
        "8da2a004b883dc4526bddb3198476414b2f3819c"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 31 18:03:21 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 31 18:03:21 2011 +0900"
      },
      "message": "Fix set additional subtypes.\n\nBug: 5102787\nChange-Id: Ic38db8c33b6496a083e8158cd79fb54c21187b04\n"
    },
    {
      "commit": "c7b60f72dda5c5f222342a9d60435ec353a8a19b",
      "tree": "1a60958ae1bcce17e525f074793b99293ee7d36c",
      "parents": [
        "4596eba795898674186c800dcc0f5910467008a5"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 31 16:30:27 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 31 16:30:27 2011 +0900"
      },
      "message": "Fix DeadObjectException of the spell checker\n\nBug: 5119646\nChange-Id: I2938a2206b79645c13a54cc7200f64c2c0aa3836\n"
    },
    {
      "commit": "cc4f7db698f88b633a286d8ab1105b28a474cd09",
      "tree": "02ec7d914ab182e912af5c147ebc7483a719c6de",
      "parents": [
        "ad4d2c99ed3a08a5090c38e9dd906df8fb894614"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 30 20:34:48 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 30 21:40:28 2011 -0700"
      },
      "message": "Fix input channel leak.\nBug: 5156144\n\nInput channels could leak or simply live longer than they should\nin some cases.\n\n1. Monitor channels (used by the pointer location overlay) are never\n   unregistered, so they would leak.\n\n   Added code to handle failures in the receive callback by closing\n   the input channel.\n\n2. The DragState held onto its input window and application handles\n   even after the input channel was disposed.\n\n   Added code to null these handles out when they are no longer needed.\n\n3. Input channels previously used as input event targets would stick\n   around until the targets were cleared (usually on the next\n   event).\n\n   Added code to detect when the input dispatcher is in\n   an idle state and to proactively clear the targets then\n   to ensure that resources are released promptly.\n\n4. Native input window handles held onto the input channel even\n   after the input window was removed from the input dispatcher.\n   Consequently, the input channel would not be disposed until\n   the input window handle itself was freed.  Since the input\n   window handle is held from managed code, this meant that the\n   window\u0027s input channel could stick around until the next GC.\n\n   Refactored the input window handle to separate the properties\n   (info) and identify (handle) state into different objects.\n   Then modified the dispatcher to release the properties (info)\n   when no longer needed, including the input channel.\n\n7. The pointer location overlay does not actually use its\n   standard input channel, only the monitor input channel.\n\n   Added INPUT_FEATURE_NO_INPUT_CHANNEL to allow windows to\n   request that they not be provided with an input channel\n   at all.\n\nImproved some of the error handling logic to emit the status\ncode as part of the exception message.\n\nChange-Id: I01988d4391a70c6678c8b0e936ca051af680b1a5\n"
    },
    {
      "commit": "cc55f8136e1c4f5cb404a18c7553929c23bd52ca",
      "tree": "06c385593a0608f1022dcf78ceda72bcab4fb8ec",
      "parents": [
        "960ba9132c02bfe2655268c2e5cb441c025c607f"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 16 16:06:53 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 30 18:23:13 2011 -0700"
      },
      "message": "Properly handle PACKAGE_REPLACED in addition to _ADDED and _REMOVED\n\nCertain kinds of application update generate this broadcast regime rather\nthan the REMOVE / ADD sequence that results from e.g. using the -r option\nwhen invoking \u0027adb install\u0027.\n\nWe also push the agent classname lookup to the last moment before\nactually running the backup, rather than caching it as part of the\nrecord of what apps need a backup pass in the future.  This was causing\na bug in which a package reinstall that renamed the app\u0027s agent class\nwould wind up with a crash at backup time, trying to load the wrong\nclass.\n\nFixes bug 5156094 / bug 4308977\n\nChange-Id: I4e3e12d86e6ee40809f14fd12ab762116dbee0b5\n"
    },
    {
      "commit": "9e4e727b4a164c17944e8ae6eb2d2532a98737f8",
      "tree": "769b357e22ec62cfb79c1cc28fc794a672035116",
      "parents": [
        "853921fa6ded5267c71f601beceda0f4cb94df9d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 30 14:06:51 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 30 14:56:31 2011 -0700"
      },
      "message": "Fix issues #5233826 and #5209847 -- live wallpapers.\n\n5233826\twhen a live wallpaper starts, it does so regardless of its visibility\n\nThe WallpaperService is now very forceful about telling a wallpaper it is\nnot visible when it first starts.\n\n5209847\tMake launcher turn off the wallpaper in all apps.\n\nFix a bug in the window manager that would not correctly handle the wallpaper\nflag changing.\n\nChange-Id: Ie3314043a84664be72a1304a1705408efd789a15\n"
    },
    {
      "commit": "63b5ad9e173796e2923d5ea58d7c7349d94d75e1",
      "tree": "557802933cda1d94fcddbc08add15ac74874d4ed",
      "parents": [
        "90200ee4e23b662e81a8d6fb6ef634ac6b378f5f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 30 09:55:30 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 30 09:55:30 2011 -0400"
      },
      "message": "Extinguish notification LED when user passes through lock screen\n\nAlso do not blink for notifications received when the screen is on.\n\nBug: 5233071\n\nChange-Id: I15675ca317007d4b900ef74e60d11a5bca3d7333\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "4107beecaab18b393e56a0c34b333f0a6e15be2f",
      "tree": "b51a66b4572ef619494b6f6ca95f38f14168349a",
      "parents": [
        "42930641792ecd23fee6b2913ba1e7cf24634f3d",
        "961e30458319cfd50e1892ba7dd14a1d0ebe4cc7"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 29 20:00:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 20:00:12 2011 -0700"
      },
      "message": "Merge \"Introduce immediate CONNECTIVITY_ACTION variant.\""
    },
    {
      "commit": "961e30458319cfd50e1892ba7dd14a1d0ebe4cc7",
      "tree": "48b621d3295787e0d234fb85cfe4cefa5875f5d0",
      "parents": [
        "bb66c21f01b42f533878613f57d5894817c32c93"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 29 16:02:57 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 29 16:10:43 2011 -0700"
      },
      "message": "Introduce immediate CONNECTIVITY_ACTION variant.\n\nNew broadcast that is dispatched immediately after connectivity\nchanges have been handled by ConnectivityService, bypassing any\napplicable CONNECTIVITY_CHANGE_DELAY.\n\nAlso protect CONNECTIVITY_CHANGE broadcasts, since they should only\nbe sent by system.\n\nBug: 5198167\nChange-Id: I75f1fb44b21da1879f0ab960bcaa481126d70fde\n"
    },
    {
      "commit": "8d3feb6292ba7e87adeb4982e8cf27114a8ee2e4",
      "tree": "5dd588235d15c57f2dd6aa4ea0dd550fb2b3e249",
      "parents": [
        "df7e2644992c5828be94980b4243ac9f1f48b177",
        "daf4a127ba2af82a3fb477044b872719a0ab1827"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 29 14:04:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 14:04:31 2011 -0700"
      },
      "message": "Merge \"Add a \"show touches\" option for demos and presentations. Bug: 4569045\""
    },
    {
      "commit": "6537b003b7b616d4babde4b69a3d5e68459c555a",
      "tree": "c55709e8c91af2f4ede8bc5367f94edf147435a7",
      "parents": [
        "b5d80fca2eb7f6053e6d404a0d4a7c213dad1317",
        "f804420d6e37748b75478406e989c69303756980"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Aug 29 11:04:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 11:04:33 2011 -0700"
      },
      "message": "Merge \"Clean up and bug fixes in the TouchExplorer.\""
    },
    {
      "commit": "f804420d6e37748b75478406e989c69303756980",
      "tree": "5e6f600ef08b2c9e26b71d918e8f1a70e00ec33d",
      "parents": [
        "b8a9e15c2aa3d317834555244a90f184b46e1dcb"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 26 20:33:33 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Aug 29 00:06:57 2011 -0700"
      },
      "message": "Clean up and bug fixes in the TouchExplorer.\n\n1. The downTime of the first down event was zero but it should the event time.\n\n2. Hover exit events were not injected while transitioning to delegating\n   state and when tapping.\n\n3. Differentiation between dragging and delagating state based on\n   two moving pointer direction and distance is now based only on\n   the direction. Hence, two pointers moving in the same direction\n   are dragging, otherwise the event stream is delegated unmodified.\n   The reason for that is the blind people cannot easily determine\n   and control the distance between their fingers resulting in\n   different behavior for gestures which the user thinks are the same\n   which creates confusion. Also in some cases the delegation and\n   draggig yield the same result, for example in list view, further\n   adding to the confusion. This was also causing the status bar to\n   be opened closed inreliably creating frustration.\n\n4. Refactored the code such that now there is only one method that\n   injects motion events and all request go through it. Some bugs\n   were introduced by inconsistent implementation in the different\n   injection methods.\n\n5. Fixed a couple of event stream inconsistencies reported by the\n   event consistency verifier.\n\nbug:5224183\nbug:5223787\nbug:5214829\n\nChange-Id: I16c9be3562ad093017af5b974a41ab525b73453f\n"
    },
    {
      "commit": "67ed6c7224b902ae56a109701a241210e18cf721",
      "tree": "655bdb9b34846b4c23542146c7644b9e94ccc103",
      "parents": [
        "b8a9e15c2aa3d317834555244a90f184b46e1dcb"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Aug 28 13:21:56 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Aug 28 13:23:02 2011 -0700"
      },
      "message": "Fix bug 5133509 - Align holo menu panel windows along the bottom of\nthe screen\n\nAlter preferred options panel gravity policy.\n\nIntegrate new menu panel assets for holo apps.\n\nChange-Id: I9fa98ed9359148ea6d1f1d1e727ddcd437b16e2f\n"
    },
    {
      "commit": "daf4a127ba2af82a3fb477044b872719a0ab1827",
      "tree": "2147e705a6b912683abd7169910acb548413d946",
      "parents": [
        "9b9783ad60d31f3df5d2524e13abc1437d5b6f7d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 26 17:14:14 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 26 17:14:14 2011 -0700"
      },
      "message": "Add a \"show touches\" option for demos and presentations.\nBug: 4569045\n\nChange-Id: I8726ea292dd7def790a5e40d7d7e58968974f896\n"
    },
    {
      "commit": "e598cd0143c0c79b0f6c6f557269ed5f5100e78b",
      "tree": "d03a1fea6f0d3234873fd9c43decf9b69f17d0a9",
      "parents": [
        "2c5423da4e3b23c0381952da2671f05a7501f9af",
        "47eb102b40cd1324d89816a7fb0fecd14fd7a408"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 26 15:46:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 26 15:46:19 2011 -0700"
      },
      "message": "Merge \"Always splice historical data stats, debug info.\""
    },
    {
      "commit": "47eb102b40cd1324d89816a7fb0fecd14fd7a408",
      "tree": "5387692119eb36fa75f73d17fa014a6528e3a0a4",
      "parents": [
        "ed191e1fae0f860323f6ed76ea982287c42ec83e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 25 17:48:52 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 26 14:19:54 2011 -0700"
      },
      "message": "Always splice historical data stats, debug info.\n\nWhen reading network counters, always splice in xt_qtaguid values\nto avoid counting backwards. Test to verify.\n\nRemove verbose logging around global alerts, and add dumpsys debug\ninfo for NMS and MDST. Also fix subtle bug around stats persisting\nand dumping.\n\nBug: 5212893, 5211028\nChange-Id: I783e5286637a67ee2dd2b09878198711a926d0cb\n"
    },
    {
      "commit": "f39daef102f2dff7517e257eb25c2e3677247e83",
      "tree": "c27517de9e46ad1b3c8a443a0032eb816769a576",
      "parents": [
        "ca6d29da777cffd40d9f3e38f95663ba1a2002c5"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 19:54:27 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 19:54:27 2011 +0900"
      },
      "message": "Reset subtype when the current spell checker was changed.\n\nChange-Id: I79099695337dbc5577871458b24c6710fc0ecca7\n"
    },
    {
      "commit": "ca6d29da777cffd40d9f3e38f95663ba1a2002c5",
      "tree": "c8e1949e4d6231f23ec623b14596e0e866dd4be8",
      "parents": [
        "bc81b692d51a9cd6f9d61584aacd8308ac3366ea",
        "b387954a92eb6f15b7f49d5b946745f492a26363"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 02:55:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 26 02:55:06 2011 -0700"
      },
      "message": "Merge \"Support system locale as the locale of the spell checkers\""
    },
    {
      "commit": "b387954a92eb6f15b7f49d5b946745f492a26363",
      "tree": "777c53e4966cab0bbe730d07162d94c728a25edf",
      "parents": [
        "fbedf1a3978d5dfc4a886e4c7107d4bc1923f740"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 17:35:27 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 18:35:58 2011 +0900"
      },
      "message": "Support system locale as the locale of the spell checkers\n\nBug: 5212035\n\nChange-Id: I18d27e54b936cc7f4d6cc3c7100bce57f77f8f9f\n"
    },
    {
      "commit": "bc81b692d51a9cd6f9d61584aacd8308ac3366ea",
      "tree": "684bb09ed79c435b89905c3b94cadc884ded251e",
      "parents": [
        "fbedf1a3978d5dfc4a886e4c7107d4bc1923f740"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 16:22:22 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 16:22:22 2011 +0900"
      },
      "message": "Do not show auxiliary subtypes on the lock screen\n\nChange-Id: Id7cf5d122968790ba6d75d3b047d45ea99e4d0f6\n"
    },
    {
      "commit": "fbedf1a3978d5dfc4a886e4c7107d4bc1923f740",
      "tree": "177a9b25b72c94b976d15cd6d1da0f622215d91f",
      "parents": [
        "2388a7ba6218f44400ee78016282cb96c02dfc54"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 15:48:50 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 16:00:23 2011 +0900"
      },
      "message": "Fix NPE in setCurrentSpellCheckerSubtype\n\nChange-Id: I9fce999f91dcccd2f877a0326c4f2e3ac9024f85\n"
    },
    {
      "commit": "4bc554b37165dbee8d805a6f73ac5e946f2769ae",
      "tree": "224b7bec2339ce1f959d60b8248be77e4eb4fd1e",
      "parents": [
        "3efc794f8563558b9792cc8ffa1ab9e81a0129ea",
        "3cb5b39a0e63d98c4e7b47e9a5b5758e9d4024bd"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 25 21:34:44 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 21:34:44 2011 -0700"
      },
      "message": "Merge \"Fix setCurrentSpellCheckerSubtype\""
    },
    {
      "commit": "3cb5b39a0e63d98c4e7b47e9a5b5758e9d4024bd",
      "tree": "670892893fc08f5ba8ee0b55fb80b8236cf9a9e9",
      "parents": [
        "1e3fac8bc62a2495eb9bb79cc208573b5782cedc"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 11:55:21 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 26 12:39:42 2011 +0900"
      },
      "message": "Fix setCurrentSpellCheckerSubtype\n\nChange-Id: Ib42a3b4377b8700ceaf4b7e13150848464d073c1\n"
    },
    {
      "commit": "97c46181c7089cb937cfe3fab536049d2d99ad72",
      "tree": "df0f21a90dbfde8ef3e5377c120fc6377e90c6eb",
      "parents": [
        "6683eb2d8d4323ac21ad42b3f7646c761968c75f",
        "cf2317ef13e35cf1bcd5ba27be686c7f2609ac38"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 25 17:13:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 17:13:59 2011 -0700"
      },
      "message": "Merge \"put the watchdog values back to what they should be\""
    },
    {
      "commit": "cf2317ef13e35cf1bcd5ba27be686c7f2609ac38",
      "tree": "a9420825b9152c8f1cc1e865661b9fe6e7db7c54",
      "parents": [
        "2370d0a14f09d4fb5133ff48e28459ce8343bf80"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 25 17:12:37 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 25 17:12:37 2011 -0700"
      },
      "message": "put the watchdog values back to what they should be\n\nChange-Id: I4f394248c2f4c514f74b66fde3cb69bbed9ec796\n"
    },
    {
      "commit": "6683eb2d8d4323ac21ad42b3f7646c761968c75f",
      "tree": "55b18ee30c9abfab30806a37509d553082fca0fc",
      "parents": [
        "8228e68becda68bee31c85796f08396b58370f6f",
        "51608a53040cd4bc3694dac2bf67dc18a4b5b235"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Thu Aug 25 17:07:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 17:07:06 2011 -0700"
      },
      "message": "Merge \"Use ELAPSE_REALTIME alarm for tick event\""
    },
    {
      "commit": "8228e68becda68bee31c85796f08396b58370f6f",
      "tree": "741be50c95d2fdb745a675471fa422e6313f5452",
      "parents": [
        "359ef7985316397564a6a999d77f6cc1edab7373",
        "2370d0a14f09d4fb5133ff48e28459ce8343bf80"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 25 17:05:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 17:05:33 2011 -0700"
      },
      "message": "Merge changes I083c4133,If904634e\n\n* changes:\n  make sure to re-initialize SurfaceTexture to its default state on disconnect\n  Fix screenshots\n"
    },
    {
      "commit": "2370d0a14f09d4fb5133ff48e28459ce8343bf80",
      "tree": "fb010e500044a409b8b9c0107c3bf0c6c64f89b2",
      "parents": [
        "ec49d8970125b3da422f93bf6f6b32ac62230a83"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 25 17:03:30 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 25 17:03:30 2011 -0700"
      },
      "message": "make sure to re-initialize SurfaceTexture to its default state on disconnect\n\nthis caused problems where the NavigationBar would disapear or be\ndrawn in the wrong orientation.\n\nChange-Id: I083c41338db83a4afd14f427caec2f31c180d734\n"
    },
    {
      "commit": "f60ac6307e07b409faea9f2506aa8c7162d11a4f",
      "tree": "520d2f0a34be684414b48a94c8e57655063c63e9",
      "parents": [
        "7b0e5af540089007b2b6fb2d982d33d5ef9fb2b6",
        "e6fa120275d9f6715783cf608b4fed742fd7161b"
      ],
      "author": {
        "name": "John Huang",
        "email": "jsh@google.com",
        "time": "Thu Aug 25 15:56:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 15:56:55 2011 -0700"
      },
      "message": "Merge \"Notify overall state instead of current changed state\""
    },
    {
      "commit": "e6fa120275d9f6715783cf608b4fed742fd7161b",
      "tree": "a637538e0417b7499d799e25ff6ca986b9489711",
      "parents": [
        "6ff0037792619c4441d9d3caa4f9ab4f45c11236"
      ],
      "author": {
        "name": "yoonsung.nam",
        "email": "yoonsung.nam@samsung.com",
        "time": "Sat Aug 20 21:39:12 2011 -0700"
      },
      "committer": {
        "name": "John Huang",
        "email": "jsh@google.com",
        "time": "Thu Aug 25 14:12:33 2011 -0700"
      },
      "message": "Notify overall state instead of current changed state\n\nTelephonyRegistry notifies wrong state thourgh onDataConnectionStateChanged().\nAs a result, browser works even though there is no data icon in status bar.\nThe issue is reproducible as following senario:\n1. There are two connections.\n2. Network type is changed and one of the connections is disconnected\nat the same time.\n3. TelephonyRegisitry notifies disconnect state to apps which are listening\nPhoneStateLinstener.\n\nChange-Id: Iac1e2b14e41715a63ea0d842cb44d232447e814a\nSigned-off-by: yoonsung.nam \u003cyoonsung.nam@samsung.com\u003e\n"
    },
    {
      "commit": "7b2a582a277494643e123c71683cff47156b303c",
      "tree": "7d939461064195c4efd17be986f4ed2f1d5b41f2",
      "parents": [
        "123adee398361809beaeddf2f3c073c0283b1e62",
        "8795b60dfc2a9baba9776777f62e5fd1ba48e8d7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 25 13:33:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 13:33:50 2011 -0700"
      },
      "message": "Merge \"Whoops, remove this.\""
    },
    {
      "commit": "51608a53040cd4bc3694dac2bf67dc18a4b5b235",
      "tree": "2082e4eaa4230a04e0e402d5986f9d82b4d36885",
      "parents": [
        "123adee398361809beaeddf2f3c073c0283b1e62"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Thu Aug 25 13:18:54 2011 -0700"
      },
      "committer": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Thu Aug 25 13:32:49 2011 -0700"
      },
      "message": "Use ELAPSE_REALTIME alarm for tick event\n\nChange to use a real item alarm for scheduling ACTION_TIME_TICK\nintents for the case where time goes backwards after the tick intent\nis schedule, and where the time change is not noticed from the call\nto waitForAlarm().\n\nBug: 5166877\nChange-Id: I46b9a1c80146d27becedc341c4af977fcdf47352\n"
    },
    {
      "commit": "8795b60dfc2a9baba9776777f62e5fd1ba48e8d7",
      "tree": "77a24dd077cdf15a2f65d948579edac3eab22a33",
      "parents": [
        "295e3c27e4e3762a002382fc1657f5f0070a3410"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 25 13:30:53 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 25 13:31:41 2011 -0700"
      },
      "message": "Whoops, remove this.\n\nChange-Id: I863d4739e918de1b4177ec8bb17063597f1ff3dc\n"
    },
    {
      "commit": "123adee398361809beaeddf2f3c073c0283b1e62",
      "tree": "ad372e2cabe238920c82de60e8ebf58941893ee7",
      "parents": [
        "df7332aad594bfbf4f788d5c737cfcb870dd3f66",
        "295e3c27e4e3762a002382fc1657f5f0070a3410"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 25 13:26:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 13:26:19 2011 -0700"
      },
      "message": "Merge \"Fix issue #5214105 and work on issue #5109947.\""
    },
    {
      "commit": "295e3c27e4e3762a002382fc1657f5f0070a3410",
      "tree": "223d206abb4cfa67e2c46d3d43a354a8fd80e24e",
      "parents": [
        "12bde60b39affbfdcb7ef6317e0a5f99c3f41b10"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 25 13:19:08 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 25 13:19:08 2011 -0700"
      },
      "message": "Fix issue #5214105 and work on issue #5109947.\n\nChange-Id: Iff2cfec5280a314989d915aa830c16124f921611\n5214105: taking a screenshot while \"Android is upgrading...\" crashes device\n5109947: Race condition between retrieving a content provider and updating its oom adj\n"
    },
    {
      "commit": "ed191e1fae0f860323f6ed76ea982287c42ec83e",
      "tree": "584738551e9a43e285d1bd9dd4913f41ad36c40f",
      "parents": [
        "235c47ff3edc9228609e82d2201275e70889921f",
        "558a23200697d306b75750cf4612cf0717e73537"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 25 11:13:38 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 11:13:38 2011 -0700"
      },
      "message": "Merge \"Data usage buckets active time, parsing ISE.\""
    },
    {
      "commit": "235c47ff3edc9228609e82d2201275e70889921f",
      "tree": "fd1c5402aed7509027a866d9ccff6164ed74ee36",
      "parents": [
        "53ad53a4a3279dc19e93c254ec387d222ce18656",
        "8e9992ae5053a3ac52d28a5a892aed0a0798c7ab"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 25 11:13:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 11:13:32 2011 -0700"
      },
      "message": "Merge \"Register for kernel global data usage alerts.\""
    },
    {
      "commit": "12bde60b39affbfdcb7ef6317e0a5f99c3f41b10",
      "tree": "ebcb48da50b2271f67cd75917d3573c72d8ef2bc",
      "parents": [
        "8799b4bf673a90afca4e83fa6cfd528ad27076c9",
        "8bd69610aafc6995126965d1d23b771fe02a9084"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Aug 25 08:54:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 08:54:29 2011 -0700"
      },
      "message": "Merge \"Intra-process view hierarchy interrogation does not work.\""
    },
    {
      "commit": "1e3fac8bc62a2495eb9bb79cc208573b5782cedc",
      "tree": "7036e62cbe4f4a64cb61306709bc5b8a2fbc421a",
      "parents": [
        "7420f1339446cd76723d57b3c5c1bbc92f15f4f0",
        "a33c4fc5bed76727f1e06e522e0136101a2304cd"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 25 01:21:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 01:21:05 2011 -0700"
      },
      "message": "Merge \"Add functions to enable / disable spell checker\""
    },
    {
      "commit": "a33c4fc5bed76727f1e06e522e0136101a2304cd",
      "tree": "fee8144085f9ea04eabca2152375288161982ebf",
      "parents": [
        "1fc756da434441708eb557a22363eea7f41f3f73"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 25 16:50:11 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 25 17:08:19 2011 +0900"
      },
      "message": "Add functions to enable / disable spell checker\n\nBug: 5057977\n\nChange-Id: I2b27bd5f55feb305368034d7e95f83257ac4b3e6\n"
    },
    {
      "commit": "47d0e48197c566be5d4c11534ceabc8a38a18cec",
      "tree": "adf1486d2440163ffe488173f9a3598e1bdef541",
      "parents": [
        "b944c2186de0d57d5331421f9744f2854d7c0983",
        "dbf2950781ab0c4c0fc4ad9bd71b13c55ae6f471"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 25 00:36:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 25 00:36:35 2011 -0700"
      },
      "message": "Merge \"Dismiss the ime switch notification properly\""
    },
    {
      "commit": "dbf2950781ab0c4c0fc4ad9bd71b13c55ae6f471",
      "tree": "cc5b1fa5b600ee7cd5e7637c8a00ba9b34bcbd7a",
      "parents": [
        "1fc756da434441708eb557a22363eea7f41f3f73"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 25 15:28:23 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 25 15:29:48 2011 +0900"
      },
      "message": "Dismiss the ime switch notification properly\n\nBug: 5159818\n\nChange-Id: I606294dd453d3cc105714c62b945fcf1fa11164d\n"
    },
    {
      "commit": "6ff0037792619c4441d9d3caa4f9ab4f45c11236",
      "tree": "79494a767588fff0f92eb587b9ae109c64f2e033",
      "parents": [
        "1fc756da434441708eb557a22363eea7f41f3f73",
        "07213e6d8895af10951851435adf96a779863f6c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 24 20:56:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 20:56:05 2011 -0700"
      },
      "message": "Merge \"Fix to show the correct HW accel background in the preview window.\""
    },
    {
      "commit": "07213e6d8895af10951851435adf96a779863f6c",
      "tree": "d620425033889ce1ec9cee6c21d40938020d45ba",
      "parents": [
        "2da59ffbda80594e6312f400341810f91e1d333a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 24 20:05:39 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 24 20:05:39 2011 -0700"
      },
      "message": "Fix to show the correct HW accel background in the preview window.\n\nAlso tweak wallpaper service to do a cleaner transition to a\nstatic wallpaper.\n\nChange-Id: I876a32091f92dd5a529d7fd809d3b8e730bb7d2a\n"
    },
    {
      "commit": "b26db260ae91a335fcee4f67df9341d002fbe1b0",
      "tree": "1f3894f9e3f43d764018885e0ff656521a854623",
      "parents": [
        "e9816475a6a3caadb7934fcde7b608b4a4fa8a1f",
        "ae05e8655d173d61169d9659ef1e9818d2cfc36b"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Wed Aug 24 19:45:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 19:45:51 2011 -0700"
      },
      "message": "Merge \"Disable package verification by default.\""
    },
    {
      "commit": "ae05e8655d173d61169d9659ef1e9818d2cfc36b",
      "tree": "04b225a1b6b42c1783de56e3fa5a1414c6cb94e2",
      "parents": [
        "0806d5183278e3a5e7f5904c1bbd07ca2a1b35fd"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Wed Aug 24 18:38:26 2011 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Wed Aug 24 18:38:26 2011 -0700"
      },
      "message": "Disable package verification by default.\n\nChange-Id: I0e02cd177dbb99fc97e964ac87251a900d915b95\n"
    },
    {
      "commit": "c39e8e89eb370ed66f552da3be258e57f1aabeb9",
      "tree": "345c03fe7b130d2dbc8277998c603ca8079bb94b",
      "parents": [
        "19bc995e9ae4ec9ea48c183758759e2b68ec964b",
        "407ec78b828173257b0c5dae221649a4ccd8b058"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 24 17:09:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 17:09:30 2011 -0700"
      },
      "message": "Merge \"Add OpenGL backend to ImageWallpaper Bug #5204874\""
    },
    {
      "commit": "19bc995e9ae4ec9ea48c183758759e2b68ec964b",
      "tree": "de9347ac0dd43682bd323a9874f7017c17a05782",
      "parents": [
        "28853aaf896d391dd67d45efb351450aa6b1bbde",
        "a4bacb8b74adf7908ac382024dc9183144793217"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 24 17:07:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 17:07:51 2011 -0700"
      },
      "message": "Merge \"Fix animation scale to also scale start offset.\""
    },
    {
      "commit": "407ec78b828173257b0c5dae221649a4ccd8b058",
      "tree": "3890ba718151c345ce5c87a8d252e0445d790dc3",
      "parents": [
        "631582f7f7a3c879a5fba81f2bc082e4826758aa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 24 17:06:58 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 24 17:06:58 2011 -0700"
      },
      "message": "Add OpenGL backend to ImageWallpaper\nBug #5204874\n\nCurrently disabled.\n\nChange-Id: I5e7b35dce2981b0691f107e39c6394b260466543\n"
    },
    {
      "commit": "8bd69610aafc6995126965d1d23b771fe02a9084",
      "tree": "13d160fbe865f3febd084c9935e38b1f5360ee84",
      "parents": [
        "69314e72941c86734c12476d1e61459811159b74"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 23 13:40:30 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Aug 24 16:26:43 2011 -0700"
      },
      "message": "Intra-process view hierarchy interrogation does not work.\n\nThe content retrieval APIs are synchronous from a client\u0027s\nperspective but internally they are asynchronous. The client thread\ncalls into the system requesting an action and providing a callback\nto receive the result after which it waits up to a timeout for that\nresult. The system enforces security and then delegates the request\nto a given view hierarchy where a message is posted (from a binder\nthread) describing what to be performed by the main UI thread the\nresult of which it delivered via the mentioned callback. However,\nthe blocked client thread and the main UI thread of the target view\nhierarchy can be the same one, for example an accessibility service\nand an activity run in the same process, thus they are executed on the\nsame main thread. In such a case the retrieval will fail since the UI\nthread that has to process the message describing the work to be done\nis blocked waiting for a result is has to compute! To avoid this scenario\nwhen making a call the client also passes its process and thread ids so\nthe accessed view hierarchy can detect if the client making the request\nis running in its main UI thread. In such a case the view hierarchy,\nspecifically the binder thread performing the IPC to it, does not post a\nmessage to be run on the UI thread but passes it to the singleton\ninteraction client through which all interactions occur and the latter is\nresponsible to execute the message before starting to wait for the\nasynchronous result delivered via the callback. In this case the expected\nresult is already received so no waiting is performed.\n\nbug:5138933\n\nChange-Id: I382e2d8689f5189110226613c2387f553df98bd3\n"
    },
    {
      "commit": "558a23200697d306b75750cf4612cf0717e73537",
      "tree": "fcca61c834311ebc7f347df787b2fc269cef059c",
      "parents": [
        "8e9992ae5053a3ac52d28a5a892aed0a0798c7ab"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 24 15:42:09 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 24 16:00:39 2011 -0700"
      },
      "message": "Data usage buckets active time, parsing ISE.\n\nWhen recording data usage, measure the actual active time, since\nbuckets can be quite long.  Offer incrementOperationCount() version\nthat reads thread stats tag for caller.  Rethrow any NPE as ISE\nduring stats parsing, which callers already handle.\n\nBug: 5171812, 5184508, 5180659\nChange-Id: I6da80ccc0162be68bee279529e3a23b6f98ebd87\n"
    },
    {
      "commit": "a4bacb8b74adf7908ac382024dc9183144793217",
      "tree": "402eda796b73824c8933aba544ab6f653df8deba",
      "parents": [
        "2da59ffbda80594e6312f400341810f91e1d333a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 24 15:12:38 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 24 15:12:38 2011 -0700"
      },
      "message": "Fix animation scale to also scale start offset.\n\nAlso more better info in meminfo dump.\n\nChange-Id: I45ab41821cd8dd81b61605de6a0cf7074e76c71a\n"
    },
    {
      "commit": "1c424f86c634a8c27ef1bbb82938ae64b4f3a385",
      "tree": "3f38d58f28abde97cfba3b75d3fed7c9065a2115",
      "parents": [
        "c7015c745027174590ae0844eb268d57acd8d92c",
        "765f97d5e608031bc1de4156c6e681e4d178c7ee"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Aug 24 14:12:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 14:12:18 2011 -0700"
      },
      "message": "Merge \"Make sure to go to the right Settings panel when tapping a notification\""
    },
    {
      "commit": "765f97d5e608031bc1de4156c6e681e4d178c7ee",
      "tree": "d9fc8d00877be25ec61dc388e227964cfb34ae89",
      "parents": [
        "5b56f7d6f662a543d0432a46047a55f1ee900994"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 23 20:14:33 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Aug 24 14:06:00 2011 -0700"
      },
      "message": "Make sure to go to the right Settings panel when tapping a notification\n\nWe now use Intent.makeRestartActivityTask() to build the notification\nPendingIntent objects, so that when tapped they restart the activity\nin the desired state.\n\nFixes bug 5011926\n\nChange-Id: Ie1ec3543cc0f49d1bd407622a617316cf53a078c\n"
    },
    {
      "commit": "42577560fb0a1aead62a378caa267734e9d91207",
      "tree": "91a967c88cfdac5b2c6c3027768bae75c2987dcc",
      "parents": [
        "2da59ffbda80594e6312f400341810f91e1d333a",
        "5317f034bacaab19af3181da8e9752cbb5b09a08"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Aug 24 13:03:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 13:03:50 2011 -0700"
      },
      "message": "Merge \"VPN: stop daemons by closing the control sockets.\""
    },
    {
      "commit": "2da59ffbda80594e6312f400341810f91e1d333a",
      "tree": "82433cfeea222be65ffea7e46ba2c000d4371199",
      "parents": [
        "192df696d3499258d6d3ae383a5ab05a5021d875",
        "cfb9f2bca39772aecd072e2a30342a67b6319bbb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 24 12:07:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 12:07:10 2011 -0700"
      },
      "message": "Merge \"Fix issue #5192141: systemui asplodes after enough tapping on the windowlist button\""
    },
    {
      "commit": "cfb9f2bca39772aecd072e2a30342a67b6319bbb",
      "tree": "ba0b3036b8227c56ea7580955c353ee7be16ebe7",
      "parents": [
        "332645960c60e79fd903d8c547a16a1140274339"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 24 10:51:49 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 24 12:06:15 2011 -0700"
      },
      "message": "Fix issue #5192141: systemui asplodes after enough tapping on the windowlist button\n\nChange-Id: I5afb2d54b531d9eac9435660616579324f239812\n"
    },
    {
      "commit": "d0bf536fd6618414bb9c84424a931865e62e6876",
      "tree": "15c7465b3ae48be73d2a0cc0b8b569a82e57c545",
      "parents": [
        "de48515a86b4fc308bcb08f9c038f0519ee29a73",
        "b0626b53adceb3de0b85c1865655e74e7e964e08"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Aug 24 11:03:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 11:03:23 2011 -0700"
      },
      "message": "Merge \"No longer disable notification lights when screen turns on\""
    },
    {
      "commit": "cfc0f2c206af24350245f83b36e0032a7d4de49a",
      "tree": "a5bea73dff0e6622330433f05e12a697a4cf578a",
      "parents": [
        "bc714a357d79c2315cc665eb706b465334cb9716",
        "ada8c4e6a3da96a795f39a1028d448eb7aebfab3"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 24 00:26:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 24 00:26:01 2011 -0700"
      },
      "message": "Merge \"Add functions to set / get SpellCheckerSubtype\""
    },
    {
      "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": "006efb24706378293a2faa137c7c7ca34a2e15cd",
      "tree": "287eaa365c75af4216e4f6b8b64a6f8411fd0f1d",
      "parents": [
        "96daa0ef4088b0e123a7dce20f572238ec42575b",
        "8e28b7d78232f6cf08739ca0d129cc7f9e650801"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 23 21:26:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 23 21:26:51 2011 -0700"
      },
      "message": "Merge \"Proactively disable data when over policy limit.\""
    },
    {
      "commit": "8e9992ae5053a3ac52d28a5a892aed0a0798c7ab",
      "tree": "ae707ea76c1f9eb218ba3d71c67e757df19d205d",
      "parents": [
        "8e28b7d78232f6cf08739ca0d129cc7f9e650801"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 23 18:37:23 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 23 18:46:14 2011 -0700"
      },
      "message": "Register for kernel global data usage alerts.\n\nInstead of polling every 15 minutes, register for alerts that trigger\nwhen system-wide traffic passes a threshold.  Still mixed with polling\nto persist UID stats, but relaxed to 30 minutes.  Currently watches\nfor every 512kB.\n\nMake persistence decision separately for network versus UID, and use\ntotal delta bytes when making decision.  Use light bootstrap during\nsystemReady() instead of heavy poll, which had been force-loading all\nUID data unnecessarily.\n\nBug: 5023631\nChange-Id: I04b723d6c4bf872fb1028071122dba66a8e1b576\n"
    },
    {
      "commit": "8e28b7d78232f6cf08739ca0d129cc7f9e650801",
      "tree": "c72bf1bcc07e1dd02764a4f4738a56735e5f4252",
      "parents": [
        "7a12d6ba14a35276fd3afb314d6c95055da4c6f0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 19 02:24:24 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 23 18:45:44 2011 -0700"
      },
      "message": "Proactively disable data when over policy limit.\n\nAdd policy controls to NetworkStateTracker which are combined with\nother user preference and internal flags to decide if data connection\nshould be established.  Better locking around enabled flags.\n\nWhen data network would be over limit, proactively disable data on\nthat network.  Enable when policy is snoozed or when cycle resets.\n\nTrack and dismiss notifications from now-stale policies.\n\nBug: 4587023, 5178147\nChange-Id: Ibfcc9f73cda7c369209af701b46eddd3d1943f2d\n"
    },
    {
      "commit": "b0626b53adceb3de0b85c1865655e74e7e964e08",
      "tree": "167d820d411b19daf533b3d51b131f0b68b55542",
      "parents": [
        "a77858066843182c91272c3e25c7eec10579eb93"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 23 15:11:04 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 23 21:06:45 2011 -0400"
      },
      "message": "No longer disable notification lights when screen turns on\n\nThe new specification calls for LED to continue blinking until the user\npulls down the notification shade in the status bar.\n\nBug: 5143247\n\nChange-Id: Id004cc3d1d9d76108329e57c6fbd8a8100068e0a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\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": "5317f034bacaab19af3181da8e9752cbb5b09a08",
      "tree": "cc498387446d2ee763f887f874584d968f2c6738",
      "parents": [
        "583b163feb9266d3b2080810a30ac68c7bd4760e"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Aug 22 13:09:49 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Aug 22 13:09:49 2011 -0700"
      },
      "message": "VPN: stop daemons by closing the control sockets.\n\nAs init now uses SIGKILL to stop daemons, performing graceful shutdown\nbecomes impossible. Here we implement our own solution by asking daemons\nto monitor the control socket and terminate when it is closed.\n\nChange-Id: I07a28807173a81b7f95e70f4193e974317acf88a\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"
    }
  ],
  "next": "07714d41e57ef9d8e2e6b40d8764e42053cce1bd"
}
