)]}'
{
  "log": [
    {
      "commit": "a99f5f43cdb24f60fd1adc3fdfcb8d6ff101a0fd",
      "tree": "9a543ea04b4ad970cd305375859d1b5517d9ffc7",
      "parents": [
        "e3094117a094d8ed2dbd2f4cac15e48b73ceadf4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Apr 16 16:40:47 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Apr 16 16:40:47 2010 -0700"
      },
      "message": "Fix bug 2599698 Music paused by itself\nThe NotificationPlayer sets an OnCompletionListener on the\nMediaPlayer it\u0027s using to play the notification.\nNotificationPlayer relies on the completion event to abandon\naudio focus.\n The player was started before the listener was set. The theory\nabout the bug is that the player finished playing before the listener\nwas called. Therefore the audio focus was never abandonned, and\nthe music didn\u0027t resume.\n\nChange-Id: Ic3baf359ea24de0d832a655dc47e745b25bc3dec\n"
    },
    {
      "commit": "4f99e3c28449833b10ee23c538246847fdb6a498",
      "tree": "4df99abb8a1ff4aa74bacb6b943b71b5a5ac3531",
      "parents": [
        "fa22de7993f94d338330a888bdc2aeaaf857c719"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Apr 12 16:11:15 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Apr 15 10:35:25 2010 -0700"
      },
      "message": "Remove native binaries when an updated system application is upgraded through OTA.\n\nThe point of this patch is to deal with the following case:\n\n- A system application exists in the system partition. As such its\n  native code lies under /system/lib\n\n- An upgrade for it is installed through Market and overrides the\n  version on the system partition. This places its native libraries\n  under /data/data/\u003cpkgname\u003e/lib/\n\n- Finally, the system is upgraded through an OTA, with an even more\n  recent of the system application. We thus must remove the Market\n  package as well as the native libraries that are in \u003cdataDir\u003e/lib\n  since the new versions in /system/lib will be more recent.\n\nThe patch itself removes the files in \u003cdataDir\u003e/lib when such a\nsituation is detected. Note that this directory is created by the\nPackageManager service and owned by the \u0027system\u0027 userID. The application\ncannot create files there so simply erasing the content of the directory\nis enough (and avoids reparsing the market package file to list\nthe installed binaries).\n\nThe patch also fixes a different issue which can be reproduced with:\n\n- have system app installed on /system partition\n- install an update (e.g. adb install -r Term.apk)\n- uninstall the update (e.g. adb uninstall com.android.term)\n\nthe logcat shows that the PackageManager will unpack the native libraries\nfrom the original /system/app/Term.apk into \u003cdataDir\u003e/lib, while they\nalready are in /system/lib. The patch fixes that too.\n\nChange-Id: I5dfe27b91b6b31972e9cd4c196d15c3692732127\n"
    },
    {
      "commit": "93597ed1839de164c81f83832d4c2373ea32ac8f",
      "tree": "b906d7cee0c028846badf52579ad9025e589a870",
      "parents": [
        "90d3f458d99d9c0f35f9ee295997661c2493cb58",
        "9c90a37c6e8885dfc7848330755401209b605ecd"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Apr 15 05:45:21 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 15 05:45:21 2010 -0700"
      },
      "message": "Merge \"Fix wakelock leak in PowerManagerService.sendNotificationLocked()\" into froyo"
    },
    {
      "commit": "8090edae9ed1228e8cbaa14dd94c6ce885a0b729",
      "tree": "c72604b5aa1cc312da6d9a403e8a8ee99dbbe2f3",
      "parents": [
        "deb69370ef9a786940ae49411ba657410361b4f1",
        "8c7e609b530d5dcb34e02788958a84a99501c332"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Apr 14 20:23:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 14 20:23:45 2010 -0700"
      },
      "message": "Merge \"Sholes mobile iface comes/goes - handle the reset\" into froyo"
    },
    {
      "commit": "deb69370ef9a786940ae49411ba657410361b4f1",
      "tree": "ecd2c69a9239e3a56b711941c3a3e1d5d6e01bba",
      "parents": [
        "b0ef1442866ec52a772e6edfab732a2c987bbee0"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 14 19:17:14 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 14 19:58:22 2010 -0700"
      },
      "message": "Revert \"Add ordered broadcast when removing packages.\"\nCouple of cosmetic fixes as well.\n\nThis reverts commit 0c1285fa979e8b8c170f31d0ef1b4e5d9ddcf6b1.\n\nConflicts:\n\n\tservices/java/com/android/server/PackageManagerService.java\n\nChange-Id: Ife0f9f80525f4a41b1f8c12ffc2de62e061e7d5b\n"
    },
    {
      "commit": "b0ef1442866ec52a772e6edfab732a2c987bbee0",
      "tree": "f07b655e3c034e96f7e6a71d118ee2abb03d8a8d",
      "parents": [
        "5304d8fdc9064f2831ef16db9242f17110287997",
        "b67fa45c26d5e4fc4d19a15868af348994bd6287"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 14 19:02:00 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 14 19:02:00 2010 -0700"
      },
      "message": "Merge \"Fix issue #258640: Automatic propagation of FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET\" into froyo"
    },
    {
      "commit": "315a5fb91dbafe6073435a13d937cee9d26877f6",
      "tree": "3e5bdebfa89ae4e997a726e5e600751823cca580",
      "parents": [
        "40b6996a8fb7da131e8b91453b08e292723662be"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 13 14:32:16 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 14 18:24:06 2010 -0700"
      },
      "message": "Dont fall back to installing on sdcard when internal storage is filled up\nwhen the install location is set to internal only. Similary if install\nlocation is set to external only(via adb), dont fall back to installing on\ninternal storage if sdcard is filled up.\nIf nothing is specified ie install location is set to let system decide,\nwe just check on internal storage.\nFix tests\n\nChange-Id: I7400ccc131782d9c45284bd9ebd0dee43a3b412b\n"
    },
    {
      "commit": "b67fa45c26d5e4fc4d19a15868af348994bd6287",
      "tree": "b99fd4aa49cf975ce4f913fba8cd8f98fdb61eaf",
      "parents": [
        "8a878dde9d15f75446bb5ca3137fccef8426ddd7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 14 18:01:43 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 14 18:01:43 2010 -0700"
      },
      "message": "Fix issue #258640: Automatic propagation of FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET\n\nMake sure, if an activity is started with clear task when reset, if that\nactivity is finished in the middle of a stack that the behavior is retained\nby propagating it to the next activity.\n\nChange-Id: Ie31b8f968558b0e64e0ef7efa55950a722c6afa5\n"
    },
    {
      "commit": "8c7e609b530d5dcb34e02788958a84a99501c332",
      "tree": "e2c625e7001d72df1c830afe773c3b6c2a30610a",
      "parents": [
        "d3d445b1dca98728a37b5163e018ba890fd9cc50"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Apr 14 17:31:20 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Apr 14 17:31:20 2010 -0700"
      },
      "message": "Sholes mobile iface comes/goes - handle the reset\n\nThe byte counter for the iface goes to zero when it comes back.  Catch that and\ndo the complex math to correct.\n\nAlso add a log entry telling us our desired throttle index.\n\nLastly, reset the sec/msec part of our reset time so that one calc will \u003d\u003d another and not\nbe off by little bits.\n\nbug:25494925\nChange-Id: I99525b72a76316a8e601ceb457ca202fae040bae\n"
    },
    {
      "commit": "0c1285fa979e8b8c170f31d0ef1b4e5d9ddcf6b1",
      "tree": "6686f0324f9b2c1376e73927a9d1828a97346d53",
      "parents": [
        "8656145e2abe881caffa4181ee5c2e4e3dba1cee"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 14 17:05:48 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 14 17:13:50 2010 -0700"
      },
      "message": "Add ordered broadcast when removing packages.\n\nChange-Id: I30a84068fa8f2b15564b0a164d339ac95f40e801\n"
    },
    {
      "commit": "399cccb85749e02f6d3e12d1d2846310e7cbfdf1",
      "tree": "029d692a88e79c9679cee5a2d092b1370241d63e",
      "parents": [
        "22b3644ac2027d055a6b187c979ef492ee6fb082"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 13 22:57:49 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 14 09:54:21 2010 -0700"
      },
      "message": "Fix issue #593153: Broadcast time out when sending...\n\n...ordered broadcast for ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE\n\nTurns out this was because the broadcast receiver for ContextImpl was\nnot correctly being created, so when it received an ordered broadcast\nit would not tell the activity manager when it was done.\n\nThis is now fixed, along with a ton of superficial changes to debug\noutput to help track this down and a little cleanup of dealing with\nerror cases in dispatching broadcasts.  Also a fix for a NPE when\ndumping the broadcast state.\n\nFinally, a little fiddling with package manager to get rid of a lot\nof the noise when removing and re-adding packages on the SD card.\n\nChange-Id: I961c14836dc613d3ea8122b6e910ef866e7fcb25\n"
    },
    {
      "commit": "22b3644ac2027d055a6b187c979ef492ee6fb082",
      "tree": "bffc0f6a2fcb6ba0a00798b84ecef207252518d6",
      "parents": [
        "9cb66e89cd0c4bfa8d77591719023b7153fee9b9"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Apr 13 15:17:14 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Apr 14 09:13:53 2010 -0700"
      },
      "message": "Update the datause icons.\n\nbug:2576057\nChange-Id: Idf57d59aecb9bcff635dafa1e77d90a8737a0c08\n"
    },
    {
      "commit": "9cb66e89cd0c4bfa8d77591719023b7153fee9b9",
      "tree": "6a41ed147de3158e2fb56445f3c7f8289c9651db",
      "parents": [
        "b2212464a3bc4103a9e5e88602d1097c835d7949",
        "b8912f5481f79182184b628d7722e1a5b91b27f6"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Apr 14 09:07:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 14 09:07:25 2010 -0700"
      },
      "message": "Merge \"Perist Throttle data across reboots\" into froyo"
    },
    {
      "commit": "8e1f2f8804a1f63c7a03a3eeced9ffdf6e6c3293",
      "tree": "ef2e627ee57c43b0aa60e49f1bdab1964dfba66d",
      "parents": [
        "ce73c1e5bfd36154d21ee7b332cfdc6cea48812e",
        "53d9264de4f99a069dd7306f881d28ddd5956b35"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 13 18:07:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 13 18:07:27 2010 -0700"
      },
      "message": "Merge \"Fix issue #2555171: Switching to app immediately after unmounting...\" into froyo"
    },
    {
      "commit": "ce73c1e5bfd36154d21ee7b332cfdc6cea48812e",
      "tree": "4682462696a5a80c308c7be8f1e75f6e9ee94a37",
      "parents": [
        "ae8c2c71f7791ed0321e56f31f0c1276da4d8842"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 12 23:11:38 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 13 18:01:40 2010 -0700"
      },
      "message": "Framework change for #2583442: Navigation dies when night mode changes\n\nThe window manager doesn\u0027t retain its keep screen on lock while\nin the process of destroying and creating new activity windows during\na config change.  Now it does.\n\nUnfortunately, this doesn\u0027t help maps, since it doesn\u0027t use our\nlovely KEEP_SCREEN_ON flag. :p\n\nChange-Id: Ida4bc0fcfe132cdff2bd4eeb7ba0ce9731504d14\n"
    },
    {
      "commit": "ae8c2c71f7791ed0321e56f31f0c1276da4d8842",
      "tree": "a72083ae6bf148e4dd04adb3a84e55fda1d5d1bd",
      "parents": [
        "ba6339fe2ba2d7325a99201e82d951064efa31a2",
        "5943c200a4707fb8acd38c1709e30c400b65349e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 13 17:57:23 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 13 17:57:23 2010 -0700"
      },
      "message": "Merge \"Fix issue #2420340: if FLAG_SHOW_WHEN_LOCKED, do not show keyguard...\" into froyo"
    },
    {
      "commit": "53d9264de4f99a069dd7306f881d28ddd5956b35",
      "tree": "4d5e68203618529f03911a610052064826e25550",
      "parents": [
        "ba6339fe2ba2d7325a99201e82d951064efa31a2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 13 12:49:14 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 13 17:35:22 2010 -0700"
      },
      "message": "Fix issue #2555171: Switching to app immediately after unmounting...\n\n...SD card causes reboot.\n\nAdd option to not include temporarily unavailable recent tasks,\nfor the recent tasks UI to not display them.\n\nChange-Id: I1495ca217b4292fd56f537459b44c0624262c292\n"
    },
    {
      "commit": "b8912f5481f79182184b628d7722e1a5b91b27f6",
      "tree": "d85ec8d31ffcf59ade8d1f1c5fc5427c583e8f28",
      "parents": [
        "d3bb93f6870581eebbf08b5b7fb0a9c5eaad8b16"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Apr 09 17:27:26 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Apr 13 16:42:29 2010 -0700"
      },
      "message": "Perist Throttle data across reboots\n\nNever got SharedPreferences working for this system service.  Didn\u0027t really need it anyway.\nUsing a straight up file now.\n\nbug:2576057\nChange-Id: Idad926e8242a85e22718c25f3f6c03e5749badac\n"
    },
    {
      "commit": "d3bb93f6870581eebbf08b5b7fb0a9c5eaad8b16",
      "tree": "7f077d14254d8e6d904ba30ea5375ae79ae530ac",
      "parents": [
        "dd684af8c8fd5984d4d40b125bfac1ce268622ae"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Apr 12 19:20:55 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Apr 13 15:44:34 2010 -0700"
      },
      "message": "Add build config values for data use defaults\n\nDon\u0027t use hard coded defaults - use build configs instead.\n\nIface is now ONLY set by config so gservices doesn\u0027t need to.\n\nbug:2576057\nChange-Id: I8f9e3bc51af3b1cdf8bb4290a43197d9c01e2a14\n"
    },
    {
      "commit": "812b24fd9d254f37e34f2878f599253a1f3bffe9",
      "tree": "6a1f61249743f777b65ceaa13820b16a59d7d400",
      "parents": [
        "42843c3ceb8b17e860112f8f2718cda40de15839",
        "3d24425165aabfd2a8d5e5f973f085c6e6446341"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 13 15:30:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 13 15:30:07 2010 -0700"
      },
      "message": "Merge \"Fix crashes related to unmounting when app on sdcard has an active notification in status bar. When unmounting sdcard, all the secure containers have to be unmounted first before invoking the MountService call back. We send a broadcast about disabled packages. Force a gc to clean up any stale asset references  and then unmount the containers before invoking the MountService call back.\" into froyo"
    },
    {
      "commit": "9c90a37c6e8885dfc7848330755401209b605ecd",
      "tree": "c76c332982ccea52eeb60b1d782a1c710af916ef",
      "parents": [
        "842d983cc3158a3de77a897d071b5b9c18dd2b55"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 13 15:40:27 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 13 15:40:27 2010 -0400"
      },
      "message": "Fix wakelock leak in PowerManagerService.sendNotificationLocked()\n\nChange-Id: Ia5f814fe81413dc5350faaf4c79cff47de62d0ed\nBUG: 2592894\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3d24425165aabfd2a8d5e5f973f085c6e6446341",
      "tree": "c8f3c3a3f4448aa285bf6833aef9f361a181b830",
      "parents": [
        "bcac496076ef6f439147e7a2be71e8a2b76ddede"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Apr 08 14:37:05 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 13 11:20:57 2010 -0700"
      },
      "message": "Fix crashes related to unmounting when app on sdcard has an active notification\nin status bar.\nWhen unmounting sdcard, all the secure containers have to be unmounted first\nbefore invoking the MountService call back. We send a broadcast\nabout disabled packages. Force a gc to clean up any stale asset references\n and then unmount the containers before invoking the MountService call back.\n\nChange-Id: I831da1ae54aeec89de3601b94a4a2fae5dc7e495\n"
    },
    {
      "commit": "5943c200a4707fb8acd38c1709e30c400b65349e",
      "tree": "0289dcb575b74802fb4a3e821bdbfbd92aeb5dea",
      "parents": [
        "290a48b365479eccd16023b5de0d92063bb68b4d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 12 21:36:49 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 12 21:36:49 2010 -0700"
      },
      "message": "Fix issue #2420340: if FLAG_SHOW_WHEN_LOCKED, do not show keyguard...\n\n...go directly to unlock screen\n\nFix a problem where, when we are moving windows due to a configuration\nchange, our wait to have the windows get redrawn would also\ninadvertently make us think their surfaces should be hidden, leading\nto nasty things like the lock screen thinking it should be shown\nagain (and thus forcing the orientation back to portrait).\n\nChange-Id: I79057cfbc93ff59fd3558da997d4f73796e6aabe\n"
    },
    {
      "commit": "2a7b730378a0c9d7c3dfbc47e9862169a149d347",
      "tree": "8ec5a3b5c8390c55553d8a210c91eca3d5547e56",
      "parents": [
        "290a48b365479eccd16023b5de0d92063bb68b4d"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Apr 12 14:56:31 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Apr 12 14:56:31 2010 -0700"
      },
      "message": "Fix Throttle Notification intents\n\nNow goes to the correct settings page.\n\nbug:2576057\nChange-Id: I21df0e53f7f56ae9bf71f983a3aed200c5ac217d\n"
    },
    {
      "commit": "17de1532a950f7ee961debab93a7977292b7f1f3",
      "tree": "1734e0a3b0d21ae1c44bb675f28ccaf6b4fb9323",
      "parents": [
        "5cc072522b51f796085a73545a3dd34a02877059",
        "f5c5d22c471f399f215662a8e471bf02b5b6bcfa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 09 16:52:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 09 16:52:41 2010 -0700"
      },
      "message": "Merge \"Fix issue #2581524: Car home icon should always go to car home\" into froyo"
    },
    {
      "commit": "f5c5d22c471f399f215662a8e471bf02b5b6bcfa",
      "tree": "047720cef3b43e1dfe401cfe5c9df7cc5c1c5f82",
      "parents": [
        "4525c98114c1e570ecef84521f66095e866af77d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 09 13:14:48 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 09 16:49:08 2010 -0700"
      },
      "message": "Fix issue #2581524: Car home icon should always go to car home\n\nRework how switching between modes work so the caller can tell us\nwhether they want to go to home.  (So car home launcher can now\ntell us they always want to go home.)\n\nChange-Id: Id4a8129027d6d162b4bae6f983911f1f4bf2578f\n"
    },
    {
      "commit": "e2c0ce03631fc81651b8bde578e993c25e3291e9",
      "tree": "241b43589ecbdb15da238854b7f465e55beb803a",
      "parents": [
        "a18c824c029c14093b3d06d0a021c5397be667fb"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Apr 09 12:31:46 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Apr 09 16:07:08 2010 -0700"
      },
      "message": "Add warning magic to be a bit more reasonable.\n\nCurrently warns if you exceed more than 25% and 2*100%*timeUsed/(timeUsed+totalTime)\n\nThe formula means that imagining you\u0027ve got half of the remaining time that you really have,\nwe will warn you if you would exceed the quota given your rate so far.  It\u0027s generous during the\nearly to mid-life and converges back to the limit as your timeUsed approaches totalTime.\n\nbug:2576057\nChange-Id: Id189de5b026f927ef478fd212d61d9e4ab5239e6\n"
    },
    {
      "commit": "81aa0971d7a26ae16ed34fc7da97a55d97fb8e74",
      "tree": "e387bb78e16021e70e7cf6d52b6e391515be60eb",
      "parents": [
        "cb27041034343a6a15f0812d04f66fefbed30686"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Apr 09 09:36:09 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Apr 09 12:42:45 2010 -0700"
      },
      "message": "Make ThrottleService notice policy changes.\n\nAdded ContentObserver to watch relevant Secure Settings.\nAlso added new policy-change broadcast to let settings know.\nLastly reorged things a bit so that all of our broadcasts are sent at boot so the sticky ones\nare populated.\n\nbug:2576057\nChange-Id: Ie11ffb057de9c801a5088612cd464ea062f3a666\n"
    },
    {
      "commit": "5f996899b058f0eb6655d3fe3fd3a5d93256e6c5",
      "tree": "a9df67480f4d675e4430f7414af4b1846e886c1f",
      "parents": [
        "70c294b205f7b27308c45bf893270bef6081d39b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Apr 08 16:19:24 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Apr 08 19:12:38 2010 -0700"
      },
      "message": "Roaming data doesn\u0027t count against limits\n\nbug:2576057\nChange-Id: I51a66e3b49a62e0186816ec0473814a216184e6b\n"
    },
    {
      "commit": "c9b6851af68bdc20c4903b16c344e9f116647219",
      "tree": "130ec1c124f3cd2c7ef6dbe98d18c6bae8de413a",
      "parents": [
        "267f0a6b683a2de75450afee59d2058b292c72c8"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Apr 08 14:12:33 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Apr 08 16:53:32 2010 -0700"
      },
      "message": "Throttling framework addins\n\nAdd ThrottleManager in getSystemService\nAdd API for URL fetch\n\nBug: 2576057\nChange-Id: Icd25c8b91ea4beea15c74e8ad7292ab48c962253\n"
    },
    {
      "commit": "267f0a6b683a2de75450afee59d2058b292c72c8",
      "tree": "f3f3da357fda479482c61e551171347cf263fa9f",
      "parents": [
        "779a4ca84d62a6e4f18a723cfc18c5d035f60fed",
        "e684d9582cedf9bd5cc6c6fe47c600a79a13d816"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 08 16:41:47 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 08 16:41:47 2010 -0700"
      },
      "message": "Merge \"Workaround NPE caused by packages missing signatures.\" into froyo"
    },
    {
      "commit": "779a4ca84d62a6e4f18a723cfc18c5d035f60fed",
      "tree": "6163c7358863633784cae149617bf11cb87c08bf",
      "parents": [
        "185f1a96683f59e2ff617b688449fd490e364be7",
        "e760072a987192b421fef1697d3e90185a7b3b17"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 08 16:41:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 08 16:41:37 2010 -0700"
      },
      "message": "Merge \"Improve robustness of package manager certificate collection.\" into froyo"
    },
    {
      "commit": "c87dc6dc90d0953c10051dceb470ff05e2fb9300",
      "tree": "6945188be58714e5287c1762b8ba80b5fa612471",
      "parents": [
        "2b4b5738011f5ccb118ad15721fd757c85448966"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Apr 08 16:00:26 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Apr 08 16:00:26 2010 -0700"
      },
      "message": "Updating some notificiation UI for Throttling\n\nString update and make one an ongoing notification.\n\nbug:2576057\nChange-Id: I7980f110c7eed8e8bf305490eddaa58e2949e3be\n"
    },
    {
      "commit": "e684d9582cedf9bd5cc6c6fe47c600a79a13d816",
      "tree": "73541cc0fbe9dcb039cd6f66ad93b2c74a9d69fe",
      "parents": [
        "c62cdef4ec4d22893b184776a21e42e8ff2a7c72"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 05 17:42:10 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 08 14:05:11 2010 -0700"
      },
      "message": "Workaround NPE caused by packages missing signatures.\n\nBug: b/2547993\nChange-Id: Idcd4fc3ee4c2560a00a952e1910a50b30b736114\n"
    },
    {
      "commit": "e760072a987192b421fef1697d3e90185a7b3b17",
      "tree": "fcf8f0e3dd80c8920f991f2a7cc7cf55b26c5ca0",
      "parents": [
        "ec7c78fbf526816cd361fd482bdf3792ecfd9a9f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 07 18:28:23 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 08 13:49:17 2010 -0700"
      },
      "message": "Improve robustness of package manager certificate collection.\n\nThe package manager contains an optimization which reuses cached\nsignatures instead of reloading them on startup if the package\nappears to be unchanged.  This commit adds an extra check to ensure\nthat the PackageSettings object actually has valid signatures since\nit has happened that they have gone missing.  Unfortunately it does\nnot address the root cause of the problem but it should alleviate the\nsymptoms after a reboot.\n\nBug: b/2547993\nChange-Id: I41900c6a752711eb3a901360e3bb29aec946d0be\n"
    },
    {
      "commit": "9e696c29f06d45d2891e1d38fd8d9033a9e21bb9",
      "tree": "0ef181295c3ea1e8a0aa38b06b2bfe4e43a2da3b",
      "parents": [
        "ecb0e637870553f9c12dc6b9178de0512563af9c"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Apr 01 14:45:18 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Apr 08 12:34:45 2010 -0700"
      },
      "message": "Add service to monitor/control the flow of data.\n\nbug:2576057\nChange-Id: Ib343c7ee1d619c6978910d9ee597db195d5aa3b6\n"
    },
    {
      "commit": "ecb0e637870553f9c12dc6b9178de0512563af9c",
      "tree": "97c3616cc0fc793d1048d4cc4ce43979b11d1b70",
      "parents": [
        "3f4639a6611222ae1ae5493de49213250d292139"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 07 20:22:55 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 07 22:19:55 2010 -0700"
      },
      "message": "Fix issue #2541849: System crash when an app with active notifications...\n\n...in status bar is installed on sdcard and device is powered down.\n\nDon\u0027t do the GC until everyone has had a chance to take care of external\nstorage going away.\n\nThis is more correct, but doesn\u0027t completely fix the problem that\nappears when shutting down.\n\nChange-Id: I24b19337ba6262cfd8d010645dbf67e76ea03058\n"
    },
    {
      "commit": "c2461be6279137f872becf695befeb7ba8770a64",
      "tree": "8b7a372411740c403b1a8f7276b101d797c68c7d",
      "parents": [
        "ce59fb8b684357f2a10ab62368beeece34bc0e5d",
        "40e472521a544f26cb6956995788f7c36fff1404"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 07 21:24:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 07 21:24:36 2010 -0700"
      },
      "message": "Merge \"Fix 2579461 Move install location values to secure settings. Diable attribute for UI. Set default value to auto. Add command line interface to set install location via pm.\" into froyo"
    },
    {
      "commit": "40e472521a544f26cb6956995788f7c36fff1404",
      "tree": "b579a480e80d8ac15128c31c142b22d0938a44f8",
      "parents": [
        "4b18ced6b5409bb9dd4013c06b9562b76a062939"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 07 16:15:50 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 07 20:43:54 2010 -0700"
      },
      "message": "Fix 2579461\nMove install location values to secure settings.\nDiable attribute for UI. Set default value to auto.\nAdd command line interface to set install location via pm.\n\nChange-Id: I80e97b3d24845adad7102f40dcbe238f00efa406\n"
    },
    {
      "commit": "390022b23b2c53119ff0bde4b14d14728bc48bb2",
      "tree": "b6529ca7527d3bfd9b35f10ebbcd01dc8c62a90f",
      "parents": [
        "faa2d970058557fa31d06d168b402d592c368aaf",
        "472ad8716e6fda1350d85cdf0c3028333f3aef41"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 07 18:31:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 07 18:31:06 2010 -0700"
      },
      "message": "Merge \"Fix issue #2528537: android.os.DeadObjectException\" into froyo"
    },
    {
      "commit": "815b8e4ac4ddb20e8c0539ecba50c9e7382d0656",
      "tree": "079e525609d90329c2e71da7e9ed1660858e75e4",
      "parents": [
        "fd998a0caf8cfcd27d1fe73120fbb897ec74af85",
        "56c2d2ff27536a1d8edf0037cd41ff3ea3272fd9"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Wed Apr 07 17:51:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 07 17:51:41 2010 -0700"
      },
      "message": "Merge \"Add emergencyOnly indicator in ServiceState.\" into froyo"
    },
    {
      "commit": "472ad8716e6fda1350d85cdf0c3028333f3aef41",
      "tree": "7cd9d708fba91630709e226269866e22566ca8e6",
      "parents": [
        "25c2dd60d43298c18b9459abd6ff33046d675fe6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 07 17:31:48 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 07 17:31:48 2010 -0700"
      },
      "message": "Fix issue #2528537: android.os.DeadObjectException\n\nNice.\n\nChange-Id: I6142b12b5770b508ff4a43361da6f5e52bed2de9\n"
    },
    {
      "commit": "56c2d2ff27536a1d8edf0037cd41ff3ea3272fd9",
      "tree": "79c4eb2454158d871e68346a1f5e8efe874024c4",
      "parents": [
        "f61eade258d5274b8447c0ea936ee578b7dc063a"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Wed Apr 07 08:57:17 2010 -0700"
      },
      "committer": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Wed Apr 07 16:06:13 2010 -0700"
      },
      "message": "Add emergencyOnly indicator in ServiceState.\n\nFor bug 2536842 to show signal strength in Emergency mode.\n\nThe STATE_EMERGENCY_ONLY of ServiceState is not in-use.\n\nSo add a hide interface to indicate Emergency mode.\n\nChange-Id: I19398ac5e73a722dcaaf744347f961d1fa7513ac\n"
    },
    {
      "commit": "fd998a0caf8cfcd27d1fe73120fbb897ec74af85",
      "tree": "cc2da3ba56176873359894ee3d8daeea53a26cdc",
      "parents": [
        "4b18ced6b5409bb9dd4013c06b9562b76a062939",
        "f0db6e1853e929ae3b65501c31ee57c4dfbc767c"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Apr 07 15:32:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 07 15:32:44 2010 -0700"
      },
      "message": "Merge \"NetworkManagementService: Remove \u0027maxkbs\u0027 parameter from throttle API\" into froyo"
    },
    {
      "commit": "f0db6e1853e929ae3b65501c31ee57c4dfbc767c",
      "tree": "8dac7b674d637dcba1d0e78b59028823e37e47b0",
      "parents": [
        "c93386cece18b8467c69004561e8f22b6b053d24"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Apr 07 15:22:10 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Apr 07 15:22:10 2010 -0700"
      },
      "message": "NetworkManagementService: Remove \u0027maxkbs\u0027 parameter from throttle API\n\nChange-Id: I1cfbdac7d06478243931c6acec462da8e257f42f\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "30f775b12ac7d0ff39eef201f997fe54ac60465a",
      "tree": "7b50d28ec69b0a29c9f0be52bbc081693a4bb0a8",
      "parents": [
        "c957ebef9755d15f92c27d690641995587c0ba2f"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 06 11:41:23 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 07 11:43:31 2010 -0700"
      },
      "message": "Fix 2578016.\n\nAdd some checks before moving package.\nCheckin test code.\nRegenerate test apks\n\nChange-Id: I769ece128fefd3429ce93208a77d887c7759d2e1\n"
    },
    {
      "commit": "48bce4515d948971a122a1e17fd1919f81297d77",
      "tree": "b7f69245a0a6f6d94fac1661fbadcdccf20f9d07",
      "parents": [
        "fede9aed2b1f0b6316e18cbfa58be593fa7eb14c",
        "f22221fd19146c6d743e28f3892400140adbaefd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 06 11:18:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 06 11:18:01 2010 -0700"
      },
      "message": "Merge \"Fix issue #2569139: Cannot login to last.fm after upgrade from Donut to FRF01B\" into froyo"
    },
    {
      "commit": "f22221fd19146c6d743e28f3892400140adbaefd",
      "tree": "44f6ac3de58f1402067ebee1c296827f192c576e",
      "parents": [
        "b2e6c01f449f3fd4effee7029518684deb4e98f6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 05 18:35:42 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 06 11:17:08 2010 -0700"
      },
      "message": "Fix issue #2569139: Cannot login to last.fm after upgrade from Donut to FRF01B\n\nThis is a quick and dirty solution to re-assign permissions after booting\nfrom a platform update.  It is not great, because it means that an app\ncan have permissions that the user didn\u0027t get to see when they originally\ninstalled it.  Unfortunately it\u0027s not clear what else to do here, nor is\nthere time to do anything significant.\n\nChange-Id: I82faba141b5883c87212afa7febecf9860a413e3\n"
    },
    {
      "commit": "fede9aed2b1f0b6316e18cbfa58be593fa7eb14c",
      "tree": "99dd7966ea2b739db0227cc94d956d85c09e25b5",
      "parents": [
        "b2e6c01f449f3fd4effee7029518684deb4e98f6",
        "7af074a6124d2293bc979e24f3258166efb8a310"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 06 10:50:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 06 10:50:56 2010 -0700"
      },
      "message": "Merge \"Forcibly unmount the sdcard after N retries.\" into froyo"
    },
    {
      "commit": "b2e6c01f449f3fd4effee7029518684deb4e98f6",
      "tree": "0bede9e5bb642756e7bf6fe54a183c5357be6ef0",
      "parents": [
        "7d2511b722808dfc9cadd3f0f49375fcb738df56"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Apr 05 11:57:56 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Apr 06 10:35:27 2010 -0700"
      },
      "message": "Disable tethering when airplane mode is enabled\n\nTethering should be disabled when\nairplane mode is enabled. Additionally,\nwe should restore Wifi (if it was on\nbefore tethering was enabled) when\nairplane mode is disabled.\n\nBug: 2567099\nChange-Id: Iba2031f5ecb207954fd155c47134b39ed0167fa0\n"
    },
    {
      "commit": "7af074a6124d2293bc979e24f3258166efb8a310",
      "tree": "32692bbeadcb60a68e078976af33eafa772bb1ff",
      "parents": [
        "7d2511b722808dfc9cadd3f0f49375fcb738df56"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Apr 05 16:46:32 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 06 10:02:34 2010 -0700"
      },
      "message": "Forcibly unmount the sdcard after N retries.\n\nDon\u0027t rely on the ActivityManager\u0027s reported status about killing the\nstorage user process since the process might have gone away in between.\n\nChange-Id: Ia7fa43eb34553329e7ff611ab6b99375b5ae673a\n"
    },
    {
      "commit": "6e52b5d76850ee60bbef2f3d8a2e47bd589e28e8",
      "tree": "a09c600edeea1ef96e388eca20029169186e34c2",
      "parents": [
        "01f6b75baa3b9144240fa8c9772859ab4ac948bd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 05 14:33:01 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 05 18:37:57 2010 -0700"
      },
      "message": "2568467 System crash when installing corrupt APK\n\nAlso fix another crash I just saw in the package manager, when a\npermission got left around from a previous install but as no\nlonger defined.\n\nChange-Id: I33b87420f0c59e24b8b77fab8b0316461d99e048\n"
    },
    {
      "commit": "944ff0b788bf1702bad38d21cc2b83a9985dd112",
      "tree": "4ce51b51cbaf07890c839c993fe1be5dbd034f03",
      "parents": [
        "44dcf658718fcc0b563dcad50fb59e8fe507cd0a"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Apr 05 15:07:36 2010 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Apr 05 15:10:31 2010 -0700"
      },
      "message": "remove OTA packages from the old (pre-froyo) updater\n\nThe old updater ran in the system process, so only that UID can delete\nits downloads.  Do this on startup in case we\u0027ve just upgraded from\nsomething before froyo and need to clean up those packages.\n\nb/2571619 - eclair -\u003e froyo update package not deleted\n\nChange-Id: I0a5e7834c3ecd2cc2f6fd73052b3a38e1294b5d5\n"
    },
    {
      "commit": "73a8f26aef40184d9d5dfe9dabcfbd345deb6386",
      "tree": "185d940d40ef4b5c44dbc928ac28a9902c368bcf",
      "parents": [
        "5923c9718390bf6d50c52661263f15c1f863012b",
        "be23fba286e6772f2eb37ef25f252d7a73ef9dce"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Apr 05 10:35:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 05 10:35:56 2010 -0700"
      },
      "message": "Merge \"NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed\" into froyo"
    },
    {
      "commit": "5923c9718390bf6d50c52661263f15c1f863012b",
      "tree": "53b6e03b2aef843cc04fbd732a0ce23ac51e1d6e",
      "parents": [
        "1484b6d6b75e13dd96b0f47158926d7989808272"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Apr 04 17:45:35 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Apr 04 17:45:35 2010 -0700"
      },
      "message": "Fix \u0027dumpsys backup\u0027\n\n\"for (Type foo : mSetOfType)\" doesn\u0027t work when mSetOfType is null.\n\nChange-Id: Iac667c7309f99b12d3147830e166b542b29cba5f\n"
    },
    {
      "commit": "1484b6d6b75e13dd96b0f47158926d7989808272",
      "tree": "dd1d210a42efd5560bd1401314040a9ed0267ffc",
      "parents": [
        "fc5aa9cfd103258c45fe1d6c072e93f227a044d8",
        "b696aee7b30487feaf6188675a3f01e13ac65a13"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 02 19:14:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 02 19:14:58 2010 -0700"
      },
      "message": "Merge \"Fix \"incall in landscape sometimes\" bug #2523942\" into froyo"
    },
    {
      "commit": "b696aee7b30487feaf6188675a3f01e13ac65a13",
      "tree": "978284ac5141acc7a2c9c608b6d2d86e9c257ca3",
      "parents": [
        "29039deea99a5529d92f7add3f9077ab247d3acd"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 02 19:08:30 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 02 19:13:51 2010 -0700"
      },
      "message": "Fix \"incall in landscape sometimes\" bug #2523942\n\nThe problem turns out to have been a deep weirdness in the way that keyguard\nand incall interact.  Incall gets relaunched when the keyboard is opened/closed,\nwhich transiently exposes keyguard with its nosensor orientation demands, and\nthat plus the long keyguard-hide animation was leaving incall in a bad state\nfrom which the window manager didn\u0027t try to recover.\n\nWe now disregard animating-towards-hidden windows [i.e. keyguard] when running\nthrough the app tokens to determine what orientation should be, and do not do\nconfiguration calculations at all while the display is frozen.  There can still\nbe a transient state in which incall is drawn in landscape, but things proceed\nfrom there to relaunch it back into the proper portrait orientation, and it\nends up in the right state in the end.\n\nChange-Id: I0d74ee19064b6d7f65600976f1b5b16b7ec36f31\n"
    },
    {
      "commit": "9c50996b175a1ee4b0069cba5163310c0189ac36",
      "tree": "79e91be91975c36b2b33f3ddd733b5f40a8b8b3b",
      "parents": [
        "a77acab9c623a8b63b46d14686cf1a86dd863289",
        "60e3ba071d2b129906e92981d1615a46febd825a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 02 12:47:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 02 12:47:45 2010 -0700"
      },
      "message": "Merge \"Dont start wifi if in airplane mode\" into froyo"
    },
    {
      "commit": "a77acab9c623a8b63b46d14686cf1a86dd863289",
      "tree": "6c9f337209566b43aeee84bcf5e6437c4ddefe74",
      "parents": [
        "29039deea99a5529d92f7add3f9077ab247d3acd",
        "73dafa1f6630a5209b0a0626c46e18f73614accc"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Apr 02 12:46:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 02 12:46:38 2010 -0700"
      },
      "message": "Merge \"Handle exceptions when doing dexopt.\" into froyo"
    },
    {
      "commit": "60e3ba071d2b129906e92981d1615a46febd825a",
      "tree": "80d6dcbdd23bbb9549cd5c145698a831b15c43e2",
      "parents": [
        "59610c041a9cdd45e1040a7a4592af42f49d7a5d"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 02 12:18:45 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Apr 02 12:43:04 2010 -0700"
      },
      "message": "Dont start wifi if in airplane mode\n\nNow that wifi start is asynchronous\nat the time of bring up, make sure\nWifi is not started if in airplane\nmode.\n\nBug: 2567652\nChange-Id: I947b7c8480029973bcbf028f6143aabbc88c9793\n"
    },
    {
      "commit": "be23fba286e6772f2eb37ef25f252d7a73ef9dce",
      "tree": "e624a43a92069d16a4dc0b7ab02a2509044c7ec5",
      "parents": [
        "c1548e3819ab4662e6b5f5455f95258b37dc7192"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Apr 02 11:50:05 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Apr 02 11:50:27 2010 -0700"
      },
      "message": "NetworkManagementService: Combine setInterfaceRx/Tx throttle and add max speed\n\nChange-Id: I1d6816c9754801504a988802118a2167e0eb8690\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "25642f0b16bc0584605ab1d0c327b1b1b3c1909e",
      "tree": "5fda0b59e3c77cc4bb95ad513568f3f07d87d545",
      "parents": [
        "30ed25c252e9eb9923d71676e8f703bb775b7cdf",
        "8daf2a47995b4522bceb38eef8c310268b1d91b0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Apr 02 10:54:57 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 02 10:54:57 2010 -0700"
      },
      "message": "Merge \"Make desk mode work again.\" into froyo"
    },
    {
      "commit": "8daf2a47995b4522bceb38eef8c310268b1d91b0",
      "tree": "44bde15b0ad2120e015dac90310c6fcb442dca57",
      "parents": [
        "3fe1708d9d204fa63e8abe6e434378d89e963752"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Apr 02 10:15:09 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Apr 02 10:15:09 2010 -0400"
      },
      "message": "Make desk mode work again.\n\nBug: 2564612\nChange-Id: I858a86d14a6840f5f587343a64c5d0c4bc5d5263\n"
    },
    {
      "commit": "73dafa1f6630a5209b0a0626c46e18f73614accc",
      "tree": "6648c661b173e332f762b2011f1ee472de97933f",
      "parents": [
        "2d8234b73d11fdc2178232cabad3ffaa23723405"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Apr 01 16:31:31 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Apr 01 21:02:21 2010 -0700"
      },
      "message": "Handle exceptions when doing dexopt.\n\nChange-Id: Iaeba98ef9fef2f1dbf3dbe2e8e4497dae8d0fe7f\n"
    },
    {
      "commit": "91cac64cd010e6b4006fdd14b39dbc75778f20cb",
      "tree": "4db61525fc553585f0744357c2ced35584443b33",
      "parents": [
        "461cef5d209fd072c82f6a70eb106e4690b7ef97"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Mar 31 14:31:36 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Apr 01 08:34:20 2010 -0700"
      },
      "message": "NetworkManagementService: Add interface counters \u0026 throttle API\n\nChange-Id: I4976549cdbb027ba7859335e69bf866e738961c9\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "513ae3610e5d6eac3af71c3e51a4e5e8b55b5256",
      "tree": "da94143809ff664e1edd2c27304779af31811934",
      "parents": [
        "686f7911a3462d6847d2a9396572eaaf04a9f175",
        "9c9c532d3625ba2485eb4ea6924ed0a0163fd958"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 23:03:26 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 31 23:03:26 2010 -0700"
      },
      "message": "Merge \"Fix issue #2560791: Expose API to go in to car mode.\" into froyo"
    },
    {
      "commit": "686f7911a3462d6847d2a9396572eaaf04a9f175",
      "tree": "2cb5fc760b8f466dc49b2c8df26d0f7a29b0dfee",
      "parents": [
        "de1b1872b33495da0bcd4c29ffeb3783fa7702e9",
        "f83c555d8a153662d067702c0df5761b5e71b1bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 22:49:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 31 22:49:30 2010 -0700"
      },
      "message": "Merge \"Fix issue #2561067: Screen Display half faded...\" into froyo"
    },
    {
      "commit": "f83c555d8a153662d067702c0df5761b5e71b1bf",
      "tree": "52a2df9d1eb59e1cc11976e1746985eeadc82a15",
      "parents": [
        "058e385b8bca0376c27a24a54f3b00777ef30e0a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 22:19:32 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 22:47:10 2010 -0700"
      },
      "message": "Fix issue #2561067: Screen Display half faded...\n\nAlso a little tweak to the activity manager to behave better when\nan application crash, to hopefully mostly avoid situations where\nyou get into a crash loop.\n\nChange-Id: I627cc1da3a0f16a180957f02bfbe5c81ecd31758\n"
    },
    {
      "commit": "ae18171acd3c70fc6d27fc6bbe85828e0f928fad",
      "tree": "18d4da543c957767bfb7fdc76677f6dd04107a03",
      "parents": [
        "3a0d1d11eba05d74d0461083eb6f31321588a0f6"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Mar 30 14:01:02 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Mar 31 19:58:25 2010 -0700"
      },
      "message": "Change certificate policy.\n\nThe certificates of the package and its shared user certificates\n are initialized only when installing the package.\n\nWhen scanning the packages, the certificates are collected from the apk\nif the time stamp changes. If not the one\u0027s from\nPackageSetting(read from packages.xml) are reused.\n\nRemoved mergeSignatures and updateSignatures since we don\u0027t support\nthis any more.\nAlso fix some bugs related to reinstalling failed upgrades.\n\nSome unit tests.\n\nChange-Id: Ibdeff170bd386d723f774136b18e0ad59d9cdabb\n"
    },
    {
      "commit": "9c9c532d3625ba2485eb4ea6924ed0a0163fd958",
      "tree": "139c6a91e2ded72ee0e2abc86a7b1e71a7b91e66",
      "parents": [
        "058e385b8bca0376c27a24a54f3b00777ef30e0a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 23:12:22 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 16:25:53 2010 -0700"
      },
      "message": "Fix issue #2560791: Expose API to go in to car mode.\n\nAlso fix bug where night mode was being used in desk dock.\n\nChange-Id: I56c1cf3d6fe800a4f986d40cc4cb2e70b76ac261\n"
    },
    {
      "commit": "c738783cc2b7b5bde1f0c25ed2cb4f9fd4df38cc",
      "tree": "2a1de4552272ec9d0f68fd62bf8b6c80055d09b7",
      "parents": [
        "36b3b5fc9a86a77488ed8b2497621ddca03d3cba",
        "11c5f1a65d6c495cc60f9f15d408c776baed9f73"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 31 15:56:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 31 15:56:30 2010 -0700"
      },
      "message": "Merge \"Fix alarms with negative or very large wakup times.\" into froyo"
    },
    {
      "commit": "11c5f1a65d6c495cc60f9f15d408c776baed9f73",
      "tree": "1a82c873340eabb636e04091c0fd59be3b271984",
      "parents": [
        "966fcb81eece9096040ccc185bb662335d3964cf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 31 15:29:40 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 31 15:38:08 2010 -0700"
      },
      "message": "Fix alarms with negative or very large wakup times.\n\nWhen the wakeup time is negative, the kernel /dev/alarm driver\nnever triggers the alarm.  This can cause alarms to back up in the\npriority queue since an alarm at the head with a negative wakup time\nwill never be triggered.  Now we use 0 as the wakup time which causes\nan immediate triggering.\n\nWhen the wakeup time is very large, it is possible for a numeric\noverflow to occur when converting the timestamp from milliseconds\nsince epoch to nanoseconds.  This has been fixed by avoiding the\nintermediate conversion in the JNI call so that overflow cannot\noccur.\n\nBug: b/2558820\nChange-Id: I4f5b4646a04090cc749a9fc5d3982a68402954ef\n"
    },
    {
      "commit": "e259bc770b3eeb88eb7a03ec0af2522ca9929f58",
      "tree": "95a9552fe0a7392e108b7ea279fdbd8207e4661e",
      "parents": [
        "9b9a89a58f50c3004959c36252489fae54fb9c58"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 19:24:44 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 31 11:07:47 2010 -0700"
      },
      "message": "Fix issue #2558391: Package manager problem when not replacing existing system partition app\n\nThis fixes the package manager to ensure we can\u0027t get in this bad state of\nan update to a system app being installed as a separate app.\n\nChange-Id: I2a3f601bbc06b74f31ca09192993614bc6885ff7\n"
    },
    {
      "commit": "6a362a97f71cda9eadfb72ce51e664c494cf7a04",
      "tree": "ecf0974a0ad851a3fecfd7ad40b9bea4fa2fc96a",
      "parents": [
        "0a08b1948f1e93fc36af8913e6e87fbeb0e9a92d"
      ],
      "author": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Fri Mar 26 15:38:41 2010 -0700"
      },
      "committer": {
        "name": "Eric Olsen",
        "email": "eolsen@android.com",
        "time": "Wed Mar 31 09:33:47 2010 -0700"
      },
      "message": "Add thermal shutdown.  If battery temp \u003e\u003d 68C.\n\nChange-Id: I625fa47939d8ecc532457b5c6e13f91d83bfbcc5\n"
    },
    {
      "commit": "07330791116513710d879c45b2f095cd314cbfd0",
      "tree": "de0b74c79d4302c7a111fd4415426b1ce794502a",
      "parents": [
        "966fcb81eece9096040ccc185bb662335d3964cf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 30 19:57:08 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 30 22:20:42 2010 -0700"
      },
      "message": "Show SD unavailable icon for apps on SD when ejected.\n\nThis change include a minor refactoring of PackageItemInfo and related\nclasses to eliminate code duplication and to avoid redundant work\nsearching for an ApplicationInfo instance we already have.\n\nBug: b/2537578\nChange-Id: Id0794c3f055ea58b943028f7a84abc7dec9d0aac\n"
    },
    {
      "commit": "59610c041a9cdd45e1040a7a4592af42f49d7a5d",
      "tree": "6ee33a23bf97e9a766c3d89a48cc2d8ea9c16140",
      "parents": [
        "de2722af35d7bd0dc19478f6dbe8b0ff329b3fa8"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 30 11:00:41 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 30 13:37:00 2010 -0700"
      },
      "message": "cherry-pick d4f3958bde05d04f97e0a4054d2a6185989d99f3 into Froyo\n\nSetting the allowed channel count in the\ndriver can take a long time to potentially\ncause ANR in the phone process. Make the call\nasynchronous\n\nBug: 2555117\nChange-Id: Ie3c2e6f90aa0ec8ee4b85c989ccae1ca0f2b94f9\n"
    },
    {
      "commit": "d7c096845dee7616095eda0fe9e7aa08f0ba9c20",
      "tree": "d20190ae42b25ce05960e16a89b8eb803d837602",
      "parents": [
        "22375e4a736c0d646c3cf0905c15126f7f4107c2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 10:42:20 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 30 13:34:43 2010 -0700"
      },
      "message": "Package manager optimizations.\n\nAddresses:\nIssue #2550648: PackageManagerService setComponentEnabledSetting unconditionally\nwrites Settings xml\nIssue #2549084: Make PackageManager.addPermission have async version\n\nAlso make the writing of settings when changing the preferred activities to use\nthe same async mechanism, and fiddle with thread priorities in the background\nthread to go up to foreground priority when holding the lock to write settings\nand a few other places.  (At some point we should really clean this up to never\nacquire the main lock while in the background.)\n\nChange-Id: Ib2b7632543f6fb3f92a225518579f3b2d15e1413\n"
    },
    {
      "commit": "22375e4a736c0d646c3cf0905c15126f7f4107c2",
      "tree": "4d0b5b820628f445234c2e50e818915229982c44",
      "parents": [
        "a7035909453c9980a5f8547f5090c70c4281156c",
        "2d449afe3d075020bdd1115bcc15c9383cbce122"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Mar 30 13:09:50 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 30 13:09:50 2010 -0700"
      },
      "message": "Merge \"Make RestoreSession.getAvailableRestoreSets() asynchronous\" into froyo"
    },
    {
      "commit": "a7035909453c9980a5f8547f5090c70c4281156c",
      "tree": "3755850bc3c9c3df243356d07f3043482aa18780",
      "parents": [
        "ae405d56215e4ab43e8210b66e741a0bf9d5edcf"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Mar 30 15:45:31 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Mar 30 15:45:31 2010 -0400"
      },
      "message": "Remove logspew.\n\nChange-Id: I8b56a9c289dcc87080116e6af27721e24d49c3b0\n"
    },
    {
      "commit": "2d449afe3d075020bdd1115bcc15c9383cbce122",
      "tree": "d7c71c9a74e317319de947f3e3fe3ee673f0c559",
      "parents": [
        "ae405d56215e4ab43e8210b66e741a0bf9d5edcf"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 29 19:14:24 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Mar 30 12:42:35 2010 -0700"
      },
      "message": "Make RestoreSession.getAvailableRestoreSets() asynchronous\n\nThis transaction can involve the transport having to query a remote backend\nover the wire, so it can take a Long Time(tm).  Make it main-thread-safe by\nmaking it asynchronous, with the results passed as a callback to the invoker\u0027s\nRestoreObserver.  We also make the IRestoreObserver callback interface\nproperly oneway.\n\nBug #2550665\nBug #2549422\n\nChange-Id: If18a233a0a3d54c7b55101715c9e6195b762c5a0\n"
    },
    {
      "commit": "e2522466552f9c6b7fcea866709710f53aa1f2a8",
      "tree": "318e1210d8af3c75bb8405e935b3363d8950d974",
      "parents": [
        "ad5499dd204a1512471778462a805a288595f2f2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 18:41:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 21:13:31 2010 -0700"
      },
      "message": "Fix issue #2547337: switching night modes\n\nDumb.\n\nChange-Id: Iaa72eaac54422f7fd95cf1050f6b7b6da55af0c3\n"
    },
    {
      "commit": "ad5499dd204a1512471778462a805a288595f2f2",
      "tree": "b1c5ad6d2f9becfee7e84e9073c1dba210f65a37",
      "parents": [
        "9d32d24dbd8a015c9d5c44ed4901d5a666eb8e7f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 18:08:45 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 29 21:07:23 2010 -0700"
      },
      "message": "Hopefully get rid of some ANRs.\n\nDon\u0027t hold the activity manager lock the entire time we are processing an ANR,\nwhich often causes us to cause a second ANR as someone else calls into the\nactivity manager and gets blocked.\n\nChange-Id: Ife4db82b12d6f4378ac2705bd6f60beb1244a1e6\n"
    },
    {
      "commit": "1f4df90bfab8ca42eabe95f19eadff3432eee7fd",
      "tree": "13d9bc806e8850259b2b939d7ee9cf02651bf9d7",
      "parents": [
        "59fc58dc3f164e33a96aee09505fac5818747cb6"
      ],
      "author": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Fri Mar 26 18:44:14 2010 -0700"
      },
      "committer": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Mon Mar 29 18:12:24 2010 -0700"
      },
      "message": "DO NOT MERGE\nRemoving unused features from source tree.\nPlease refer to Bug#2502219.\n\nChange-Id: I879c29bfd5ffe933f64bb1082aaae7c956450a5a\n"
    },
    {
      "commit": "cc84c69726507a85116f5664e20e2ebfac76edbe",
      "tree": "1f58e9d718d8694d2b22f925a7e79263991d0c74",
      "parents": [
        "89d4e2dd7888913d3eb1f4f669bd756a3b85f2c1"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 29 14:54:02 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 29 15:48:14 2010 -0700"
      },
      "message": "API CHANGE: rename BackupHelperAgent \u003d\u003e BackupAgentHelper per API Council\n\nPart of bug #2545514\n\nChange-Id: Ic775e3b942c485252149c1b6c15c88517fa4e3e5\n"
    },
    {
      "commit": "b99fe5e622aa5419d80c02e3fab614372f44bc2a",
      "tree": "55017e13c16a4ebe0958af0ce0fc56caff1b2165",
      "parents": [
        "ab924c909a516eb71fef7c238a20c7755f8170ed"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Mar 26 14:56:07 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Mar 29 12:02:44 2010 -0700"
      },
      "message": "cherry-pick 288b4ac94571e6f77036831708e7bb7c31874688 into froyo\n\nKilling the WifiWatchdogService thread from\nWifiService can cause messages to be handled on\na dead thread. Quit the thread on the broadcast\ninstead.\n\nA couple of more fixes:\n- Do an asynchronous bring up of Wifi. This will\nallow WifiWatchdogServiceThread to be immediately\nbrought up, instead of relying on an update.\n\n- There is no need to listen on supplicant connection\nin wifiwatchdog anymore. We kill the thread when\nsupplicant connection is no more.\n\nBug: 2546756\nChange-Id: I15a188e031bc79856c55aabdd271287b0df0377d\n"
    },
    {
      "commit": "211957f63913d4a050604e0dfc1e0f80980e3d0c",
      "tree": "3ec92761267b29fd5064e8f502df9e94e5d3608c",
      "parents": [
        "1f196f29127f9a05d0bd0553d2f3db2ad983df14"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 26 18:19:33 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Mar 29 09:37:02 2010 -0700"
      },
      "message": "Implement audio focus support in the notification manager.\n\nThis change introduces the NotificationPlayer class which was\ncreated from the code of android.media.AsyncPlayer. The only modification\nwas to modify the construction of the MediaPlayer so it properly issues\nonCompletion notifications (which are used to abandon audio focus).\n\nUnless the sound to be played is looped, the notification is transient\nand other apps may duck (uses AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK in\naudio focus request).\nChange-Id: I69cbb71d0892447b934351384e4e24a2e239295b\n"
    },
    {
      "commit": "9c3cee9824026764275e4d84ba9b5d9fdc5da690",
      "tree": "a68cba5a6d4dc4dc747c4089a2426dcfe5550b77",
      "parents": [
        "a3de74555120cc4dc205a3f93ef44c843b8d64a8"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 25 16:06:43 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Mar 26 14:26:44 2010 -0700"
      },
      "message": "API CHANGE: Backup/restore API changes requested by the API Council\n\n* @hide the android.app.backup.RestoreSession class and functionality\n\n* Provide a public method on android.app.backup.BackupManager that apps\n  can use to request a restore pass of their last-known-good dataset.\n  The new method is called requestRestore().\n\n* Provide the name of the package being restored, not just its ordinal,\n  in the RestoreObserver\u0027s onUpdate() callback.\n\nPart of bug #2545514\n\nChange-Id: I9689bf8d6e2b808b4ee412424a36a835be0a5ca8\n"
    },
    {
      "commit": "d49258fed489bcd72a2b2a6ce3a3c38d4b2531e6",
      "tree": "fdb02af6a4750fa8795a57f9aaec67660cffedba",
      "parents": [
        "fc6d1ba930111ef7a51d91908f489ca9469fc572"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 26 00:44:29 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 26 12:52:53 2010 -0700"
      },
      "message": "Fix issue #2544466: Car Home brightness icon comes and goes while phone is in car dock in FRE83\n\nThere was a really dumb bug that was causing us to not always apply\nthe new configuration.  As a result of fixing this, there were new\nglithes in the transition between car and regular mode, so further\nwork here to fix that.  And since I was actually working during the\nnight and seeing night mode, I noticed how obnoxiously bright the\nstatus bar is compared to the car home at night, so it now nicely\ndims itself when we switch to the night config.  Oh and in doing\nthat I also found and fixed a bug in dispatching config changes to\na window (where they wouldn\u0027t get dispatched if the window didn\u0027t\nresize).\n\nFINALLY...  tweak the wallpaper enter/exit animations a bit to\nmake them a little smoother.\n\nChange-Id: I4e062093cbcfbc919307799a794846db2920216f\n"
    },
    {
      "commit": "1aedcce92f4ea2537de6295d8109707bc3989d37",
      "tree": "b785d2b5ce7d511cfeaec1c1d5d63aaa36dbda2f",
      "parents": [
        "2911e8eff79572a896b24debb11f20d179bd6f83"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Mar 26 12:11:44 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Mar 26 12:13:29 2010 -0700"
      },
      "message": "Fix StatusBarService deadlock for real this time.\n\nThe lock is now only held long enough to swap the queue with a new ArrayList.\n\nBug: 2542233\nChange-Id: I8c1c3d4d0b5b53166cc239fc0069d69929b43f91\n"
    },
    {
      "commit": "621bc545982e2318e71bef3111d3cab39169d648",
      "tree": "5304507ea895e217127fcd379a2f1ae7227bba1a",
      "parents": [
        "8e10a7b7c82209bf52ab8545d21777ea1728f81e"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Mar 25 16:20:14 2010 -0700"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Mar 25 17:16:01 2010 -0700"
      },
      "message": "Add \"dumpsys diskstats\" to get a dump of disk-free values.\n\nAlso includes a trivial test of I/O latency.  (Mostly useful to be invoked\nfrom checkin to poll disk-free and latency issues.  Also moderately useful\nto see in a bugreport.)\n\nAlso make \"dumpsys netstat\" a non-no-op, in case we want this data.\n\nChange-Id: Ia93550a23ca6b35586c5d9217890ee0a5801aae1\n"
    },
    {
      "commit": "53d7c234432c8d2cca5b6e2ac08ab859b062f892",
      "tree": "b795b314ce2de6aada5ed6da728b475061a6c274",
      "parents": [
        "b012e15441d86bdb31e87b23a7b3a565121aa37c",
        "32b51436c68966cc7e5895fc917e7d9c7ffb10dd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Mar 25 16:00:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 25 16:00:25 2010 -0700"
      },
      "message": "Merge \"Fix 2495749 - System process crash when a notification switches sections.\""
    },
    {
      "commit": "32b51436c68966cc7e5895fc917e7d9c7ffb10dd",
      "tree": "4568799414f4b100dd157083ae441ba3c9c841d5",
      "parents": [
        "661a19765bf52e84ed225995fb6bdb5f26b65455"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Mar 25 15:57:49 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Mar 25 15:57:49 2010 -0700"
      },
      "message": "Fix 2495749 - System process crash when a notification switches sections.\n\nChange-Id: I86ff1b78fc309b758c6457be867509b71042d42e\n"
    },
    {
      "commit": "b012e15441d86bdb31e87b23a7b3a565121aa37c",
      "tree": "72bd1a0308b5722a26674d6201390381493619ac",
      "parents": [
        "a3bd409a0a5dea446bd1b6edca1b367f3f70b503",
        "b37f0c6513241f79a6ea0e3c162dc540d028b60c"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 25 15:50:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 25 15:50:25 2010 -0700"
      },
      "message": "Merge \"Fix Tethering of multiple downstream ifaces.\""
    },
    {
      "commit": "b37f0c6513241f79a6ea0e3c162dc540d028b60c",
      "tree": "1364914cdc98719d498f50c70a98be952a0a7e0b",
      "parents": [
        "bfb7bfa53847832db2a3eb05e5eff7cb974c3c7a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 25 14:50:34 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 25 15:29:57 2010 -0700"
      },
      "message": "Fix Tethering of multiple downstream ifaces.\n\nWe weren\u0027t notifying the second tethered iface of it\u0027s upstream iface name so its traffic\nwas not getting routed correctly.\nWe also weren\u0027t clearing out our connected iface name when we untethered, so the route rules\nweren\u0027t getting flushed when the last tether came down.\n\nChange-Id: I34e5d672ea882c89c8f582d69d6dc421cb52d4b4\n"
    },
    {
      "commit": "a3bd409a0a5dea446bd1b6edca1b367f3f70b503",
      "tree": "feea7bb56c78a921f04969d1124f9182c48e6a27",
      "parents": [
        "bfb7bfa53847832db2a3eb05e5eff7cb974c3c7a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Mar 24 17:58:59 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Mar 25 15:10:34 2010 -0700"
      },
      "message": "settings variable for wifi saved state\n\nWe add a variable for saving wifi state\nto restore after tethering.\n\nBring up wifi on boot up if the state indicates so.\n\nBug: 2537983\nChange-Id: I9c6548b93df6fcbc0cec1e6b857f7224dc6d1b2c\n"
    },
    {
      "commit": "bfb7bfa53847832db2a3eb05e5eff7cb974c3c7a",
      "tree": "6f7b9f635d9b1d47caca0a5c7f2b338bc536b4f8",
      "parents": [
        "838bfef91504837b64c4f11be820aa2aa4cd4efe"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Wed Mar 24 16:03:21 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu Mar 25 14:46:13 2010 -0700"
      },
      "message": "Update Framework to support multiple dhpc ranges\n\nPreviously we only supported a single range - this was inadequate for\nmultiple interfaces.  Adding a second range so we can support\nboth usb and wifi tethering.\n\nAlso moving out of the zero-conf range as our dhcp client won\u0027t\naccept ip addrs in that range (no nexus to nexus wifi action).\n\nbug: 2537963\nbug: 2533491\nbug: 2538303\nChange-Id: I600b421343c28c2f9839ed2076122ae3d0ff5d3d\n"
    },
    {
      "commit": "c68b5b7e5ba3216e52f70e61d089820b9a3b526b",
      "tree": "8953c720dbc4fca04dfa4df7203ce25262180ff0",
      "parents": [
        "b80d49d33831ad95e6cddd2aa0903a25cd838f93",
        "39576c8df34e95bfb117e57d2bb17a5869d577f1"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Mar 25 13:26:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 25 13:26:36 2010 -0700"
      },
      "message": "Merge \"Use a more benign icon for ADB notifications.\""
    },
    {
      "commit": "39576c8df34e95bfb117e57d2bb17a5869d577f1",
      "tree": "81d11883ddd0a6e729b54f4453b24f48a918ea2a",
      "parents": [
        "4b4d3039ec5e1538436e36d02127076c746bd3bf"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Mar 25 16:02:33 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Mar 25 16:19:53 2010 -0400"
      },
      "message": "Use a more benign icon for ADB notifications.\n\nAlso suppress vibe \u0026 noise for ADB notifications.\n\nBug: 2544480\nBug: 2545486\n\nChange-Id: I955a7271f47601f9b35f0d3fcd48363370ebd252\n"
    },
    {
      "commit": "529bef692541a0f1290992b2f261e711b3bea9af",
      "tree": "42d6472acb47c8755cf62e13e76691cf537f6b22",
      "parents": [
        "c6a90a59b342114d760d899e09d8def672b49ca8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 25 11:48:43 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 25 11:48:43 2010 -0700"
      },
      "message": "Dumb late-night typo.\n\nChange-Id: If5e5d8c3728ffc06d686c793ed94a7e18328e5ab\n"
    },
    {
      "commit": "a50785979712bd45e4d122e7ef0e999732b15fca",
      "tree": "f5852561bf70330a99aa272bb3b3b549f8fb5fc0",
      "parents": [
        "f4264011c0e5c52f29627f2489aeabe67eff66a4"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Mar 25 09:36:54 2010 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Mar 25 10:03:39 2010 -0700"
      },
      "message": "MountService: Switch all Log -\u003e Slog\n\nChange-Id: Id33c76497e9d963f295ef6e99d850223ca59b6cd\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    }
  ],
  "next": "2e13d2331e3010e1437aa5567e8ef471f9c3589d"
}
