)]}'
{
  "log": [
    {
      "commit": "6a6b007c77e5cab7ee435506a4f65824f52028b6",
      "tree": "09daacd02a3582c26d72411e5ef0129812d0c8d6",
      "parents": [
        "b74941e32e068ec03f90b9a53670328cd17ff4b4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 07 16:46:10 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 07 17:20:26 2010 -0700"
      },
      "message": "Symlink application lib directory when on SD card\n\nThis will help legacy games that use dlopen() to directly access the\n/data/data/\u003capp\u003e/lib directory before the\nApplicationInfo.nativeLibraryDir was part of the API.\n\nChange-Id: Ie9f3e7239b6334708b5d086ffafe66a507f6d9da\n"
    },
    {
      "commit": "480afe70fa75b74b618f1f6243e7e2be1f41419a",
      "tree": "837c4edbd9bff2881b0ec96051e60f935c2223d6",
      "parents": [
        "0145e36cad1472acafb492b3f009ca6eba9593ea"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 07 10:17:50 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 07 10:53:01 2010 -0700"
      },
      "message": "Eliminate MCS_GIVE_UP state\n\nIt\u0027s basically a duplicate of MCS_UNBIND state, so just get rid of it\nwhich simplifies the state transitions.\n\nBug: 3067076\nChange-Id: I34111be88dd727af8ad59c9f49debd54ede827ea\n"
    },
    {
      "commit": "0145e36cad1472acafb492b3f009ca6eba9593ea",
      "tree": "948c3c30bd7527d58a415b28936e6a3f92572c0c",
      "parents": [
        "08fb5851bbaf11ecac0cac0de321942bfbf6a630"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 06 13:35:05 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 07 10:14:09 2010 -0700"
      },
      "message": "Revert \"Only allow 8 OBBs to be mounted by a UID\"\n\nThis reverts commit 27358a69b33eaa268ee75ef778ec824c8085adcc.\n\nConflicts:\n\n\tservices/java/com/android/server/MountService.java\n\nChange-Id: Ia14be97b4f22e95daba0d191cfc62adf3d1469cd\n"
    },
    {
      "commit": "5919ac6b4188285324646772501ef4b97b353cf4",
      "tree": "24fd16d8c43c44500f9cf39d7fa0f93cd0e88546",
      "parents": [
        "a3ee5c0351e51f7a978ddddc37644f46051ca6ed"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 09:49:40 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 06 17:00:00 2010 -0700"
      },
      "message": "OBB: track binder death observers\n\nAn incorrect assumption about how death observers were tracked lead to\nan IllegalArgumentException in some cases. Make sure the linking and\nunlinking of the Binder to its ObbState death observer is symmetric to\navoid this problem.\n\nBug: 3062360\nChange-Id: Idd016db12551c80cd74d00f11cf6569bd3b4ce21\n"
    },
    {
      "commit": "a3ee5c0351e51f7a978ddddc37644f46051ca6ed",
      "tree": "413b873eca325c1e7bdcb0358863e334d7cc4331",
      "parents": [
        "ef083ec008a3ec69180340912e7f0137472c97d9",
        "17eb6fb07cc6965f09c51adc70b3c291f57a784a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 06 16:59:23 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 06 16:59:23 2010 -0700"
      },
      "message": "Merge \"Add MountService tests and fix a bug it found\" into gingerbread"
    },
    {
      "commit": "17eb6fb07cc6965f09c51adc70b3c291f57a784a",
      "tree": "ebf326ca22de459e3747c8241842168c4181d70f",
      "parents": [
        "6d44456da87dccb15b4086696f5e72a5aa198926"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 06 15:02:52 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 06 15:39:28 2010 -0700"
      },
      "message": "Add MountService tests and fix a bug it found\n\nAdd some MountService tests that are based partially on some stuff done\nin PackageManagerTests. This allows us to test the OBB changes in an\neasy way.\n\nAlso, it found some bugs in the DefaultContainerService connection state\nmachine, so fix those while we\u0027re at it.\n\nChange-Id: I18f38593be754eb32fb6e842f88eec47e2beefce\n"
    },
    {
      "commit": "043fcd9847a804bc6394728e5785aecc495e6347",
      "tree": "73a1665e3fd4c0348e48f49e8bae8702d0fd6c0a",
      "parents": [
        "6d44456da87dccb15b4086696f5e72a5aa198926"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 06 14:27:34 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 06 14:27:34 2010 -0700"
      },
      "message": "Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider\n\nExposes an Intent I need (okay it fixes an unrelated thing in the power widget),\nand fixes some dump output.\n\nChange-Id: I51d6c93a6ac879bab64e9d5aa21129e2bbcd461b\n"
    },
    {
      "commit": "3c4c2b7e6f0674068d13b42d4dcf0fd009df0c49",
      "tree": "9fb61197b62350b3c5899fd7357dc8717b0c5425",
      "parents": [
        "5a5fff7101b45bc28f59e72ea4c3e57632ff9ceb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 05 18:07:54 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 05 18:07:54 2010 -0700"
      },
      "message": "Fix issue #3001368: API REVIEW: android.app.Activity\n\nBye bye, lots of junk.\n\nChange-Id: Idd72fc525851277362b2a1ff3bb0f7865fe655fd\n"
    },
    {
      "commit": "f7872780ca3dae9584251b1e3495aed12110254c",
      "tree": "00b97ad2539d7bdc71bf29960ce9e838f482acbf",
      "parents": [
        "17bc4f65324a823598e7671256c815bf32ddcc95",
        "8274a0e53630f80ab356f69ddad895ed9638574e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Oct 05 14:41:16 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 05 14:41:16 2010 -0700"
      },
      "message": "Merge \"PowerManagerService needs yet another flag...\" into gingerbread"
    },
    {
      "commit": "8274a0e53630f80ab356f69ddad895ed9638574e",
      "tree": "7af4bd25c92f7384a1805c53aec17be197693963",
      "parents": [
        "b9a40068b590b86904b40bf466571b140d0f94b4"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Oct 05 17:38:09 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Oct 05 17:39:01 2010 -0400"
      },
      "message": "PowerManagerService needs yet another flag...\n\n... to make sure that if you press the power button to turn off the\nscreen, that the prox sensor won\u0027t turn it back on.\n\nBug: 3011618\nChange-Id: Id16c1d65417539d4592f485b1c3efb737540c3cd\n"
    },
    {
      "commit": "831baa2e2566bf1d243c06918672abd5ff786105",
      "tree": "9d3c02281f0185abc21b7127a4c026026c496fcc",
      "parents": [
        "8735c4cda00de26127d694bfbc81e192c4caca44"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 12:29:25 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 12:56:03 2010 -0700"
      },
      "message": "Remove lingering system app native libs in /data\n\nIf a system app had a lingering native library in /data/data/\u003capp\u003e/lib,\nit would prefer that over the one in /system/lib due to recent changed\nin the Dalvik JNI class loading code.\n\nTo \"fix\" that we need to check if there are any native libraries in a\n/data/data/\u003capp\u003e/lib directory for any non-updated system apps and\ndelete them during scanning.\n\nChange-Id: If3a22e41a8531e9e5a44ba001dcea46253d47d45\n"
    },
    {
      "commit": "8735c4cda00de26127d694bfbc81e192c4caca44",
      "tree": "4436a02787a0a84877b0de6affa325471e5a3e1f",
      "parents": [
        "e02e41f484a115b5278dcc07f2d6c90819279800",
        "bd135c193102186b73b50da90985a714a90a8b0d"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 12:48:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 05 12:48:46 2010 -0700"
      },
      "message": "Merge \"Get correct native library path on reinstall\" into gingerbread"
    },
    {
      "commit": "bd135c193102186b73b50da90985a714a90a8b0d",
      "tree": "f9445063f927ab8d589c438e8f335123bff7e122",
      "parents": [
        "abcbb1a1989e8c6adec607b3964dc187f5526e66"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 12:26:27 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 12:33:33 2010 -0700"
      },
      "message": "Get correct native library path on reinstall\n\nIf an application moved between internal and external storage during a\nreinstall, we were getting the wrong path. This change fixes going from\ninternal to external and external to internal which need different\nfixes.\n\nBug: 3019708\nChange-Id: If5859aeab7505cbbb35ae5724de1224a8733f2e8\n"
    },
    {
      "commit": "1e84da822e7aa4d494b31c8759917d2751611f84",
      "tree": "aa380bb97ffc1feaa7a3c484d6b8ff922b102f57",
      "parents": [
        "abcbb1a1989e8c6adec607b3964dc187f5526e66"
      ],
      "author": {
        "name": "Miguel Torroja",
        "email": "migueltb@broadcom.com",
        "time": "Tue Jul 27 07:02:24 2010 +0200"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Oct 05 13:15:37 2010 -0400"
      },
      "message": "GPS: Add support for AGpsRilInterface.\n\nAdding changes to be able to have access to missing data to SUPL\n(celld, imsi, WAP_PUSH and SMS)\n\nChange-Id: I0207f7f7ea6595ed3fd7021cb732feddf52e4cf9\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "54e570f78b45d6c47578a4a2513097b590b6d43f",
      "tree": "bb61bf7cbb0dd320bb16e40f8b534a3f2d401a13",
      "parents": [
        "15f107b151deff1f25f1255bdbcb630ed576ac8d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 18:32:32 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 18:35:10 2010 -0700"
      },
      "message": "Make it easier to figure out whether an app can go on sd card.\n\nChange-Id: I9195a0881b2c435b138f39c2ab1505dc820caf10\n"
    },
    {
      "commit": "e5439f228f603f60febe058f633d91d5af2fff76",
      "tree": "54a692e6d57f5b93efb89aab2d102701876689f4",
      "parents": [
        "407f625a9b8e356e765a5ec587c443af1f3aadb5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 02 16:53:50 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:01:39 2010 -0700"
      },
      "message": "Fix issue #3041660: Camera image flips upside down when rotating device\n\nApps now must explicitly opt in to having their rotation changed while\nforcing landscape mode.  Also add some new orientation constants for other\nthings apps may want to do.\n\nChange-Id: If64d84b5ef54793ee717ebda9b4c76408efc9bfd\n"
    },
    {
      "commit": "3aeee33c720fc87d97625b8040d155ca0ee88848",
      "tree": "054febcd86ed12f16ff94f311f10aa1b9ec855d2",
      "parents": [
        "624380a14def6c2acdb473e09c36139acbcefbf9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 02 18:56:33 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 02 19:06:18 2010 -0700"
      },
      "message": "Don\u0027t write settings multiple times when unmounting.\n\nThe package manager would write its settings multiple times,\nonce for each app on the SD card, when unmounting external storage.\nThis was kind-of slow.\n\nChange-Id: Ic5ce12022a9ce26857d1db3071e316750b03f05a\n"
    },
    {
      "commit": "d9e88d22f0ffefdc6a3b9c59168bd1bb6d402486",
      "tree": "2351ffe01b2e05532dba0b68fc1a1ed7842faffb",
      "parents": [
        "fd57416cc8c2a333f46cacad6de48a3b1547eac9",
        "12ffd9bf4c2cc9075ea7602b4932f823ba940f80"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 14:06:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 01 14:06:46 2010 -0700"
      },
      "message": "Merge \"Add \"none\" for vold and deprecate mkobb -c\" into gingerbread"
    },
    {
      "commit": "12ffd9bf4c2cc9075ea7602b4932f823ba940f80",
      "tree": "5799aa5df8bde6b1f641d704b8909d0549fd1784",
      "parents": [
        "2942391801b79816c5eb77d7ac94c4a65f26af48"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 12:56:59 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 14:02:47 2010 -0700"
      },
      "message": "Add \"none\" for vold and deprecate mkobb -c\n\nIf vold isn\u0027t told \"none\" for the key, it will try to mount it as an\nencrypted container.\n\nAlso remove the -c option from mkobb since it can be triggered by\nincluding a key as well.\n\nChange-Id: I40a8ff3f778bfda682312630e6687ecc14b51844\n"
    },
    {
      "commit": "6493e64c2a3d5fa6adf0e6331a061d5bc67649fa",
      "tree": "999884329e9b71cf546147102f626ded35f12949",
      "parents": [
        "2942391801b79816c5eb77d7ac94c4a65f26af48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 01 13:06:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 01 13:06:30 2010 -0700"
      },
      "message": "Fix issue #3037083: Problem report for Pinball\n\nThe app was toggling between hiding and showing the status bar, because\nthe dialog was large enough to fill the screen but didn\u0027t set to hide\nthe status bar.\n\nIt turns out that the code to determine the top fullscreen window is\nintrinsically unstable, since it relies on comparing a window\u0027s frame\nwith the screen, yet the window frame can change as a result of changes\nsuch as hiding the status bar.\n\nInstead, we now simplify all of this to just say that the top fillxfill\nwindow gets to control the status bar.\n\nChange-Id: I22913adf7235fe0d52612f6738c7c94351274e38\n"
    },
    {
      "commit": "2942391801b79816c5eb77d7ac94c4a65f26af48",
      "tree": "377be8b9e3b763263056bac5565888a9f0b2cb92",
      "parents": [
        "0a69f597604254bc37721b135ab612eaacdd0cbd"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 08:37:20 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 08:38:56 2010 -0700"
      },
      "message": "Fix regression in OBB key handling\n\nChange-Id: If583cbdb8be68ffed094a5fde7ee00e1914c5841\n"
    },
    {
      "commit": "0a69f597604254bc37721b135ab612eaacdd0cbd",
      "tree": "0f78376b5a3edaba3c6bc0218127f9c36acc89bf",
      "parents": [
        "ab2e6284845794079d809e62c52c6c380b31c4b5",
        "cef65eeb0315c3118bf8860d6f723cb49ff6bc52"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 30 19:03:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 30 19:03:38 2010 -0700"
      },
      "message": "Merge \"Rub in a little \u0027ol log-b-gone.\" into gingerbread"
    },
    {
      "commit": "cef65eeb0315c3118bf8860d6f723cb49ff6bc52",
      "tree": "2917e5a149a267eac00b13a27a88627e252cfe23",
      "parents": [
        "727d67d4fb8721b0291312e4cca33927dfba0e31"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 30 18:27:22 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 30 18:27:22 2010 -0700"
      },
      "message": "Rub in a little \u0027ol log-b-gone.\n\nMmmmmm...  great fresh scent!\n\nChange-Id: I050e70b31b5d4a9c6731f15a4b51a3620a33a78d\n"
    },
    {
      "commit": "ab2e6284845794079d809e62c52c6c380b31c4b5",
      "tree": "067c52d45d3d060d8c012be7c88bf09977e07147",
      "parents": [
        "8b28441adab59f2bb0d92c8a717af75331249e08",
        "a39ccb6c4ae7dbf522a3fd0c450a95653c6418ea"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 30 18:12:24 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 30 18:12:24 2010 -0700"
      },
      "message": "Merge \"Use the private version of userActivity.\" into gingerbread"
    },
    {
      "commit": "4da02392a12e26f94a072e0a8584dbebfa29c4e3",
      "tree": "b2b4a218ae56422f56982d3ee99f7aebd29c9d22",
      "parents": [
        "735de3b38abbd6564082a819377673ee593744a6"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:58:41 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:59:42 2010 -0700"
      },
      "message": "Being already unmounted is not a failure\n\nChange-Id: I5943096444e3d4d4cc5fd63f64a09c32f649a227\n"
    },
    {
      "commit": "735de3b38abbd6564082a819377673ee593744a6",
      "tree": "ec309587616c5abbc49df83d7d21b6a3b3e9dfbd",
      "parents": [
        "27358a69b33eaa268ee75ef778ec824c8085adcc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 14:11:39 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:25:05 2010 -0700"
      },
      "message": "Hash keys with MD5; track IBinders not IInterface\n\nUsing a plaintext password doesn\u0027t work unless it\u0027s a certain length, so\njust hash the plaintext password with MD5 to make it the right length\nfor the twofish encryption.\n\nTracking the IInterface doesn\u0027t make much sense since it\u0027s different\neach time, so track the IBinder instead. That way we can unlinkToDeath\nthe binder when the last thing it\u0027s holding onto goes away.\n\nChange-Id: Id828d25b4d74f27e9d8b4bfb3909c964469cc473\n"
    },
    {
      "commit": "27358a69b33eaa268ee75ef778ec824c8085adcc",
      "tree": "e12147b6763048166c954c0d2375b9daaecd9abc",
      "parents": [
        "38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 29 19:27:20 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:24:53 2010 -0700"
      },
      "message": "Only allow 8 OBBs to be mounted by a UID\n\nChange-Id: I4f017c5408af903c6c9ba007a2cf7f488a7fcd27\n"
    },
    {
      "commit": "38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94",
      "tree": "84b4d47ada068bda31db1b024781e6a5bfb7a585",
      "parents": [
        "063d02bb03a9260314b529490866528433148738"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 26 14:18:51 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:24:34 2010 -0700"
      },
      "message": "Remove OBBs from state list when volume unmounted\n\nDon\u0027t keep tracking OBBs when the volume they\u0027re located on goes away.\nRemove them from our state tracking maps and then send a notification to\nany listener that is still around.\n\nAdd a dump handler to MountService so the state of the mount lists\ncan be inspected.\n\nChange the API to just make a callback directly to the change listener\nwhen mount is called when it\u0027s already mounted or unmount called when\nit\u0027s already unmounted.\n\nChange-Id: Idb4afbb943ca5ca775825f908bff334e3ce1cfcc\n"
    },
    {
      "commit": "a39ccb6c4ae7dbf522a3fd0c450a95653c6418ea",
      "tree": "28b0feeebb1fb9d02aa0058f238995f9feaa5e63",
      "parents": [
        "4ba2817c869d4ec6b518a57ea32cc3765b18b0db"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 30 16:40:31 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 30 16:47:09 2010 -0700"
      },
      "message": "Use the private version of userActivity.\n\nWe were flunking the enforcement of DEVICE_POWER since apps don\u0027t need that permission to use a wake\nlock.\n\nBug: 3051596\nChange-Id: I1910d8402adb3e9a4d8635de5d2a301f6286f216\n"
    },
    {
      "commit": "e97ae40dffe7d7f8917c51c4f3f6c1b18c238565",
      "tree": "ab233a6ed9a592d52aebdba9c024f181e5e52a5e",
      "parents": [
        "2a0b3c0d4cd98385ebfa60cc2014bdb2d7b5a7f5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Sep 29 15:23:46 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 30 15:25:54 2010 -0400"
      },
      "message": "location: rebind to network location and geocoder services after package update\n\nChange-Id: I2d7db3512b9edd7e0ba27d97442967fc2278e3b9\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0c32c09cd3a99a7f397313048ecf9d4c5afaaa91",
      "tree": "b7832ebcdc5f0af9d1c20236638106f93f0d4d79",
      "parents": [
        "212d81a004f50e51ed8f6d803b79f4b71546b351"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Sep 29 10:20:59 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Sep 29 10:20:59 2010 -0700"
      },
      "message": "Revert \"Revert \"Check for the DEVICE_POWER permission in userActivity.\"\"\n\nThis reverts commit 4da4827504df019d4e64dd864f70526ff6d384a0.\n"
    },
    {
      "commit": "212d81a004f50e51ed8f6d803b79f4b71546b351",
      "tree": "7b9e1538515bf21c215ec1cdff811e5105da6c18",
      "parents": [
        "038cabe0247ee46df62f9363f1a303bc5b9c1028",
        "f1121dc1d35c7e8c317c278aad0dd4ad1358d870"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 29 07:40:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 29 07:40:32 2010 -0700"
      },
      "message": "Merge \"Move all the permissions check up for unmount\" into gingerbread"
    },
    {
      "commit": "f1121dc1d35c7e8c317c278aad0dd4ad1358d870",
      "tree": "328181f28c37eb9113ad04035f9dfa70a1df2ad0",
      "parents": [
        "05105f7abe02b2dff91d6260b3628c8b97816bab"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 29 07:30:53 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 29 07:38:55 2010 -0700"
      },
      "message": "Move all the permissions check up for unmount\n\nWe have already scanned the state of the OBB in mountObb, so check the\ncaller against the stored state in the unmountObb call. This allows us\nto ensure the calling binder is the same one that mounted it since we\ntie the lifecycle of the OBB to the lifecycle of the binder.\n\nChange-Id: I45d9cfbab5d3f5b37a6a9b594b10bd8b91cccc45\n"
    },
    {
      "commit": "038cabe0247ee46df62f9363f1a303bc5b9c1028",
      "tree": "11c6037442f85e0e7adad870ba9d8092323b6bf0",
      "parents": [
        "d6877fa4971710150de20453bf4ba54dca863429"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Sep 23 16:12:11 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Sep 28 22:36:27 2010 -0700"
      },
      "message": "NFC integration\n\nSource: Trusted_NFC_Device_Host_AA03.01e02_google.zip code drop (23-Sep-2010)\n\nConflicts:\n\n\tcore/java/android/app/ApplicationContext.java\n\tcore/java/android/provider/Settings.java\n\tcore/jni/Android.mk\n\tcore/jni/AndroidRuntime.cpp\n\tcore/res/AndroidManifest.xml\n\tinclude/utils/Asset.h\n\nChange-Id: I62c92f4c79f5ee65126c97602f6bc1c15794e573\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "4da4827504df019d4e64dd864f70526ff6d384a0",
      "tree": "9f113536e7ece08989b6df693a0078dc8147cbe6",
      "parents": [
        "3e94b94f56888acbd1f8deb23c05474baaf4fae3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 28 23:07:26 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 28 23:07:26 2010 -0400"
      },
      "message": "Revert \"Check for the DEVICE_POWER permission in userActivity.\"\n\nThe change broke SetupWizard and probably other apps\n\nThis reverts commit 059f8f93e6e89f80dfb85cfdbcd3bce64c7b1e2c.\n"
    },
    {
      "commit": "05105f7abe02b2dff91d6260b3628c8b97816bab",
      "tree": "f42676d818548d76b2c55045a1bcc4866d6feec1",
      "parents": [
        "ea2cf2f936b03f1720bc43863e41c89ea2a7903a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 22 17:29:43 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 17:23:26 2010 -0700"
      },
      "message": "Update OBB API to include callbacks\n\nAdd a callback for users of the StorageManager API to be able to receive\nnotifications when the requested operation completes for mountObb and\nunmountObb.\n\nAdd NDK API to get to ObbInfo like the Java API has.\n\nAlso update the docs for the API and remove the \"STOPSHIP\" comments.\n\nChange-Id: I23a4409c7f8b74d3169614beba920b4d667990a4\n"
    },
    {
      "commit": "059f8f93e6e89f80dfb85cfdbcd3bce64c7b1e2c",
      "tree": "640a9017d3e59771ea2ea4990a62b913a77e1d49",
      "parents": [
        "ab014a03a06a0044106ed9ad612b11e8197c8734"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Sep 28 17:14:34 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Sep 28 17:14:34 2010 -0700"
      },
      "message": "Check for the DEVICE_POWER permission in userActivity.\n\nChange-Id: I6c8038a960bdf32dfad3b0571d86f51f87784370\n"
    },
    {
      "commit": "08cf57d791e50ecafe2728a7617a6487aeb6d6d5",
      "tree": "634a04289805b98a85dcc255860c08411180989e",
      "parents": [
        "c89dd54ceeec99173d51d1196e2c03a58f120211",
        "48058e8536f93543bf962b3af2bea985422fa868"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 28 11:21:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 11:21:27 2010 -0700"
      },
      "message": "Merge \"Fixes to granting URI permissions - take into account path perms.\" into gingerbread"
    },
    {
      "commit": "48058e8536f93543bf962b3af2bea985422fa868",
      "tree": "ac5f066742429bcc7f7ee45175eac4b3d9062bab",
      "parents": [
        "68ef7f3c3a8deb0e14b0b6325876b23cecc191b3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 27 16:53:23 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 28 11:20:21 2010 -0700"
      },
      "message": "Fixes to granting URI permissions - take into account path perms.\n\nChange-Id: I8073061a578eda90dadd3b0b909047aae0d64f2d\n"
    },
    {
      "commit": "c89dd54ceeec99173d51d1196e2c03a58f120211",
      "tree": "e783ef870248bbbea09cb40da8dc029258aba1b1",
      "parents": [
        "a16682b5e8ed635910eada23272ba6548922c02e"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 28 08:40:54 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 28 10:13:14 2010 -0700"
      },
      "message": "Remove logging on wifilock acquire/release\n\nBug: 3042300\nChange-Id: Ia3ce184f53bdd9afee1c78bb9c294af57364f266\n"
    },
    {
      "commit": "4fc3d2f0b3237390c37ccc4701bc68e4aa5f9b7a",
      "tree": "0e0527811066ffbed94cf3851c63a9d9ad2595d4",
      "parents": [
        "68ef7f3c3a8deb0e14b0b6325876b23cecc191b3"
      ],
      "author": {
        "name": "repo sync   . build/envsetup.sh   lunch passion-eng",
        "email": "clchen@google.com",
        "time": "Mon Sep 27 17:39:50 2010 -0700"
      },
      "committer": {
        "name": "repo sync   . build/envsetup.sh   lunch passion-eng",
        "email": "clchen@google.com",
        "time": "Mon Sep 27 17:46:07 2010 -0700"
      },
      "message": "DO NOT MERGE\n\nThis is a manual cherrypick of:\nChange I3a76de15: Fixing font scale in WindowManagerService. There was\na bug that causes WindowManagerService to lose the fontScale setting.\n\nChange-Id: I9b993e11f6a3e75735d8ed05596083893543d732\n"
    },
    {
      "commit": "68ef7f3c3a8deb0e14b0b6325876b23cecc191b3",
      "tree": "994adc214fa6eb5e54909e3de5d242494334b8d5",
      "parents": [
        "8d7057df401af668335c38273bc62872e4dbf538",
        "7e54ef71db3320a751571bba5259fba816399421"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Sep 27 16:25:49 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 16:25:49 2010 -0700"
      },
      "message": "Merge \"Move SipService out of SystemServer to phone process.\" into gingerbread"
    },
    {
      "commit": "23142acffab69738b967812fdbdf7bbda18a44d8",
      "tree": "0a9150293f6d2686369819734aa372729c4e0111",
      "parents": [
        "44e8ff9924db43ee2470d868ce31b1c039c99b35",
        "b91ec410c8ecd09390e7122115e2ab6b7aafefb8"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Sep 27 15:23:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 15:23:45 2010 -0700"
      },
      "message": "Merge \"squeeze a few more bits of randomness into /dev/random\" into gingerbread"
    },
    {
      "commit": "b91ec410c8ecd09390e7122115e2ab6b7aafefb8",
      "tree": "40f34c0778d8356a6725996b8e7f32a6af81fa14",
      "parents": [
        "194bbcce9ba15634500f542b9ea017b2cf154b45"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Sep 27 14:49:00 2010 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Sep 27 14:49:00 2010 -0700"
      },
      "message": "squeeze a few more bits of randomness into /dev/random\n\nChange-Id: Ida30c33985411f353c828b43ea26ca1b7e6502af\n"
    },
    {
      "commit": "7e54ef71db3320a751571bba5259fba816399421",
      "tree": "ac4c1a7d45c1406366e7f7ba02ec0b0d6117d386",
      "parents": [
        "04a426f5b50a628fb73bc29b003b0e5bece17c27"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Sep 25 22:49:59 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 28 05:19:35 2010 +0800"
      },
      "message": "Move SipService out of SystemServer to phone process.\n\nCompanion CL: https://android-git/g/#change,70187\nhttp://b/issue?id\u003d2998069\n\nChange-Id: I90923ac522ef363a4e04292f652d413c5a1526ad\n"
    },
    {
      "commit": "d8691d73d158acd9ffc63748126e822afd656707",
      "tree": "41c330928c6672392c6cb870289ed9e42028128e",
      "parents": [
        "14a288da6a372230d9af41da12241fe500eec837",
        "8313fc7e94e46e5cc09f457a15a771a325b9f74f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 27 12:42:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 12:42:34 2010 -0700"
      },
      "message": "Merge \"Allow all apps to call ContentResolver.getType().\" into gingerbread"
    },
    {
      "commit": "fccd5bc78f94b7dcfbcf78ddca83719c9cd1a74f",
      "tree": "45a5a3c1e1c844d58d63520b7ef1c3941d9ebed6",
      "parents": [
        "fd144d7667d9d050b7fb158276ae4623d4ea83b8"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 28 02:16:32 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 28 02:16:32 2010 +0800"
      },
      "message": "Fix build.\n\nChange-Id: Ie47b63f02764e8a1ca1d36f502b6b4134859ff0d\n"
    },
    {
      "commit": "025a39af346f39743c1e384b9000ce1baee36562",
      "tree": "159ecd150d8ff4343ffb079eb400728aaba67c9c",
      "parents": [
        "00a22064efef4f574e439079aae2deae1a087a31"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 23 11:35:05 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 28 01:52:42 2010 +0800"
      },
      "message": "SIP: misc fixes\n\n+ check REQUEST_TERMINATED response on INVITE not CANCEL,\n+ check if a TransactionTerminatedEvent matches the ongoing transaction,\n+ add log to track SipConnection disconnect events.\n\nChange-Id: I28325be62ac44e4a7507d3c4b5b78b066c0ea2ad\n"
    },
    {
      "commit": "00a22064efef4f574e439079aae2deae1a087a31",
      "tree": "13083f04f2bccaf3475b7f959c9d2d17d9775734",
      "parents": [
        "4e9751f0770c8bfe6f7d57465cba754af5aa942b"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Sep 25 23:21:23 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Sep 27 10:45:24 2010 -0700"
      },
      "message": "SipService: handle cross-domain authentication error\n\nand add new CROSS_DOMAIN_AUTHENTICATION error code and OUT_OF_NETWORK\nDisconnectCause.\n\nhttp://b/issue?id\u003d3020185\n\nChange-Id: Icc0a341599d5a72b7cb2d43675fbddc516544978\n"
    },
    {
      "commit": "8313fc7e94e46e5cc09f457a15a771a325b9f74f",
      "tree": "d68bf554b0d92a64cde72e58178e60d4d30b521d",
      "parents": [
        "08c09b0f84b23627b4cd02e1b9a642952fbd2e7f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 26 18:34:53 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 26 21:31:47 2010 -0700"
      },
      "message": "Allow all apps to call ContentResolver.getType().\n\nI can\u0027t find the bug number for this, but it is needed for some things\nwe are doing where the app building an intent may not have access to the\nURI in the data field.  This is for HC, but doing in GB to avoid introducing\nintegration issues.\n\nChange-Id: I0cac971854198b18775d2a73deb80f23431bfbe2\n"
    },
    {
      "commit": "9f306d78a4adae80989eecb411af454225ff55a9",
      "tree": "8cc6e5af4c5c03aafa6c8b455d224d8d95731392",
      "parents": [
        "d45a33554ca6c18ed81e45320998b9e4f4680379"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 26 11:19:47 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 26 11:19:47 2010 -0700"
      },
      "message": "Use buffered output during packages.xml write\n\nFileOutputStream writes data one byte at a time, so use the\nBufferedOutputStream to wrap it and write once all the XML serialization\nis done.\n\nChange-Id: I419a6fcac2ac9a72a6cf41d4ca6e7ab6c7505618\n"
    },
    {
      "commit": "4d94a766c3f7cf32dd3f5d543048fa801ad22813",
      "tree": "c3be1a7c71ee4a7969d079b6caaec5449b462284",
      "parents": [
        "e78fc18b339bfe2915e61aef2013a17f0a9ede33"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 23 11:33:28 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 24 16:00:25 2010 -0700"
      },
      "message": "Fixed some timeout and lock reentrance issues with broadcasts.\n\nWhen starting a broadcast, the ActivityManagerService posts a delayed\nBROADCAST_TIMEOUT_MSG to handle timeouts.  If a premature timeout occurs,\nwe post a new BROADCAST_TIMEOUT_MSG to extend the timeout time for the\ncurrent receiver.  However, if the current receiver does timeout, the\nmessage is consumed and no replacement is ever posted.\n\nTo fix the dropped timeouts, we track whether we have a pending broadcast\ntimeout message and setup a new one when we begin working on the next receiver.\n\nAs a last resort, performNextBroadcast contains code to detect whether\na broadcast appears to be hung (timeout handling failed).  If so, it\ncalls broadcastTimeout to cause it to timeout immediately.\nHowever, performNextBroadcast is holding on to the ActivityManagerService\nlock while doing this but broadcastTimout expected to be called\nwhile the lock was not held since after updating the broadcast record state,\nit calls appNotResponding.\n\nTo fix the unintentended lock reentrance, changed broadcastTimeout to\nassume the lock is already held (and the callers ensure this) then\nadded code to perform the ANR asynchronously.\n\nRenamed a few methods to add \"Locked\" suffixes where appropriate and added\na few comments for tricky areas uncovered during review.\n\nChange-Id: I3cb5b06d6b6a4a338f32c0998db721f6acf3b082\n"
    },
    {
      "commit": "a7ef18fca50d0db99a161d8c7e2d8979f0445503",
      "tree": "32d3ee6fd26528d8c55e50144b17ae16be5fe6b5",
      "parents": [
        "194bbcce9ba15634500f542b9ea017b2cf154b45",
        "f123e49bf0708719b51a7064ae134c097abe4a54"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 24 15:28:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 24 15:28:34 2010 -0700"
      },
      "message": "Merge \"Some debugging support.\" into gingerbread"
    },
    {
      "commit": "194bbcce9ba15634500f542b9ea017b2cf154b45",
      "tree": "d91fc2516d703c6d2b41178ae7e12d143128b0ac",
      "parents": [
        "52f58e96a723a56e6619c237c814a07503745de9"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 24 03:01:25 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Sep 25 06:09:00 2010 +0800"
      },
      "message": "SIP: longer timeout for making call, shorter for cancelling\n\nhttp://b/3021865\n\nChange-Id: I354ebcc00f1ac68e4b7b466745c36aeb314f9138\n"
    },
    {
      "commit": "f123e49bf0708719b51a7064ae134c097abe4a54",
      "tree": "73c218afbbede522ca5c7d70b1399cf55609ca5d",
      "parents": [
        "6d8fae722cfb2833dd542b2a5e613582a9096fc6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 24 11:16:23 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 24 13:11:55 2010 -0700"
      },
      "message": "Some debugging support.\n\n- New feature to \"am monitor\" to have it automatically launch\n  gdbserv for you when a crash/ANR happens, and tell you how to\n  run the client.\n\n- Update dumpstate to match new location of binder debug logs\n\n- Various commented out logs that are being used to track down\n  issues.\n\nChange-Id: Ia5dd0cd2df983a1fc6be697642a4590aa02a26a5\n"
    },
    {
      "commit": "8f97fe551e7bd95abf395eed303b975eaa8f0158",
      "tree": "c2e51b493755d421221a375e509f14bc659317f5",
      "parents": [
        "4318ab058629b701e225bb7ead9dd2b229c9354b",
        "8dcc28be065bb5997ed97d58c9592324b891023a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Sep 24 10:42:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 24 10:42:46 2010 -0700"
      },
      "message": "Merge \"Move long Connectivity tasks to handler thread.\" into gingerbread"
    },
    {
      "commit": "658bec956785e074edc4f6c9fe739c366e37be33",
      "tree": "744b92adc28b04e5429b6856d6bfb749b3e09fbe",
      "parents": [
        "84a357bb6a8005e1c5e924e96a8ecf310e77c47c"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 23 17:11:02 2010 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Sep 24 10:17:42 2010 +0800"
      },
      "message": "SDP: remove dead code.\n\nChange-Id: I2a5764a2b9cabc54b0ac18666e494c1cb39c4e9b\n"
    },
    {
      "commit": "84a357bb6a8005e1c5e924e96a8ecf310e77c47c",
      "tree": "7562523105a05d9ac3ca03b333c1aa70e08a3b7b",
      "parents": [
        "524a6d8e9bb4df9cec0520ac1d9733642b13e76f"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 16 04:11:32 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 24 10:06:59 2010 +0800"
      },
      "message": "Refactoring SIP classes to get ready for API review.\n\n+ replace SipAudioCall and its Listener interfaces with real implementations,\n  + remove SipAudioCallImpl.java, most of it is has become part of SipAudioCall,\n+ add SipSession and its Listener classes to wrap ISipSession and ISipSessionListener,\n+ move SipSessionState to SipSession.State,\n+ make SipManager keep context and remove the context argument from many methods of its,\n+ rename SipManager.getInstance() to newInstance(),\n+ rename constant names for action strings and extra keys to follow conventions,\n+ set thread names for debugging purpose.\n\nChange-Id: Ie1790dc0e8f49c06c7fc80d33fec0f673a9c3044\n"
    },
    {
      "commit": "cbb7b05e35368b104c27089f5f16640680f567c2",
      "tree": "8db251a8b7e45f5616d8c47fa5fadcad9d7c2f3e",
      "parents": [
        "f43ac911379c15b6a1a240a931b0f3cbfb2fae53",
        "eaa0718780a29df8fbe42c59beecee5557fdf785"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 23 16:52:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 23 16:52:28 2010 -0700"
      },
      "message": "Merge \"Crash apps when they provide bad notifications instead of crashing the system process.\" into gingerbread"
    },
    {
      "commit": "eaa0718780a29df8fbe42c59beecee5557fdf785",
      "tree": "b4caca99201bbcff4799c0f1a542ab926de5fc11",
      "parents": [
        "f9ec03c0f5fc2c6eba5bbead24c4eb314c0205be"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 23 16:49:20 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 23 16:49:20 2010 -0700"
      },
      "message": "Crash apps when they provide bad notifications instead of crashing the system process.\n\nBug: 2958415\nChange-Id: I9cbef340fb20a64eca8493950b814399c26ce197\n"
    },
    {
      "commit": "8dcc28be065bb5997ed97d58c9592324b891023a",
      "tree": "47debb7da669c8c41cfd24841533041c162d6a4a",
      "parents": [
        "49a8bbf4eacbf0bde71bab05be0ab40488df109c"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 23 10:05:56 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 23 16:43:21 2010 -0700"
      },
      "message": "Move long Connectivity tasks to handler thread.\n\nReduce ANR potential.\nbug:2942829\n\nChange-Id: I21610b462d5ab91821015cd16eecd86d2c0580d1\n"
    },
    {
      "commit": "f43ac911379c15b6a1a240a931b0f3cbfb2fae53",
      "tree": "9928ffea9030f04b27e1a67258d9973309a0057d",
      "parents": [
        "287952c35e148811c106bc0f5036eabf20f71562",
        "0b4d2fb11405e2e785ec30cabe7bb311c654c0d2"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Sep 23 16:36:18 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 23 16:36:18 2010 -0700"
      },
      "message": "Merge \"Handle OPTIONS requests from SIP servers.\" into gingerbread"
    },
    {
      "commit": "287952c35e148811c106bc0f5036eabf20f71562",
      "tree": "baf7ae1e8a086c6e14138536caa925b2a793ce69",
      "parents": [
        "f9ec03c0f5fc2c6eba5bbead24c4eb314c0205be"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 22 22:34:31 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 23 15:59:28 2010 -0700"
      },
      "message": "Fix issue #3022508: Crash during media scan\n\nDon\u0027t kill processes for excessive wake lock use, even if they\nare in the background, as long as they have running services.\n\nAlso fix some problems with this, such as not noting the kill\nin battery stats.\n\nAnd add killing of processes for cpu usage as well, along with\nsome optimizations to computing CPU usage.\n\nAnd fix BatteryWaster to be better behaving for testing these\ncases.\n\nAdd new \"monitor\" command to am to watch as the activity manager\ndoes stuff (so we can catch things at the point of ANR).\n\nFinally some miscellaneous debug output for the stuff here, as\nwell as in progress debugging of an ANR.\n\nChange-Id: Ib32f55ca50fb7486b4be4eb5e695f8f60c882cd1\n"
    },
    {
      "commit": "045398e6243fa4e83fb6435df4e8ffc6a7487a70",
      "tree": "350f47f38b2d20d8ae288ea7303e17116ff89a86",
      "parents": [
        "37cedce14bc0e68e8bf27c2cecb181728226e6ed",
        "0674069aa4fb75064d4617466cb625699c44e04d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 23 14:15:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 23 14:15:45 2010 -0700"
      },
      "message": "Merge \"Fix a deadlock I ran into.\" into gingerbread"
    },
    {
      "commit": "0b4d2fb11405e2e785ec30cabe7bb311c654c0d2",
      "tree": "ee8de4fcee755068a9c3ead8f424b3a22454c996",
      "parents": [
        "0b7d6de1559a4a78af76ab501e0a15afc396c2b9"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Sep 23 23:27:00 2010 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Sep 24 00:53:10 2010 +0800"
      },
      "message": "Handle OPTIONS requests from SIP servers.\n\nChange-Id: I849d5ea4c4c56a06d25ccdc6b959274c59c47200\n"
    },
    {
      "commit": "e87ebb08fba88628a65eae88fc5bc7911cfa7d97",
      "tree": "d4a26347541897b6c0477afebadcbe7649549c71",
      "parents": [
        "0b7d6de1559a4a78af76ab501e0a15afc396c2b9",
        "e5c3afb29241fd3faae309f973645d7f6a7ed111"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 23 08:41:21 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 23 08:41:21 2010 -0700"
      },
      "message": "Merge \"Cleanup Netd to prevent getting hung.\" into gingerbread"
    },
    {
      "commit": "0674069aa4fb75064d4617466cb625699c44e04d",
      "tree": "fa2dcbc2ffe585c4b3c88706461b43fbe447fe99",
      "parents": [
        "dd62a056b8d746c620218a68bb476382f02d8174"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 22 22:46:21 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 22 22:46:21 2010 -0700"
      },
      "message": "Fix a deadlock I ran into.\n\nActivity manager was calling into the backup service (and other\nthings) with its lock held.\n\nChange-Id: Id55093e09cc5fe81b73b85968184816d956e0ae8\n"
    },
    {
      "commit": "89647b1172cdf40a3681922150122b0bd2ea83f1",
      "tree": "02baee4ef6b06306c868eb53c3699bb9256822cd",
      "parents": [
        "8310b42fbc086b0f05fc8ef45ac34c7e099c485e"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Sep 22 17:49:16 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Sep 22 17:49:16 2010 -0700"
      },
      "message": "Don\u0027t do single byte writes in DropBoxManagerService\n\nBug: 3018772\nChange-Id: I6990041f059aeb2a4c29e59b1a3d78d19bf9b02f\n"
    },
    {
      "commit": "e5c3afb29241fd3faae309f973645d7f6a7ed111",
      "tree": "8ab1130fe1363493df7df19d938c71a12b9ecd82",
      "parents": [
        "b2044da3f9f9ad74f0dffd5ae024e558f8a9a89a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Sep 22 14:32:35 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Sep 22 16:43:23 2010 -0700"
      },
      "message": "Cleanup Netd to prevent getting hung.\n\nIf the sending of the command fails we should note it and not wait forever\nfor the response.\n\nWe should also not say we\u0027re ready until we actually are.\n\nbug:2993205\nChange-Id: I380f0312ac4693ad184a526b330fdfa23f6ac558\n"
    },
    {
      "commit": "8b61983ee81f4819319d22e05ddf473a9c64be77",
      "tree": "3e84806bdbd27b8b3532afee1f5a908165a8e142",
      "parents": [
        "4374b23d6be406710b91be746229e6c548613410"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Sep 22 16:11:59 2010 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Sep 22 16:11:59 2010 -0700"
      },
      "message": "Fix NPE in PowerManagerService on boot, if some settings are corrupted.\n\nBug: 2715038\nChange-Id: I10c08b359ff3cde732c37eb6dff0877cdb021cd9\n"
    },
    {
      "commit": "32371695daf917701f78a86224b58bfda0381e27",
      "tree": "6b45e1b73731bfa3a1f50e5bf126dcf6076aa47c",
      "parents": [
        "ca54cdaf66449cd4f81d8887ec603392b8f3779c",
        "2acfd34ccbd39258422333c9c66c586297c97683"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Sep 22 09:54:53 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 22 09:54:53 2010 -0700"
      },
      "message": "Merge \"GpsLocationProvider: Fix race condition while bringing up APN for SUPL.\" into gingerbread"
    },
    {
      "commit": "ca54cdaf66449cd4f81d8887ec603392b8f3779c",
      "tree": "53b1f2801b6f8915675589a751d1e661251f940f",
      "parents": [
        "4f294558aa23bc155988838ef153dca731efe707",
        "fc51f2c972c7a3a829f556c4c19f16c60c87d7e7"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Sep 22 09:35:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 22 09:35:35 2010 -0700"
      },
      "message": "Merge \"SipService: fix thread/socket leak\" into gingerbread"
    },
    {
      "commit": "2acfd34ccbd39258422333c9c66c586297c97683",
      "tree": "bc763f83b431bdb69f7fb068fbced751cb661664",
      "parents": [
        "dd62a056b8d746c620218a68bb476382f02d8174"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Sep 22 12:13:39 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Sep 22 12:22:26 2010 -0400"
      },
      "message": "GpsLocationProvider: Fix race condition while bringing up APN for SUPL.\n\nIf handleUpdateNetworkState() is called before\nConnectivityManager.startUsingNetworkFeature() returns, then we will not\ncall native_agps_data_conn_open() to inform the GPS that the APN is up.\nSo we now set mAGpsDataConnectionState to AGPS_DATA_CONNECTION_OPENING\nbefore calling ConnectivityManager.startUsingNetworkFeature() to avoid\nthis problem.\n\nChange-Id: I5e1597d6494dc8ab68e608911c546a7a04f2ea07\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "fc51f2c972c7a3a829f556c4c19f16c60c87d7e7",
      "tree": "6bbb492a344fb639bcbd9ca0fc0f8d783fdabc27",
      "parents": [
        "8544560ccc43de7ff49d91866f461f5572f0b147"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Sep 22 23:51:57 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 23 00:02:34 2010 +0800"
      },
      "message": "SipService: fix thread/socket leak\n\nShould call SipSessionGroup.close() instead of closeNotToReceiveCalls() to stop\nthe SIP stack (which will stop the MessageProcessor thread and close its socket).\n\nMight be related to ANR\u0027s reported by:\nhttp://b/issue?id\u003d3021924\nhttp://b/issue?id\u003d3021927\n\nChange-Id: I4ead1d81fc9abac983f5753b825d20bc1cc79866\n"
    },
    {
      "commit": "57c59376f4432bdb285acb242bd9b3bec81f6bca",
      "tree": "ea68bafcc2b79df9129ff83e2225efc808e8c6bb",
      "parents": [
        "a6dc4699222a484222d1c54d5319f302a02e406b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 18:22:55 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 18:22:55 2010 -0700"
      },
      "message": "Fix race reading input configuration during system startup.\n\nChange-Id: I9360c4ec5c29937fce06b44ffc71fca58c8b3d5f\n"
    },
    {
      "commit": "0859b764719735e4b9aea5df6051ece13e212841",
      "tree": "da697b11222755e32a9abbfadb72ef6dfa9981db",
      "parents": [
        "173ea0912af296c6e80d14b764046534b316d21f"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Sep 06 15:34:50 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 21 12:38:09 2010 -0700"
      },
      "message": "Make wifi scan async. (don\u0027t auto-merge)\n\nWhen an entity (NLP for example) acquires\na WifiLock and initiates a scan, scan can\nget blocked until driver starts.\n\nscan returns no useful info, scan results\nare broadcast when obtained.\n\nBug: 2964633\nChange-Id: Iaefc32bb6b82f0718285a18ac600e6bbbb096e77\n"
    },
    {
      "commit": "6548f395a974d2a8dcefe29b3a498d1ca87d8aef",
      "tree": "d1d97c03e18697ec890de7a94330ec3dd051003b",
      "parents": [
        "6f33b65f8033cf8644eb4ba727421b90bd4c0ae9",
        "029be81302c7a00901e0af34afc06ddabb2805ef"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Sep 21 08:06:15 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 21 08:06:15 2010 -0700"
      },
      "message": "Merge \"Inet status bug fix\" into gingerbread"
    },
    {
      "commit": "029be81302c7a00901e0af34afc06ddabb2805ef",
      "tree": "0b1fbf7acb477fab4b81715581f6d6e864ebfe5a",
      "parents": [
        "313af5a3b5ba51eb75dea35eb568c841aa4beb6a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Sep 20 18:01:43 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Sep 21 05:38:36 2010 -0700"
      },
      "message": "Inet status bug fix\n\nDon\u0027t wipe out the connected status every time we get a cellular status change.\nDon\u0027t filter out disconnect event for wifi - we need them.\n\nbug:3009923\nChange-Id: I68cadac5f44d6eb4e0fe711fda7c5d218abb45bd\n"
    },
    {
      "commit": "034093a4ae94c0363cad36c60b41d41ea59420b1",
      "tree": "8c083c80f3e371a1b4a49d0f0861a9dbb6c596b0",
      "parents": [
        "51aaab3d6ba01263c3e1d81ca0567e0ad5cddb2d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 22:24:38 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 22:24:38 2010 -0700"
      },
      "message": "Fix issue #2999757: \"Application Redirected\" dialogue showing up erratically\n\nGive up on this for now.\n\nChange-Id: Ic66a36d468f8bcb313d9bde2809124cdfd74adb3\n"
    },
    {
      "commit": "51aaab3d6ba01263c3e1d81ca0567e0ad5cddb2d",
      "tree": "f0f21c5a1cca8c61815b6563e48d9c1d74c979a6",
      "parents": [
        "708e42512a8b14202cd872d96d1f071ccb4cf915",
        "8891fdc1da12993d23c7039ee82ffc243d071ce5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 22:19:47 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 20 22:19:47 2010 -0700"
      },
      "message": "Merge \"Fix #2999258: ANR in Settings after every reboot\" into gingerbread"
    },
    {
      "commit": "313af5a3b5ba51eb75dea35eb568c841aa4beb6a",
      "tree": "4b537da2771804f5dfb032da1d1a1f87cc80e0c7",
      "parents": [
        "df59f257583730470085db65c7faf44960c3b32e",
        "4e8dfefb06227a911eb5abfcb2591d8eae5db42b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Sep 20 21:29:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 20 21:29:02 2010 -0700"
      },
      "message": "Merge \"Add Inet Condition log to bugreports\" into gingerbread"
    },
    {
      "commit": "8891fdc1da12993d23c7039ee82ffc243d071ce5",
      "tree": "3afda0fe315583d12c07b8e00bb1fd6c356ed03e",
      "parents": [
        "df59f257583730470085db65c7faf44960c3b32e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 20:44:46 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 20:52:51 2010 -0700"
      },
      "message": "Fix #2999258: ANR in Settings after every reboot\n\nThe main problem here was in the error recovery when we are waiting\nfor a process to start but it has failed for some reason.  The code\nwas just setting mPendingBroadcast to null, but this would cause\nan eventual ANR because the state was not set back to IDLE so we\nwould continue waiting for the broadcast without trying to restart\nits process.\n\nNow we set it to idle.  We also need to reset the \"nextReceiver\"\nindex, so there is a new mPendingBroadcastRecvIndex variable holding\nwhat it should be set back to.\n\nWhile digging into this, I found a number of other lesser problems:\n\n- There is a race when booting the system where we set mSystemReady\nto true before restarting the upgrade processes.  This could allow\na broadcast to happen between those two and its process to immediately\nbe removed.  To fix this, there is a new mProcessesReady that is set\nonce we are truly ready to start launching processes.\n\n- There were various places where we were calling sendBroadcastLocked()\nwithout the flag to send only to receivers...  if this is called before\nmProcessesReady is set, then we would end up sticking any process for\nthe broadcast on the holding list to not get launched until later\n(and hang up all broadcasts as they want for it).  Now we always make\nsure to set this appropriately.\n\n- sendBroadcastInPackage() was not doing all of the validation that\nsendBroadcast() does.\n\nAnd of course a bunch of new debugging logs that were done in the\ncourse of tracking this down.\n\nChange-Id: I6134bbd94fdb73db8b693507b29499eae012d543\n"
    },
    {
      "commit": "307aef01257cbba42f095f7020a4a3b753f3807b",
      "tree": "a93354e8c7a27ed579d535c197b607be6b65ab6c",
      "parents": [
        "e25a264c4e3739913798d9b7d91af5dc964b0f15",
        "e15735a9e0c0b1448b68f2d6b3247404fc1df417"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Sep 20 17:16:03 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 20 17:16:03 2010 -0700"
      },
      "message": "Merge \"LocationManager: Hide location provider and geocode provider APIs.\" into gingerbread"
    },
    {
      "commit": "e15735a9e0c0b1448b68f2d6b3247404fc1df417",
      "tree": "6fd1cf74181abfc926c730bf451af4cb6b42b49f",
      "parents": [
        "4db643eb8430d063b1adc4ba164bfa1c1281bdf3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Sep 20 17:48:47 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Sep 20 20:14:34 2010 -0400"
      },
      "message": "LocationManager: Hide location provider and geocode provider APIs.\n\nAlso rename Geocoder.isImplemented() to Geocoder.isPresent()\n\nBUG: 3000738\nBUG: 3001413\n\nChange-Id: I56bb4e9a9c59f8b79de585eeb168f74c3ff1a853\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e25a264c4e3739913798d9b7d91af5dc964b0f15",
      "tree": "571f171a47fbc0a78524a8145f2b801aca0fbd4c",
      "parents": [
        "4db643eb8430d063b1adc4ba164bfa1c1281bdf3",
        "c8314b05b4f283873e65df9209f3426a201ca6ad"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 17:03:15 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 20 17:03:15 2010 -0700"
      },
      "message": "Merge \"DO NOT MERGE.  Wifi service now blames apps for its wake lock use.\" into gingerbread"
    },
    {
      "commit": "c8314b05b4f283873e65df9209f3426a201ca6ad",
      "tree": "e3de77e0a1a2aa028aa45df63a016c5626432c22",
      "parents": [
        "4258bfb7a9fb18907fbfbe79ec0a937b4e7382b1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 11:34:11 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 16:58:41 2010 -0700"
      },
      "message": "DO NOT MERGE.  Wifi service now blames apps for its wake lock use.\n\nChange-Id: Ic57d8f77527bbfea6a129b8f348fe9108157b4d8\n"
    },
    {
      "commit": "4db643eb8430d063b1adc4ba164bfa1c1281bdf3",
      "tree": "09d806c356f8d849f37d721d8c1325992b79af64",
      "parents": [
        "a4270e7e1e09bf5f60c65102d34e887033c5befa",
        "3b4bac7a2a940483c81a6bfda21039e02e62157d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 16:54:22 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 20 16:54:22 2010 -0700"
      },
      "message": "Merge \"In theory the package manager now scans /vendor/app\" into gingerbread"
    },
    {
      "commit": "3b4bac7a2a940483c81a6bfda21039e02e62157d",
      "tree": "dfcd7a3d73cadb1451bb2f055061a098f146b0bf",
      "parents": [
        "8544560ccc43de7ff49d91866f461f5572f0b147"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 11:37:52 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 16:35:22 2010 -0700"
      },
      "message": "In theory the package manager now scans /vendor/app\n\nNot tested.\n\nChange-Id: Ib6120d645074c95dd0afd1476f6167aec5d50bb9\n"
    },
    {
      "commit": "ce2ef766cad1bb186ea522f76c4ac6a8bb3dfa87",
      "tree": "f5dbb6108677072a90fb8e1391a5e90c0ffa7e91",
      "parents": [
        "8544560ccc43de7ff49d91866f461f5572f0b147"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 11:39:14 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 20 16:25:01 2010 -0700"
      },
      "message": "Some battery improvements:\n\n- New API for iterating over history that will allow a better implementation\n  in the future.\n- Now do writes asynchronously.\n\nAlso improve the documentation for Activity.onRetainNonInstanceState().\n\nChange-Id: Idf67f2796a8868eb62f288bcbb2bad29876c8554\n"
    },
    {
      "commit": "4e8dfefb06227a911eb5abfcb2591d8eae5db42b",
      "tree": "db01958d6de27ccb9b118b9906e1999c975076b9",
      "parents": [
        "8544560ccc43de7ff49d91866f461f5572f0b147"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Sep 20 14:35:25 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Sep 20 16:00:44 2010 -0700"
      },
      "message": "Add Inet Condition log to bugreports\n\nReports who reports what condition on which network at what time.  Where is implied.\n\nChange-Id: I89fbc7323dec438041859fcc934169fa325f0133\n"
    },
    {
      "commit": "b17eae9e227475a323f61519abc8a7d35ddf8828",
      "tree": "13a4b80f48846318e86026c77af670237b1b90e9",
      "parents": [
        "97963794af1e18674dd111e3ad344d90b16c922c"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sun Sep 19 00:26:38 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Sep 20 10:10:34 2010 +0800"
      },
      "message": "SipService: move event handling out of system server\u0027s main thread\n\nhttp://b/issue?id\u003d2998047\n\nChange-Id: Ibe0b6a19bb8b453fa852a94b3daf3cb80d7377b0\n"
    },
    {
      "commit": "97963794af1e18674dd111e3ad344d90b16c922c",
      "tree": "837c389d57da8ef0a39b2e480bd4f641a2f37ffb",
      "parents": [
        "5b930c49b12bdb1461a18491db768c642c38d498"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 17 16:58:51 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Sep 20 09:51:31 2010 +0800"
      },
      "message": "SIP: convert enum to static final int.\n\nConverts SipErrorCode and SipSessionState.\n\nChange-Id: Iee3a465649ea89d395b2336bbd673c25113e5f93\n"
    },
    {
      "commit": "5b930c49b12bdb1461a18491db768c642c38d498",
      "tree": "d01ccf46fd0af323cf667053cd611423802229a7",
      "parents": [
        "ba56dfce7c751081f2289aa33533dcf4822dc12b",
        "c4b87477c076d61062950becc132b7483e3fb198"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sun Sep 19 18:02:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 19 18:02:13 2010 -0700"
      },
      "message": "Merge \"SIP: add config flag for wifi-only configuration.\" into gingerbread"
    },
    {
      "commit": "c4b87477c076d61062950becc132b7483e3fb198",
      "tree": "6156a33ef82110be8bd9e75bf47345b897d5e70c",
      "parents": [
        "1d1583573d2099756bbbeef48d97c280edc393e0"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sun Sep 19 18:23:44 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Sep 20 08:03:20 2010 +0800"
      },
      "message": "SIP: add config flag for wifi-only configuration.\n\nhttp://b/issue?id\u003d2994029\n\nChange-Id: I328da9b0f8b70d660dbcefffdac8250341792101\n"
    },
    {
      "commit": "ba56dfce7c751081f2289aa33533dcf4822dc12b",
      "tree": "7cd0ebfcf41be8bda16bb36c511c77603c5e5ea2",
      "parents": [
        "4258bfb7a9fb18907fbfbe79ec0a937b4e7382b1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Aug 23 08:58:53 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Sep 19 14:04:38 2010 -0400"
      },
      "message": "DO NOT MERGE Tethering: Delay 1000ms before processing USB disconnect events\n\nThis change is already in master\n\nOn some devices, switching the USB configuration to enable RNDIS can\nresult in multiple USB disconnect/reconnect events being generated.\n\nChange-Id: I14b02aaca11bb708f6b3334e41a2f4d4fa7b7296\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "58e0eefeb5e2e270e2b04369bbf29fc22abda8d5",
      "tree": "b4ac8f5dd31ceb5ee39590c56a95a77c79b3059b",
      "parents": [
        "0741a5ed38757ef2f6b52945ad494d965b3b83de"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 16 01:22:10 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 17 15:14:57 2010 -0700"
      },
      "message": "Improve power tracking of WIFI use.\n\nWe now distribute \"wifi started\" time across all apps that are\nholding WIFI locks that cause it to be started.  But only when\nWIFI would not normally be running.  Also have a mechanism to\ndistribute other WIFI work that has happened across those processes\nbased on their use.\n\nAlso fixed a bug where we were not retaining the CPU speed step\nstats across boots...!\n\nChange-Id: I00e3153b98429166273750512cc37e7975211ab9\n"
    },
    {
      "commit": "9352cf1a4d46492fc48a20f7d825a9bcb6e8b365",
      "tree": "e3831a9433892110570f4a7c1a1e11bcabc39465",
      "parents": [
        "c7510581b81d63536db7d46ca8533106c8cf57c6"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 16 20:14:18 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 17 13:31:05 2010 +0800"
      },
      "message": "Add timer to SIP session creation process.\n\n+ add timer parameter to ISipSession.make/changeCall(),\n+ add timer paramter to SipAudioCall.make/answer/hold/continueCall()\u0027s,\n+ add timer parameter to SipManager.makeAudioCall(),\n+ modify implementation in SipSessionGroup, SipAudioCallImpl accordingly,\n+ make SipPhone to use it with 8-second timeout.\n\nhttp://b/issue?id\u003d2994748\n\nChange-Id: I661a887e5810087ddc5e2318335e2fa427f80ec6\n"
    },
    {
      "commit": "c7510581b81d63536db7d46ca8533106c8cf57c6",
      "tree": "d6db7ba7eefd854c0be421ef8ad804d2a6a420e4",
      "parents": [
        "d8f3d167353f6c6f6c5cb7a4c8e941c03b8e9511"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 16 05:45:19 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 16 19:45:20 2010 +0800"
      },
      "message": "SipService: add log control, suppress ping log.\n\nChange-Id: I78332ddee1272be41b1fbc80c603e41200c6be1a\n"
    },
    {
      "commit": "0e0633828928481658c0e09e5893f6214b57ba38",
      "tree": "0dec239ed2bbb74eb82354d960dcfa5e96d48c5b",
      "parents": [
        "07980dc8a723c6a26003c1ebe74372a2b4fa6777"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Sep 16 12:32:26 2010 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Sep 16 12:32:26 2010 +0800"
      },
      "message": "Fix the unhandled authentication message.\n\nbug id: http://b/2991911\n\nChange-Id: Iec86e3aee0fb12034ee25bc0e93fd575c1208a5f\n"
    },
    {
      "commit": "f4d788c9309bc5480100d980608472e4cb04f309",
      "tree": "9788b033de37af1570d63497986d2e953ccd164a",
      "parents": [
        "747c61535281b4d2958e293e83245a19ba58f6a0",
        "519e024d1e682ca458cc2dab743589a12992c0e1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 18:55:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 15 18:55:25 2010 -0700"
      },
      "message": "Merge \"Make input dispatcher only ANR for foreground windows.\" into gingerbread"
    }
  ],
  "next": "519e024d1e682ca458cc2dab743589a12992c0e1"
}
