)]}'
{
  "log": [
    {
      "commit": "6de74ff2a45591455cbb5c21d78904065e89ec89",
      "tree": "70c9ca44545f3e67e3a61d5e69b0763f8f7d4c9a",
      "parents": [
        "ea77ed02e44ebd177e3c7e1797d9cb804820ce43"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jan 17 15:20:32 2012 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jan 18 15:44:47 2012 -0800"
      },
      "message": "Fix edge cases leading to backup hanging forever\n\nPlug a couple of apparent code paths (one not obviously reachable, but\nfixed here on general principles) that could lead to a backup pass\ngetting confused partway through and simply never properly completing.\nIn this state it would leave its wakelock held forever until next\nreboot.  Bug 5828859.\n\nThose fixes are a total of two lines of code. The rest of the patch\nadds a textual journal of the most recently completed (or ongoing!)\nbackup pass\u0027s progress, with an eye to being able to isolate any such\nissues that may crop up in the future.\n\nChange-Id: If8a5e8aba11db5a1e618d8b9c9ba3038dd5377a1\n"
    },
    {
      "commit": "f88d1493aa968d3da551116f076edd5e21f7ccfc",
      "tree": "553a98239d2e3d547da50e658c57a708efc17aad",
      "parents": [
        "31cef1451e84e613825a78716f4b8cedd5ae9084",
        "100651779fde99f7ae2a10719d688b51115f08e9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 13:01:48 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 13:01:48 2012 -0800"
      },
      "message": "am 10065177: am 2e282f35: Merge \"Fix issue #5823276: home repaints after full-screen app is exited\" into ics-mr1\n\n* commit \u0027100651779fde99f7ae2a10719d688b51115f08e9\u0027:\n  Fix issue #5823276: home repaints after full-screen app is exited\n"
    },
    {
      "commit": "2e282f35b009fe4c23daca35592dae2032641643",
      "tree": "8dc3befb0826cc22653a327281f86ebc904647e9",
      "parents": [
        "da7b7700d0f499ac9b0bac51365b3da235388ae6",
        "01b02a734d2988c22b00f5df6346ad03d8bf52b6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 12:56:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 12:56:40 2012 -0800"
      },
      "message": "Merge \"Fix issue #5823276: home repaints after full-screen app is exited\" into ics-mr1"
    },
    {
      "commit": "ecce05fac6600d01b5dca1cbf6345837e2840c5a",
      "tree": "0c7831bc04f92baecf94b327bb8b6d77abd11b7d",
      "parents": [
        "60c6b082eaa534402911adb2a5e76618e6e0e49d",
        "89620c5d982858f590f3740169c9f69ee380be3e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 13 12:18:55 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 12:18:55 2012 -0800"
      },
      "message": "am 89620c5d: am 2cf18d28: Merge \"Streamline package-installed handling by the Backup Manager\" into ics-mr1\n\n* commit \u002789620c5d982858f590f3740169c9f69ee380be3e\u0027:\n  Streamline package-installed handling by the Backup Manager\n"
    },
    {
      "commit": "2cf18d28785fdd188641867503586627cb212302",
      "tree": "7b9d010b690c7ada4c3b012b244748035d4b128f",
      "parents": [
        "2753e826b2d0e7a4c5f80c3e825afa4aa579942b",
        "0bacfd2ba68d21a68a3df345b830bc2a1e515b5a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 13 11:49:20 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 11:49:20 2012 -0800"
      },
      "message": "Merge \"Streamline package-installed handling by the Backup Manager\" into ics-mr1"
    },
    {
      "commit": "191713a51f0292b7fce72cc7e16cfd0f0204a0c7",
      "tree": "d8fc9aae23ff85cd5f2c88d3c4ca2fad36642283",
      "parents": [
        "dc89357810976556d20483c7fe161b68ed4d2acf"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jan 12 12:02:22 2012 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jan 12 17:39:40 2012 -0800"
      },
      "message": "Move where prop dev.bootcomplete is set\n\nCurrently test harnesses depends on this flag to determine when\nthe system is fully booted, and start dismissing keyguard, launch\ntests etc. However, the flag is usually set when the boot animation\nis still running, and typically about 5 seconds before keyguard is\nup etc. Moving to to when BOOT_COMPLETE broadcast is sent makes it\nwork more reliable.\n\nWe also discussed about using sys.boot_completed instead,\nunfortunately this flag is not in all platform and we still have\nbackwards compatibility to maintain in order to drive unbundled\ntests.\n\nChange-Id: I99b084cd70d8e4bcfe490ddeca868136d32712e2\n"
    },
    {
      "commit": "0bacfd2ba68d21a68a3df345b830bc2a1e515b5a",
      "tree": "4ba0f1c83b94a9dfe2df611cb83f10c346e00cab",
      "parents": [
        "51938e26913a98aa8de0292e9be8ea9d9ebc67c3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jan 11 14:41:19 2012 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jan 12 16:15:09 2012 -0800"
      },
      "message": "Streamline package-installed handling by the Backup Manager\n\nIn particular, don\u0027t do O(asec_apps * installed_apps) work during the\nbroadcast receiver\u0027s operation.  On devices with many installed apps\nand a large number of them moved to ASECs, this was causing the system\nprocess to become unresponsive and the watchdog to fire -- which in turn\nwould initiate a restart loop, as the same package-installed broadcast\nwould then be issued again once the package manager rescanned the ASEC\ncontainers, ad infinitum.  With this change, the expensive call to the\npackage manager is only made once rather than asec_apps times.\n\nBug 5850283\n\nChange-Id: I14e280ea1fa6af19cebc58869a20fbb599c92c8c\n"
    },
    {
      "commit": "5d134343ca9f3ce28704a7fa69a11e4f4d0d25a4",
      "tree": "2eea7b82cc2999771e624d06a4fb21f72377537d",
      "parents": [
        "e340527eaba89cad646e46d1d5ee34b71e9c6133",
        "1e9e7f76d5e6187befaf96eece258c27fd08bdc5"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jan 12 14:30:44 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 12 14:30:44 2012 -0800"
      },
      "message": "am 1e9e7f76: am ff321d49: Merge \"VPN: silence VPN notifications.\" into ics-mr1\n\n* commit \u00271e9e7f76d5e6187befaf96eece258c27fd08bdc5\u0027:\n  VPN: silence VPN notifications.\n"
    },
    {
      "commit": "ff321d496a6a07fc667112ecfe4d9a107d44147b",
      "tree": "fda89338361f2ebbc5bc9a8fa7333b54466d1cd2",
      "parents": [
        "aaaafca8543eaa75f1865d70c801c9b62caa56e2",
        "50fe709995d1f126e96cafde133bc4777b31d4ed"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jan 12 14:24:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 14:24:30 2012 -0800"
      },
      "message": "Merge \"VPN: silence VPN notifications.\" into ics-mr1"
    },
    {
      "commit": "01b02a734d2988c22b00f5df6346ad03d8bf52b6",
      "tree": "36cc4f3027585963a0db3ad33f907c28182f9fe1",
      "parents": [
        "d3be0a76e46584357dbb77fcd200128d0d7dc9a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 12 14:05:03 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 12 14:05:03 2012 -0800"
      },
      "message": "Fix issue #5823276: home repaints after full-screen app is exited\n\nDon\u0027t consider a window as a candidate for the top fullscreen window\nif it is not going to be a candiate for layout.\n\nAlso don\u0027t consider windows a candidate for layout if their app token\nis hidden.  This fixes a transient state where we are preparing to\nunhide the window but have not done so yet.\n\nChange-Id: Ife5299ffa003c1df1a4f787b7a2809cbf614ec16\n"
    },
    {
      "commit": "cc9858049ddea5a28cbd1d6ee59dd814e21ef512",
      "tree": "78081fb7ae61805343c8b8cb732e5f6cb6d456c3",
      "parents": [
        "140d0158c46c580c45f88f9b880906d517c4e96e",
        "1800ccfa647cca6e9c051759312d6af12f134f5a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Jan 12 09:29:30 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 12 09:29:30 2012 -0800"
      },
      "message": "am 1800ccfa: am 4b1261f1: Merge \"Disable wimax when mobile data is in Settings\" into ics-mr1\n\n* commit \u00271800ccfa647cca6e9c051759312d6af12f134f5a\u0027:\n  Disable wimax when mobile data is in Settings\n"
    },
    {
      "commit": "4b1261f17ae2a0180be09b1c987ec7e70b2b46a7",
      "tree": "06954c77300120fc643b1ceac02e06b1067adb66",
      "parents": [
        "2931d8ace9118bafe08090cd41e235048b6c2eb2",
        "b97d34c7c81ed7def6d0c1d7a76d057051f7d154"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Jan 12 09:24:45 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 09:24:45 2012 -0800"
      },
      "message": "Merge \"Disable wimax when mobile data is in Settings\" into ics-mr1"
    },
    {
      "commit": "50fe709995d1f126e96cafde133bc4777b31d4ed",
      "tree": "cb9a7f123bcd7949be32a6b28f990fa7f9e57fe2",
      "parents": [
        "c15cf3d286f3d63d141b73f639a5a61ddb028029"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Jan 11 14:26:24 2012 -0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Jan 11 14:26:24 2012 -0800"
      },
      "message": "VPN: silence VPN notifications.\n\nBug: 5852859\nChange-Id: I269d8de298a1fd69a8d777150ae97927537a5424\n"
    },
    {
      "commit": "c36905673a7bcafe9ec74e82e6c4977f2aca6a50",
      "tree": "82497a6547db5a4a26e745051166c4ed133ee36c",
      "parents": [
        "2cc28deb9ef5c9b8aff90e1ad42c3d1915e73b26"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Jan 10 20:14:43 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Jan 11 17:03:03 2012 +0900"
      },
      "message": "Enable subtypes when the implicitly enabled subtype is not ascii capable keyboard\nBug: 5806103\n\nChange-Id: I1a83b227498073c47567f73566043c273809adc9\n"
    },
    {
      "commit": "2cc28deb9ef5c9b8aff90e1ad42c3d1915e73b26",
      "tree": "f59f60ec737389c670126df52d37930647abc568",
      "parents": [
        "c347a9a61ea1caf029725dbf7ba87954b99a2582",
        "5a7bcf31a44d9875ca5fc010dc213aa2bd5b1168"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 10 17:41:01 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 10 17:41:01 2012 -0800"
      },
      "message": "Merge \"Move non-monotonic reporting to interface.\""
    },
    {
      "commit": "5a7bcf31a44d9875ca5fc010dc213aa2bd5b1168",
      "tree": "b0dbf2bd072f3c50d1030b65eea8e50384614229",
      "parents": [
        "b8f90a0e6eae582778bbe10b6347acbf5fc69bfb"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 10 17:24:44 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 10 17:24:44 2012 -0800"
      },
      "message": "Move non-monotonic reporting to interface.\n\nReport non-monotonic NetworkStats through an observer interface\ninstead of throwing, since those events are still recoverable.\n\nChange-Id: Ic0749f4634b0ac05dbe90e95ca490957ec8b2f23\n"
    },
    {
      "commit": "de7a2f30548ac64d67e9ce8ac08090eb5458449d",
      "tree": "b60aa8928c0fe09ea5fe1363d4e5805ca6f046df",
      "parents": [
        "7944704e6c4cc10105838b78d3d8403bf66a066b"
      ],
      "author": {
        "name": "Danielle Millett",
        "email": "dmillett@google.com",
        "time": "Wed Dec 21 17:02:32 2011 -0500"
      },
      "committer": {
        "name": "Danielle Millett",
        "email": "dmillett@google.com",
        "time": "Tue Jan 10 11:40:41 2012 -0500"
      },
      "message": "DO NOT MERGE - Cherry picking from master to MR1\n\nFix 5783857: Device Policy Manager doesn\u0027t allow Face Unlock\n\nThis makes it so that if face unlock is enabled and then a device policy\nmanager that requires something more secure than face unlock is installed,\nthe user will be forced to choose a new acceptable lock type.\n\nThis was previously fixed for the case where the device had been reset, or\nthe shell was restarted after setting face unlock, but not for the case where the\ndevice remained on between setting face unlock and setting up a device policy\nmanager.\n\nAlso changed the function ordering of saveLockPattern() so that the overloaded\nwrapper function is next to the main function.\n\nChange-Id: Ibed8c4ab137ebbc07fb143faef6f047bc6dc4474\n"
    },
    {
      "commit": "70522addd031f6c667849f76c074e463a141c61d",
      "tree": "826b49d8e3d08f5148db98ff3c651bb9d75989e3",
      "parents": [
        "128386ca9a32a4bbce094c30fec8bc6522f04d03"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 06 13:58:01 2012 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Jan 06 13:58:01 2012 -0800"
      },
      "message": "Don\u0027t allow reading of packagelist files.\n\nEnsure that all requests to read the list of installed packages\ngo through the PackageManager directly. Don\u0027t allow non-system\nprogram to directly read the raw package list files.\n\nChange-Id: Id083e6b3de4dd9173abfdc741ebf3f60997a1052\n"
    },
    {
      "commit": "b97d34c7c81ed7def6d0c1d7a76d057051f7d154",
      "tree": "5a4d87a7e767ba7ab52ae5a61b0998f62fd6eaa1",
      "parents": [
        "dacbf67ab915fa8b987f6fb9f044160af92652cd"
      ],
      "author": {
        "name": "tk.mun",
        "email": "tk.mun@samsung.com",
        "time": "Fri Jan 06 10:43:52 2012 +0900"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jan 06 10:32:54 2012 -0800"
      },
      "message": "Disable wimax when mobile data is in Settings\n\n- Add wimax related code in handleSetMobileData to disable wimax when Moblie data is disabled (Settings -\u003e Wireless \u0026 Networks - More -\u003e Mobile Networks -\u003eData Enabled)\n\nChange-Id: Ibf2d9da2eb90d161128005f26ac4b3e991526af4\nSigned-off-by: tk.mun \u003ctk.mun@samsung.com\u003e\n"
    },
    {
      "commit": "32350c7ab2f56b6d70437ba62f85232fd0b2c24a",
      "tree": "bdd5fb2cf5ff7275265190bc1c67b93957dcb469",
      "parents": [
        "6b14d5858056d49d2cd2162cd043908794e5a4df",
        "4f74d552d54fd26bc377f333fccb671d20519b3e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 05 11:39:26 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 05 11:39:26 2012 -0800"
      },
      "message": "Merge \"Filter our v6 address from tethering dns.\""
    },
    {
      "commit": "3c673732ead2721c564c2bd46780e8ebf10e948b",
      "tree": "803903c54b44ebfa2a647b125054cb4749359331",
      "parents": [
        "dd13756fdcfe3b254ef052b3c983a9bc28ba5520",
        "2364a222fcba233d66d0a9cde691d1d6e82227db"
      ],
      "author": {
        "name": "Danielle Millett",
        "email": "dmillett@google.com",
        "time": "Tue Jan 03 13:44:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 03 13:44:28 2012 -0800"
      },
      "message": "Merge \"Fix 5783857: Device Policy Manager doesn\u0027t allow Face Unlock\""
    },
    {
      "commit": "b8f90a0e6eae582778bbe10b6347acbf5fc69bfb",
      "tree": "df53d1eb393193d10a612e797a92238f6abf88f0",
      "parents": [
        "478e45be576a08567333e4846ee80de11acfdfb6",
        "da6aedf716bfdd40148823fb63d666d34b7b425e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jan 03 10:57:19 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 03 10:57:19 2012 -0800"
      },
      "message": "Merge \"Test the correct return code from call to cryptfs.\""
    },
    {
      "commit": "c1bac3a6e240c1c9a14a7b515f585977fb908930",
      "tree": "bae143af880c94515201173c5c715623f5204c99",
      "parents": [
        "2b072677538de979961b5bf527109fdab1713731"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Dec 16 15:00:31 2011 -0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Dec 27 13:14:51 2011 -0800"
      },
      "message": "VPN: fix a CloseGuard warning.\n\nChange-Id: Ic237a33038be9a170c1f9128332a8743c57971ed\n"
    },
    {
      "commit": "2364a222fcba233d66d0a9cde691d1d6e82227db",
      "tree": "37d742acfea0c4409fe4b63327035a515e0181e1",
      "parents": [
        "f3bd2f7a3f2eadd5126b1a55ca45bdbffe80ceeb"
      ],
      "author": {
        "name": "Danielle Millett",
        "email": "dmillett@google.com",
        "time": "Wed Dec 21 17:02:32 2011 -0500"
      },
      "committer": {
        "name": "Danielle Millett",
        "email": "dmillett@google.com",
        "time": "Thu Dec 22 10:00:44 2011 -0500"
      },
      "message": "Fix 5783857: Device Policy Manager doesn\u0027t allow Face Unlock\n\nThis makes it so that if face unlock is enabled and then a device policy\nmanager that requires something more secure than face unlock is installed,\nthe user will be forced to choose a new acceptable lock type.\n\nThis was previously fixed for the case where the device had been reset, or\nthe shell was restarted after setting face unlock, but not for the case where the\ndevice remained on between setting face unlock and setting up a device policy\nmanager.\n\nAlso changed the function ordering of saveLockPattern() so that the overloaded\nwrapper function is next to the main function.\n\nChange-Id: Ibed8c4ab137ebbc07fb143faef6f047bc6dc4474\n"
    },
    {
      "commit": "4f74d552d54fd26bc377f333fccb671d20519b3e",
      "tree": "c772b3352681b951e3104f4b27ceedaafc07bc3b",
      "parents": [
        "01583ef715641c8a3ce68269b091e75adbe9335a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 19 16:59:31 2011 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Dec 20 14:47:22 2011 -0800"
      },
      "message": "Filter our v6 address from tethering dns.\n\nDon\u0027t support IPv6 yet, and the tools crash when they see one, so\nfilter them out.\n\nbug:5763980\nChange-Id: Ie9a4445a3c72df3f7ab4320c507ebc8e8cd440ff\n"
    },
    {
      "commit": "da6aedf716bfdd40148823fb63d666d34b7b425e",
      "tree": "24c3e406d196dfce461b62c8a78480d39b090b3d",
      "parents": [
        "9cfff10bf5266f5bda99d2e3cbbc19c046924dc8"
      ],
      "author": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Tue Dec 20 17:34:43 2011 +0100"
      },
      "committer": {
        "name": "Fredrik Roubert",
        "email": "roubert@google.com",
        "time": "Tue Dec 20 18:47:33 2011 +0100"
      },
      "message": "Test the correct return code from call to cryptfs.\n\nThis was broken in commit dd519fac9b79f36a27909149a90fce4321ed1c20\n(certainly by mistake), in which Integer.parseInt(tokens[1]) was\nerrornously replaced with event.getCode().\n\nChange-Id: Ic5af5a2ec5f321da21a4a5db25f6908462f6cae8\n"
    },
    {
      "commit": "1fd4de0adc9e93aa01dd8e1aef1a83b85b9a7579",
      "tree": "fa91f2ef32409cdc7c376b313d90d577cb71e7f2",
      "parents": [
        "aaf30e370f9a1aa645039138f54246ca4cd483fa",
        "6754ba24f12a54b97b3ca1c5d29fc23c15980abe"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Dec 16 12:33:54 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 12:33:54 2011 -0800"
      },
      "message": "Merge \"Add plumbing for dumping database info using dumpsys.\""
    },
    {
      "commit": "fe781c8ccff69007ed856faf3dcf1ec04cc835f3",
      "tree": "0a17da1f0a5391a5e4493d123ec001605e67b12c",
      "parents": [
        "c6a7f358e86e9debdc110236797fba911bd9474a",
        "bfd89b35bae3f679e1a219f22c07bde9eb63241b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 16 12:30:25 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 12:30:25 2011 -0800"
      },
      "message": "Merge \"Don\u0027t forget to close files.\""
    },
    {
      "commit": "c6a7f358e86e9debdc110236797fba911bd9474a",
      "tree": "a7f7115d31b526c23dcc4cf5b9cca8a5412da23d",
      "parents": [
        "d63707f754c0fae88fef8363b3b1d6677f8e0aaf",
        "44fcb83b38b062a650ddf556fe7f5e34905df9ea"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Fri Dec 16 12:27:03 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 16 12:27:03 2011 -0800"
      },
      "message": "Merge \"Add a new ui mode for \"appliance\"\""
    },
    {
      "commit": "6754ba24f12a54b97b3ca1c5d29fc23c15980abe",
      "tree": "64c4241b75e87fb617388796f99262a2554fa31a",
      "parents": [
        "d5064be3b5922ee6522a33f8b729ffee2e3d7b4b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Dec 14 20:20:01 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Dec 16 04:01:00 2011 -0800"
      },
      "message": "Add plumbing for dumping database info using dumpsys.\n\nChange-Id: I51b0364c3d3d41aa38a759fbce48e625fff1b2dd\n"
    },
    {
      "commit": "bfd89b35bae3f679e1a219f22c07bde9eb63241b",
      "tree": "7aa10564088299187ef229d21ed8168092feb41a",
      "parents": [
        "3766a7a27535101e62af958b1d2d710daa166d7d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 15 18:22:54 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 15 18:22:54 2011 -0800"
      },
      "message": "Don\u0027t forget to close files.\n\nChange-Id: Ibfe465e1d7a947bbe40da17e8e8a2713856f95b5\n"
    },
    {
      "commit": "44fcb83b38b062a650ddf556fe7f5e34905df9ea",
      "tree": "f5726b3011934023b43a46eb3ce3be6742a274ba",
      "parents": [
        "3766a7a27535101e62af958b1d2d710daa166d7d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Dec 14 20:59:30 2011 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Dec 15 16:16:14 2011 -0800"
      },
      "message": "Add a new ui mode for \"appliance\"\n\nThe idea is that this is a device which is more-or-less headless.  It\nmight have some limited interaction capabilities, but it\u0027s not something\nthat you want to rely on having.\n\nChange-Id: Ib92f53a120bf83de781728011721a4859def7d9f\n"
    },
    {
      "commit": "3df273e45864ba595b4d870fa3f6c81a770078e2",
      "tree": "c3b359622baf5016a30341922e8d20d69f28808a",
      "parents": [
        "27c751dc0011fca9f88502a720670457cc22793f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 15 15:47:12 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 15 15:55:00 2011 -0800"
      },
      "message": "Move NMS observers to RemoteCallbackList.\n\nInternally uses Binder.linkToDeath() to handle case where remote\nobserver dies.\n\nChange-Id: I9ae0ee6e011a9715172fa079098b108f895ae956\n"
    },
    {
      "commit": "27c751dc0011fca9f88502a720670457cc22793f",
      "tree": "a939605228eef04495cf796cba0ac424fc79cd0a",
      "parents": [
        "24ef465d7f8d50484ffe7c8f79effad25a5f85d1",
        "f60d0afd1ef08a24121d015bb016df05265b6d07"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 15 15:37:21 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 15 15:37:21 2011 -0800"
      },
      "message": "Merge \"Restrict app data on metered networks.\""
    },
    {
      "commit": "f60d0afd1ef08a24121d015bb016df05265b6d07",
      "tree": "082ecd364e763d312a83524268bd15c759cc2091",
      "parents": [
        "8a0a72c7c18d1143983cea1c49b666f534262fa1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 30 15:28:02 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 15 14:30:04 2011 -0800"
      },
      "message": "Restrict app data on metered networks.\n\nThis separates the definition of \"metered network\" and \"network with\nlimit.\"  For now, all mobile networks are considered metered.\n\nBug: 5571454\nChange-Id: I394cd385bd33add75e53bfc9cf2fefd06a00208a\n"
    },
    {
      "commit": "18cb28756caf02bf2b2f5e67c68451edaf719b47",
      "tree": "14de3eb7cea27a7928b5dbc78f6e73780859fddc",
      "parents": [
        "8a0a72c7c18d1143983cea1c49b666f534262fa1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 15 11:19:53 2011 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 15 12:13:59 2011 -0800"
      },
      "message": "Add ContentProvider.dump()\n\nThis is similar to the existing dump() facility for services.\nContentProviders can now implement dump() and that info will be shown\nwhen running \"dumpsys activity provider\" and when taking a bugreport.\n\nChange-Id: I33b3b132e3c4f920153355cc368eda2f725a715f\n"
    },
    {
      "commit": "4529bb66c47fd02b990ecb0810031157b4f36c2f",
      "tree": "a9bfc70f0a5f448dcd006d419e820333a71ea7f3",
      "parents": [
        "377d4ae5cbb5304d3bae11a511bd51e2c58db236"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 14 10:31:54 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 14 17:51:13 2011 -0800"
      },
      "message": "Move NMS to CONNECTIVITY_INTERNAL permission.\n\nChange-Id: I6043c1b9cb10aeeafb93d1b5c60da571d2fec5c9\n"
    },
    {
      "commit": "dd73df35b84007b1735a45577560912434246aae",
      "tree": "f517e144a92abbb7c2bca7c593e83124e154aaca",
      "parents": [
        "17b289048766d6b101e70061fe5774ec8f370b55",
        "8cef06798ef1f67641f8b15165aca39abd6c46ca"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 14 12:06:00 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 12:06:00 2011 -0800"
      },
      "message": "Merge \"Track scan count by UID\""
    },
    {
      "commit": "8cef06798ef1f67641f8b15165aca39abd6c46ca",
      "tree": "421eba65c16f53eee0eb8f7bcfa206f75a514d6f",
      "parents": [
        "d2ea737a1f28b43ce2e01686d64a5cf8243daa49"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Dec 13 17:03:59 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 14 10:58:49 2011 -0800"
      },
      "message": "Track scan count by UID\n\nHelps track down misbehaving apps that are initiating\ntoo many scans\n\nBug:5722180\nChange-Id: I0bc396cf5e68ed53b900e8a65abb56acdbd8d8a5\n"
    },
    {
      "commit": "17b289048766d6b101e70061fe5774ec8f370b55",
      "tree": "c0b4caa10320b21b8d94d36ce3ad6a41d4ef30e4",
      "parents": [
        "926d55eb40b9042c200f154fdf0c7c7969e0e359",
        "418d12dc8f2c518b673ebc522de4af6f7dbf0bf3"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 14 10:12:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 10:12:17 2011 -0800"
      },
      "message": "Merge \"Avoid reading network stats when disabled.\""
    },
    {
      "commit": "418d12dc8f2c518b673ebc522de4af6f7dbf0bf3",
      "tree": "a7b8a5f230d9d66893429509788020c271b36c76",
      "parents": [
        "c2fc52dc9ce8728bcd1c2b4d82ee573fa7f5049b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 13 15:38:03 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 13 15:43:47 2011 -0800"
      },
      "message": "Avoid reading network stats when disabled.\n\nBug: 5518868\nChange-Id: Idb5c588b018bf735597ad7ff904ecc69224dd0a0\n"
    },
    {
      "commit": "d73b79bb314dde86cf8ff9300fefc133b31841d1",
      "tree": "a53994afb14a9a58be2a5088aa903fbe7495ff71",
      "parents": [
        "19a06fe93cccb4b1dd224b8456969821a19b07ef"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Dec 13 14:02:32 2011 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Dec 13 14:02:32 2011 -0800"
      },
      "message": "Cherry-picking Id45abeba and Ia065dec6 for MR1\n\n-------------------------------------------------------\nMCC detection fixes for CountryDetector\n\n- Don\u0027t get and cache phone tpe at the initialization time.  At this point\nTelephonyManager is probably not ready yet.\n\n- Refresh MCC whenever we get the service state changed callback, even when\nthe state hasn\u0027t actually changed, in order to make sure we get refresh\ncountry properly when MCC changes.\n\n- Also remove the initialization of mPhoneStateListener, which prevented us from\nregistering phone state listener properly.\n\n- Also fix tests which were already failing.\n\nBug 5670680\n\n-------------------------------------------------------\nAdd logging to country detector logic\n\nThis is for debugging purposes to verify the effects of\nchange Id45abeba1b1e843053ac2c946861b439ca568de4.\n\nBug: 5670680\nChange-Id: I238d953484e2c8135f7dac70fce8662c8300a286\n"
    },
    {
      "commit": "ee4d45f3052c8d339035c4bb8eca9b7a724e5074",
      "tree": "3d2ff1ea678f8f191369e5645f505b5f8f63049f",
      "parents": [
        "78efa026c7b5e7bcd06ab1f58ccd024366687cd3",
        "0be53567c1c2299c548d3204d2b9240108fbd53a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 13 13:44:14 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 13 13:44:14 2011 -0800"
      },
      "message": "am 0be53567: am 19a06fe9: Merge \"Fix issue #5755172: Soft menu key disappears when menu is open\" into ics-mr1\n\n* commit \u00270be53567c1c2299c548d3204d2b9240108fbd53a\u0027:\n  Fix issue #5755172: Soft menu key disappears when menu is open\n"
    },
    {
      "commit": "73ab6a49db2b834ce1d56c7a1164938b409ee6fc",
      "tree": "2807f9928a6ec5a5518bff83e49d2fec5081d691",
      "parents": [
        "f0bbc494d638f4c77e688bf9410027f453301559"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 13 11:16:23 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 13 11:32:11 2011 -0800"
      },
      "message": "Fix issue #5755172: Soft menu key disappears when menu is open\n\nWe need to work more like before in determining whether the menu\nkey is needed -- in some cases look back in the window list to\ndetermine this if we don\u0027t know the value from the current window.\n\nThis requires adding a new private flag indicating whether the\ncompat menu state is known for a window, which is set by\nPhoneWindow as part of its existing process of computing the flag\nfor its own windows.\n\nNow we can have a new API on WindowState to determine the value\nof this flag for a window, which if needed walks back in the window list\nto find a window the value is known for (or stops at what the policy\nhas determined is the top full-screen window, so we stop like we used\nto at things like the lock screen or the bottom of an application).\n\nChange-Id: I829de6d629b5af8bcb422cb85249ee4041c7205e\n"
    },
    {
      "commit": "4dbfa44a2164724914b451ab1d6d0af8c0e9d1be",
      "tree": "db0401628b3518e6d47f03fb2f178accaabf2f5b",
      "parents": [
        "12d4b3cb96dd7ceb9e2f742898fc6bcc263a8011",
        "f0213bf1833e49744b29be97e44c3e9eaad9449d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 12 20:23:47 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 20:23:47 2011 -0800"
      },
      "message": "am f0213bf1: am f0bbc494: Merge \"Avoid NPE when missing network stats.\" into ics-mr1\n\n* commit \u0027f0213bf1833e49744b29be97e44c3e9eaad9449d\u0027:\n  Avoid NPE when missing network stats.\n"
    },
    {
      "commit": "d04ff11d6fa5eb26ca19ac9962b899d9fb0470f0",
      "tree": "c7fc853d82ba14c388d4f1c2ff369b2057446c50",
      "parents": [
        "359bb3b432b21590c12588c3ca3880ac17aadc96"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 12 18:51:26 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 12 18:51:26 2011 -0800"
      },
      "message": "Avoid NPE when missing network stats.\n\nBug: 5750339\nChange-Id: I4b739dbd076b270a5a2b2e2a1e0f6e445d8c124e\n"
    },
    {
      "commit": "da123492dee9d0e7e84c4e497e947d3a7c143537",
      "tree": "33101a7b6921abcbe48b491b53e11245e035ac1a",
      "parents": [
        "c1761e7fe10390d90b805f373b51ecaabf214dac"
      ],
      "author": {
        "name": "Katherine Kuan",
        "email": "katherinekuan@google.com",
        "time": "Mon Dec 12 12:56:32 2011 -0800"
      },
      "committer": {
        "name": "Katherine Kuan",
        "email": "katherinekuan@google.com",
        "time": "Mon Dec 12 18:07:58 2011 -0800"
      },
      "message": "Add logging to country detector logic\n\nThis is for debugging purposes to verify the effects of\nchange Id45abeba1b1e843053ac2c946861b439ca568de4.\n\nBug: 5670680\nChange-Id: Ia065dec6ba651e7e77205f812b7606b15eebdc17\n"
    },
    {
      "commit": "afb847a4692a6e5cded8c7a330d00b70b794896a",
      "tree": "4fbd8d00636eae248fcbaa058793121096125d82",
      "parents": [
        "ee8005e6ecbb95dad98cf1badbeb2b66c794b790",
        "e744cfff7ca5406f7bba17a14b89856c1ca83262"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Dec 12 15:35:25 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 12 15:35:25 2011 -0800"
      },
      "message": "Merge \"Clean up synchronization\""
    },
    {
      "commit": "e744cfff7ca5406f7bba17a14b89856c1ca83262",
      "tree": "eccb1f92df20c1ee8607bd244eddd0661ae8e52c",
      "parents": [
        "95ea6d6d5d56a7e9e533abe2837ed2379c4271e1"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sun Dec 11 09:17:50 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Dec 12 15:00:02 2011 -0800"
      },
      "message": "Clean up synchronization\n\n- Add delayed disk write in WifiConfigStore\n- Remove synchronization and keep all access to config store\nthrought the state machine thread\n\nChange-Id: I53768a17895e48da7b99542ac95c6c2fddbcb021\n"
    },
    {
      "commit": "cc579b89fc03f404bf42a385dceaebf5060dd327",
      "tree": "e477a72be9c66737a25bc2f62f97af8c6dca96a3",
      "parents": [
        "481c0a260420a921cdca55130d8d9685d17cf527",
        "bb4fd0b4442301a7c64b52a1241a9d0cd4a75d0b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 12 14:02:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 12 14:02:02 2011 -0800"
      },
      "message": "Merge \"Use the carrier-given dns addrs for tethering.\""
    },
    {
      "commit": "2339fe3f8f89d6254ce05a1b4e9587f0257e8316",
      "tree": "c0b1c2a347877d6d166df8f5d49ce5b1ad83ccf3",
      "parents": [
        "d9dc7fe61e0daaab6c19189904082436b34747a1",
        "fa71962fe4595f484071ac0deb23f68d44932d83"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Dec 12 13:15:34 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 13:15:34 2011 -0800"
      },
      "message": "am fa71962f: am 46a4e81d: Merge \"VPN: delete the \"abort\" file before starting VPN daemons.\" into ics-mr1\n\n* commit \u0027fa71962fe4595f484071ac0deb23f68d44932d83\u0027:\n  VPN: delete the \"abort\" file before starting VPN daemons.\n"
    },
    {
      "commit": "d9dc7fe61e0daaab6c19189904082436b34747a1",
      "tree": "8e8f5d7d3837b8d9de7d5332c046d0696217ffc2",
      "parents": [
        "36b8c2e6823531e3f7f5167586c6371241be9585",
        "c34306e46e0f53a9478216c2d5fd3129a3bc6f8e"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Dec 12 12:35:12 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 12 12:35:12 2011 -0800"
      },
      "message": "am c34306e4: am 97ff7893: Merge \"Fix wifi bring up at boot up\" into ics-mr1\n\n* commit \u0027c34306e46e0f53a9478216c2d5fd3129a3bc6f8e\u0027:\n  Fix wifi bring up at boot up\n"
    },
    {
      "commit": "95ea6d6d5d56a7e9e533abe2837ed2379c4271e1",
      "tree": "7a21642c58e4ac365d9da7ec3da17bf47d537c8c",
      "parents": [
        "1f7817e1461f4af304d60cc3849d532288e4d2de",
        "f9165b7e43885a3bf8c2b14788d0600642493d58"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Sat Dec 10 13:23:59 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 10 13:23:59 2011 -0800"
      },
      "message": "Merge \"MCC detection fixes for CountryDetector\""
    },
    {
      "commit": "ecd7798ce45f9c8f1901c9348ad5452e0bc88a95",
      "tree": "461edec444001be946c216980f063708b3137b90",
      "parents": [
        "70511ade47f75160bdfbf0693145a4b827294136",
        "a3c7c35873235486787d58fa8310eebd87508bc9"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Dec 09 18:09:07 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 09 18:09:07 2011 -0800"
      },
      "message": "am a3c7c358: am 583fdf00: Merge \"Handle emergency call back mode correctly\" into ics-mr1\n\n* commit \u0027a3c7c35873235486787d58fa8310eebd87508bc9\u0027:\n  Handle emergency call back mode correctly\n"
    },
    {
      "commit": "f9165b7e43885a3bf8c2b14788d0600642493d58",
      "tree": "55722a390454b21bd803a9a7137097cccac1eeac",
      "parents": [
        "c2fc52dc9ce8728bcd1c2b4d82ee573fa7f5049b"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Dec 09 17:43:35 2011 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Dec 09 17:55:18 2011 -0800"
      },
      "message": "MCC detection fixes for CountryDetector\n\n- Don\u0027t get and cache phone tpe at the initialization time.  At this point\nTelephonyManager is probably not ready yet.\n\n- Refresh MCC whenever we get the service state changed callback, even when\nthe state hasn\u0027t actually changed, in order to make sure we get refresh\ncountry properly when MCC changes.\n\n- Also remove the initialization of mPhoneStateListener, which prevented us from\nregistering phone state listener properly.\n\n- Also fix tests which were already failing.\n\nBug 5670680\n\nChange-Id: Id45abeba1b1e843053ac2c946861b439ca568de4\n"
    },
    {
      "commit": "bb4fd0b4442301a7c64b52a1241a9d0cd4a75d0b",
      "tree": "fe9259760ca1c81de15e6698da6abb90b38ec8f3",
      "parents": [
        "c4ea8dfd46a5eeeedd15664a6499ecde32985509"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Dec 09 15:36:50 2011 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Dec 09 17:12:03 2011 -0800"
      },
      "message": "Use the carrier-given dns addrs for tethering.\n\nThis fixes a complaint from carriers (that we used 8.8.8.8), but also\nfixes the case where there is only room for one live radio\nconnection: the secondary connection (tethering) doesn\u0027t have a\ndefault route to prevent on-device traffic from slipping out on the\ntethering connection, but tethered dns is proxied through dnsmasq, so\nit is appearing as on-device traffic and is unroutable.  By switching\nto the carrier-indicated dns servers we can use the host-routes\nalready set for those and kill two bugs with one fix.\n\nbug:5525764\nbug:3045311\nChange-Id: Ib1ccea81e0c0ed2d1462dc9721c2647124a790da\n"
    },
    {
      "commit": "46a4e81dbdc9a5f401b5a3c0d26dea2e42b61487",
      "tree": "391776ec7b1164680125b0c87273471be1bb9f43",
      "parents": [
        "97ff7893321362020211fae3c5a52b95c3ec19e1",
        "c1872732922214de80f790e14865e41dd1b98203"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Dec 08 17:22:16 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 08 17:22:16 2011 -0800"
      },
      "message": "Merge \"VPN: delete the \"abort\" file before starting VPN daemons.\" into ics-mr1"
    },
    {
      "commit": "c1872732922214de80f790e14865e41dd1b98203",
      "tree": "6fecd1c6d1b7eba52b069df35168402063894255",
      "parents": [
        "68f592a8210af27df4339089bbee47fb602cae6a"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Dec 08 16:51:41 2011 -0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Dec 08 16:51:41 2011 -0800"
      },
      "message": "VPN: delete the \"abort\" file before starting VPN daemons.\n\nBug: 5714296\nChange-Id: Idba41b9f3907747a84387ea4f3e930b3a185a06e\n"
    },
    {
      "commit": "97ff7893321362020211fae3c5a52b95c3ec19e1",
      "tree": "643f67cbf20547d0055c5a1e2796e6fe33503eed",
      "parents": [
        "c40f70a5cb1f24a9ea0b5b0cadea75db8fc1cdd3",
        "5401f0b87b9bdcd603c55871a37fff07ab3054d7"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Dec 08 15:59:26 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 08 15:59:26 2011 -0800"
      },
      "message": "Merge \"Fix wifi bring up at boot up\" into ics-mr1"
    },
    {
      "commit": "5401f0b87b9bdcd603c55871a37fff07ab3054d7",
      "tree": "26e5d0fba45769ed741635e2812abf2505e60ac6",
      "parents": [
        "641a5624075ee942b85b17646b57f65377567a06"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 07 16:27:49 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Dec 08 15:50:47 2011 -0800"
      },
      "message": "Fix wifi bring up at boot up\n\nBug: 5719176\nChange-Id: Iac879fc634f6ab6289b73c46931d754bc0af2f87\n"
    },
    {
      "commit": "4494c906168f1b93eb9d130096036d06cfa1e291",
      "tree": "dfe9fd9e670ac2b300b7eb3220988df425251a11",
      "parents": [
        "641a5624075ee942b85b17646b57f65377567a06"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Dec 08 10:47:54 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Dec 08 11:31:52 2011 -0800"
      },
      "message": "Handle emergency call back mode correctly\n\nBug: 5726996\nChange-Id: I5815dd402bd73c530b9ba6d545d8956064949aa2\n"
    },
    {
      "commit": "0fea67ce9124a6eef913febc70a2d7b3e0ca1c99",
      "tree": "e3ba60c07ea51ca9034f180761052308f5924a23",
      "parents": [
        "9ff5d8daa423eafcc5bbe95a414bf6f086c90a9b",
        "95c7cd56cc12179ad00623422814e8ba16646c34"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 07 16:05:46 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 07 16:05:46 2011 -0800"
      },
      "message": "am 95c7cd56: am 87e06ec2: Merge \"Fix issue #5144065: Tap on Music icon from Home screen...\" into ics-mr1\n\n* commit \u002795c7cd56cc12179ad00623422814e8ba16646c34\u0027:\n  Fix issue #5144065: Tap on Music icon from Home screen...\n"
    },
    {
      "commit": "87e06ec2fa57a54b92fe82f2cacfbf8a44e47baf",
      "tree": "4ca2fc12b27b0b72e7e4b6c2fb713ed8423e0497",
      "parents": [
        "0a361b10a665a3d158c846722290f26ce62276e1",
        "ae0a0a84d1a1e5fcba0b18d473e1f31e11b7018e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 07 15:01:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 07 15:01:55 2011 -0800"
      },
      "message": "Merge \"Fix issue #5144065: Tap on Music icon from Home screen...\" into ics-mr1"
    },
    {
      "commit": "1f45d25257f791ce031e7e5bc3c7806a8b82b2eb",
      "tree": "49f87b44f739df387cac5a405f74d20b68ffa34e",
      "parents": [
        "4a46ee57f10f4a121776cfc05143aa580a92b5e5",
        "a21ce1f1107e1aad19335bebe4aed915158b5ca6"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Dec 07 14:36:34 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 07 14:36:34 2011 -0800"
      },
      "message": "am a21ce1f1: am 0a361b10: Merge \"Workaround for issue where the notifyDatasetChanged call chain is broken when Launcher is killed. (Bug 5703782)\" into ics-mr1\n\n* commit \u0027a21ce1f1107e1aad19335bebe4aed915158b5ca6\u0027:\n  Workaround for issue where the notifyDatasetChanged call chain is broken when Launcher is killed. (Bug 5703782)\n"
    },
    {
      "commit": "0a361b10a665a3d158c846722290f26ce62276e1",
      "tree": "00b7b64311aaa9614588803504cb327216fafe38",
      "parents": [
        "54a53841a9ff48ba4cd004469ae4ff77caed900a",
        "c3f581b0474a216938810885f4f606e0db1f21ff"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Dec 07 14:33:31 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 07 14:33:31 2011 -0800"
      },
      "message": "Merge \"Workaround for issue where the notifyDatasetChanged call chain is broken when Launcher is killed. (Bug 5703782)\" into ics-mr1"
    },
    {
      "commit": "ae0a0a84d1a1e5fcba0b18d473e1f31e11b7018e",
      "tree": "fdc9814d93531b556e576baa63cc38e5304b62d9",
      "parents": [
        "fb90df8c6e6d48c4b6701014a3053915b94f4b9e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 07 14:03:01 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 07 14:03:01 2011 -0800"
      },
      "message": "Fix issue #5144065: Tap on Music icon from Home screen...\n\n... a different app opens\n\nIn some cases when reparenting activities we could end up with a reply\nchain that crosses task boundaries, so if an activity below that needs\nto be reparented we pull that and the activities above it up into the\nnew task.\n\nChange-Id: Ia4fa041ab7069e39dac162ddbf5b8e1de98675b9\n"
    },
    {
      "commit": "a6071c338b0f46a47fe9c4bce87d4684e3c93dc7",
      "tree": "1709026d4149a6621103eeb946b7bc9ffa0d4b69",
      "parents": [
        "63051d71ef3da31c9764f6998e275adedbbcd9f5",
        "8c2122cb3e347c607126c49d76fb165125a02295"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 07 12:10:58 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 07 12:10:58 2011 -0800"
      },
      "message": "am 8c2122cb: am a85cc282: Merge \"Fix CS wakelock handling\" into ics-mr1\n\n* commit \u00278c2122cb3e347c607126c49d76fb165125a02295\u0027:\n  Fix CS wakelock handling\n"
    },
    {
      "commit": "87f0a7b1aa3fcd688358f92389d3eeaf1ae99008",
      "tree": "457168e3f5f5a1cb4ead57573bcd5eb2b81fd15a",
      "parents": [
        "fb90df8c6e6d48c4b6701014a3053915b94f4b9e"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 07 11:25:21 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 07 11:28:21 2011 -0800"
      },
      "message": "Fix CS wakelock handling\n\nChange-Id: Ibe1c1ab3e26ff0ae7cab7bfb0bd868bfab246037\n"
    },
    {
      "commit": "c3f581b0474a216938810885f4f606e0db1f21ff",
      "tree": "065a4f8a4c8598c43dd92da25d7416ce114a233c",
      "parents": [
        "3124e6f9e96b730cdfbbf068f15c41b6d5c8a819"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Dec 05 14:56:29 2011 -0800"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Dec 06 14:21:10 2011 -0800"
      },
      "message": "Workaround for issue where the notifyDatasetChanged call chain is broken when Launcher is killed. (Bug 5703782)\n\nChange-Id: Ic57a7ce85f41d58cd40b7d30eef4a1bf685182e5\n"
    },
    {
      "commit": "7f2e21b6f4de96c8be986b5ec02200fac464f814",
      "tree": "bbd3c058a5d9f4f86193cc6f34ce17c1d404dd09",
      "parents": [
        "dc92cd7dbfc1fdbbd707375ebc84e906b9783f18",
        "dd519fac9b79f36a27909149a90fce4321ed1c20"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 06 10:38:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 06 10:38:55 2011 -0800"
      },
      "message": "Merge \"Move native vold calls to varargs.\""
    },
    {
      "commit": "deb86c63c33f766b1a7fd6916f56b757d40803b1",
      "tree": "b0fa805bd45446439e8bdd32e27d9b5d9519eba9",
      "parents": [
        "fc2e4f6d01af0ed17030db9e19db6335e18c8ffd",
        "ec42750e4d0e695515d078fb1f222c99a705fd93"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 05 19:20:45 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 05 19:20:45 2011 -0800"
      },
      "message": "am ec42750e: am 0c0120ef: Merge \"Fix issue #5714517: App shortcuts can result in bad task intents\" into ics-mr1\n\n* commit \u0027ec42750e4d0e695515d078fb1f222c99a705fd93\u0027:\n  Fix issue #5714517: App shortcuts can result in bad task intents\n"
    },
    {
      "commit": "0c0120efa2dedaf25ae789bced5a3f9fa33c32bb",
      "tree": "f65f21fdd02011d1b8b10a85f2039fbe0245d105",
      "parents": [
        "52245ac7c41735c561199d9ec7e9577d592ca852",
        "f5b8671c340f189c50b41c53622f979b6d5e0a57"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 05 19:16:54 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 05 19:16:54 2011 -0800"
      },
      "message": "Merge \"Fix issue #5714517: App shortcuts can result in bad task intents\" into ics-mr1"
    },
    {
      "commit": "fc2e4f6d01af0ed17030db9e19db6335e18c8ffd",
      "tree": "1f56acfb97307f788e8e036383ef192b56d82f7a",
      "parents": [
        "e5d361a89f2c082c00c77b14e9dd7cb1fe25f52f",
        "24ec870322c801b0662d8b8d53232e89a94bc00a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 05 19:11:23 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 05 19:11:23 2011 -0800"
      },
      "message": "am 24ec8703: am 52245ac7: Merge \"Fix issue #5713576: Home redraws after returning from app on Nexus S 4G\" into ics-mr1\n\n* commit \u002724ec870322c801b0662d8b8d53232e89a94bc00a\u0027:\n  Fix issue #5713576: Home redraws after returning from app on Nexus S 4G\n"
    },
    {
      "commit": "77eaaf04c6d73a6cc2f09bf6573babb578d27ae7",
      "tree": "ead9891d281f78f1dd6e61e338f90d3bed9b3d20",
      "parents": [
        "003c15d72ccd3856d5abfe6d66a2a40d0eca85bc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 05 18:05:31 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 05 19:00:42 2011 -0800"
      },
      "message": "Fix issue #5713576: Home redraws after returning from app on Nexus S 4G\n\nTurn of destroying of activities during memory trimming.\n\nChange-Id: Ibea415c13fca4f67f56adefe81a1495f5f9ad273\n"
    },
    {
      "commit": "f5b8671c340f189c50b41c53622f979b6d5e0a57",
      "tree": "fe81dca6cd70d011c62a036b3fc0f940cc71bf23",
      "parents": [
        "003c15d72ccd3856d5abfe6d66a2a40d0eca85bc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 05 17:42:41 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 05 17:42:41 2011 -0800"
      },
      "message": "Fix issue #5714517: App shortcuts can result in bad task intents\n\nNew API to let you build an Intent whose base configuration is correct,\nbut has an additional \"selector\" to pick out the specific app that you\nwould like launched.\n\nChange-Id: Ide9db6dc60e2844b7696cfe09b28337fe7dd63db\n"
    },
    {
      "commit": "dd519fac9b79f36a27909149a90fce4321ed1c20",
      "tree": "ba6162ae64200d6d22b589afca0a236b675bf019",
      "parents": [
        "7ea817e58d283434c624e1b2b6dcdba2e409133b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 02 14:11:21 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 02 14:28:06 2011 -0800"
      },
      "message": "Move native vold calls to varargs.\n\nUses argument escaping inside NativeDaemonConnector, using varargs\nto separate boundaries.\n\nBug: 5472606\nChange-Id: Ie107a90df7e2b3bd3eaaf04c8367248ab40136f4\n"
    },
    {
      "commit": "7ea817e58d283434c624e1b2b6dcdba2e409133b",
      "tree": "fb894092986462bd92da2abd3e8856ce3bb42a8d",
      "parents": [
        "d62da2d0da976ea5590471c3b70ebf013e41ce8b",
        "ba2896e939f359e5857149f1a27212db71be012b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 02 13:19:14 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 02 13:19:14 2011 -0800"
      },
      "message": "Merge \"Move native netd calls to varargs.\""
    },
    {
      "commit": "ba2896e939f359e5857149f1a27212db71be012b",
      "tree": "e33a44174b2abfb1f6a676f99fdc503df017a7f6",
      "parents": [
        "7a1c428ed3ded71f92733ebcb9d7ce0963dc72d2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 30 18:13:54 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 02 13:08:26 2011 -0800"
      },
      "message": "Move native netd calls to varargs.\n\nUses argument escaping inside NativeDaemonConnector, using varargs\nto separate boundaries.  Also introduces Command object to help build\nargument lists.\n\nBug: 5472606\nChange-Id: I357979fc19bb0171a056e690064e01b5a7119501\n"
    },
    {
      "commit": "32cbc3855c2a971aa5a801fd339fb6a37db91a1a",
      "tree": "40d3fcf12181eb6d50fac3a3734ecf3c9f4953ec",
      "parents": [
        "db918cf171afd3d4b3c22aab6dd3403d1dec94de"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 01 14:01:49 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 01 21:04:47 2011 -0800"
      },
      "message": "Refactor InputQueue as InputEventReceiver.\n\nThis change simplifies the code associated with receiving input\nevents from input channels and makes it more robust.  It also\ndoes a better job of ensuring that input events are properly\nrecycled (sometimes we dropped them on the floor).\n\nThis change also adds a sequence number to all events, which is\nhandy for determining whether we are looking at the same event or a\nnew one, particularly when events are recycled.\n\nChange-Id: I4ebd88f73b5f77f3e150778cd550e7f91956aac2\n"
    },
    {
      "commit": "db918cf171afd3d4b3c22aab6dd3403d1dec94de",
      "tree": "fb05a5671c0796e46a610fec0c5698fb1bc34cc8",
      "parents": [
        "76d79011a0be6953b981368635ad103325301bd2",
        "4952dfd16a0f839559ffa78f5016394caf85294f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 01 20:11:15 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 20:11:15 2011 -0800"
      },
      "message": "Merge \"Ensure input events are processed in-order in the application.\""
    },
    {
      "commit": "cfe82181cbe84b478b4612d25fb78a6bba8b2437",
      "tree": "6f549f38fd17326bd1a966964467510062df31cc",
      "parents": [
        "d01d261183a4b832c2575ae0d82f68125605b21e",
        "7f36d4217269e79f8409c46f12f10464a1f585ea"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 01 14:18:58 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 01 14:18:58 2011 -0800"
      },
      "message": "am 7f36d421: am 5a7c9176: Merge \"Fix free_cache to actually work\" into ics-mr1\n\n* commit \u00277f36d4217269e79f8409c46f12f10464a1f585ea\u0027:\n  Fix free_cache to actually work\n"
    },
    {
      "commit": "5a7c91769f011bc150c9def9edab9cccb4761c66",
      "tree": "54ea1b90e2f26140c9ffd733ca0d263c6574cd3d",
      "parents": [
        "a7d825dddcb2e8bfd765bad2fb406498f4f1e37e",
        "ad757e9b36d6bc6b8e39be00612d0e60863aaafc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 01 14:14:22 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 14:14:22 2011 -0800"
      },
      "message": "Merge \"Fix free_cache to actually work\" into ics-mr1"
    },
    {
      "commit": "4952dfd16a0f839559ffa78f5016394caf85294f",
      "tree": "d79061d9e6ceb2671241a059fe6be9522c8bbb10",
      "parents": [
        "95db2b20d7bc0aaf00b1d4418124f5cf0a755d74"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 30 19:23:22 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 01 14:13:48 2011 -0800"
      },
      "message": "Ensure input events are processed in-order in the application.\n\nAs it turns out, it used to be possible for there to be multiple\ninput events simultaneously in flight in an application.  Although\nit worked, it made it hard to reason about what was going on.\nThe problem was somewhat exacerbated by the introduction of a\nqueue of \"InputEventMessage\" objects as part of an earlier latency\noptimization.\n\nThis change restores order from chaos and greatly simplifies the\ninvariants related to input event dispatch within the application.\n\nChange-Id: I6de5fe61c1fe2ac3dd33edf770d949044df8a019\n"
    },
    {
      "commit": "7a1c428ed3ded71f92733ebcb9d7ce0963dc72d2",
      "tree": "0cd57f94e1f8d195a836b7a2ece62734a59dec4a",
      "parents": [
        "55cdacb9ba22ce0e40918fd54acca7df62637ca6",
        "276642baf11e05700ef24447dc4271f16ce69b50"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 01 13:27:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 13:27:38 2011 -0800"
      },
      "message": "Merge \"Uniform rethrowing of NDC exceptions.\""
    },
    {
      "commit": "4da2f669bfdf95c0e4944f075f699ad53ee360a5",
      "tree": "d1807178ea084da1129860bd3ffda928940bedb1",
      "parents": [
        "d884f5a14a1c481b33df050ee7e3671931bef07a",
        "c4c19a23d74896b4117bf274d1d7e0268ab401c3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 01 12:52:07 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 01 12:52:07 2011 -0800"
      },
      "message": "am c4c19a23: am 55e81bd0: Merge \"Improve how we manage the previous app.\" into ics-mr1\n\n* commit \u0027c4c19a23d74896b4117bf274d1d7e0268ab401c3\u0027:\n  Improve how we manage the previous app.\n"
    },
    {
      "commit": "55e81bd0f219acbe00bbeebc8d33ef9c67a4aa60",
      "tree": "d0f5629ac2350c858c1a550b276f716ab204652f",
      "parents": [
        "b73dc9c852f73c7d61f317b5ec7b74766d2f22d5",
        "50685606cfa045213bcc1bf29ce1c00c256b055c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 01 12:47:43 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 12:47:43 2011 -0800"
      },
      "message": "Merge \"Improve how we manage the previous app.\" into ics-mr1"
    },
    {
      "commit": "50685606cfa045213bcc1bf29ce1c00c256b055c",
      "tree": "b9c668774cadbb44806bd802b55a4d1667e7a32c",
      "parents": [
        "a1240184efd1d4391540a6e3e9cae50d56d05cb2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 01 12:23:37 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 01 12:23:37 2011 -0800"
      },
      "message": "Improve how we manage the previous app.\n\nSetting it when a new activity is being resumed is too soon, because\nthings like an activity launching an exiting (without being seen by\nthe user) can knock out the real previous app that we want.\n\nSo now we set it when an activity is stopped.  At this point it is\ngoing to move from the preceptible to background oom adj, so it is\na good point to determine whether it should be a previous app to\ninstead put it to that oom adj.  This also avoids things like\nactivities that start and immediately finish from impacting the\nprevious app.\n\nFurther, we keep track of the time each activity was last shown, and\nuse this to further filter what is set as the previous app.\n\nChange-Id: I72d1cac4de0cc2d4598170296028f11b06918d4f\n"
    },
    {
      "commit": "276642baf11e05700ef24447dc4271f16ce69b50",
      "tree": "af05c7b13b1fec7a35f4f1ed4728e0b9668c0ab8",
      "parents": [
        "a90d65265fe94e35967876500105d6e020ce0f91"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 01 11:24:24 2011 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 01 11:24:24 2011 -0800"
      },
      "message": "Uniform rethrowing of NDC exceptions.\n\nChange-Id: I7e8b050f09ef0d3aebd5b5a72f856eb86dd25935\n"
    },
    {
      "commit": "ad757e9b36d6bc6b8e39be00612d0e60863aaafc",
      "tree": "47f4ed2af449ef51d817d43cc434f7edb380bf53",
      "parents": [
        "88f10c6ce5a97b1990934148deb8ed6aa6ef7a48"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Nov 29 15:54:55 2011 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 01 09:07:55 2011 -0800"
      },
      "message": "Fix free_cache to actually work\n\nThis broke with some other path-related changes, so it was scanning for\n/data/*/cache instead of /data/data/*/cache\n\nAlso remove redundant call to restat\n\nBug: 5686310\nChange-Id: Id1661f0f1337858fc9ead53c56ab7557f421c591\n"
    },
    {
      "commit": "2a40d0d92b208021b492e9af3d944720cbf269fc",
      "tree": "0fed812542ce9f29c2c329bfb8d360f7984e0b53",
      "parents": [
        "41a5774a99215025628b83db54c45f84b876678e",
        "d2b22a885a79d537c79e98257647cc120bde2998"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Dec 01 06:29:53 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 06:29:53 2011 -0800"
      },
      "message": "Merge \"Put screensavers back in the icebox for now. DO NOT MERGE.\" into ics-mr1"
    },
    {
      "commit": "36d1bbe6063a9a723fe25ea0f3c6e6dd11d6bf37",
      "tree": "a2558745e53e6f281b345d2611f048fddbe04520",
      "parents": [
        "f3b4f3163b5b4c0a54a2643f07c97c47b14a1eb7",
        "b7dda6d34b9dad2cd3094125b92a1503a9befa7c"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 30 18:41:59 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 30 18:41:59 2011 -0800"
      },
      "message": "am b7dda6d3: am b94a7fb3: Merge \"Fix ConcurrentModificationException in TextServicesManagerService\" into ics-mr1\n\n* commit \u0027b7dda6d34b9dad2cd3094125b92a1503a9befa7c\u0027:\n  Fix ConcurrentModificationException in TextServicesManagerService\n"
    },
    {
      "commit": "f3b4f3163b5b4c0a54a2643f07c97c47b14a1eb7",
      "tree": "5f3f38a66623e5481c16fb7bfbae0ee122da6532",
      "parents": [
        "a90d65265fe94e35967876500105d6e020ce0f91",
        "26f7a81f40a16c45cd9b8b7df48a3d948e5793c6"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Nov 30 18:15:01 2011 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Nov 30 18:34:56 2011 -0800"
      },
      "message": "resolved conflicts for merge of 26f7a81f to master\n\nChange-Id: I6bf5fd7c0de7945cef84602dbe3a7bbed587700f\n"
    },
    {
      "commit": "b94a7fb3d7483e8b47e4f0229fc7abff10a6572d",
      "tree": "b0980fb588b6f1fca7080744e1b2466c64a521ac",
      "parents": [
        "d8ec8db5e0f227e4f63e948acb78d829f5ad30c8",
        "4c3fa642ef1c0e1bb3303d4b25d8af4e6a7d08a2"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 30 17:37:52 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 17:37:52 2011 -0800"
      },
      "message": "Merge \"Fix ConcurrentModificationException in TextServicesManagerService\" into ics-mr1"
    },
    {
      "commit": "d8ec8db5e0f227e4f63e948acb78d829f5ad30c8",
      "tree": "cb598a2cc487e3298e9cbafd3e0e4d274347fa1f",
      "parents": [
        "88f10c6ce5a97b1990934148deb8ed6aa6ef7a48",
        "d116d7c78a9c53f30a73bf273bd7618312cf3847"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Nov 30 16:56:41 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 16:56:41 2011 -0800"
      },
      "message": "Merge \"Fixing memory leaks in the accessiiblity layer.\" into ics-mr1"
    },
    {
      "commit": "f11fd2724fc075ebc7b0d996615d7101f220820e",
      "tree": "07f784972f870166c6a6cfe4baf14ac492060fa8",
      "parents": [
        "dd07aa072f0e8498e47956c26fa43a91c7835337",
        "2fc9467e9a2ef1c22a0bc81cbcd2ced878dbdef7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 30 14:18:59 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 30 14:18:59 2011 -0800"
      },
      "message": "am 2fc9467e: am 88f10c6c: Merge \"Fix issue #5679504: Device stuck and sudden reboot - Watchdog reset?\" into ics-mr1\n\n* commit \u00272fc9467e9a2ef1c22a0bc81cbcd2ced878dbdef7\u0027:\n  Fix issue #5679504: Device stuck and sudden reboot - Watchdog reset?\n"
    },
    {
      "commit": "dd07aa072f0e8498e47956c26fa43a91c7835337",
      "tree": "b999863d2d6fb63bc7a8d770141561ade13f7f95",
      "parents": [
        "15540f8284b2f9a66ebeb28d441e1cde7423c41d",
        "a5b8883b0db9d6e129b88f003b541fafd829c77b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 30 14:16:20 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 30 14:16:20 2011 -0800"
      },
      "message": "am a5b8883b: am f8d20bd6: Merge \"Turn off debug log.\" into ics-mr1\n\n* commit \u0027a5b8883b0db9d6e129b88f003b541fafd829c77b\u0027:\n  Turn off debug log.\n"
    },
    {
      "commit": "88f10c6ce5a97b1990934148deb8ed6aa6ef7a48",
      "tree": "3306ba67dfea6cffdf3bdc9c9467cb3f48dc881f",
      "parents": [
        "f8d20bd6495883e98e23827a2e5ed03766fe483b",
        "1fbee79eb31011fa260d9fe088c165cc9171d98b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 30 14:12:44 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 14:12:44 2011 -0800"
      },
      "message": "Merge \"Fix issue #5679504: Device stuck and sudden reboot - Watchdog reset?\" into ics-mr1"
    },
    {
      "commit": "f8d20bd6495883e98e23827a2e5ed03766fe483b",
      "tree": "51ae4b7f3bffbd8a70e809166a2993858b2b809b",
      "parents": [
        "7797cae2564eccf6d817b06d8116bd9cdc8e9ed4",
        "bbb09aceb64bc4ab26283288fbedbdf8b801577d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 30 14:11:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 14:11:17 2011 -0800"
      },
      "message": "Merge \"Turn off debug log.\" into ics-mr1"
    },
    {
      "commit": "d2b22a885a79d537c79e98257647cc120bde2998",
      "tree": "4051db8d58a92907a0458868e365108d09819614",
      "parents": [
        "2f504d9ea8aa18cd8dbaa2dcc3f3959252b414cc"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Nov 30 14:35:55 2011 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Nov 30 15:47:36 2011 -0500"
      },
      "message": "Put screensavers back in the icebox for now. DO NOT MERGE.\n\nBug: 5689684\nChange-Id: I3a5291c3520bb43e35d55714f1522e4ae7f6e63c\n"
    },
    {
      "commit": "b2b0d91d34355839adc87687a02710951565bd6a",
      "tree": "4cf9477724fd9e850cb3ff52f342f63a62383fbe",
      "parents": [
        "28147b654bba8ae2b7976e58aa7869255e436b0b",
        "7413d49bfa80fb22480adc5e9d0c7be7d1034363"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Nov 30 11:58:46 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 30 11:58:46 2011 -0800"
      },
      "message": "am 7413d49b: am 865b9802: Merge \"Expanding NotificationManager\\\u0027s event logging.\" into ics-mr1\n\n* commit \u00277413d49bfa80fb22480adc5e9d0c7be7d1034363\u0027:\n  Expanding NotificationManager\u0027s event logging.\n"
    }
  ],
  "next": "865b98024fb5fa21854feb578b8816bbb72120ba"
}
