)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "519e024d1e682ca458cc2dab743589a12992c0e1",
      "tree": "1dfdac05031e352b7404a07f347b0444c70bc95b",
      "parents": [
        "3fd5fa4ca9dbdd5be46ec2952c7038cdd59e35d5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 15:18:56 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 18:52:08 2010 -0700"
      },
      "message": "Make input dispatcher only ANR for foreground windows.\n\nRedesigned the input dispatcher\u0027s ANR timeout mechanism so it is much\ncloser to Froyo\u0027s policy.  ANR is only ever signalled if the dispatcher\nis waiting on a window to finish processing its previous event(s) and\nthere is new pending input.\n\nIn the old code, we tracked the dispatch timeout separately for each\ninput channel.  This was somewhat complicated and also resulted in the\nsituation where applications could ANR long after the user had pushed\nthem into the background.\n\nChange-Id: I666ecada0952d4b95f1d67b9f733842b745c7f4b\n"
    },
    {
      "commit": "134b28a7f049719cb74fd5baadbbcc5915bc861b",
      "tree": "d53c72098eafb29f8d520cc0c44520a358c97d80",
      "parents": [
        "b8dbdc293a8495a873a9c36353d6a9408c698256",
        "1e9aac2bd855f12708d3049eff4435fa4a2f4317"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Sep 15 17:59:54 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 15 17:59:54 2010 -0700"
      },
      "message": "Merge \"Update Inet Connection Status display\" into gingerbread"
    },
    {
      "commit": "1e9aac2bd855f12708d3049eff4435fa4a2f4317",
      "tree": "b03fe366c106053c936a9ccbc442706a39b382bf",
      "parents": [
        "94126238427f04ecb86fe6832113afb2f04e89b5"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Sep 15 17:36:33 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Sep 15 17:54:17 2010 -0700"
      },
      "message": "Update Inet Connection Status display\n\nCellular signal strength should also be green - these assets aren\u0027t, but\nthe art guys are working on that.\n\nAlso using a new intent so we don\u0027t overload the CONNECTIVITY_ACTION and\nconfuse the apps.\nbug:2994024\n\nChange-Id: I6fe8f65dd6e9869d9724064c4fae45340491a4d8\n"
    },
    {
      "commit": "5306e0a85dabd4c18a7b3f81acc0f582f9429482",
      "tree": "3275e3c6c9eb2701083ebaef645d52fd950befab",
      "parents": [
        "096df8197b9133703d2ed0abb69813db0c8b4129",
        "ae076d3981fda732d54b6c6e37e5659b2e7ba130"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 14 23:10:03 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 23:10:03 2010 -0700"
      },
      "message": "Merge \"SIP: add PEER_NOT_REACHABLE error feedback.\" into gingerbread"
    },
    {
      "commit": "096df8197b9133703d2ed0abb69813db0c8b4129",
      "tree": "4a57bdf40998eef7040fde3cd4a7dea681658c5d",
      "parents": [
        "cee0b97eed0a460e2da58500e24d3e4dac5cb9f6",
        "88203cb111cd9605edcdedb402f8f2a96f8f01e1"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 14 23:09:26 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 23:09:26 2010 -0700"
      },
      "message": "Merge \"SipService: send SERVER_ERROR if server doesn\u0027t provide nonce\" into gingerbread"
    },
    {
      "commit": "ae076d3981fda732d54b6c6e37e5659b2e7ba130",
      "tree": "0be4664793a64e1e90ef9e6b639a84cd3aab0b8f",
      "parents": [
        "88203cb111cd9605edcdedb402f8f2a96f8f01e1"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Sep 15 11:23:22 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Sep 15 11:30:45 2010 +0800"
      },
      "message": "SIP: add PEER_NOT_REACHABLE error feedback.\n\nhttp://b/issue?id\u003d3002033\n\nChange-Id: Ib64b08919d214acbab89945ac19dc113a68e62ad\n"
    },
    {
      "commit": "cee0b97eed0a460e2da58500e24d3e4dac5cb9f6",
      "tree": "5018fe3d5af56fd6e88b6807fa436948c0327af4",
      "parents": [
        "536ee090ef75add0f7244c1c22be83fe03a66010",
        "aa48540222ef11115b29b8d7f2b7bd1ece772418"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 14 18:02:39 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 18:02:39 2010 -0700"
      },
      "message": "Merge \"Free AssetManager weak refs before unmounting\" into gingerbread"
    },
    {
      "commit": "536ee090ef75add0f7244c1c22be83fe03a66010",
      "tree": "4167c39059b67364d360f11ef193dfbd13dd447c",
      "parents": [
        "5bade703fd8434ba4cd5c9d1e8e1dc0f383b32b5",
        "0de8ddb0cfd65968387b51fb0d4f505b81d8b0a2"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Sep 14 17:46:22 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 17:46:22 2010 -0700"
      },
      "message": "Merge \"Fix name shadowing bug with revoking URI permissions.\" into gingerbread"
    },
    {
      "commit": "0de8ddb0cfd65968387b51fb0d4f505b81d8b0a2",
      "tree": "cb535dfbbe723e987c262639fac407bc7f32f470",
      "parents": [
        "bd2e9ec64d9a292a1309504c6c5fe33e1bc2333a"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Sep 14 16:29:26 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Sep 14 16:29:26 2010 -0700"
      },
      "message": "Fix name shadowing bug with revoking URI permissions.\n\nChange-Id: Ibfcb0dc73c6b1a111dbb8d56e6f0b78084f5e4e6\n"
    },
    {
      "commit": "aa48540222ef11115b29b8d7f2b7bd1ece772418",
      "tree": "985a28185e02c467f4685798c65653ac1cd69839",
      "parents": [
        "e7b92d7b53343119173558302ecfb3986ae0fbd6"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 14 14:49:41 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 14 14:49:41 2010 -0700"
      },
      "message": "Free AssetManager weak refs before unmounting\n\nAssetManagers are kept in WeakReference pools so there\u0027s a change\nanother thread in the system_server has opened a file on the external\ncard. Attempt to force a garbage collection to free these references\neach time we\u0027re about to unmount a volume on the external storage.\n\nChange-Id: I6e816e8c67b179887e488dc6758b43bcdd5914fb\n"
    },
    {
      "commit": "1188f5e76cfcd512c4e2fae00ac0bfba3150bd7b",
      "tree": "2d84dc9a0565e57211319df72b93157d2efff34d",
      "parents": [
        "b92788aa040d0971b4e54589aef7675f34d96e5d",
        "70be1673abf6334d2caf60fdc0504088b0e0859c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 14 12:28:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 12:28:08 2010 -0700"
      },
      "message": "Merge \"Fix problem where power manager was calling battery stats with bad wl type.\" into gingerbread"
    },
    {
      "commit": "88203cb111cd9605edcdedb402f8f2a96f8f01e1",
      "tree": "f3405371e35b7cc60843dda140717e9970c6e4c0",
      "parents": [
        "89a7180a242043a0b4d6695bf386c93365bf6797"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Sep 15 03:00:19 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Sep 15 03:00:19 2010 +0800"
      },
      "message": "SipService: send SERVER_ERROR if server doesn\u0027t provide nonce\n\nin authentication response.\n\nChange-Id: I93e8c0d6754399ca2f382033085e40fc4c6ccb19\n"
    },
    {
      "commit": "96d6c3454c3550486a2efa25ca0c83732b5e2eaf",
      "tree": "f186ee895ddae8c535ed6f1074d58e3bb595213b",
      "parents": [
        "fb85bc66c467be96fe8420338321df6f15359d7d",
        "50d66f9fcdac84b2af65a82be56728f54b1a7ef0"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Sep 14 11:37:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 11:37:13 2010 -0700"
      },
      "message": "Merge \"Unify some duplicate StrictMode-enabling code.\" into gingerbread"
    },
    {
      "commit": "fb85bc66c467be96fe8420338321df6f15359d7d",
      "tree": "c79a2289466e967751b1525163c609d033ba4a50",
      "parents": [
        "52e19d5917b8f057131c1dc8b3eb772febd791d9",
        "194b19a4b3ff877d2720ed35e607e329fcfa8186"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Sep 14 11:37:05 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 11:37:05 2010 -0700"
      },
      "message": "Merge \"Add missing wallpaper service lock.\" into gingerbread"
    },
    {
      "commit": "194b19a4b3ff877d2720ed35e607e329fcfa8186",
      "tree": "52249141dc3e6913b1227cdcb7307034bd6946e6",
      "parents": [
        "13f6270eb14b409709c936b828e2a2fd40e427c4"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Sep 14 11:30:29 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Sep 14 11:30:29 2010 -0700"
      },
      "message": "Add missing wallpaper service lock.\n\nUnimportant, but found while reading the code for other reasons.\n\nChange-Id: I9f2fad3ff5d081aef7a35e5f33ec5de7dc92195e\n"
    },
    {
      "commit": "70be1673abf6334d2caf60fdc0504088b0e0859c",
      "tree": "9add2a9aadf5a58d872c0e81ed9c370fd5c9fe59",
      "parents": [
        "a224f70b1efc29d9698da5b5c143251a43838f2b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 14 11:13:03 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 14 11:13:03 2010 -0700"
      },
      "message": "Fix problem where power manager was calling battery stats with bad wl type.\n\nAlso fiddle code to reduce duplication.\n\nChange-Id: I3f1b086e53ef88dac1ec1896fe711b3cfe7fdd58\n"
    },
    {
      "commit": "89a7180a242043a0b4d6695bf386c93365bf6797",
      "tree": "255ce07123504e4b81320880ab069467f922012c",
      "parents": [
        "e71396cf4704ee9e26f510b511c1e793d8048d83",
        "12bec5ddf58ad3a69728810480e6194c806567d6"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 14 09:57:47 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 09:57:47 2010 -0700"
      },
      "message": "Merge \"SipService: ignore connect event for non-active networks.\" into gingerbread"
    },
    {
      "commit": "12bec5ddf58ad3a69728810480e6194c806567d6",
      "tree": "31434b9f5ba4004382c7543cb679d2967794b66d",
      "parents": [
        "13f6270eb14b409709c936b828e2a2fd40e427c4"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 14 19:33:10 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Sep 15 00:49:02 2010 +0800"
      },
      "message": "SipService: ignore connect event for non-active networks.\n\n+ sanity check and remove redundant code.\n\nChange-Id: I4d3e226851ad7fc4d88ddcd0a5c58f7e33b6c14a\n"
    },
    {
      "commit": "3043441511e4483d24dc6f42e1ee7f7e9dc71be2",
      "tree": "7c056e5613acd24849e01dbccc332370b77f252a",
      "parents": [
        "13f6270eb14b409709c936b828e2a2fd40e427c4",
        "7d794fbd305d9954a93136af7d54654e05f2508f"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 14 09:29:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 09:29:48 2010 -0700"
      },
      "message": "Merge \"Dedupe timestamp in PackageSettings\" into gingerbread"
    },
    {
      "commit": "50d66f9fcdac84b2af65a82be56728f54b1a7ef0",
      "tree": "ff058166b5bfb1888f40d01dd5927f8c60542bce",
      "parents": [
        "13f6270eb14b409709c936b828e2a2fd40e427c4"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Sep 13 21:29:05 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Sep 14 08:22:30 2010 -0700"
      },
      "message": "Unify some duplicate StrictMode-enabling code.\n\nChange-Id: Ifb92f35d9e245dbdb5e201597d8be702bce9e8b8\n"
    },
    {
      "commit": "99bf4e45c4566172189735b34b368b76660ca57a",
      "tree": "3a6e4f484b97ca0839d496b44dc8446971c41bf1",
      "parents": [
        "5dde95b8fe0fea1a115a68f8acf826371da89da7"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 14 20:12:59 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 14 20:29:02 2010 +0800"
      },
      "message": "SIP: remove dependency on javax.sip\n\nand change errorCodeString to errorCode in\nSipRegistrationListener.onRegistrationFailed().\n\nChange-Id: Id9618f5a4b0effaed04f8b0dc60347499d9e4501\n"
    },
    {
      "commit": "7d137e40cd36290c6bfb5beaf66f4018ae92c97f",
      "tree": "91f5e415016d5e7c1162d464a8765ed5e7f09ca5",
      "parents": [
        "4565933f03a99750a333e97e95408c404984510f"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Sep 14 14:01:13 2010 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Sep 14 14:17:02 2010 +0800"
      },
      "message": "Fix the bug of authentication in an outgoing call.\n\nSince we missed the check of another challenge header in the\nproxy authentication response.\n\nChange-Id: Ie5b9d22c6c55b4d65619d2194c88845e7dd59f15\n"
    },
    {
      "commit": "4565933f03a99750a333e97e95408c404984510f",
      "tree": "d4cd52828ab787553a1e604cc533fba6f8baf492",
      "parents": [
        "5251c800c93c6f6fd473475c36b8ab3b360c1e4d",
        "d231aa880ab006d51ffe03454c1fc082f1c97bb8"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Sep 13 19:53:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 13 19:53:58 2010 -0700"
      },
      "message": "Merge \"SipService: deliver connectivity change to all sessions.\" into gingerbread"
    },
    {
      "commit": "d231aa880ab006d51ffe03454c1fc082f1c97bb8",
      "tree": "4b1c1b33c96e8d475879d76e3e81d79d27fc3b98",
      "parents": [
        "3d7606aa607b24817e37c264f2141ed7b2d50be0"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 14 00:17:51 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 14 08:00:09 2010 +0800"
      },
      "message": "SipService: deliver connectivity change to all sessions.\n\n+ add DATA_CONNECTION_LOST to SipErrorCode\n+ convert it to Connection.DisconnectCause.LOST_SIGNAL in SipPhone\n\nhttp://b/issue?id\u003d2992548\n\nChange-Id: Ie8983c1b81077b21f46304cf60b8e61df1ffd241\n"
    },
    {
      "commit": "8c5755aab5bac94a15e923d07c423629737fa6a2",
      "tree": "761cae7cc71416c8ca08ed9139e93f8b43f683c4",
      "parents": [
        "7e9f4eb2608148436cef36c9969bf8a599b39e72"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 13 16:58:59 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 13 16:58:59 2010 -0700"
      },
      "message": "Work on issue #2991868: A toast pops up informing users...\n\n...that Market took over the screen after signing into a Google account\n\nDon\u0027t warn the user about a new activity coming up on an activity that\nis finishing.\n\nChange-Id: I573073139d42a485473d0c8a7df450c1a23c35c3\n"
    },
    {
      "commit": "7d794fbd305d9954a93136af7d54654e05f2508f",
      "tree": "ebd5c72a7f8db1de1d1efd53c870417e780d7b93",
      "parents": [
        "bd2e9ec64d9a292a1309504c6c5fe33e1bc2333a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Sep 13 16:29:49 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Sep 13 16:34:05 2010 -0700"
      },
      "message": "Dedupe timestamp in PackageSettings\n\nTimestamp data was duplicated making the management of timestamp\nunnecessarily complicated.\n\nChange-Id: Ia13be6ee9809a314232453e8627a54f9c9d8374d\n"
    },
    {
      "commit": "7e9f4eb2608148436cef36c9969bf8a599b39e72",
      "tree": "16351bff3017f948792a6308f4f6698e0a9d769c",
      "parents": [
        "cc5494c9996f809e36539b24e8b6b67683383d29"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 10 18:43:00 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 13 14:20:48 2010 -0700"
      },
      "message": "Track client requests through location manager.\n\nThis fixes a problem where applications could ask the location\nmanager to do very heavy-weight things (like...  say... update\nlocation every minute), which would get accounted against the\nsystem instead of the application because ultimately it is the\nsystem making the heavy calls (wake locks, etc).\n\nTo solve this, we introduce a new class WorkSource representing\nthe source of some work.  Wake locks and Wifi locks allow you\nto set the source to use (but only if you are system code and thus\ncan get the permission to do so), which is what will be reported\nto the battery stats until the actual caller.\n\nFor the initial implementation, the location manager keeps track\nof all clients requesting periodic updates, and tells its providers\nabout them as a WorkSource param when setting their min update time.\nThe network location provider uses this to set the source on the\nwake and wifi locks it acquires, when doing work because of the\nupdate period.\n\nThis should also be used elsewhere, such as in the GPS provider,\nbut this is a good start.\n\nChange-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf\n"
    },
    {
      "commit": "3d7606aa607b24817e37c264f2141ed7b2d50be0",
      "tree": "2819b037501a73e477a9aea58753149ac5a926fd",
      "parents": [
        "25b52a2f97df112c2836972d0b6d9a4c7a9c4a4e"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sun Sep 12 23:50:38 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Sep 13 17:45:39 2010 +0800"
      },
      "message": "SIP: enhance timeout and registration status feedback.\n\nhttp://b/issue?id\u003d2984419\nhttp://b/issue?id\u003d2991065\n\nChange-Id: I2d3b1dd3a70079ff347f7256f4684aea07847f4e\n"
    },
    {
      "commit": "07a9e8d39f818e54f0feccff10c99b9629007a64",
      "tree": "cb3631bc06d340bfb166232e847aff74d08b6ed3",
      "parents": [
        "692065128e66de77470de2c50ead2bef0452952a",
        "8f7cc02c7c4bd542376648dbd54be3ceb8521f73"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 12 17:59:41 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 12 17:59:41 2010 -0700"
      },
      "message": "Merge changes Ie3648509,I53db73c3 into gingerbread\n\n* changes:\n  Move native library removal function to helper\n  Initialize native library path in PackageSetting\n"
    },
    {
      "commit": "b88102f5b7e51552a3576cf197b4c8cf96f193d1",
      "tree": "c714dce33893a048f42a36e78b25dc0bc971b1c3",
      "parents": [
        "11fe181e16501103d7c0f70344661ea2ef5d3df9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 11:49:43 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 16:52:03 2010 -0700"
      },
      "message": "Input dispatcher ANR handling enhancements.\n\nThis change is essentially a rewrite of the main input dispatcher loop\nwith the target identification folded in.  Since the input dispatcher now\nhas all of the window state, it can make better decisions about\nwhen to ANR.\n\nAdded a .5 second deadline for processing app switch keys.  This behavior\npredates Gingerbread but had not previously been ported.\n\nFixed some timing inaccuracies in the ANR accounting that could cause\napplications to ANR sooner than they should have.\n\nAdded a mechanism for tracking key and motion events that have been\ndispatched to a window so that appropriate cancelation events can be\nsynthesized when recovering from ANR.  This change helps to keep\napplications in sync so they don\u0027t end up with stuck buttons upon\nrecovery from ANRs.\n\nAdded more comments to describe the tricky parts of PollLoop.\n\nChange-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1\n"
    },
    {
      "commit": "8f7cc02c7c4bd542376648dbd54be3ceb8521f73",
      "tree": "8e53b10d1d24a3cd288e8a40822337b77f4a062c",
      "parents": [
        "806cc13a08f04a69ded4df0ae1557c19816843a8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 12 09:04:56 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 12 09:04:56 2010 -0700"
      },
      "message": "Move native library removal function to helper\n\nMoves the remoteNativeLibrariesLI call to NativeLibraryHelper to prepare\nfor being able to symlink the /data/data/\u003cpackage\u003e/lib dir to the ASEC\ncontainer.\n\nChange-Id: Ie3648509c6b6293a8d9bdd815610ab408df5047f\n"
    },
    {
      "commit": "806cc13a08f04a69ded4df0ae1557c19816843a8",
      "tree": "a7007b17e7802a4b86b803d10c9beb52d818ea03",
      "parents": [
        "9a3ce10c6cafa4a2528ce9f3fdb6163acf5eb7b2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 12 08:34:19 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 12 09:04:48 2010 -0700"
      },
      "message": "Initialize native library path in PackageSetting\n\nDuring boot-up we weren\u0027t paying attention to the nativeLibraryPath that\nwas read from the package settings XML file which reset the path to the\ndefault /data/data/\u003cpackage\u003e/lib directory.\n\nThis adds nativeLibraryPath as an argument to the PackageSettings\nconstructor and related functions that will pull that value in from the\nsettings file.\n\nIt also removes the call to nativeLibraryDir.mkdir() which installd does\nby itself.\n\nChange-Id: I53db73c3b1bc90997a4a73f7f2fbaee125e6f67e\n"
    },
    {
      "commit": "1e02d36b0f1dc833cf8a837c7619fbe6478694c8",
      "tree": "e364db25610607edd63a0289df87ea2c7d67c1f3",
      "parents": [
        "219eb7ec8403ef9b98125f2b58cc27669ae69712"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Sep 10 09:19:50 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Sep 10 09:19:50 2010 -0700"
      },
      "message": "Enable strictmode logging in system_server \u0026 add a lock.\n\nWe weren\u0027t logging strictmode violation in the system_server process\nin non-user builds (only system apps), even though the rest of the\nstrictmode logging supports it.\n\nAlso add a missing lock in ActivityManagerService.\n\nChange-Id: If2af96a7e4fdde604a647b836097f0029ef1334b\n"
    },
    {
      "commit": "ca3c24db3ae4b7a513f1ca76b1e7a3f56a020680",
      "tree": "1d9b25f6d8ac1565f5140812b0effeec78ab42ee",
      "parents": [
        "506d724cc356a7ba73995ef2929c65062277c83d",
        "903e1031605d715e904811b0dd06cc6a518f0048"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 10 02:19:22 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 10 02:19:22 2010 -0700"
      },
      "message": "Merge \"SIP: add SipErrorCode for error feedback.\" into gingerbread"
    },
    {
      "commit": "903e1031605d715e904811b0dd06cc6a518f0048",
      "tree": "410e5f2d1152cb9579f51598f04b705ecd420f31",
      "parents": [
        "a71d69947d4a74730b17021b4c809d054d66c741"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 09 20:07:14 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 10 17:15:06 2010 +0800"
      },
      "message": "SIP: add SipErrorCode for error feedback.\n\nChange-Id: I8b071d4933479b780a403d0bfa30511f4c23ca8f\n"
    },
    {
      "commit": "a7d868d4f99dfaf85e13498210aecf1ad8efd859",
      "tree": "5a92cc100ef554d4cd683221b84e1716df703deb",
      "parents": [
        "7f07f842c9c375648b52de5d8a84c080e9394d71",
        "0dad364adb9e9cbc2f7fa115602552f4897387ad"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 09 21:31:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 09 21:31:34 2010 -0700"
      },
      "message": "Merge \"Add toast when an app intercepts the launch of another app.\" into gingerbread"
    },
    {
      "commit": "0dad364adb9e9cbc2f7fa115602552f4897387ad",
      "tree": "2f7d9825ab2261d3349250b4d09c94acc005f035",
      "parents": [
        "ee455f5a9572bc0d23c3328f6c22da91dc109a50"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 09 21:25:35 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 09 21:25:35 2010 -0700"
      },
      "message": "Add toast when an app intercepts the launch of another app.\n\nThe activity manager looks for cases where one app launches immediately\nafter another.  If this happens, a brief toast is shown telling the user\nwhen app is actually running and what was originally starting.\n\nChange-Id: If94cf5bd393dd0bc0f09789dae044fde1386c481\n"
    },
    {
      "commit": "8d578836dc4f9fb41532b8b3dd7a6b168d6f4f9d",
      "tree": "0b1d4c4c5f51e723f9139244d9ac05d0a77fa847",
      "parents": [
        "76e4fa19264793e3ed7e2ee7afccfc808a1a7458"
      ],
      "author": {
        "name": "Rich Cannings",
        "email": "richc@google.com",
        "time": "Thu Sep 09 15:12:40 2010 -0700"
      },
      "committer": {
        "name": "Rich Cannings",
        "email": "richc@google.com",
        "time": "Thu Sep 09 16:28:48 2010 -0700"
      },
      "message": "Remove the use of FileInputStream.available()\n\nBug: 2976294\nChange-Id: I34b13cedbf1d2338163ef74454817c318a3a24f5\n"
    },
    {
      "commit": "76e4fa19264793e3ed7e2ee7afccfc808a1a7458",
      "tree": "41b8715b16752fda312c074e7c335e0df26624e0",
      "parents": [
        "47fa8e800ca3ce56733f7b3a54bace86ad37a1f4",
        "2117f6fa3880e55e6a90fbd8b3a12d469c9b738b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 09 14:02:19 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 09 14:02:19 2010 -0700"
      },
      "message": "Merge \"Only pulse notification light if a new notification has been received since the screen was last turned off\" into gingerbread"
    },
    {
      "commit": "0727a865d83b944c2fecc0bf1228a36976fe5300",
      "tree": "10f6c738a653b4a5be5c744a6f956d91199ef94a",
      "parents": [
        "f6936a3a52b6bb6de27f75d4e38d116e896b7f4d",
        "d7085fcf6567452a9d6fc69b0c6b1bf556f4c1b9"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 09 09:41:05 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 09 09:41:05 2010 -0700"
      },
      "message": "Merge \"Add network condition reporting.\" into gingerbread"
    },
    {
      "commit": "d7085fcf6567452a9d6fc69b0c6b1bf556f4c1b9",
      "tree": "0a659201bb5520ba870fc16535165df616421803",
      "parents": [
        "65634a7935ed6f173179e7ac91a05288693b2bbf"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Sep 08 15:24:47 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 09 09:33:02 2010 -0700"
      },
      "message": "Add network condition reporting.\n\nApps can report if they like their connection to the nets\nand we display either not-really-connected or fully-connected\nicons.  Final icons TBD.\n\nbug:2978624\nChange-Id: I28be52085edfe54571c0d4559aba0df883548654\n"
    },
    {
      "commit": "2117f6fa3880e55e6a90fbd8b3a12d469c9b738b",
      "tree": "7b7a054ea3306a8b93a7354e3b995a453c7df152",
      "parents": [
        "f6936a3a52b6bb6de27f75d4e38d116e896b7f4d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 09 09:48:08 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 09 09:48:08 2010 -0400"
      },
      "message": "Only pulse notification light if a new notification has been received since the screen was last turned off\n\nBUG: 2980248\n\nChange-Id: I4dca527a191fae4ad87eeff8ad32594fd6aeb417\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "4d1e0121277b566b5e1c22e790a3b607b75d945d",
      "tree": "b0a9d91b9f51025f58ef91268c9887bfd3907300",
      "parents": [
        "edbb8083a815e9d911f8e659fc5c293543fdf502"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Sep 09 13:27:10 2010 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Sep 09 13:27:10 2010 +0800"
      },
      "message": "Change the keep-alive interval to 10 seconds.\n\nChange-Id: I216cee622f57ee18533de3960d4da1a41e01f1ae\n"
    },
    {
      "commit": "65634a7935ed6f173179e7ac91a05288693b2bbf",
      "tree": "2b365855f611d0113cf7bc0d164c9e65bd584874",
      "parents": [
        "d9c80ab31ac3755141765e2c030bd1404ff0b050",
        "3dd42334ee971ad668eb8ca97f8b363292fc828d"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Sep 08 15:20:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 08 15:20:20 2010 -0700"
      },
      "message": "Merge \"Don\u0027t block in the BackupManagerService.dataChanged() Binder call.\" into gingerbread"
    },
    {
      "commit": "ee455f5a9572bc0d23c3328f6c22da91dc109a50",
      "tree": "5fe731d867f3ac63b0d6fe476df253571a913928",
      "parents": [
        "5872e9d7f31e5a4c5f3d871dba02b6d72a7ada78",
        "0d903a84d04d241a648ec429e3a0e82c712677fd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 08 14:15:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 08 14:15:35 2010 -0700"
      },
      "message": "Merge \"People holding partial wake locks now get blamed for CPU usage.\" into gingerbread"
    },
    {
      "commit": "0d903a84d04d241a648ec429e3a0e82c712677fd",
      "tree": "815e9535debd0db364ef41a3882ed1bda51a4efa",
      "parents": [
        "de2f3340d64e20e51029ff438f0d635d97b8a3e0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 07 23:51:03 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 08 12:41:24 2010 -0700"
      },
      "message": "People holding partial wake locks now get blamed for CPU usage.\n\nFor the duration of the wake lock, 50% of all CPU usage is now\naccounted against the app(s) holding partial wake locks, evenly\ndistributed between them.  This is only while the device is on\nbattery and screen off.\n\nChange-Id: I3e5c978b792b6ef17bf8540705bfe8343dadd464\n"
    },
    {
      "commit": "bb3716332321e22537a5015be13e2229fb9b90bc",
      "tree": "95cee569b2a4093366944cf236131aead4165089",
      "parents": [
        "de2f3340d64e20e51029ff438f0d635d97b8a3e0"
      ],
      "author": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Mon Aug 23 18:16:48 2010 -0700"
      },
      "committer": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Wed Sep 08 12:37:18 2010 -0700"
      },
      "message": "Allow incoming SMS until internal storage is almost full.\n\nFix for bug 2382830: new incoming SMS should not be rejected when\nrunning low on internal phone storage.\n\nTesting revealed that the /data partition should have at least 256 KiB\navailable in order to prevent random app crashes (including system apps)\ndue to SQLite transaction failures. With 256 KiB free, the device should\nsafely boot without storage full errors. This takes into account the\n36-40 KiB that the YAFFS2 filesystem reports as available even after\nthe partition has been completely filled. I\u0027ve set the default full\nthreshold to 1 MiB to provide a generous safety margin.\n\nFor this bug, I changed the DeviceStorageMonitorService demon to send\ntwo new hidden notifications for device storage \"full\" and \"not full\",\nwhen the free space falls below the full threshold (default 1 MiB,\nbut configurable as a system setting), in addition to the existing\nstorage low/okay notifications sent when the storage crosses the threshold\nof 90% full (also configurable).\n\nThe SMS code was changed to use these new notifications so that it can\naccept messages until the data partition has been filled to the maximum\nsafe capacity rather than stopping when it hits 90% full. There should\nbe no negative impact on battery life because the additional check in\nthe storage polling service should be offset by an optimization to cache\nthe free threshold values which were previously being computed every time\nthrough the loop.\n\nWhile testing this change, I discovered that SMSDispatcher was being\ninstantiated twice, the first time in GSMPhone/CDMAPhone, and the second\ntime in SimSmsInterfaceManager / RuimSmsInterfaceManager. Changed the code\nto pass the original SMSDispatcher to the Sim/RuimSmsInterfaceManager\nconstructor.\n\nChange-Id: Ie0c6d05294778ab6ee42e0fa01313af96d824c77\n"
    },
    {
      "commit": "85a3176704b5bfbeece9bd928369fbb76eec7dc6",
      "tree": "1a84f21c037b514c5b6717b106f5a9a2c4fd6c99",
      "parents": [
        "c0b4f6d30d962d75125628317b5f5ea622531dfe"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 01 17:01:00 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 08 11:50:55 2010 -0700"
      },
      "message": "Add support for secure views.\n\nAdded the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the\ninput manager whenever another visible window is partly or wholly obscured\nthe target of a touch event so that applications can filter touches\naccordingly.\n\nAdded a \"filterTouchesWhenObscured\" attribute to View which can be used to\nenable filtering of touches when the view\u0027s window is obscured.\n\nChange-Id: I936d9c85013fd2d77fb296a600528d30a29027d2\n"
    },
    {
      "commit": "3dd42334ee971ad668eb8ca97f8b363292fc828d",
      "tree": "ae6e3cda95449cde601b5911e00406c42026fe86",
      "parents": [
        "5de1d36dd0415c4cf9afdf093a4915951ef6c770"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Sep 07 23:40:30 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Sep 07 23:40:30 2010 -0700"
      },
      "message": "Don\u0027t block in the BackupManagerService.dataChanged() Binder call.\n\nThis unnecessarily blocks callers.\n\nBug: 2977348\nChange-Id: I5267e575cdd5eb2136379f9710126b62a1bd75ad\n"
    },
    {
      "commit": "5de1d36dd0415c4cf9afdf093a4915951ef6c770",
      "tree": "c9c1a7f0c42083549c81571648126dce7a7aa8ae",
      "parents": [
        "6aec2250108b7db774643bbc088590138099adb6"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Sep 08 13:15:55 2010 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Sep 08 13:15:55 2010 +0800"
      },
      "message": "Log outbound proxy address if exists for debugging.\n\nChange-Id: I2d2dffe3536e674b6956164c400e397c2f00f212\n"
    },
    {
      "commit": "1b1601d740c34de4680ec96368002893aa5f71de",
      "tree": "3d8647636826b9d642d2d7cbf2c52f122e433ad5",
      "parents": [
        "6dc003a73f7f01aa5dd5831e777e2aa44f65b032"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sun Sep 05 00:26:11 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sun Sep 05 00:26:11 2010 +0800"
      },
      "message": "SipService: unset session listener if listener is gone.\n\nChange-Id: I0b85ee7bcb32c24cf64dfc3edc40c0cad9717562\n"
    },
    {
      "commit": "e25b4bc76fef584b38ce4e72f919fba119bdfa99",
      "tree": "781dfba1a3a08ceda9d7f63071ef8490f6371f5d",
      "parents": [
        "2b136832be7326caed0c79bae418c2dd54372bea",
        "482566ed5cc7307b0401361509fb06acc5476115"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 03 13:24:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 03 13:24:33 2010 -0700"
      },
      "message": "Merge \"These are not ready to be exposed.  Also rename them to be better.\" into gingerbread"
    },
    {
      "commit": "482566ed5cc7307b0401361509fb06acc5476115",
      "tree": "3a41c2b2301bf17dc1575d32641a8cbfaa9e7af9",
      "parents": [
        "46e63b346770efa14451b8e67b7f7636c4e5a76c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 03 12:51:28 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 03 12:51:28 2010 -0700"
      },
      "message": "These are not ready to be exposed.  Also rename them to be better.\n\nChange-Id: I7c234144497084b7769f8c46761b7d74d1c583d5\n"
    },
    {
      "commit": "d85621c938286a568b1173e7ab29f80ab93d27e1",
      "tree": "cd67b767301b16439d7d1dfb4cab353771ce171d",
      "parents": [
        "7755cdd69690ccbb42c6fd47b3e9c4594d4ade82"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 03 09:25:33 2010 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 03 11:46:19 2010 -0700"
      },
      "message": "Don\u0027t crash when extra logging is enabled.\n\nChange-Id: I76cf8db0f51ed33e91acee9636180e8d7c0b5ff9\n"
    },
    {
      "commit": "305bcbf0c961840c4505770d084a1caacc074dbb",
      "tree": "6ccdf93bd6bbc7728370f7ceefad72f4ec39ecfc",
      "parents": [
        "12da9d7472ae87b841575d5358e19f143d12f900"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 03 07:56:38 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Sep 03 09:33:34 2010 -0700"
      },
      "message": "Decrease PackageManagerService wait time for vold\n\nUp the blocking queue maximum to twice the number of containers we\nallow which should let \"asec list\" complete without blocking the thread\nseveral times.\n\nChange the threads for the NativeDaemonConnector to vold and netd to be\nmore descriptive instead of the same name.\n\nBug: 2501075\nChange-Id: I7e7949845a6c70a3d619aec0fa79ceef3c17a4be\n"
    },
    {
      "commit": "12da9d7472ae87b841575d5358e19f143d12f900",
      "tree": "69bb942ca890c1b732145b06a480bd3bced0e80c",
      "parents": [
        "b355714a2995ebe343808e06f69da5067f52a833"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 02 22:18:14 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 02 22:24:06 2010 -0700"
      },
      "message": "Fix buffer compacting in NativeDaemonConnector\n\nThe buffer was being compacted in the read loop, but the start offset on\nthe compacted buffer wasn\u0027t being considered after the next read.\n\nBug: 2501075\nChange-Id: I163297d751cf800d0bbc66df66b1a0fa0785de49\n"
    },
    {
      "commit": "95b15c35608fe3ea679c8a478c6cbd841623371e",
      "tree": "42c634c71c513a3f87bde823fb79120f9ecf4e31",
      "parents": [
        "79492a0d75b0b02f11f35500f79dd3fcbc6e2211"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 02 22:15:26 2010 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 02 22:15:26 2010 +0800"
      },
      "message": "SipService: reduce the usage of javax.sdp.*.\n\nAfter this change, SipAudioCallImpl is the only place still using it.\n\nChange-Id: I5693bffa54f9e19cbfa70b45dfcf40fba04dedbb\n"
    },
    {
      "commit": "a1c69e084b5242ad4e4a1ef2fe8d99ba259b5af4",
      "tree": "a7717db542b45f4ad8fa9dc7f22c0a663d047c6b",
      "parents": [
        "d3efa3924407da6d38aa5931ac29aa088d9eb986"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 01 22:55:02 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 01 22:55:02 2010 -0700"
      },
      "message": "Fix a small bug when granting permissions through activity results.\n\nChange-Id: I2a5c4025fb5f566e29c219fde4d50ed2eba6e174\n"
    },
    {
      "commit": "3424c02e6b931a8bbd651ae75217bebd008b2605",
      "tree": "f8113a62a05f612a54da4c277661542edbcb9773",
      "parents": [
        "a2511da9d65b11be7f59ed3f525f77e85aeb4bef"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Aug 27 18:08:19 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 02 08:10:13 2010 +0800"
      },
      "message": "Add software features for SIP and VOIP\n\nand block SipService creation and SIP API if the feature is not available.\n\nChange-Id: Icf780af1ac20dda4d8180cea3e5b20e21a8350bc\n"
    },
    {
      "commit": "7c1bd7fdbf9ac539c9832693b403511b2fc7bac7",
      "tree": "94709083ad4790f053717189587c326f74c50f42",
      "parents": [
        "fca5677aeefc3b9cbaecefbb10d5ccbaff974391"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 01 13:44:11 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 01 14:10:36 2010 -0700"
      },
      "message": "Fix logic error in downgrade of system apps\n\nA logic error would allow not deleting data when uninstalling a system\napp upgrade that\u0027s of a newer release than the on on the system\npartition. If the system app had a database upgrade and this happened,\nyou might be in trouble.\n\nLuckily it appears no one ever does this in code. You\u0027d have to manually\nget there doing:\n\nadb uninstall -k updated.system.package\n\nChange-Id: I3110fedf2d147975a0635c71898d985dd642a2c1\n"
    },
    {
      "commit": "9ee9274e5ebd131cef02d543fdb5cd1c1ae9a9f6",
      "tree": "b63990a7fd4a5a2faf88d894dab89781367265f9",
      "parents": [
        "1751086360056bc60d00f2ed2988bc82be9e7bd9"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 01 13:40:57 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 01 13:59:02 2010 -0700"
      },
      "message": "Add null check for package settings\n\nA few lines down \"ps\" is run through a null check, so apparently there\ncould be some screwy system conditions where this is encountered. And,\nin fact, this was encountered through an updated system pacakge that\nmanaged to delete the package from /system/app during testing. It left\nthe PackageSetting in mDisabledSysPackages which would cause a deference\nof a null variable.\n\nChange-Id: Ic7faca569abd16a87a8a69c20df08c11a274a001\n"
    },
    {
      "commit": "361199b5e742c6635d4d7a03de6cf37b31cf442c",
      "tree": "170d0ba61242ba04a3491a98f894f3a2e416bbe7",
      "parents": [
        "22cd420bfa431b4ad55e699afadf109dcc54f201"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 30 17:42:07 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 31 18:59:04 2010 -0700"
      },
      "message": "Add PackageManager API to get information about a provider component.\n\nKind-of useful when all you have is a ComponentName.\n\nChange-Id: I9a99f12daabb29e97e882e09c43ca0df70c00651\n"
    },
    {
      "commit": "6b1afebdaca6c27d49a243c4283e5e2e4924de8c",
      "tree": "da5c6e37a15b708d10ab9e5198d5f4b55c4a33f8",
      "parents": [
        "f560ceabe11b4f541c568bead61a5ec8f527151c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 31 15:40:21 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 31 18:51:27 2010 -0700"
      },
      "message": "Improve debug output when an ANR happens.\n\n- Collect data at better times.\n- Collect per-thread CPU usage as soon as possible after the ANR, and print\n  in log.\n- Based on new per-thread CPU usage, limit the number of processes we\n  collect stacks from to not include inactive not interesting procs.\n- Improve the way ProcessStats compute and reports its data.\n\nChange-Id: I12b17fb47d593d175be69bb792c1f57179bf4fdf\n"
    },
    {
      "commit": "8d60866e2100db70ecf0502c14768a384514d7e9",
      "tree": "514e46b4e4d58fd68cd52de93b93e7782fdf4e9f",
      "parents": [
        "bb660d7e1bed3a07a1804bd9641d9634bfaa4972"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 30 03:02:23 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 30 18:16:43 2010 -0700"
      },
      "message": "Input device calibration and capabilities.\n\nFinished the input device capability API.\nAdded a mechanism for calibrating touch devices to obtain more\naccurate information about the touch contact area.\nImproved pointer location to show new coordinates and capabilities.\nOptimized pointer location display and formatting to avoid allocating large\nnumbers of temporary objects.  The GC churn was causing the application to\nstutter very badly when more than a couple of fingers were down).\nAdded more diagnostics.\n\nChange-Id: Ie25380278ed6f16c5b04cd9df848015850383498\n"
    },
    {
      "commit": "66fce5068a8a3aeb28aaf713843891b286a75280",
      "tree": "12b92e7b95f0251c4edb67cdab6374c58cae9608",
      "parents": [
        "2e86809b6c79375d23c0975914efc3b66e89ac90"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Aug 30 18:10:49 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Aug 30 18:10:49 2010 -0700"
      },
      "message": "Renaming SharedPreferences$Editor.startCommit to apply\n\nAlso removes the artifical restriction that only one apply() can be in\nflight at once.  That was old from when I thought it\u0027d end up being\nrequired, but wasn\u0027t.\n\nChange-Id: I3540ea8be6e0760d6a51d218186f71655c2f3f55\n"
    },
    {
      "commit": "0ac83f5a7c05ff5b7e213e5953590bfbeb4efb43",
      "tree": "e341141f94dc0f43e8926c11bece5f671d20fab8",
      "parents": [
        "858bb4f66ea1bd9c48b9817cb44a59c8b0394229"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 30 15:12:24 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 30 15:14:06 2010 -0700"
      },
      "message": "Native libraries on SD\n\n* Add native library tests during package move\n\n* Fix omission that let PackageSettings and ApplicationInfo get out of\n  sync.\n\nChange-Id: Ic4958f971cb2c9cfd270522fdc120b4031c1124a\n"
    },
    {
      "commit": "d02bdaab495641ab50e2123fdfd99a819cc40540",
      "tree": "63b4618d41b340ea2d4f01b98da2ce0ba478c032",
      "parents": [
        "7046bd924f77c54585b9e0e0c95e5edd2ceb55a3"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 26 10:28:46 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 27 22:57:39 2010 -0400"
      },
      "message": "Remove experimental immersive mode support. DO NOT MERGE\n\nBug: 2949215\n\nChange-Id: I7d998ef571ef7e149bb96261430e92150b80b77d\n"
    },
    {
      "commit": "85387d7ba36e56b291cbde87acb5a5b2200fe01c",
      "tree": "adea29b181a25c2ffd8ecaebded62fb4d2dc1a93",
      "parents": [
        "4f8c2f26bfd9de8c8a31369dbedd415c7d6d9699"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 26 10:13:11 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Aug 27 16:40:06 2010 -0700"
      },
      "message": "Allow native shared libraries in ASEC containers\n\nThis change moves the native library handling earlier in the package\ninstallation process so that it may be inserted into ASEC containers\nbefore they are finalized in the DefaultContainerService.\n\nNote that native libraries on SD card requires that vold mount ASEC\ncontainers without the \"noexec\" flag on the mount point.\n\nChange-Id: Ib34b1886bf6f94b99bb7b3781db6e9b5a58807ba\n"
    }
  ],
  "next": "0c5a04014d3833c9a82772a832d3bc6410fc52ac"
}
