)]}'
{
  "log": [
    {
      "commit": "ba39839444532af0ed3766f736582413f6d7a40b",
      "tree": "38f89252a63a327f9c9861ceea2b4e3849af28d2",
      "parents": [
        "2a2ec87b55d423ae91385d4e9f51725154b7a272"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 01 16:11:57 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 01 17:55:54 2011 -0700"
      },
      "message": "Move ImageWallpaper to SystemUI process.\n\nNice to not load 4MB bitmaps in the system process.\n\nAlso, hey, with how we are now scrolling the surface instead of\nthe bitmap, there is no reason to keep that 4MB bitmap loaded in\nto memory.  So don\u0027t.\n\nUnfortunately it looks like for some reason the VM is still\nholding on to the bitmap.  I\u0027ll need to figure out why.  Later.\n\nChange-Id: Ib3503756144502fc5c8d5e294248c2417c4fe8c8\n"
    },
    {
      "commit": "d20482de2f8fb0045c69c7065221923a72d13303",
      "tree": "fdb7603fa7d35f4472b88fbd34cd63c58e29a674",
      "parents": [
        "de7c93948fd3d31b7cfbe6c32f3fcd6986484445",
        "a63ba59260cd1bb3f5c16e395ace45a61f1d4461"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 01 16:33:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 01 16:33:50 2011 -0700"
      },
      "message": "Merge \"Add operation counts to network statistics.\""
    },
    {
      "commit": "a63ba59260cd1bb3f5c16e395ace45a61f1d4461",
      "tree": "f70f8270c45744686c1c6741f39340c0cb644dd3",
      "parents": [
        "1e833b31ee04c35b5a3494db1acb0068350d8391"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jul 19 23:47:12 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 29 22:24:01 2011 -0700"
      },
      "message": "Add operation counts to network statistics.\n\nProvide API to increment \"operation counts\" for a UID and tag, used\nto eventually derive bytes/operation stats.  Internally is stored at\nnetwork layer, but should belong at data layer.  Switch profiling\nto use data layer stats, which are emulated by summarizing network\nlayer details.\n\nRead packet counts from new /proc/ columns and collect them into\nNetworkStatsHistory.  Prevent double-counting by ignoring values from\nfirst snapshot.  Watch for duplicate /proc/ entries.  Update tests\nto verify packet and operation counters.\n\nBug: 5052136, 5097392\nChange-Id: I1832f65a2b8a9188f8088f253474a667c21a2f09\n"
    },
    {
      "commit": "5c5db7c0f082d3d4ebd71f5a8f3cea08dfe33bac",
      "tree": "94ba63ac69c960082eecd85307aeac8c2d10f9c2",
      "parents": [
        "9ba79560bf99e9048929e2c58ebc8d4d4d0fa3b7",
        "68736cbf938935f7d7e1eb2b3f9ec911fcb0da72"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jul 29 12:13:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 12:13:04 2011 -0700"
      },
      "message": "Merge \"Clean up USB configuration switching logic and beef up error handling\""
    },
    {
      "commit": "68736cbf938935f7d7e1eb2b3f9ec911fcb0da72",
      "tree": "8b22987c204b777775c41dc3009e0cea03040904",
      "parents": [
        "f9665221aaa229dc8a7cac6fbd1d9ea165c42068"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jul 29 11:32:28 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jul 29 14:41:14 2011 -0400"
      },
      "message": "Clean up USB configuration switching logic and beef up error handling\n\nBug: 5050853\n\nChange-Id: Ia00698e2adbb8a7d7698e2ae306413f6c715fbdb\n"
    },
    {
      "commit": "b07dbeb57273291204fcabe700e1d1464c7958ea",
      "tree": "fe5e53079a94b8546bc7e506b6a3ca8e726c5dbb",
      "parents": [
        "e0fe39387aa8f591b196bcb42b027012b655af04",
        "a31f5e63743f3fc788acbd85474ec80eaf5c8b4d"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jul 29 11:22:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 11:22:42 2011 -0700"
      },
      "message": "Merge \"InputFilter not updated on global accessibility change.\""
    },
    {
      "commit": "e0fe39387aa8f591b196bcb42b027012b655af04",
      "tree": "b83b50f2eba2b9855204281fe05226c9915c25de",
      "parents": [
        "f9665221aaa229dc8a7cac6fbd1d9ea165c42068",
        "728a1c4d5ed3b808172013a7f5bb5065d1e964f6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jul 29 11:20:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 11:20:45 2011 -0700"
      },
      "message": "Merge \"Require the current backup pw in all backup/restore operations\""
    },
    {
      "commit": "f9665221aaa229dc8a7cac6fbd1d9ea165c42068",
      "tree": "b3a4d430182803915b92b20d082bb92f0980e64d",
      "parents": [
        "bd176f36ca9ab357cfa6fa330c4955b1a0ef8d35",
        "a128f5f8c952d7f519f64882792e832a4e75e2c8"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jul 29 10:55:58 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 29 10:55:58 2011 -0700"
      },
      "message": "am a128f5f8: am 1a230885: Merge \"Fix NPE when going from proxy to no proxy.\" into honeycomb-LTE\n\n* commit \u0027a128f5f8c952d7f519f64882792e832a4e75e2c8\u0027:\n  Fix NPE when going from proxy to no proxy.\n"
    },
    {
      "commit": "a128f5f8c952d7f519f64882792e832a4e75e2c8",
      "tree": "fcd83ee6912b63fd156fb5e47a49eca804e4e205",
      "parents": [
        "86574d66dacc09c9b5a0a0ab2623ec01704b6fc8",
        "1a230885b356256e91b3bf006ec72213ba6f8f76"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jul 29 10:53:16 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 29 10:53:16 2011 -0700"
      },
      "message": "am 1a230885: Merge \"Fix NPE when going from proxy to no proxy.\" into honeycomb-LTE\n\n* commit \u00271a230885b356256e91b3bf006ec72213ba6f8f76\u0027:\n  Fix NPE when going from proxy to no proxy.\n"
    },
    {
      "commit": "bb96bf6e479e00064b287c952a72362a2ee4cb4e",
      "tree": "7b7ae7de38cedd83044ff622b1661f59a6e83e53",
      "parents": [
        "f4fd53b381d794af77dc887454032ed5f299a22e",
        "c68c913d357e2955d4bd7ca52829071e531c7825"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 29 10:43:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 10:43:26 2011 -0700"
      },
      "message": "Merge \"Various work on out of memory managment.\""
    },
    {
      "commit": "fde1eb7cf88e488d619d3168f83fb2e740d39296",
      "tree": "613e990648bc9f0c204e19679a9490e81afc1985",
      "parents": [
        "d20f60c8a71ca0aa853bc433f74b32dcfc98f984"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jul 29 10:03:37 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jul 29 10:03:37 2011 -0700"
      },
      "message": "Fix NPE when going from proxy to no proxy.\n\nbug:5081431\nChange-Id: I68a8cca94e4612bd9ee2faf1123e0b63dc25b833\n"
    },
    {
      "commit": "53f2531ba7bc72489d03fd17b6ce29c811fad8b5",
      "tree": "0883feda546ae55f3a303b57d3b17f3a7b718aaa",
      "parents": [
        "cdbb950afe76020d28b4d94f82f6236438925278",
        "60ee25643e0a7b8841063a4e97b0f18c51807e91"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Jul 29 05:45:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 05:45:55 2011 -0700"
      },
      "message": "Merge \"The fullest of fullscreen modes.\""
    },
    {
      "commit": "6d9a14c08398c58305e831d394280830bb798ee4",
      "tree": "668ae6ff6f85f1a83ce7d429fdd2d656fafa9689",
      "parents": [
        "3970f6833d3c19f96cc7b6831327c8488932fa57",
        "df5659d3d317b5cf351baffe3e0d4876e89678bf"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 29 03:29:46 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 03:29:46 2011 -0700"
      },
      "message": "Merge \"Fix issues in TextServicesManagerService\""
    },
    {
      "commit": "df5659d3d317b5cf351baffe3e0d4876e89678bf",
      "tree": "8d8f441eaf836db0dd5728bd112ab8fd5f48fee5",
      "parents": [
        "6be6d7548fb7c29a4d46dc985318ab2adf69f95f"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 29 18:38:21 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 29 19:09:14 2011 +0900"
      },
      "message": "Fix issues in TextServicesManagerService\n\nChange-Id: I48c81226d824e8aad42e01e87fcf9a5b466d2321\n"
    },
    {
      "commit": "c68c913d357e2955d4bd7ca52829071e531c7825",
      "tree": "764dddf699a1db5e44d74e94e3f354b9ed61ff71",
      "parents": [
        "3970f6833d3c19f96cc7b6831327c8488932fa57"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 29 01:25:18 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 29 02:06:46 2011 -0700"
      },
      "message": "Various work on out of memory managment.\n\n- Improve how we handle processes that have shown UI, to take care\n  of more cases where we want to push them into the background LRU\n  list.\n- New trim memory level for when an application that has done UI\n  is no longer visible to the user.\n- Add APIs to get new trim memory callback.\n- Add a host of new bind flags to tweak how the system will adjust\n  the OOM level of the target process.\n\nChange-Id: I23ba354112f411a9f8773a67426b4dff85fa2439\n"
    },
    {
      "commit": "a31f5e63743f3fc788acbd85474ec80eaf5c8b4d",
      "tree": "19b249e58ab11e1fc63bf0ab64ed115ca85e64a0",
      "parents": [
        "3970f6833d3c19f96cc7b6831327c8488932fa57"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jul 28 12:00:59 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jul 28 20:18:10 2011 -0700"
      },
      "message": "InputFilter not updated on global accessibility change.\n\nChange-Id: I35fd5fa078840abf62a3d5eac66b2eae1a79d01d\n"
    },
    {
      "commit": "f7be31ee1062722855602c6b0227f01bdb7c0b80",
      "tree": "d955d90c959dde5af587291a283bf0f8732645b3",
      "parents": [
        "ae5a9d4a92f18b1e2888c4ae4585f9480311c8bc",
        "6be6d7548fb7c29a4d46dc985318ab2adf69f95f"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Jul 28 18:09:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 28 18:09:59 2011 -0700"
      },
      "message": "Merge \"Handle the existing binds to spell checkers correctly.\""
    },
    {
      "commit": "728a1c4d5ed3b808172013a7f5bb5065d1e964f6",
      "tree": "eb16210cfa98555355889022de17568effac8c2f",
      "parents": [
        "80df829e35d0a97f92e599d36b0b16dcc956130b"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 28 18:03:03 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 28 18:04:07 2011 -0700"
      },
      "message": "Require the current backup pw in all backup/restore operations\n\nSpecifically, we now also require the current password to confirm any\nrestore operation.\n\nBug 4901637\n\nChange-Id: I39ecce7837f70cd05778cb7e0e6390ad8f6fe3f3\n"
    },
    {
      "commit": "6be6d7548fb7c29a4d46dc985318ab2adf69f95f",
      "tree": "5997d25d03c50eb01ec81955ce33ea76356a7fa3",
      "parents": [
        "2043b01b207aae3458da395bc6d501d76e59425c"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Jul 28 20:40:38 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 29 09:57:07 2011 +0900"
      },
      "message": "Handle the existing binds to spell checkers correctly.\n\nChange-Id: I32efce9f8c09b5a829b0431e8c444fc54b03b440\n"
    },
    {
      "commit": "2efd2dbbac9eac89620683696c6076463c3a1cd6",
      "tree": "ca48adf4208daee43a4444a0fdb61fcb939858c5",
      "parents": [
        "b7d95a46dfacf04896d5b084f13bcbe6eab33633"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jul 19 16:32:49 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 28 16:01:20 2011 -0700"
      },
      "message": "Support full-backup encryption and global backup password\n\nIf the user has supplied a backup password in Settings, that password\nis validated during the full backup process and is used as an encryption\nkey for encoding the backed-up data itself.  This is the fundamental\nmechanism whereby users can secure their data even against malicious\nparties getting physical unlocked access to their device.\n\nTechnically the user-supplied password is not used as the encryption\nkey for the backed-up data itself.  What is actually done is that a\nrandom key is generated to use as the raw encryption key.  THAT key,\nin turn, is encrypted with the user-supplied password (after random\nsalting and key expansion with PBKDF2).  The encrypted master key\nand a checksum are stored in the backup header.  At restore time,\nthe user supplies their password, which allows the system to decrypt\nthe master key, which in turn allows the decryption of the backup\ndata itself.\n\nThe checksum is part of the archive in order to permit validation\nof the user-supplied password.  The checksum is the result of running\nthe user-supplied password through PBKDF2 with a randomly selected\nsalt.  At restore time, the proposed password is run through PBKDF2\nwith the salt described by the archive header.  If the result does\nnot match the archive\u0027s stated checksum, then the user has supplied\nthe wrong decryption password.\n\nAlso, suppress backup consideration for a few packages whose\ndata is either nonexistent or inapplicable across devices or\nfactory reset operations.\n\nBug 4901637\n\nChange-Id: Id0cc9d0fdfc046602b129f273d48e23b7a14df36\n"
    },
    {
      "commit": "b7d95a46dfacf04896d5b084f13bcbe6eab33633",
      "tree": "c69bb45e727299675d8799f64285bc99dd50023d",
      "parents": [
        "fbaaeb96f29c8e4a563a6b3cc85fb446400fd506",
        "21700fedfe29f6a0a752d2bea46142038e69136c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood%android.com@gtempaccount.com",
        "time": "Thu Jul 28 14:06:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 28 14:06:07 2011 -0700"
      },
      "message": "am 21700fed: am 5f7203eb: am 5a27a754: am bd1dee94: Merge \"gps: Adding ip address for AGps\"\n\n* commit \u002721700fedfe29f6a0a752d2bea46142038e69136c\u0027:\n  gps: Adding ip address for AGps\n"
    },
    {
      "commit": "21700fedfe29f6a0a752d2bea46142038e69136c",
      "tree": "3aa43b410f433d10fb23147f5b43c78b6dce3091",
      "parents": [
        "f8d13e535c3e6166c2386adac3b3a2f115d2b79d",
        "5f7203eb258503bc5d2ba29176bdf483a68a93b8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood%android.com@gtempaccount.com",
        "time": "Thu Jul 28 14:04:13 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 28 14:04:13 2011 -0700"
      },
      "message": "am 5f7203eb: am 5a27a754: am bd1dee94: Merge \"gps: Adding ip address for AGps\"\n\n* commit \u00275f7203eb258503bc5d2ba29176bdf483a68a93b8\u0027:\n  gps: Adding ip address for AGps\n"
    },
    {
      "commit": "036fc921cab766fd674aed260d5c87273ad6da55",
      "tree": "756d99bd22e8bd604191cd3905b8b54775ef4862",
      "parents": [
        "3885228457bc61a86fe4e91ff18fb331fc3ee777",
        "98c79e53c0f24e98910a1ab130ec77d2ae707ed4"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jul 28 14:00:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 28 14:00:48 2011 -0700"
      },
      "message": "Merge \"Stop sending tethering broadcasts during boot.\""
    },
    {
      "commit": "8efd74dbedb65f69734318d9d6be70767f30b57a",
      "tree": "74ca8726784a2348023dda04ec9318df27f28f4c",
      "parents": [
        "0ff79e88e2d90f80d0346e0485abe773ca85c44d"
      ],
      "author": {
        "name": "Stephen Li",
        "email": "stephenl@codeaurora.org",
        "time": "Tue Mar 01 20:56:00 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 28 16:50:45 2011 -0400"
      },
      "message": "gps: Adding ip address for AGps\n\nChange-Id: Ic590187d159853de2f1bd2912e159f0a00d8fb10\n"
    },
    {
      "commit": "3885228457bc61a86fe4e91ff18fb331fc3ee777",
      "tree": "c45e60967e4b5a641c0cf31fd4cbf43519ebd3ea",
      "parents": [
        "265bfede6bf8a4b2d0e2271f1cefab816bbf7420",
        "f8d13e535c3e6166c2386adac3b3a2f115d2b79d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood%android.com@gtempaccount.com",
        "time": "Thu Jul 28 13:30:24 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 28 13:30:24 2011 -0700"
      },
      "message": "am f8d13e53: am bf676d46: am 7083ed44: am 0ff79e88: Merge \"GPS: Changes to enable on-demand data call flow for CDMA connections\"\n\n* commit \u0027f8d13e535c3e6166c2386adac3b3a2f115d2b79d\u0027:\n  GPS: Changes to enable on-demand data call flow for CDMA connections\n"
    },
    {
      "commit": "f8d13e535c3e6166c2386adac3b3a2f115d2b79d",
      "tree": "03bc3df9ac8f2868546146ca336f04e25f333164",
      "parents": [
        "5ad5c9e3efd26155ae7b5d0f3e9e2094e1f65dfe",
        "bf676d460d1d1fc8923982006c38d0f6785daea8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood%android.com@gtempaccount.com",
        "time": "Thu Jul 28 13:27:27 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 28 13:27:27 2011 -0700"
      },
      "message": "am bf676d46: am 7083ed44: am 0ff79e88: Merge \"GPS: Changes to enable on-demand data call flow for CDMA connections\"\n\n* commit \u0027bf676d460d1d1fc8923982006c38d0f6785daea8\u0027:\n  GPS: Changes to enable on-demand data call flow for CDMA connections\n"
    },
    {
      "commit": "0ff79e88e2d90f80d0346e0485abe773ca85c44d",
      "tree": "919ea4db0e58a6790237aa0028271d51d8c54a4f",
      "parents": [
        "20339b24394be06c5bfe5157a4b35adc48f665eb",
        "83b69713f2dbeee7ff5e07836673a9a477be236f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood%android.com@gtempaccount.com",
        "time": "Thu Jul 28 13:13:35 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Jul 28 13:13:35 2011 -0700"
      },
      "message": "Merge \"GPS: Changes to enable on-demand data call flow for CDMA connections\""
    },
    {
      "commit": "60ee25643e0a7b8841063a4e97b0f18c51807e91",
      "tree": "f950442b0657ea89b9e4fb93361a612dd36dab29",
      "parents": [
        "2043b01b207aae3458da395bc6d501d76e59425c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Jul 22 12:34:33 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Jul 28 15:18:32 2011 -0400"
      },
      "message": "The fullest of fullscreen modes.\n\nView.setSystemUiVisibility() now properly accepts a\nbitfield, including:\n\n  * SYSTEM_UI_FLAG_LOW_PROFILE: \"lights out mode\"\n    (previously known, erroneously, as STATUS_BAR_HIDDEN)\n\n  * SYSTEM_UI_FLAG_HIDE_NAVIGATION: for when you need every\n    single pixel on a device that also has a navigation bar\n\nThese flags are painstakingly aggregated across the entire\nview hierarchy and carefully delivered to the status bar\nservice, which in turn gently passes them along to the bar\nimplementation.\n\nTo really get access to the whole screen, you need to use\nHIDE_NAVIGATION in conjunction with FLAG_FULLSCREEN and\nFLAG_LAYOUT_IN_SCREEN. See development/samples/Overscan for\nan example of how to do this.\n\nChange-Id: I5fbfe009d9ceebbbf71db73f14a7008ea7c1d4da\n"
    },
    {
      "commit": "98c79e53c0f24e98910a1ab130ec77d2ae707ed4",
      "tree": "a3afdc2632ae800c3665968e18aa80214c9fad6a",
      "parents": [
        "06a2895b58d6d8ecc3fc5dffa8c5d8c4f95216a5"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jul 28 11:51:11 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jul 28 11:51:11 2011 -0700"
      },
      "message": "Stop sending tethering broadcasts during boot.\n\nWell, actually they do go out, but they won\u0027t try to start anybody now\nuntil after boot.\n\nbug:5088272\nChange-Id: Iaaf7a1e4b300e0afc3901ecfd225a77084bd0954\n"
    },
    {
      "commit": "2043b01b207aae3458da395bc6d501d76e59425c",
      "tree": "8b8660a6dd748c3cd03462e812e70afa54a23d75",
      "parents": [
        "35a9c52791882bc58d3a6716e0fd8544889d90c3",
        "4664500de0c1b270bce4991a400ab439ff2ef77b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 27 22:08:02 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 22:08:02 2011 -0700"
      },
      "message": "Merge \"Maintain separate \"restrict background data\" flag.\""
    },
    {
      "commit": "4664500de0c1b270bce4991a400ab439ff2ef77b",
      "tree": "625234999eba80326ce152d903c0882462365e77",
      "parents": [
        "e5168930975618a2b2b3f556c6c162a8cf6c9e34"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 27 21:11:21 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 27 21:11:32 2011 -0700"
      },
      "message": "Maintain separate \"restrict background data\" flag.\n\nSince \"restrict background\" depends on active networks, separate its\ndefinition from setBackgroundDataSetting().\n\nBug: 4979025\nChange-Id: I12bfe3a2e606375b39c67706270caa7a1bb0214e\n"
    },
    {
      "commit": "4f35092af55d569975e6931ee6e8c0343f749d1e",
      "tree": "c15077eab86d9e3da6cee3c63fc07b69d8898479",
      "parents": [
        "3d5a703db83265f7914eed8580de986106abfad2",
        "66269ea6f68f2f25888ce1080c94ac782742fafc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 27 15:54:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 15:54:51 2011 -0700"
      },
      "message": "Merge \"Move extract native libraries to JNI code\""
    },
    {
      "commit": "3d5a703db83265f7914eed8580de986106abfad2",
      "tree": "3ef1e72cf1335a1bb9d36ac1b6f86f0a1b84c302",
      "parents": [
        "be922d6006879692d100894dc924d947b50aed34",
        "bc68a59c024bdb745dac8e2ec7408a9f30595f1a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 27 15:54:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 15:54:50 2011 -0700"
      },
      "message": "Merge \"Report the external display size to the input reader.\""
    },
    {
      "commit": "d02fa35e8c80a7171c7556743b09dda2fbcc96b2",
      "tree": "3dc6bfa9d6d83f4453116cc0ed84317f193fde8c",
      "parents": [
        "ccc83629f993eec7844ad7f6b214666e9410a610",
        "41ff7ec82422a5b6d00892afdb3232bc0e53d851"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 27 15:52:24 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 15:52:24 2011 -0700"
      },
      "message": "Merge \"Revise data limit notifs, watch kernel alerts.\""
    },
    {
      "commit": "ccc83629f993eec7844ad7f6b214666e9410a610",
      "tree": "c05896bf7dc826e74748bc3b96185766fa977c8a",
      "parents": [
        "257466d4e24bd405204cb21a1663eb1cc99f6137",
        "a5010431bfcdff88ac9d96e68d8308071c13472b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 27 15:49:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 15:49:05 2011 -0700"
      },
      "message": "Merge \"UsbDeviceManager: Don\u0027t show USB notification for RNDIS\""
    },
    {
      "commit": "e1b925919096b27a1592665ed09fb8ac874273e3",
      "tree": "86b6e2606215d9f1288905e3dfe42f4358bdfea4",
      "parents": [
        "43a5d6e541fef5983e967d9b67792c0a088418ea",
        "4e2a762eae1f6981d32e6098a95498865ad7f795"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 27 15:24:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 15:24:10 2011 -0700"
      },
      "message": "Merge \"Not user generated accessibility events can change the interrogation allowing window.\""
    },
    {
      "commit": "3c6c3ddb6a53ebffb00987ae6b7fdcdbfdb36dad",
      "tree": "8a91a2142555945e17dfeca314587b93ed6c069b",
      "parents": [
        "88409f84bf44ee07e2ad6fdf0dca6ee7e8f6fe1f",
        "064d842ead23c53f1ec639a73966fe9bd9827c40"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 27 12:41:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 12:41:42 2011 -0700"
      },
      "message": "Merge \"Don\u0027t actually try to stop processes marked \u0027persistent\u0027\""
    },
    {
      "commit": "f2fa907e1f815f2fe1add2cb8fb0e159d0f38edb",
      "tree": "4f5496392a53f37e31092ae86147e39a7250584b",
      "parents": [
        "ffcbe48d06ec7ae96f0f48bd37bdd141ebf80703",
        "130b0d2b2629bdd8fc415e0f3da947f965a3f29d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 27 12:19:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 12:19:40 2011 -0700"
      },
      "message": "Merge \"Fix issue #4466531: onServiceConnected() not called after...\""
    },
    {
      "commit": "636250028d2e88718220fb180eb2afecb27f5911",
      "tree": "24176db59d9654062b7f16f33f281f5afae8ed4e",
      "parents": [
        "84935dc2c00bcc7f6a05370f8fbbd0232a6eb40b",
        "485861c409f9aaca2dac97ea82a66c2cb380ebad"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 27 11:05:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 11:05:10 2011 -0700"
      },
      "message": "Merge \"Fix USB tethering again\""
    },
    {
      "commit": "485861c409f9aaca2dac97ea82a66c2cb380ebad",
      "tree": "8b1e12a0670759eee0f82030d53601f01bb50e69",
      "parents": [
        "83e32904eb0b65fa6d0c13f3d576a46031fefda0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 27 13:52:32 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 27 13:54:29 2011 -0400"
      },
      "message": "Fix USB tethering again\n\nThe kernel sends an interface down event for usb0 when RNDIS is enabled.\nIgnore this and only remove USB interfaces when we receive the\ninterface removed event.\n\nChange-Id: I1458f259b96c9fab4d3a69a5692e630123fad136\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c59c6da9ae14097c77eee69285c6eacc8130936c",
      "tree": "14a8c34506438ebccbfa9fee4b74af45fb7d2181",
      "parents": [
        "804b3d76c39eca09cbbd8b7c3fa1718e7ad094cc",
        "af75fdb16566c3011284afaa7d12bcf6126dd4f3"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 27 10:00:36 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 27 10:00:36 2011 -0700"
      },
      "message": "resolved conflicts for merge of af75fdb1 to master\n\nChange-Id: Ib7f3521b0af6df9346cf940d69f2988b1c87e129\n"
    },
    {
      "commit": "41ff7ec82422a5b6d00892afdb3232bc0e53d851",
      "tree": "9085ebb6bcc39a20f98eeb71860f2dad01f604ed",
      "parents": [
        "a94b9ad23ac1f281c9d2dac02d01aa07ca5e1682"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jul 25 15:21:22 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 27 09:31:39 2011 -0700"
      },
      "message": "Revise data limit notifs, watch kernel alerts.\n\nTeach NetworkPolicy limits to \"snooze\" when requested by user, and\nnotify with both dialog and notification.  Register for network alerts\nthrough NMS to trigger updates immediately instead of waiting for\nnext stats update.\n\nEnforce that all NetworkPolicy are unique on a template basis, and\nmove SCREEN_ON/OFF broadcasts to background thread.  Launch SystemUI\nand Settings directly instead of using actions, and include full\nNetworkTemplate in extras.\n\nTests to verify notification and snooze behavior.\n\nBug: 5057979, 5023579, 4723336, 5045721\nChange-Id: I03724beff94a7c0547cb5220431ba8d4cd44d077\n"
    },
    {
      "commit": "af75fdb16566c3011284afaa7d12bcf6126dd4f3",
      "tree": "cb2545e1c51caf9314b4e092484a75e6db60142f",
      "parents": [
        "fada80df08dd0b608eeb9737af413f8df1eb5252",
        "41394a361020e9f58524f23d6831bb8e63063856"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 27 09:27:00 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 27 09:27:00 2011 -0700"
      },
      "message": "resolved conflicts for merge of 41394a36 to honeycomb-plus-aosp\n\nChange-Id: Ic839eb7bd8081b94802dbbf9140b9d1fa0cf7df3\n"
    },
    {
      "commit": "a5010431bfcdff88ac9d96e68d8308071c13472b",
      "tree": "926949085a1bc7687883fef0b55fd44acb6c8167",
      "parents": [
        "83e32904eb0b65fa6d0c13f3d576a46031fefda0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 27 09:50:06 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 27 09:56:06 2011 -0400"
      },
      "message": "UsbDeviceManager: Don\u0027t show USB notification for RNDIS\n\nsince USB tethering already has a notification.\n\nBug: 4988511\n\nChange-Id: I928cb1e1d191c77340f7f05edfa80a74cdabe6ed\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "130b0d2b2629bdd8fc415e0f3da947f965a3f29d",
      "tree": "3965ebc0cff949b9e261b51c19fa128abeca2a4e",
      "parents": [
        "47a7c68ac862ecfc68f35a63b330cbda7131cd66"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 26 22:07:48 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 26 22:07:48 2011 -0700"
      },
      "message": "Fix issue #4466531: onServiceConnected() not called after...\n\n...apk reinstall; affects user privacy\n\nDisconnecting a ServiceConnection after an app is torn down could\nimpact the bookkeeping of the same service if it has been started\nfor the app.\n\nAlso address issue #5073927: GSF process can\u0027t be killed\n\nA new flag allows the systems location manager service to tell\nthe activity manager to not pull bound services up forever into\nthe visible adj level.\n\nChange-Id: I2557eca0e4bd48f3b10007c40ec878e769fd96a8\n"
    },
    {
      "commit": "4e2a762eae1f6981d32e6098a95498865ad7f795",
      "tree": "cf29595dbaec0694e9293c9c8fd6962fa522a615",
      "parents": [
        "176f3e1b77d74b3b00cac98792f5d9564b935990"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 26 20:08:46 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 26 20:08:50 2011 -0700"
      },
      "message": "Not user generated accessibility events can change the interrogation allowing window.\n\n1. Events not generated by the user can change the interrogation allowing window\n   unpredicatably. For example when a ListView lays out its children it fires an\n   accessibility events and changes the currently active window while the user\n   interaction may be happening in another window say a dialog. Now the interrogation\n   allowing window is changed when a new window is shown or the user has touch\n   explored it.\n\nbug:5074116\n\nChange-Id: I8dde12bbec807d32445a781eedced9b95312b3e2\n"
    },
    {
      "commit": "064d842ead23c53f1ec639a73966fe9bd9827c40",
      "tree": "5d601e58afe9bc33eb151d15eef277e3cae70c97",
      "parents": [
        "b243d5bc7db88396f0da304553687e7a0bccfa3d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jul 26 15:38:07 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jul 26 15:42:05 2011 -0700"
      },
      "message": "Don\u0027t actually try to stop processes marked \u0027persistent\u0027\n\nA later CL will introduce an API for querying whether a given package\nruns in a persistent process; UIs such as Settings will be able to use\nthat to determine whether to disable the \u0027force stop\u0027 action.\n\nChange-Id: Iab47c2300fdce285da7d83e02263c9a5f69edd70\n"
    },
    {
      "commit": "22d93a0d71d965970f581cd9aa1cbf2efbb5998f",
      "tree": "f5b0d0a82c59d398fe2185ac047f532fba71724d",
      "parents": [
        "bce8effe75c5477eb42d4e1c4df609da962285a2",
        "41394a361020e9f58524f23d6831bb8e63063856"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 15:26:02 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 15:26:02 2011 -0700"
      },
      "message": "resolved conflicts for merge of 41394a36 to honeycomb-plus-aosp\n\nChange-Id: If4dc99c558dc45c9a7ff8d3ea5be69578b4ee793\n"
    },
    {
      "commit": "41394a361020e9f58524f23d6831bb8e63063856",
      "tree": "29a9c842f03d748df6c3718bd5bee4aa60604e42",
      "parents": [
        "ac74551bb42eb2d6775d994357481113375574e7",
        "572b7048a6ed6cf6c5f6bc6c9d542dc377d601ff"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 13:21:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 26 13:21:09 2011 -0700"
      },
      "message": "Merge \"Use dns proxy a bit.\" into honeycomb-LTE"
    },
    {
      "commit": "66269ea6f68f2f25888ce1080c94ac782742fafc",
      "tree": "0ecbefcdbecf98cbacd428a422e6a2a846ac726e",
      "parents": [
        "e432a0005180ba9ac2c1d7822c4761b475fddc51"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 12 14:14:01 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 26 10:14:58 2011 -0700"
      },
      "message": "Move extract native libraries to JNI code\n\nThe built-in ZipFile class was quite a long time to find an unpack\nlibraries. Move everything to using the libutils ZipFileRO class that\ngoes quite a bit faster. Initial measurements are 6 times faster than\nthe Java code.\n\nAlso, read files off the disk and compare their CRC against the APK\u0027s\nCRC to see if we need to write the new file to disk. This also cuts down\nthe bootup time by up to a second per APK that has native files.\n\nChange-Id: Ic464a7969a17368fb6a6b81d026888c4136c7603\n"
    },
    {
      "commit": "bc68a59c024bdb745dac8e2ec7408a9f30595f1a",
      "tree": "9b3cfa4dc30eb787cbd828e97f7d816d5a91e68d",
      "parents": [
        "49754db5a304d995c1cc108ff6f19e4ba4265572"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 25 12:58:12 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 25 20:10:12 2011 -0700"
      },
      "message": "Report the external display size to the input reader.\n\nThe input reader needs this information so that it knows how to\ninterpolate touches on an external touch screen.\n\nChanged Display so that it asks the WindowManager what the real\ndisplay size is (as opposed to the raw display size).  This means\nit now takes into the forced display size set by\nadb shell am display-size.\n\nReplaced all calls to getRealWidth() / getRealHeight() /\ngetRealMetrics() in the WindowManager and replaced them with direct\nusages of the mCurDisplayWidth / mCurDisplayHeight so that the WM\ndoesn\u0027t end up making a reentrant Binder call into itself.\n\nFixed the table status bar HeightReceiver so that it updates the\nheight on all configuration changes since it is possible that the\ndisplay size changed independently of an external HDMI display\nbeing plugged / unplugged.\n\nImproved the Display class documentation to make the distinctions\nbetweeen the various sizes clearer.\n\nChange-Id: I3f75de559d3ebffed532ab46c4ae52c5e7f1da2b\n"
    },
    {
      "commit": "6c454c3225fd47422024af915fa28d5210d1e82e",
      "tree": "5938de336be51e7d90d0c100f77d6a5208524019",
      "parents": [
        "47a7c68ac862ecfc68f35a63b330cbda7131cd66",
        "da317ef68603dc7649f98bda495267973825e7fa"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Jul 25 18:02:46 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 18:02:46 2011 -0700"
      },
      "message": "Merge \"[step9] Add logging code for text services\""
    },
    {
      "commit": "da317ef68603dc7649f98bda495267973825e7fa",
      "tree": "7f53bfec875759885b8ebffc5727d4a9d205b346",
      "parents": [
        "84e35d995f0b804a322e9e07fd1a0341658763ef"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Jul 26 08:02:45 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Jul 26 09:42:12 2011 +0900"
      },
      "message": "[step9] Add logging code for text services\n\nChange-Id: I4dae847951848cca85bcb73f47c509ce23327334\n"
    },
    {
      "commit": "68454aa049b3dbadc60662e82c4c931fc970c20e",
      "tree": "3cf1ddc77fc2e5215654d306afad0686ed3b8e6a",
      "parents": [
        "b4913b8754653d0c9b3bdb88a0e4d971d9830c69",
        "1b20abd30c2757132b7a2d319ae73f420b864ed4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Mon Jul 25 17:25:09 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 25 17:25:09 2011 -0700"
      },
      "message": "am 1b20abd3: am 20bf46af: am b0878223: am 6800a801: Merge \"frameworks/base: Cap the number of toasts that a package can post.\"\n\n* commit \u00271b20abd30c2757132b7a2d319ae73f420b864ed4\u0027:\n  frameworks/base: Cap the number of toasts that a package can post.\n"
    },
    {
      "commit": "b4913b8754653d0c9b3bdb88a0e4d971d9830c69",
      "tree": "17764d839d82b41c285a578747c17309658e2710",
      "parents": [
        "4f727fbdc302946b9b677e2518350dd3574d198a",
        "6d21aee882215e8a17408f6ae1fbfba5cf8e440f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Mon Jul 25 17:25:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 25 17:25:00 2011 -0700"
      },
      "message": "am 6d21aee8: am 9ce1ecdf: am 1a2fcea1: am 2f4698fd: Merge \"frameworks/base: unlink death notifications of Vibrate requests\"\n\n* commit \u00276d21aee882215e8a17408f6ae1fbfba5cf8e440f\u0027:\n  frameworks/base: unlink death notifications of Vibrate requests\n"
    },
    {
      "commit": "572b7048a6ed6cf6c5f6bc6c9d542dc377d601ff",
      "tree": "d363ad4097415f64dda66ecb53ce60d40d82deb4",
      "parents": [
        "f679d4cb92b6d1c193a154abb5ae8fb3a786fc43"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jul 25 17:00:13 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jul 25 17:00:13 2011 -0700"
      },
      "message": "Use dns proxy a bit.\n\nSets the current default interface and sets the dns per interface.\nport of changes 23041 and 22098 from opensource.\nbug:5060618\n\nChange-Id: I80e7ef88727eeb8ff2b48059f69b270e5a6b5c16\n"
    },
    {
      "commit": "a10b7fd2239668a87be690a57ef7b3bc39b6bfd3",
      "tree": "9495a476c1f8536d4df81643c9c7612c9b1d2cba",
      "parents": [
        "b243d5bc7db88396f0da304553687e7a0bccfa3d",
        "a7f68230be1ac025dbeada77e2ff3f16bb2ac04c"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jul 25 16:06:25 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jul 25 16:06:25 2011 -0700"
      },
      "message": "resolved conflicts for merge of a7f68230 to master\n\nChange-Id: I9e8faaa94f9b251a9c003dc6b9a3e2a97c4564a9\n"
    },
    {
      "commit": "b243d5bc7db88396f0da304553687e7a0bccfa3d",
      "tree": "e99ab769a849ff1515c4bc6d4e1328da0aa0adac",
      "parents": [
        "5ccdaa9a0354f0424303ef4f94a65e35764cc9c4",
        "9c8625ead8acd695909d14e3cbda659622848873"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 25 12:32:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 12:32:10 2011 -0700"
      },
      "message": "Merge \"Change user 0 directory back for compatibility\""
    },
    {
      "commit": "1b20abd30c2757132b7a2d319ae73f420b864ed4",
      "tree": "28951ac14dd8195cdab832ff0c1d74259d87b89b",
      "parents": [
        "6d21aee882215e8a17408f6ae1fbfba5cf8e440f",
        "20bf46af14130314ae1aeb1e5482c38556c8f0f8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Mon Jul 25 12:21:32 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 25 12:21:32 2011 -0700"
      },
      "message": "am 20bf46af: am b0878223: am 6800a801: Merge \"frameworks/base: Cap the number of toasts that a package can post.\"\n\n* commit \u002720bf46af14130314ae1aeb1e5482c38556c8f0f8\u0027:\n  frameworks/base: Cap the number of toasts that a package can post.\n"
    },
    {
      "commit": "6d21aee882215e8a17408f6ae1fbfba5cf8e440f",
      "tree": "ea4e31922a37018e0a382a42ee131d0fcb5bff54",
      "parents": [
        "ed07215e482cae1ffedbba707284821b3afc310f",
        "9ce1ecdfde98c7b5b5ec346b883df0a50d9722e1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Mon Jul 25 12:21:29 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 25 12:21:29 2011 -0700"
      },
      "message": "am 9ce1ecdf: am 1a2fcea1: am 2f4698fd: Merge \"frameworks/base: unlink death notifications of Vibrate requests\"\n\n* commit \u00279ce1ecdfde98c7b5b5ec346b883df0a50d9722e1\u0027:\n  frameworks/base: unlink death notifications of Vibrate requests\n"
    },
    {
      "commit": "940dabfc669ef5973c54dcc62e38b4a095d1ff9f",
      "tree": "d4cc41e036c890b0c5aa23e411558971acf134d0",
      "parents": [
        "71f14a4e23c0b6eb60a81fd9a1be86dc441d051a",
        "f5a07905a3e025f95472a3f8d9935263e49ad6d3"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jul 25 12:10:46 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 12:10:46 2011 -0700"
      },
      "message": "Merge \"TouchExplorer long press not working and activation tap not respecting distance slop.\""
    },
    {
      "commit": "a7f68230be1ac025dbeada77e2ff3f16bb2ac04c",
      "tree": "2b1bcfa6f61f4c73536d9d363e944bd87cf880cd",
      "parents": [
        "051660d4d6d293f4b561bc6a772c70aa077a578a",
        "26ecc31f36727544b6440dc3ab3b25cc6b0bfb24"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jul 25 12:08:19 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jul 25 12:08:19 2011 -0700"
      },
      "message": "resolved conflicts for merge of 26ecc31f to honeycomb-plus-aosp\n\nChange-Id: I23f42e247884f0c9d5ae4d3466213592dd3433d9\n"
    },
    {
      "commit": "71f14a4e23c0b6eb60a81fd9a1be86dc441d051a",
      "tree": "4e140ffde55af598803f8398e9ecf761e8a672d3",
      "parents": [
        "c018496ab220158741488a67d3aed87abd6bf232",
        "00aabf7d187bc05408199bd687a538b2e68bdc17"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jul 25 12:08:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 12:08:08 2011 -0700"
      },
      "message": "Merge \"Touch exploration state set to clients asynchronously and depended on talking service being enabled.\""
    },
    {
      "commit": "9c8625ead8acd695909d14e3cbda659622848873",
      "tree": "c78359bf786ac5f1c1f95366b7e4d3fe3e16348d",
      "parents": [
        "e432a0005180ba9ac2c1d7822c4761b475fddc51"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 25 09:42:22 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 25 09:42:22 2011 -0700"
      },
      "message": "Change user 0 directory back for compatibility\n\nThe PackageManagerTests aren\u0027t designed for multiple users yet, so they\nfail. Since multiple users aren\u0027t supported yet, just change the default\ndata directory for user 0 back to how it was previously. This fixes the\nexisting tests and doesn\u0027t get anyone\u0027s hopes up since they won\u0027t see\n/data/user/0/pacakge when we don\u0027t support multiple users yet.\n\nBug: 4380006\nChange-Id: Iedcc3115b000759c0013ba6878e13cd2358897da\n"
    },
    {
      "commit": "f5a07905a3e025f95472a3f8d9935263e49ad6d3",
      "tree": "c7860aba77b9a9b7657c146f04ccf7e5a9358683",
      "parents": [
        "2182a3b6422f367d84384e25006ba201c4cd233b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jul 24 19:20:17 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jul 24 19:43:50 2011 -0700"
      },
      "message": "TouchExplorer long press not working and activation tap not respecting distance slop.\n\n1. The first problem is manifested on Prime. Apparently the Prime screen driver\n   is very aggresive in filtering move events that origin from almost the same\n   location. Hence, the framework doesn\u0027t see a constant stream of events. However,\n   the TouchExplorer implementation was assuming a constant event stream to detect\n   long press. Refactored the code such that no assumptions for the event stream\n   are made.\n\n2. Touch exploring an item and then tapping far away from that item was activating\n   it, hence not respecting the distance slop. This was due to incorrect check of\n   the latter.\n\nbug:5070917\n\nChange-Id: I3627a2feeb3712133f58f8f8f1ab7a2ec50cdc9a\n"
    },
    {
      "commit": "54e677ffb026eb838237b8a5e6581833f616e32a",
      "tree": "b250439bc91ed1c16895c087db936324cabf0261",
      "parents": [
        "c82cc94db08810ca238643b85c75b3593b2d8067",
        "562ab585f9e413d9696ee250e5ec02f95889a157"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sun Jul 24 18:47:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 24 18:47:50 2011 -0700"
      },
      "message": "Merge \"[Step 2] Add apis for spell checker settings\""
    },
    {
      "commit": "562ab585f9e413d9696ee250e5ec02f95889a157",
      "tree": "99d5bcce164cf1fbbdaa0383d641d2bb56cf8af9",
      "parents": [
        "1bedd99761e3d2acdac947d641e7fee5db556141"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Jul 25 10:12:21 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Jul 25 10:23:52 2011 +0900"
      },
      "message": "[Step 2] Add apis for spell checker settings\n\nBug: 5057977\n\nChange-Id: I4617b7f1487349c5de385e7392dbc39c69fa2ebc\n"
    },
    {
      "commit": "55bc5f3e0408bcb5a39a6732de0b2d1aa99a55be",
      "tree": "1206af1015ea8248a8fefbf2672d8df7bfa56bc8",
      "parents": [
        "895de9269fa125bf3903c21faf5e8d2750bfb000"
      ],
      "author": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Fri Jun 24 14:23:07 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sun Jul 24 10:08:47 2011 -0700"
      },
      "message": "Updated: Wi-Fi p2p framework\n\nFirst stage. Get the bones in right now even though\nwe are not ready on the native side.\n\nOnce, we have things underneath working - we will further update the\nframework\n\nChange-Id: I4a7dab5cd4267373dc5f8989ae4122f91c384ed5\n"
    },
    {
      "commit": "e30c1307fbb8f5421515e26ede403e0f6adc2612",
      "tree": "1fc1cf65765b209fa375dbb2142c978ef6e89f18",
      "parents": [
        "2182a3b6422f367d84384e25006ba201c4cd233b",
        "23eb297c771bd996fe8559178feb1a07be43ad72"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sat Jul 23 22:30:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 23 22:30:36 2011 -0700"
      },
      "message": "Merge \"Handle hostapd and tether interface changes\""
    },
    {
      "commit": "23eb297c771bd996fe8559178feb1a07be43ad72",
      "tree": "51b71ec0decca0f3623b2a7b2704040cf02345db",
      "parents": [
        "556d0476e14803b406ddff7fe4c27baf1bf58334"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Jul 22 15:21:10 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sat Jul 23 21:06:57 2011 -0700"
      },
      "message": "Handle hostapd and tether interface changes\n\nThe set config will only update hostapd config file right now and we need to restart after that happens.\n\nAlso, softap interface is changed to be the regular interface\n\nBug: 5069108\nChange-Id: Ibe80129b58e5339f06f186870bcd8f37569c6db3\n"
    },
    {
      "commit": "5db7af968a5b57ad9f8e5a61534cafe46c344b85",
      "tree": "08d0f4b5b8f1f6094cf8b39be2207e612cb20672",
      "parents": [
        "ab45c768bcfecbabbd664d4962f0c86627b6c76b",
        "6c2260b3af3a9243aa7f04cf03106f31817cb4c1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Jul 23 19:36:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 23 19:36:32 2011 -0700"
      },
      "message": "Merge \"Fix USB tethering\""
    },
    {
      "commit": "6c2260b3af3a9243aa7f04cf03106f31817cb4c1",
      "tree": "e4798968f479173d874e3f4211585f12b0f0ff97",
      "parents": [
        "40c4321df41eec6eba7e5001c7e13e9b7680b1fb"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jul 19 13:04:47 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Jul 23 21:57:55 2011 -0400"
      },
      "message": "Fix USB tethering\n\nThe previous approach no longer works with the new USB drivers, since the usb0\ninterface is no longer enabled by default.\nThis introduced a chicken \u0026 egg problem - usb0 will not be enabled until the\nuser tries to start tethering, but Settings will not enable the checkbox unless\nusb0 is enabled.\nTo fix this we add an explicit call to start USB tethering in the connectivity manager.\nThis will enable RNDIS if necessary and then bring up tethering once usb0 is enabled.\n\nChange-Id: Iae1f733366aa6b0dafa66d4c97207794173ef54b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b54ac4ab5b4c50ea09182e0bb19c4af08b0e0730",
      "tree": "3996702e69a9167c47ddaef48f47334503e13c05",
      "parents": [
        "da89e57130363a9b35983368f0f8df3237a9dbfd",
        "5bc8e732bd831a308a5bc1720b0e4c9300d32f67"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 22 20:14:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 20:14:27 2011 -0700"
      },
      "message": "Merge \"Display the current ime and subtype name in the ongoing notification\""
    },
    {
      "commit": "5bc8e732bd831a308a5bc1720b0e4c9300d32f67",
      "tree": "09ccce6fa49fe3a4e1d70b71ebd8bff2537b4221",
      "parents": [
        "3263f02b3e4b9c37bf8ec4e00b3cec32ede42ad8"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 22 21:07:23 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Jul 23 12:07:38 2011 +0900"
      },
      "message": "Display the current ime and subtype name in the ongoing notification\n\nBug: 4903422\nChange-Id: I3eaeb3decb75f687ad2af0d80340b819229c3ebe\n"
    },
    {
      "commit": "00aabf7d187bc05408199bd687a538b2e68bdc17",
      "tree": "3d70fecb8b5b64723b3dc2cf7250fe5f48f98b86",
      "parents": [
        "d24cd90486821535fb058531fac54aa5b9360693"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jul 21 11:35:03 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jul 22 17:38:54 2011 -0700"
      },
      "message": "Touch exploration state set to clients asynchronously and depended on talking service being enabled.\n\n1. Upon registration of an accessibility client the latter received only\n   the accessiiblity state and waiting for the touch exploration state\n   to be sent by the system in async manner. This led the very first\n   check of touch exploration state is checked a wrong value to be reported.\n   Now a state of the accessibility layer is returned to the client\n   upon registration.\n\n2. Removing the dependency on talking accessibility service to be enabled\n   for getting into touch exploration mode. What if the user wants to use\n   an accessibility service that shows a dialog with the text of the touched\n   view?\n\nbug:5051546\n\nChange-Id: Ib377babb3f560929ee73bd3d8b0d277341ba23f7\n"
    },
    {
      "commit": "7ef8611b5f3a893a46c7b9e22bdd8ab252e373ff",
      "tree": "d9d42c3f290659694cdee61510ae752215ddf793",
      "parents": [
        "556d0476e14803b406ddff7fe4c27baf1bf58334"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Jul 22 15:46:52 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Jul 22 15:46:52 2011 -0700"
      },
      "message": "VPN: increase timeout period to 60 seconds for legacy VPN.\n\nSome VPN needs more time than others in order to create the secure tunnel.\nFor example, L2TP/IPSec PSK on average needs 15 seconds on WiFi. On mobile\nconnection, variation gets larger, and it sometimes needs more than 30\nseconds. This change increases timeout period from 30 to 60 seconds.\n\nChange-Id: I6006fd254a7bc91c22f63d2f3f20ea79ee9b05e2\n"
    },
    {
      "commit": "6dcf2d77767f73608caa316db534a1df64a2b272",
      "tree": "99667e27c525b543231739914fff8725b2293e18",
      "parents": [
        "06d6c1d2289972f253f9c30994562e3ab8a7d7a1",
        "199339169476d0d6d0ecaa8ed3bff3a9e9a0f430"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jul 22 13:17:54 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 22 13:17:54 2011 -0700"
      },
      "message": "am 19933916: am ad55d351: Add better routes for secondary DNS\n\n* commit \u0027199339169476d0d6d0ecaa8ed3bff3a9e9a0f430\u0027:\n  Add better routes for secondary DNS\n"
    },
    {
      "commit": "199339169476d0d6d0ecaa8ed3bff3a9e9a0f430",
      "tree": "055b3c6f14bd11bb44a11c4d996870649f6e17aa",
      "parents": [
        "b7ad442c90146f736c6268c21e34a87fbcab6335",
        "ad55d35114237071133eb28ded93a014185d4e35"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jul 22 13:15:56 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 22 13:15:56 2011 -0700"
      },
      "message": "am ad55d351: Add better routes for secondary DNS\n\n* commit \u0027ad55d35114237071133eb28ded93a014185d4e35\u0027:\n  Add better routes for secondary DNS\n"
    },
    {
      "commit": "ad55d35114237071133eb28ded93a014185d4e35",
      "tree": "7d68e5ba1765101bf98593325a97d52ed28559db",
      "parents": [
        "1c82f56f2453a8a7c83090017ab2427a74829b9a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jul 22 11:55:33 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jul 22 12:52:21 2011 -0700"
      },
      "message": "Add better routes for secondary DNS\n\nWe\u0027d been doing no-gateway hostroutes for dns servers on secondary nets, but on\nsome devices (multi-homed stingray) this is a problem.  Add gateway-ed hostroutes\ninstead so the BP can do it\u0027s nonstandard \"magical\" demultiplexing.\n\nbug:5011392\nChange-Id: Ia48f69c8ddf2a37cfb8f014f078f96bf601d2ddb\n"
    },
    {
      "commit": "06d6c1d2289972f253f9c30994562e3ab8a7d7a1",
      "tree": "cc86e8fe0d8c9e0138c303defd1f9d79f2a51a25",
      "parents": [
        "38eea1b800c7374382f83f30fec85d0f6b415f13",
        "324afba161ae5b802e38f89c9015d8306ea3ddd1"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Jul 22 12:27:37 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 12:27:37 2011 -0700"
      },
      "message": "Merge \"Fixing new minResizeWidth/Height API\""
    },
    {
      "commit": "324afba161ae5b802e38f89c9015d8306ea3ddd1",
      "tree": "84ce2bc32d90d491d9533d9df692333bd2171d65",
      "parents": [
        "35435997c790ae7c78aa6ccfdfd4188bfa5ce4a7"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Jul 22 11:51:45 2011 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Jul 22 12:08:55 2011 -0700"
      },
      "message": "Fixing new minResizeWidth/Height API\n\nChange-Id: I6b57cca32ed7678597e7c0d81dc483ee294537a9\n"
    },
    {
      "commit": "8cbe6e9cef46adc14b6c3e0f3ea303b78232a8b9",
      "tree": "52feaff608421021c7ae2fb6939049130829efd8",
      "parents": [
        "423f0ed494d30bbae1a02c059769f0211f1e4d81",
        "91c9ac05efd7425565b5c8f0f3f8b7b9658ce143"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 22 10:52:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 10:52:34 2011 -0700"
      },
      "message": "Merge \"Fix issue #5050039: Launcher is sometimes rendering...\""
    },
    {
      "commit": "91c9ac05efd7425565b5c8f0f3f8b7b9658ce143",
      "tree": "c0722666ee56835bb53051cf608dfcf30d54893b",
      "parents": [
        "4ac052688a3011e3a174c78d75898e6888075720"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 21 21:52:09 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 22 10:41:38 2011 -0700"
      },
      "message": "Fix issue #5050039: Launcher is sometimes rendering...\n\n...underneath the system/status bar\n\nChange-Id: If65aba64df9362d4721051846a6da6d096a3dc9b\n"
    },
    {
      "commit": "b858c732f665fe9610f2d913230ae625f44a8caa",
      "tree": "9ff0defb4ed22d5265451b227202219957e6a4c3",
      "parents": [
        "7793719ca97571f5b3636d5a89cb067c71d627bd"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 22 19:54:34 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 22 19:54:34 2011 +0900"
      },
      "message": "Delay load the settings for the ongoing ime swither\n\nBug: 5029803\nChange-Id: I488ff7804a986b71bf01b3dfad0e65fd4707965d\n"
    },
    {
      "commit": "7793719ca97571f5b3636d5a89cb067c71d627bd",
      "tree": "99c4feecc245c3676534d6367f181fa4c683a6b7",
      "parents": [
        "4ac052688a3011e3a174c78d75898e6888075720",
        "988323c57bd25a58f05dfa492d9b9c8ab62c5153"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Jul 21 22:59:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 21 22:59:48 2011 -0700"
      },
      "message": "Merge \"Create TextServiceManager and SpellCheckerService\""
    },
    {
      "commit": "988323c57bd25a58f05dfa492d9b9c8ab62c5153",
      "tree": "ee817ff3950a064cd3546294c9428ec41c8e7cee",
      "parents": [
        "b4cd566767f736e723acb5444cbfb26117a2fbb8"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Jun 22 16:38:13 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 22 14:52:21 2011 +0900"
      },
      "message": "Create TextServiceManager and SpellCheckerService\n\nBug: 4176026\n\nThis CL inherits https://android-git.corp.google.com/g/112600\n\nSpec of TextServiceManager\n- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)\n    for each locale\n\nSpec of SpellCheckerService\n- Returns whether the given string is a correct word or not\n- Returns Suggestions for the given string\n\nChange-Id: Iaa425c7915fe70767ad0b17bf6c6fbcd2a1200b2\n"
    },
    {
      "commit": "b0878223db87700cdc988a6d9197ca4e3c4772db",
      "tree": "923fedb711db5824390f501569bc756bdb7caa45",
      "parents": [
        "1a2fcea1a28074f15126471daa5a8650cb5e2ecc",
        "6800a80199477c90fc64af7211a177de06478a02"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Thu Jul 21 22:35:32 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 21 22:35:32 2011 -0700"
      },
      "message": "am 6800a801: Merge \"frameworks/base: Cap the number of toasts that a package can post.\"\n\n* commit \u00276800a80199477c90fc64af7211a177de06478a02\u0027:\n  frameworks/base: Cap the number of toasts that a package can post.\n"
    },
    {
      "commit": "1a2fcea1a28074f15126471daa5a8650cb5e2ecc",
      "tree": "84c2290fff7572ea4548580ee983b58ac0f18bd2",
      "parents": [
        "e70b2b8fe0c265171f3a367a66c99b36c62567c7",
        "2f4698fda46a3d2a6e78019588d77bae1cfa7193"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Thu Jul 21 22:23:46 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 21 22:23:46 2011 -0700"
      },
      "message": "am 2f4698fd: Merge \"frameworks/base: unlink death notifications of Vibrate requests\"\n\n* commit \u00272f4698fda46a3d2a6e78019588d77bae1cfa7193\u0027:\n  frameworks/base: unlink death notifications of Vibrate requests\n"
    },
    {
      "commit": "6800a80199477c90fc64af7211a177de06478a02",
      "tree": "a241c33785724b3907d8a7dbbe111af56c9d5551",
      "parents": [
        "2f4698fda46a3d2a6e78019588d77bae1cfa7193",
        "f9eb06ca691ed14c8b55840a07333330ae347e22"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Thu Jul 21 22:21:19 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Jul 21 22:21:19 2011 -0700"
      },
      "message": "Merge \"frameworks/base: Cap the number of toasts that a package can post.\""
    },
    {
      "commit": "2f4698fda46a3d2a6e78019588d77bae1cfa7193",
      "tree": "1b50c51825e9acbf432a3b7828b41b2131f4b7fa",
      "parents": [
        "9bcf26ea7aa108ce4bf4e973b4774d3e60eebafe",
        "8a61f496919504a86244d2f833acfec9bc20a745"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Thu Jul 21 22:18:47 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Jul 21 22:18:47 2011 -0700"
      },
      "message": "Merge \"frameworks/base: unlink death notifications of Vibrate requests\""
    },
    {
      "commit": "b6055fe7472f16901f0d06f405ac512d5cdafec4",
      "tree": "0d3e37addb78d953086e3fc830b7ae7b4369d6f0",
      "parents": [
        "f726c1de8bb08a5ac08f4f7c7d890db103922b68",
        "12b933d0d9252decaae9fee2456bb1e1cd94c085"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Jul 21 18:44:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 21 18:44:52 2011 -0700"
      },
      "message": "Merge \"NetworkManagementService: receive bandwidth controller events\""
    },
    {
      "commit": "a5e9bab0e4f86149e62b99e4d230b6006bf7f9a2",
      "tree": "c7f68f5d1b6dcfeb8b95c60fc56b94db4be11abe",
      "parents": [
        "ae1294cb6b75f571236f98ecf23987d09bda91f4",
        "6e680dea3bc9e2d4ba1a09f428c303cd2a59c051"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 21 16:24:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 21 16:24:27 2011 -0700"
      },
      "message": "Merge \"UsbDeviceManager: Add USB notification string for USB accessory mode\""
    },
    {
      "commit": "ae1294cb6b75f571236f98ecf23987d09bda91f4",
      "tree": "87a1966630af4deaf8da3200e0175f8ed5d0cb50",
      "parents": [
        "8afdd412acc4e5a544074b2d1509d0db36409679",
        "d462ecf8f82076d21c85bdeeefbd16a1a91d2805"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 21 16:24:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 21 16:24:18 2011 -0700"
      },
      "message": "Merge \"USB: Fix handling USB accessory attached when device is booting\""
    },
    {
      "commit": "c09bd156b74a3e366beb26cf1eb15a2912e8e02d",
      "tree": "0d979b35df747f916fcc6da03b88b5a0d7589f0b",
      "parents": [
        "b72dedfa5e8db9e0fb532b4c362df252c3495591",
        "f0754f5ba7a45b517cffcb3c2c96f2a32aeac06d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 21 16:19:11 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 21 16:19:11 2011 -0700"
      },
      "message": "Merge \"Fix bug where memory trim was not being delivered with correct level.\""
    },
    {
      "commit": "f0754f5ba7a45b517cffcb3c2c96f2a32aeac06d",
      "tree": "5083b856cd3f6825fe674d00b3f955a591faff72",
      "parents": [
        "040c2f91ed0968f3193031cabbf51b756930adc7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 21 16:02:07 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 21 16:02:56 2011 -0700"
      },
      "message": "Fix bug where memory trim was not being delivered with correct level.\n\nAlso improve how we handle services, keeping track of whether they showed\nUI and if so putting them immediately on the LRU list.\n\nChange-Id: I816834668722fc67071863acdb4a7f427a982a08\n"
    },
    {
      "commit": "6e680dea3bc9e2d4ba1a09f428c303cd2a59c051",
      "tree": "ce8c261b3f0025d055f9cdbf2210d5792279d6e4",
      "parents": [
        "d462ecf8f82076d21c85bdeeefbd16a1a91d2805"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 21 15:36:09 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 21 15:36:09 2011 -0700"
      },
      "message": "UsbDeviceManager: Add USB notification string for USB accessory mode\n\nBug: 5062341\n\nChange-Id: I93af8274e538009dd8f00d1cea782b62334e43f1\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "6ee8c2495dd444ed4687489325b61ec6ebd75cba",
      "tree": "83fd39b6ca6ab16f6e7bb55425af6631803d4377",
      "parents": [
        "d7a374f6f8f52a88d7e9a4660d9bf9037cf0b659",
        "7eabe55db6b113f83c2cefcd06812648927de877"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 21 15:31:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 21 15:31:59 2011 -0700"
      },
      "message": "Merge \"Add looper profiling to adb shell am\""
    },
    {
      "commit": "7eabe55db6b113f83c2cefcd06812648927de877",
      "tree": "a105d90d8addbce9bb457b4bef974ce2f699fc81",
      "parents": [
        "ac4159549c10dbe428d42980278c0e43ecc8d93f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 21 14:56:34 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 21 14:56:34 2011 -0700"
      },
      "message": "Add looper profiling to adb shell am\n\nTo profile the looper, run the following command:\n\nadb shell am profile looper start \u003cprocess\u003e \u003cfile\u003e\nadb shell am profile looper stop \u003cprocess\u003e\n\nChange-Id: I781f156e473d7bdbb6d13aaffeeaae88bc01a69f\n"
    },
    {
      "commit": "d462ecf8f82076d21c85bdeeefbd16a1a91d2805",
      "tree": "88d12b0084c53b857ec58baae8c6cf3b1b6fe20d",
      "parents": [
        "edf0178265efee73da80754d1d76e3d69e1f593f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 21 13:55:16 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 21 14:30:36 2011 -0700"
      },
      "message": "USB: Fix handling USB accessory attached when device is booting\n\nAlso defer anything that could start an activity from \"system ready\"\nto \"boot completed\" time.\n\nBug: 5051683\n\nChange-Id: I69db751cb991dd247bd0ac3c70a0d84c0d71f365\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d7a374f6f8f52a88d7e9a4660d9bf9037cf0b659",
      "tree": "1e1de80e54f7d0a5a2956587d64b396def9805ed",
      "parents": [
        "d2bea209658c1e2b7575cddf4338d44e305ee554",
        "b0c1b80f471bd49af60e7b78161d814e355a6972"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Jul 21 13:45:38 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 21 13:45:38 2011 -0700"
      },
      "message": "Merge \"Fix multicast API\""
    }
  ],
  "next": "b0c1b80f471bd49af60e7b78161d814e355a6972"
}
