)]}'
{
  "log": [
    {
      "commit": "1137341885d8dc451dddc2e01319fb0fab00bbc3",
      "tree": "d6c4e2d8c0ab8f2ed24cd7d2ed9e84ee1d63086e",
      "parents": [
        "62c7b37590b1a692384a55949d3b9eba221a3652"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 28 15:13:33 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 04 11:51:38 2011 -0700"
      },
      "message": "Throw exception on odd length Signatures\n\nThe old version of this code would silently truncate odd-length\nSignatures. However, this masks some bugs. Add a throw of\nIllegalArgumentException so users can easily see where they\u0027re getting\nbad input for Signatures.\n\nAlso, go through the existing code and catch this exception or\npre-check the input strings so system_server doesn\u0027t crash later.\n\nBug: 5092338\nChange-Id: I8c672c5eaeb738a92c4581ce0df09baf719980ef\n"
    },
    {
      "commit": "baef393241c7adfbb731cd3d29d3b984fba10a85",
      "tree": "4700f769144af392c970fdb8bcd8f5cba3f77a87",
      "parents": [
        "9ebf4ebbb9611f2aafef7d4d22b74015a7b4c8c4",
        "58d4c595818de0d1b7edf382fee6ed1a4bd70e7f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Aug 02 17:32:05 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 17:32:05 2011 -0700"
      },
      "message": "Merge \"Reduce ConnectivityService logging\""
    },
    {
      "commit": "58d4c595818de0d1b7edf382fee6ed1a4bd70e7f",
      "tree": "be2f8caa5f2abd67cdbbd70e43e302858ce69c6f",
      "parents": [
        "666742c7cff73a48ac9e0f1ae355f3a815edb5c9"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Aug 02 17:18:41 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Aug 02 17:18:41 2011 -0700"
      },
      "message": "Reduce ConnectivityService logging\n\nbug:5106520\nChange-Id: I4a7a5cac51c09e9e2275b30b7b2c053f94b9088d\n"
    },
    {
      "commit": "f5348d82117f8d2a1b73d0e7f9b44de2b705f4d6",
      "tree": "47e48a1e2e33c8d84a93bc221d8d18ef6f3dfc65",
      "parents": [
        "04ee7956ea5009098f9a4c02436b91c18c60d225",
        "5832ead89a6cfab83d4ed07e7ca20bc52eea923c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 02 17:05:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 17:05:06 2011 -0700"
      },
      "message": "Merge \"Parent\u0027s canonical path; not parent of canonical\""
    },
    {
      "commit": "5857bceaeae70aa93f2a428a6d1c6ec8851c1b9b",
      "tree": "aab02b729c2261c5b920470f6f9810fdd5509a8a",
      "parents": [
        "e10bcdb37cad965ea60da3f9d413d7645b3ae75a",
        "6311d0a079702b29984c0d31937345be105e1a5e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 02 16:57:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 16:57:50 2011 -0700"
      },
      "message": "Merge \"Clear the bitmap from the canvas in a lot of places.\""
    },
    {
      "commit": "6311d0a079702b29984c0d31937345be105e1a5e",
      "tree": "c9d5ebf9e2d1f6685220fe2e31ad8a4e21366a11",
      "parents": [
        "7374d9728bd0e8847bab723608ebab3542e8157e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 02 16:37:58 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 02 16:37:58 2011 -0700"
      },
      "message": "Clear the bitmap from the canvas in a lot of places.\n\nChange-Id: I6b2071ac7b348c473b9bdd1b972d095aebbb4fb3\n"
    },
    {
      "commit": "5832ead89a6cfab83d4ed07e7ca20bc52eea923c",
      "tree": "42549ffac985b7fac65f0442161a940273a63e9e",
      "parents": [
        "c8909501b1ec52e7f2e7e052b277f83d8693dbeb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 02 15:47:08 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Aug 02 15:49:39 2011 -0700"
      },
      "message": "Parent\u0027s canonical path; not parent of canonical\n\nWhen moving from SD card to internal, the PackageManager should check if\nthe native library directory parent\u0027s canonical path matches the\ncanonical data directory.\n\nHowever, it was checking the canonical native library directory\u0027s\nparent matches the data directory which makes tests concerning moving\nfrom SD card to internal storage fail.\n\nChange-Id: I16420efbb6f52fd6877a8f62ad060f8a1b8b0033\n"
    },
    {
      "commit": "8a32c6333ab44c79a55ffa4ad9de93a7e6df2bda",
      "tree": "78083ee0d5f6b0d8e4cbf29d3828adb64a637cac",
      "parents": [
        "147200b2c47fc36e7cba32b6e318643f25be3baf",
        "8b4d36e8661e25fcb893e00be15ba02da0950055"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 02 15:31:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 15:31:34 2011 -0700"
      },
      "message": "Merge \"USB: Fix NPE that occurred when restoring default function in UsbManager.setEnabledFunctions\""
    },
    {
      "commit": "8b4d36e8661e25fcb893e00be15ba02da0950055",
      "tree": "ae394424716968d267be7060ad193ffccda5c912",
      "parents": [
        "ff7fffab23357cf81eb5f7ad50615f276510ae61"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 02 18:16:26 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 02 18:18:09 2011 -0400"
      },
      "message": "USB: Fix NPE that occurred when restoring default function in UsbManager.setEnabledFunctions\n\nBug: 5110020\n\nChange-Id: I5e4b5c27e4675fa6830823832ae51411dc448191\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7374d9728bd0e8847bab723608ebab3542e8157e",
      "tree": "5ceb97aa6ad1e1f66d27023884d634c2ca52a00a",
      "parents": [
        "c8909501b1ec52e7f2e7e052b277f83d8693dbeb",
        "8935696a19822283212591917f04e4b91b5b9219"
      ],
      "author": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Tue Aug 02 14:48:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 14:48:43 2011 -0700"
      },
      "message": "Merge \"Fix networktype on per process DNS setting\""
    },
    {
      "commit": "8935696a19822283212591917f04e4b91b5b9219",
      "tree": "f867c268e11be87dce64a6c0d7844c69317cf6e4",
      "parents": [
        "e8f1cbae4400e8b046b405f205dffe0417826fb3"
      ],
      "author": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Tue Aug 02 13:39:06 2011 -0700"
      },
      "committer": {
        "name": "repo sync",
        "email": "isheriff@google.com",
        "time": "Tue Aug 02 13:40:58 2011 -0700"
      },
      "message": "Fix networktype on per process DNS setting\n\nThis potentially has no impact on mobile due to DNS settings being the same. Seperate this change out of the p2p change\n\nChange-Id: I70fff9b1e13015956793b19732785037adb0af24\n"
    },
    {
      "commit": "94761d396d2308bfd93ed03d86c55e7a2b46a59e",
      "tree": "285f12a0b6591633f683050de44a21d88e1095d3",
      "parents": [
        "b0a20e47dd773fc5ceac51d4158c7500e0bba268",
        "c58efa6052ea6274c93b760e05dc8158e4834a8c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 02 12:18:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 12:18:40 2011 -0700"
      },
      "message": "Merge \"Reduce backup manager logspew\""
    },
    {
      "commit": "5b9b5a9553a0276dc6b7f1f458c8d4ed03227988",
      "tree": "ba993d2c6706b121b21094149032248c81c8a5c5",
      "parents": [
        "1164d776c612a33bc5e54262589490fb1d2c257d"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Aug 02 12:24:44 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Aug 02 14:04:43 2011 +0900"
      },
      "message": "Change SpellCheckerInfo IPC inputs to String\n\nChange-Id: I4c3f3c7aa7587e3f2582b43702108fa78f37ec54\n"
    },
    {
      "commit": "c58efa6052ea6274c93b760e05dc8158e4834a8c",
      "tree": "2597c69fc0149db2c492b02be9c2f83f983b9c74",
      "parents": [
        "b1eaf8f5527a7d587cf1e3feedd9638ea8370d18"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 01 19:20:14 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 01 19:25:18 2011 -0700"
      },
      "message": "Reduce backup manager logspew\n\n...with particular attention to boot-time logging.  In particular, the\nfollowing kinds of messages are now cut unless someone turns on the new\nMORE_DEBUG flag in their local build:\n\n08-01 11:25:32.203   155   223 V BackupManagerService: starting timeout: token\u003d4f52ccd1 interval\u003d30000\n08-01 11:25:32.211   155   223 V BackupManagerService: opComplete: 4f52ccd1\n08-01 11:25:32.211   155   223 V BackupManagerService: operation 4f52ccd1 complete: finalState\u003d1\n08-01 11:25:32.211   155   223 V PerformBackupThread: doBackup() success\n\nand\n\n01-01 00:00:19.710   148   162 V BackupManagerService: Adding 9 backup participants:\n01-01 00:00:19.710   148   162 V BackupManagerService:     PackageInfo{41af0380 android} agent\u003dcom.android.server.SystemBackupAgent uid\u003d1000 killAfterRestore\u003dfalse\n01-01 00:00:19.710   148   162 V BackupManagerService:     PackageInfo{41aa5068 com.android.browser} agent\u003dcom.android.browser.BrowserBackupAgent uid\u003d10005 killAfterRestore\u003dtrue\n01-01 00:00:19.710   148   162 V BackupManagerService:     PackageInfo{4199ce28 com.android.nfc3} agent\u003dcom.android.nfc.NfcBackupAgent uid\u003d1025 killAfterRestore\u003dtrue\n01-01 00:00:19.710   148   162 V BackupManagerService:     PackageInfo{41a6e170 com.android.providers.settings} agent\u003dcom.android.providers.settings.SettingsBackupAgent uid\u003d1000 killAfterRestore\u003dfalse\n01-01 00:00:19.710   148   162 V BackupManagerService:     PackageInfo{4198ba90 com.android.providers.userdictionary} agent\u003dcom.android.providers.userdictionary.DictionaryBackupAgent uid\u003d10000 killAfterRestore\u003dfalse\n01-01 00:00:19.710   148   162 V BackupManagerService:     PackageInfo{41a80190 com.android.vending} agent\u003dcom.android.vending.VendingBackupAgent uid\u003d10042 killAfterRestore\u003dfalse\n01-01 00:00:19.710   148   162 V BackupManagerService:     PackageInfo{41ac2980 com.google.android.calendar} agent\u003dcom.android.calendar.CalendarBackupAgent uid\u003d10007 killAfterRestore\u003dtrue\n01-01 00:00:19.710   148   162 V BackupManagerService:     PackageInfo{41b14fb8 com.google.android.gm} agent\u003dcom.google.android.gm.persistence.GmailBackupAgent uid\u003d10020 killAfterRestore\u003dtrue\n01-01 00:00:19.710   148   162 V BackupManagerService:     PackageInfo{41af89b8 com.google.android.inputmethod.latin} agent\u003dcom.android.inputmethod.latin.BackupAgent uid\u003d10028 killAfterRestore\u003dfalse\n\nand\n\n01-01 00:00:20.000   148   162 D BackupManagerService: Now awaiting backup for 1 participants:\n01-01 00:00:20.000   148   162 D BackupManagerService:     + BackupRequest{app\u003dApplicationInfo{41b15110 android}} agent\u003dcom.android.server.SystemBackupAgent\n01-01 00:00:20.000   148   162 I BackupManagerService: New app com.android.browser never backed up; scheduling\n01-01 00:00:20.015   148   162 D BackupManagerService: Now awaiting backup for 2 participants:\n01-01 00:00:20.015   148   162 D BackupManagerService:     + BackupRequest{app\u003dApplicationInfo{41b15110 android}} agent\u003dcom.android.server.SystemBackupAgent\n01-01 00:00:20.015   148   162 D BackupManagerService:     + BackupRequest{app\u003dApplicationInfo{41ae5cf8 com.android.browser}} agent\u003dcom.android.browser.BrowserBackupAgent\n01-01 00:00:20.015   148   162 I BackupManagerService: New app com.android.nfc3 never backed up; scheduling\n01-01 00:00:20.031   148   162 D BackupManagerService: Now awaiting backup for 3 participants:\n01-01 00:00:20.031   148   162 D BackupManagerService:     + BackupRequest{app\u003dApplicationInfo{41b15110 android}} agent\u003dcom.android.server.SystemBackupAgent\n01-01 00:00:20.031   148   162 D BackupManagerService:     + BackupRequest{app\u003dApplicationInfo{41ae5cf8 com.android.browser}} agent\u003dcom.android.browser.BrowserBackupAgent\n01-01 00:00:20.031   148   162 D BackupManagerService:     + BackupRequest{app\u003dApplicationInfo{41a47d88 com.android.nfc3}} agent\u003dcom.android.nfc.NfcBackupAgent\n... [N times]\n\nand various other overly-chatty messages that aren\u0027t useful for the midrange\ndebugging needs of early testing.\n\nBug 5104300\n\nChange-Id: I2b2afb5ba68059cb1f4cccc07f2833e43cd6fe94\n"
    },
    {
      "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"
    }
  ],
  "next": "b0878223db87700cdc988a6d9197ca4e3c4772db"
}
