)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "0c5a04014d3833c9a82772a832d3bc6410fc52ac",
      "tree": "79831e18eee9d29207d199499a9ece7a7068fedc",
      "parents": [
        "445ab76c49779998543bb78881f5d9f8ae81e598"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Aug 27 14:01:23 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Aug 27 14:01:23 2010 -0700"
      },
      "message": "Send broadcast intent when configured location providers change.\n\nSee e.g. http://code.google.com/p/android/issues/detail?id\u003d10042\n\nThis is also needed by the power control widget, which has no reliable\nway otherwise of staying in-sync.\n\nChange-Id: I8f2b6b79b1843329bae952a25ea56f15e3cf92aa\n"
    },
    {
      "commit": "333b8cba996c8ebb8ca55ebfc5cc536bdd64af94",
      "tree": "1a38c262454903b6b976e4e27ce0f84160015116",
      "parents": [
        "cc033bd367a445d5e3f8de919cd155505b25274c"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Aug 26 12:04:57 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Aug 27 09:10:11 2010 -0700"
      },
      "message": "SharedPreferences$Editor.startCommit()\n\nAdds a fire-and-forget save method (startCommit) to the\nSharedPreferences.Editor, which is the way most people use it anyway.\n\nThis commit adds the implementation.  The previous commit added the\ninterface and docs:\n\n   previous change: Idf9934b445da1fb72b79f0192218b47c0a7f5a34\n        git commit: edf32d01316bd3432c023f17747461b08ae36375\n\nIn addition, this change:\n\n-- adds a generic \"runPendingWorkFinishers\" mechanism to\n   ActivityThread to wait on async operations that are still\n   in flight and use it for this.\n\n-- ties runPendingWorkFinishers into Activity.onPause,\n   BroadcastReceiver, and Service.\n\n-- makes sSharedPreferences keyed on name, not File, to avoid\n   unnnecessary allocations\n\n-- documents and guarantees what thread\n   OnSharedPreferenceChangeListener callbacks run on\n\n-- makes a few things in frameworks/base use startCommit(), notably\n   Preference.java (which was ignoring the return value anyway)\n\nChange-Id: I1c8db60ad45643226fe6d246d3e513eeb7bd0ebd\n"
    },
    {
      "commit": "02486b1327e3007c62d253dd89ba9db1852b87f8",
      "tree": "ddf8f10dcf945aec5bbefbf0d13b936582b42de0",
      "parents": [
        "bc5d9d2254ee751ff50fb91d4560098ab5edf01f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 26 14:18:37 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 26 14:41:58 2010 -0700"
      },
      "message": "Hide heavy-weight API.\n\nAnd give it a better name, for when it is later un-hidden.\n\nChange-Id: Iae0d3054d44f873b9f953bc41d175a47802a185e\n"
    },
    {
      "commit": "00d1772d8cfb94066b757034055ac38897d161da",
      "tree": "2eed76948df697d9c0d45725431491599925ebe2",
      "parents": [
        "274ad9824a20b61dfbb785621567fd0414a965a4",
        "797e688b3bebbf1f50a8ad08528740b064f79153"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Aug 26 12:02:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 26 12:02:51 2010 -0700"
      },
      "message": "am 797e688b: Continue trying to make the turn off quickly after call feature work.\n\nMerge commit \u0027797e688b3bebbf1f50a8ad08528740b064f79153\u0027 into gingerbread\n\n* commit \u0027797e688b3bebbf1f50a8ad08528740b064f79153\u0027:\n  Continue trying to make the turn off quickly after call feature work.\n"
    },
    {
      "commit": "274ad9824a20b61dfbb785621567fd0414a965a4",
      "tree": "dffbfce30b4319b66d209a70170bf21b88a88708",
      "parents": [
        "cc45381e596c6d2b351d2c5e9d07f4113e1d58b6",
        "331fbdc7e9588018dac28de8b6196653cea1f08b"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Aug 26 11:50:31 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 26 11:50:31 2010 -0700"
      },
      "message": "Merge \"Just disable widgets that come from apps on sd cards, because they don\u0027t work anyway.\" into gingerbread"
    },
    {
      "commit": "cc45381e596c6d2b351d2c5e9d07f4113e1d58b6",
      "tree": "189e02f19be0ab3c138b3c536966e071a6677de1",
      "parents": [
        "62dbd82aad0f84c88212566321e3fb370affaf7c",
        "94258cd70438e444e139a26da12fd7e5a8782332"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Aug 26 11:50:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 26 11:50:28 2010 -0700"
      },
      "message": "Merge \"Fix typo that makes apps on sd work better with app widgets.\" into gingerbread"
    },
    {
      "commit": "797e688b3bebbf1f50a8ad08528740b064f79153",
      "tree": "1886e10e83e0cccd9de435be643a332bb1bace93",
      "parents": [
        "d5e601c2304610085e3d7a276c4bbcd984ac89f9"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Aug 26 14:46:01 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Aug 26 14:48:56 2010 -0400"
      },
      "message": "Continue trying to make the turn off quickly after call feature work.\n\nThe previous implementation worked if the set timeout is short enough, which mine was.  This one\ncarries the remaining amount of timeout override forward through all of the countdown steps.\n\nBug: 2844990\nChange-Id: I040df22f9f9ddf98c355ac6845b7624e95f84f33\n"
    },
    {
      "commit": "913a8925c07e854a80bf5df87561f290d3a56d61",
      "tree": "37193d674462f7ff7a8287ae947246d80193ac09",
      "parents": [
        "0858806ffcb9ff34725abb79106aa1de27d1bf60"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 26 21:53:41 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 26 22:53:07 2010 +0900"
      },
      "message": "DO NOT MERGE. Backport master InputMethodManagerService.java to gingerbread\n\nChange-Id: Ied15b4f2f447ee3e3b858d4ca65c21c30dfa4eba\n"
    },
    {
      "commit": "3003a017d312a55e3804d6cf4a80044b1f1d7993",
      "tree": "bfd0910b8bde42c17967399981b5a347069eae18",
      "parents": [
        "14e00621c81da6a0391da47afce77945b27c7231",
        "7e269644fcc319835f1e7f762f3cbd8087e3e22f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 25 22:00:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 25 22:00:28 2010 -0700"
      },
      "message": "Merge \"Don\u0027t retain global ref to last inflated context.\" into gingerbread"
    },
    {
      "commit": "7e269644fcc319835f1e7f762f3cbd8087e3e22f",
      "tree": "03577ffff09f0d25a66f731a9def4a769f6b785a",
      "parents": [
        "50395e80718e77d27ec5e2d474b255e05de68d82"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 25 19:50:20 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 25 21:50:54 2010 -0700"
      },
      "message": "Don\u0027t retain global ref to last inflated context.\n\nAlso rework URI permission granting to support upcoming\nclipboard use.\n\nChange-Id: I9842920350955531c5a511c2ecc5215e8c783343\n"
    },
    {
      "commit": "ea52d35e5685094f4d2cca5012239bde66f2c4fe",
      "tree": "018a3da69b5250e522632778fc1ef7cdd688a844",
      "parents": [
        "6947cc594276df899a0c4662224455f40846bd0a",
        "5424c8dcacf1c227fe7deb0185510614122ab447"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Aug 25 19:25:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 25 19:25:02 2010 -0700"
      },
      "message": "Merge \"Add dynamic uid info for tracking the sip service usage.\" into gingerbread"
    },
    {
      "commit": "5424c8dcacf1c227fe7deb0185510614122ab447",
      "tree": "6706f881dccb2a6bc3b5f110fc95399ce541f8bc",
      "parents": [
        "231a0005654d23284ab58a2d9ea892b995988c34"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Aug 25 19:02:18 2010 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Aug 26 10:12:05 2010 +0800"
      },
      "message": "Add dynamic uid info for tracking the sip service usage.\n\nChange-Id: Ibc340401b63799326b08aee6eba602a3e753b13f\n"
    },
    {
      "commit": "6947cc594276df899a0c4662224455f40846bd0a",
      "tree": "7879b29d349d7b18230bfdce22e718391f9b7de9",
      "parents": [
        "0c490839b2d25fec99f1ae86dcebc5f21a2df8bb",
        "43b9b48f792e0b1b166af7f7fb6a32172e7f11c2"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Wed Aug 25 17:35:50 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 25 17:35:50 2010 -0700"
      },
      "message": "Merge \"Preventing the hierarchy viewer from getting stuck, once when trying to load the window data for SurfaceView and the Wallpaper, and in the case the captured node has disappeared.\" into gingerbread"
    },
    {
      "commit": "43d9ac81f7722bb539ee67023f10b9f43abbf202",
      "tree": "e81f0d385b2b5f6b7d3965c32cf6e890d750770b",
      "parents": [
        "8395b4625b96f2133e2e4f595fdc69fbe222e4fc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 25 15:06:25 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 25 15:09:17 2010 -0700"
      },
      "message": "Fix a fun bug with multiple service bindings from an activity.\n\nThere was a flaw in the service management, when the same activity\nis doing a bindService() for the same service IBinder.  In this case\nthe activity would correctly keep a list of all generated connections,\nhowever some other data structures would assume there is only one\nconnection per IBinder, and thus only remember the last.\n\nWhen that last connection was unbound, the service would be destroyed\nsince it thought there were no more connections.  Then when the\nactivity was finished, it would try to destroy the service again and\nend up with an ANR because the service was already gone and would\nnot respond.\n\nChange-Id: I59bde38bc24e78147b90b0a7cd525c2a1d20489f\n"
    },
    {
      "commit": "43b9b48f792e0b1b166af7f7fb6a32172e7f11c2",
      "tree": "a2b672ac91132c4e950df1a831d58b1905befca3",
      "parents": [
        "b8814dce287552c1bdf13fa999296ebc7387776d"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Tue Aug 24 22:00:12 2010 -0700"
      },
      "committer": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Wed Aug 25 13:38:27 2010 -0700"
      },
      "message": "Preventing the hierarchy viewer from getting stuck, once when trying to load the window data for SurfaceView and the Wallpaper, and in the case the captured node has disappeared.\n\nChange-Id: Iaff6bd501a2bb3faa7a394fff740479f6a95e899\n"
    },
    {
      "commit": "331fbdc7e9588018dac28de8b6196653cea1f08b",
      "tree": "5bb617e6a33a0e5f4a39b3401ad5a20ee918a490",
      "parents": [
        "94258cd70438e444e139a26da12fd7e5a8782332"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Aug 24 17:02:09 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Aug 24 17:02:09 2010 -0400"
      },
      "message": "Just disable widgets that come from apps on sd cards, because they don\u0027t work anyway.\n\nChange-Id: I2d7ef4a63bcbd43547e40c01e997d813cc01e800\n"
    },
    {
      "commit": "94258cd70438e444e139a26da12fd7e5a8782332",
      "tree": "1fe45cc8e4b40ea173283ec8ce4e021f5d35973f",
      "parents": [
        "2703a42d16af0e62da1bba02b6c935d98debf936"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Aug 24 16:45:40 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Aug 24 16:45:40 2010 -0400"
      },
      "message": "Fix typo that makes apps on sd work better with app widgets.\n\nBug: 2489571\nChange-Id: Idbfb91d960b952aaf32c604b7e52592d77b5ef2e\n"
    },
    {
      "commit": "6d7346933580c107f461885dc273d7298a46b0df",
      "tree": "bfb3129492d16d5a0cd3778be0e83f776d9afe37",
      "parents": [
        "2703a42d16af0e62da1bba02b6c935d98debf936",
        "9d6b59c08e81b6cfd2db6b4f68c64c0c97a9f9ff"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Aug 24 12:01:50 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 24 12:01:50 2010 -0700"
      },
      "message": "Merge \"Send all Connectivity broadcasts.\" into gingerbread"
    },
    {
      "commit": "9d6b59c08e81b6cfd2db6b4f68c64c0c97a9f9ff",
      "tree": "c64eca429fb196c23aaa9f197ec5bfbcd2baf4e9",
      "parents": [
        "bccfcd95d3cc4029c1ed8514d31436a857283873"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Aug 24 11:47:10 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Tue Aug 24 11:47:10 2010 -0700"
      },
      "message": "Send all Connectivity broadcasts.\n\nWe were using a flag so new broadcasts replaced old.  If people are expecting\nto see all the broadcasts they sometimes would fail.\n\nbug:2892383\nChange-Id: I63df17fe8f8c68f59e1ad6297fe93e169b4463b4\n"
    },
    {
      "commit": "b9fb1705e805b7074f5ccc3bf398181706854bfb",
      "tree": "7fc7a8cbbfdffd444cbf8fa9b56353a3699b24e7",
      "parents": [
        "3e05a0beb2fad0b21558019d2adf6805da70e10e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 23 16:49:02 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 23 16:51:56 2010 -0700"
      },
      "message": "More watermark work.\n\nChange-Id: I1d20bc1f8679a9750b247126436e8ef7e47a77be\n"
    },
    {
      "commit": "80db4381c010c4dec74c2bf1e02380759e4ff97b",
      "tree": "1aa645f2bd3114215d197e5f52e3bae916cc0565",
      "parents": [
        "d2e5f95e0eeaff3422fde29cf6e0a91ceecfefaf",
        "fae66c3ab59c741aad631e6f2dd82b77b1d4a353"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sat Aug 21 11:45:47 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 21 11:45:47 2010 -0700"
      },
      "message": "Merge \"DO NOT MERGE Enable all networks on screen on\" into gingerbread"
    },
    {
      "commit": "fae66c3ab59c741aad631e6f2dd82b77b1d4a353",
      "tree": "1e66ab5fa535448f25693755af16626f2cad5d20",
      "parents": [
        "581f78615a9dc65ee264b3619ef6cdd0b0e8355c"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Aug 16 11:36:41 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Aug 20 14:51:00 2010 -0700"
      },
      "message": "DO NOT MERGE Enable all networks on screen on\n\nConnectivity to a disabled network never happens.\nAn old dhcp issue for example prevents\nconnectivity again in future. Allow connectivity\non all networks on screen on.\n\nBug: 2129037\nChange-Id: I42afc17ddb5cd238e46d7e50f1b6e708e107b35d\n"
    },
    {
      "commit": "4b1bdc0209650436ebe0dad1020080cc891e97b6",
      "tree": "d1f8534dedef9e622c069b528bf56ca6bbd427be",
      "parents": [
        "39792d2262352ae775091876d5488d2412a2ff92",
        "8afddad7e7ce7275e26dc1ebfb359fbdd1d5920b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Aug 20 12:01:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 20 12:01:56 2010 -0700"
      },
      "message": "Merge \"DO NOT MERGE Fixing Connectivity\" into gingerbread"
    },
    {
      "commit": "39792d2262352ae775091876d5488d2412a2ff92",
      "tree": "fb84097c6b692079492f0ea180ab47db054656e8",
      "parents": [
        "b755e3256510ecd325565d6b461d668d224445b1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 19 18:01:52 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 20 11:50:00 2010 -0700"
      },
      "message": "Fix bugs with granting permissions through onNewIntent().\n\nIt would grant the permission to the temporary ActivityRecord,\nnot the real one, so it never got cleaned up.\n\nAlso allow granting of permissions to services because...  well,\nit would be really really useful.  And it introduces some\nrefactoring that we\u0027ll need to support cut/paste.\n\nChange-Id: If521f509042e7baad7f5dc9bec84b6ba0d90ba09\n"
    },
    {
      "commit": "8afddad7e7ce7275e26dc1ebfb359fbdd1d5920b",
      "tree": "fefab4d60bf5654a4d638db7cf5de5dea351d4a0",
      "parents": [
        "bccfcd95d3cc4029c1ed8514d31436a857283873"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Aug 20 10:01:55 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Aug 20 10:01:55 2010 -0700"
      },
      "message": "DO NOT MERGE Fixing Connectivity\n\nPassing Gateway addr info from telephony into ConnectivityService so it can\nadd/remove the default route as needed.  Fixed differently on master.\n\nbug:2927822\nChange-Id: I9a3ee7cd23c4717e7c60098f0595aa3f77c44b15\n"
    },
    {
      "commit": "dba514c6d8e8263d4b8f31cb2fdebfc1d4f84c35",
      "tree": "e78e03b651a0603f288f8d7fb3bda87897419264",
      "parents": [
        "271c1bfd60eaa20c3f37e685864d992e0770ac00"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Aug 20 15:22:04 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Aug 20 17:24:20 2010 +0800"
      },
      "message": "SipSession: make potential time-consuming ops run on background thread\n\nhttp://b/issue?id\u003d2933071\n\nChange-Id: I0467cb5fc41bc2d6e010d20c99b7f0392fb0889e\n"
    },
    {
      "commit": "3d8c9bdbed0c31143227697bd0d94fd234fe08ad",
      "tree": "1c81b1435f758f6dbbbca210a4a14b1995714d36",
      "parents": [
        "99401b29c3f39488a058d3eb616009b751879a77"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 18 17:48:53 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 18 17:48:53 2010 -0700"
      },
      "message": "Raise motion event throttle to 60Hz from 35Hz.\n\nBug: 2931575\nChange-Id: Ib8b1793addcda74b2fa6de2ce61b6133b8ffda9d\n"
    },
    {
      "commit": "99401b29c3f39488a058d3eb616009b751879a77",
      "tree": "d1ce6d296800c5ccb90c3338ec16d1d93a08c6cf",
      "parents": [
        "cf6d2a1de274e9a4156b12be811a180eb36412ab",
        "ae9fc03bdccda709101291bbcd3beaa5b6daebfc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 18 17:40:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 18 17:40:44 2010 -0700"
      },
      "message": "Merge \"Add support for throttling motion events.\" into gingerbread"
    },
    {
      "commit": "ae9fc03bdccda709101291bbcd3beaa5b6daebfc",
      "tree": "69367f760a943f9eda3edabcb1130302ea6cb0d8",
      "parents": [
        "6b2c56a299eb05deef2b887549e29e9e9f0f2cf6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 18 15:51:08 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 18 16:58:27 2010 -0700"
      },
      "message": "Add support for throttling motion events.\n\nChange-Id: I24b3a17753e91ecda60a60fe5cd2e6b3260e033d\n"
    },
    {
      "commit": "b424b633bb3664bed924d2ea89036290a57eb2bd",
      "tree": "81276872465064d4d1e4957192644bbc6198a9fa",
      "parents": [
        "6b2c56a299eb05deef2b887549e29e9e9f0f2cf6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 18 15:59:05 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 18 16:07:35 2010 -0700"
      },
      "message": "Fix issue #2845673: android:exported\u003d\"false\" is not obeyed\n\nThou shall obey.\n\nChange-Id: I09f163a0db7cc9189c8d7f5116cc8ca9d4f7a76c\n"
    },
    {
      "commit": "46906276448dd36e7a5cca38fbe9fdb3142f7948",
      "tree": "e727eb7882f49738d0d5c8cabb19ff72392bbccc",
      "parents": [
        "a34c9ca30ea25d0c4d8ae51da7858c4ea58b7f25"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jun 01 20:50:21 2010 -0700"
      },
      "committer": {
        "name": "android-build SharedAccount",
        "email": "android-build@sekiwake.mtv.corp.google.com",
        "time": "Wed Aug 18 07:53:30 2010 -0700"
      },
      "message": "Amend previous ndc commit\n\nSubmitted wrong patchset. This includes the delta for the latest\npatchset.\n\nChange-Id: I63bb9a37dd9100550ae07a3a1c9fdd9fd71724e1\n"
    },
    {
      "commit": "a34c9ca30ea25d0c4d8ae51da7858c4ea58b7f25",
      "tree": "c941ca5246ea02395d3dfeb14cb2594a5f046e52",
      "parents": [
        "24a03083ca5cf33342debb9a230a591f098f7fd8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jun 01 13:23:53 2010 -0700"
      },
      "committer": {
        "name": "android-build SharedAccount",
        "email": "android-build@sekiwake.mtv.corp.google.com",
        "time": "Tue Aug 17 23:29:46 2010 -0700"
      },
      "message": "Add more error checking for ndc\n\nIn NativeDaemonConnector.doCommand() calls, there was inconsistent error\nchecking. This change adds error checking for every call and makes it so\nthat any call to .doCommand() that gets an error code won\u0027t cause the\ncode to hang forever.\n\nChange-Id: If714282b6642f278fb8137f652af1a012670253b\n"
    },
    {
      "commit": "24a03083ca5cf33342debb9a230a591f098f7fd8",
      "tree": "159653c3fb88adfdb9d78ea7a5b5ddfc80c21cc6",
      "parents": [
        "3b70e159a8168c1154d31d7b0552bb3b0c099334"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jun 03 14:37:42 2010 -0700"
      },
      "committer": {
        "name": "android-build SharedAccount",
        "email": "android-build@sekiwake.mtv.corp.google.com",
        "time": "Tue Aug 17 23:21:56 2010 -0700"
      },
      "message": "PackageManagerService: always install native binaries from .apk\n\nThe previous implementation fails to work properly when the .apk\nand installed versions of the binaries have the same size and date.\n\nChange-Id: I063817a935da9ad459858d7eec8bb3d940607850\n"
    },
    {
      "commit": "8c11e952305327183db9f7be719e4c94fde15a7c",
      "tree": "79f9c9fcd7c3e59f96de249dad6e47149a6de0ed",
      "parents": [
        "e6bfceeb10a01c8e89f712c0ffddc9e5e3ad1842"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Aug 12 20:26:23 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Aug 17 15:27:54 2010 -0700"
      },
      "message": "DO NOT MERGE WifiLock extensions for high performance mode\n\nAdd extension to WifiLock to allow apps to operate\nin high performance mode (high power \u0026 disable suspend\noptimizations for battery consumption).\n\nBug: 2834260\nChange-Id: I8b33d307f3d569bc92ba2139b9ed224ffc147547\n"
    },
    {
      "commit": "1a1cd3a878b6389c097e34d114b60cf953edaeaa",
      "tree": "898ab6b9b494d958a5e3570cd19afd17449b49ef",
      "parents": [
        "833533c9292f860e4dfc060a4eba6429cd259ed4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 17 07:42:54 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 17 07:45:47 2010 -0400"
      },
      "message": "GPS: Initialize XTRA support when GPS is enabled\n\nBUG: 2923148\n\nChange-Id: If9a643e385c6c567b30f47d4caa35fa812a2ba43\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "567722eee190f7cf88dc7ea95167db76d5514842",
      "tree": "970afc373019504fade863b2f384f152d181b1ed",
      "parents": [
        "f76a05e985c249f2540eb8925f673b5c63b9566b",
        "1ebccf531d1049853b3b0630035434619682c016"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Aug 15 17:33:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 15 17:33:02 2010 -0700"
      },
      "message": "Merge \"Fix problems with determining when to kill apps for wake usage.\" into gingerbread"
    },
    {
      "commit": "1ebccf531d1049853b3b0630035434619682c016",
      "tree": "92e426918dc4dd2068fba01e69797113b59eb63c",
      "parents": [
        "a8d9291d7f93d1aa0d24d71d65c7de2894812177"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Aug 15 13:04:34 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Aug 15 17:27:29 2010 -0700"
      },
      "message": "Fix problems with determining when to kill apps for wake usage.\n\nAlso improve debug printing of various times.\n\nChange-Id: Ifcc288fd1bcbf44c069875ba97925b9e7ffe9a48\n"
    },
    {
      "commit": "e300b8c10c306b575bbbec29d5572ba92a97785e",
      "tree": "97b5bdef9a898c2e8e5b973116a26f8a35cfb3d1",
      "parents": [
        "a8d9291d7f93d1aa0d24d71d65c7de2894812177",
        "b738fb9938631a2e4540f9a9308f49e6be5565b8"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Aug 13 15:59:53 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 13 15:59:53 2010 -0700"
      },
      "message": "Merge \"DO NOT MERGE Always set/remove default routes.\" into gingerbread"
    },
    {
      "commit": "b738fb9938631a2e4540f9a9308f49e6be5565b8",
      "tree": "cfca74d28113fdc7a0282a10b04c2df90a2582e0",
      "parents": [
        "e05184f271f9882a5bf828e353aea40e0c06ff69"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Aug 13 14:16:12 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Aug 13 15:53:13 2010 -0700"
      },
      "message": "DO NOT MERGE Always set/remove default routes.\n\nMust clean up default route if a default 3g connection is replaced\nby a non-default (ie, mms) connection on teh same interface.\n\nAlso stop mucking with all connections dns and routes - do it only\nfor the connection that has changed.\n\nbug:2865974\nChange-Id: Ifdf49080fa0413a4d826813706c809975a562dfa\n"
    },
    {
      "commit": "9adb9c3b10991ef315c270993f4155709c8a232d",
      "tree": "445c2437eeb4b3b5fa5597dc0538c04e0fdf490e",
      "parents": [
        "3f442ece257d416b48f7803a4cc263f0215faa0d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 13 14:09:56 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 13 15:17:49 2010 -0700"
      },
      "message": "Various battery info things:\n\n- Now track wake locks in battery history.\n- Now track sensors in battery history.\n- Some filtering of sensory data.\n- Fixes to some data that wasn\u0027t cleared when resetting battery stats.\n- Print amount discharged since last charge.\n\nAnd the big part -- keep track of wake locks held per process,\nand kill processes that hold wake locks too much while they are in\nthe background.  This includes information in the battery stats\nabout the process being killed, which will be available to the\ndeveloper if the app is reported.\n\nChange-Id: I97202e94d00aafe0526ba2db74a03212e7539c54\n"
    },
    {
      "commit": "fb86ce93079db4465a61489275c65bcf8ce4669e",
      "tree": "ae97d26d4d93bdf22b4f0b07773aded740e4ee16",
      "parents": [
        "65f2490e1baa6eac5905cbc638e69581ebcd8dee"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 18:11:23 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 18:15:29 2010 -0700"
      },
      "message": "Add watermark support.\n\nUse these system properties:\n\nro.watermark.text\nro.watermark.height\nro.watermark.x\nro.watermark.y\nro.watermark.color\nro.watermark.shadow.radius\nro.watermark.shadow.dx\nro.watermark.shadow.dy\nro.watermark.shadow.color\n\nIf ro.watermark.text is not set, no watermark will be shown.  All others\nhave reasonable defaults if they are not set.\n\nChange-Id: Ibe4a01e6f1c576494ae2462e2688cdfaa8c62cb8\n"
    },
    {
      "commit": "95af0c14a64ef264d2b362ded4ca2b5a169d1066",
      "tree": "fba4bb178de08e99f4c71f882809bab315cec33a",
      "parents": [
        "bd1c082cf90d07e3ccb017b72e59b5ccad81dd07",
        "a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 11 16:15:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 16:15:48 2010 -0700"
      },
      "message": "Merge \"Add support for the PointerLocation overlay.\" into gingerbread"
    },
    {
      "commit": "bd1c082cf90d07e3ccb017b72e59b5ccad81dd07",
      "tree": "3d39390b4c25ab3fdf9abce37307717ca061cdf1",
      "parents": [
        "8ea71511c64e61fe23004889ff7032f991a751c8",
        "f4c454bac9cfd804603e65c5195f49a344adf82d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 15:16:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 15:16:01 2010 -0700"
      },
      "message": "Merge \"New system property \"sys.boot_completed\" set to 1 when boot completed.\" into gingerbread"
    },
    {
      "commit": "a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0",
      "tree": "65d87a9c55c869843540884f0fbced6a69841895",
      "parents": [
        "c3fc2d03d58a258c53c9265a70143d4af076b764"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 11 14:46:32 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 11 14:46:32 2010 -0700"
      },
      "message": "Add support for the PointerLocation overlay.\n\nThis change involves adding a new method to IWindowManager,\nmonitorInput() that returns an InputChannel to receive a copy of all\ninput that is dispatched to applications.  The caller must have\nthe READ_INPUT_STATE permission to make this request (similar to\nother window manager methods such as getKeycodeState).\n\nChange-Id: Icd14d810174a5b2928671ef16de73af88302aea0\n"
    },
    {
      "commit": "f4c454bac9cfd804603e65c5195f49a344adf82d",
      "tree": "039e9405d49a1a33f6843795b0926a94a16e361c",
      "parents": [
        "a5ae50cd838b5725c63ed485292aae4edd1a98cb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 12:47:41 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 12:47:41 2010 -0700"
      },
      "message": "New system property \"sys.boot_completed\" set to 1 when boot completed.\n\nChange-Id: Ie3fc0b1efdfb637b0c780064a71e8c1575e15ca3\n"
    },
    {
      "commit": "a02b8b05dd1e8b8cf169e1f89542ef835b11fc13",
      "tree": "aa1b5fb6b900c064d9914f51c9c3817a2c46f9df",
      "parents": [
        "9902196f9885d369e37cf44084e3f04513511ab0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 05 16:14:17 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 11 11:20:53 2010 -0700"
      },
      "message": "Move OBB file reading to DefaultContainerService\n\nThe system_server shouldn\u0027t touch files on the SD card. This change\nmoves the things that touch the SD card out to the\nDefaultContainerService so that it will get killed if the SD card goes\naway instead of the system_server.\n\nChange-Id: I0aefa085be4b194768527195532ee6dddc801cfc\n"
    },
    {
      "commit": "5e7833a571967d1dbc8618ac96ad6a379bcdf66a",
      "tree": "f8de5fbf04b798bec177bab0171d1ad77fcfd150",
      "parents": [
        "c6dc45700bf0c18708b0ad2f695ea85fadcbf131"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Mon Aug 09 17:01:11 2010 -0700"
      },
      "committer": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Mon Aug 09 17:01:11 2010 -0700"
      },
      "message": "Fix focus notification\n\nChange-Id: I51d73100695ceb70620754a1897ace681a26d839\n"
    },
    {
      "commit": "f9624764711f9806cd8a8a95c4a0613995bab04a",
      "tree": "37236ac39268ae8c5fda88429a6fe649affc5fc9",
      "parents": [
        "8e15afe799bbe8d332640c1f2b57b5e0458a9625"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Wed Jul 14 17:02:37 2010 -0700"
      },
      "committer": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Fri Aug 06 13:27:31 2010 -0700"
      },
      "message": "Adding a way for Hierarchy Viewer to get the focused window.\n\nChange-Id: I01e6ab4aa24d632fba586cb9e112d8d9df1a681a\n"
    },
    {
      "commit": "5723dfe8c87d0887b8926f43637ed300466890d2",
      "tree": "1bb85eaf9fed48cda01d142a570dbe905f2a440a",
      "parents": [
        "4c5d28cee0537c83ff0e5bc0daaae78f68dfc7c8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 06 10:06:26 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 06 10:15:15 2010 -0400"
      },
      "message": "GPS: Don\u0027t set XTRA download pending flag at boot time.\n\nXTRA data downloads are now strictly on demand from the GPS engine.\nAlso fix typo in handleDownloadXtraData()\n\nChange-Id: Ied1a6e2e62134add4d965326aae909c86f834682\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1d62c7737c33f92e79f0a180b05969f52484e64c",
      "tree": "efbe9186ce59fc46ddfe08f1d7005c7e2fbf5188",
      "parents": [
        "b9605886d1a94de624b6feb5a81bb37f41653437"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Aug 06 11:32:24 2010 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Aug 06 11:52:38 2010 +0800"
      },
      "message": "Fix the build\n\nChange-Id: I410e2fd057b68e1b5b5b33ee10178a01d3c9b2fa\n"
    },
    {
      "commit": "2d94231ef91c732f649ff7af9520ee9eac441b16",
      "tree": "34907f59357a6b7896c2fa8ce94a5a7e58687b27",
      "parents": [
        "499b743851aa84b9fc1a7e445e189946bc47ad5d"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Aug 05 12:17:37 2010 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Aug 06 08:40:50 2010 +0800"
      },
      "message": "Add SIP service into system server.\n\nChange-Id: Icc39e4e54768cfdcc1b20a3efe6206009b9a8d10\n"
    },
    {
      "commit": "9b87770f53c55a313a7fdc6f553265aabbde3446",
      "tree": "7d3c18b9f003d8c059407fa45b1e7c4f3ee62586",
      "parents": [
        "8c5035696b0aaf30ae49594b845f663fe633ac88",
        "d0a2f86f357f346639a6648b4004266865c979b4"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Aug 04 20:33:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 04 20:33:32 2010 -0700"
      },
      "message": "Merge \"Fix crash when startForeground posts a broken Notification.\" into gingerbread"
    },
    {
      "commit": "e2f7417529439d4ff3fd23fbe7fc1fcac4230385",
      "tree": "cafb6120bf33d5e342baacf35f9b77dce0effa75",
      "parents": [
        "508715259c332613240b2399c77d35ea7214f91a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 04 13:35:33 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 04 13:35:33 2010 -0700"
      },
      "message": "Failure to move .dex in eng builds is not fatal\n\nWhen moving between program locations or application names, the .dex\nfile is moved by installd. However, in engineering builds, the\napplications are run through dexopt on-demand. If the .dex file fails to\nmove, we can ignore it because it\u0027s most likely because the .dex file\ndoes not exist yet.\n\nChange-Id: Id5c4dbfa33f19c976acd9f184ccd637752326629\n"
    },
    {
      "commit": "deb112674e9940a46c87fa4e3bae5d8d1ee84ef3",
      "tree": "f5ddf3474923811905ddd1f645a9d7be7d6dd7f5",
      "parents": [
        "866362fcb4db93584143c21934ea355cbf9e0757"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 02 11:36:21 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 04 08:44:31 2010 -0700"
      },
      "message": "Only allow one movePackage operation in-flight\n\nWhen a movePackage operation is requested, don\u0027t allow multiple requests\nto pile up for one package. Once a move is completed, an observer will\nreceive the message and be allowed to call movePackage again.\n\nChange-Id: Ie3842b6d96446febc0037bf9b8f1ca250735edc2\n"
    },
    {
      "commit": "d0a2f86f357f346639a6648b4004266865c979b4",
      "tree": "686b2bfe2b7deda215e330f84786f834c7003350",
      "parents": [
        "e339464f1c8efe7e53b761cf44ff5be6e537ecad"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Aug 03 15:29:31 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Aug 04 10:52:51 2010 -0400"
      },
      "message": "Fix crash when startForeground posts a broken Notification.\n\nThe NotificationManager tries to crash the calling app, but\nin the case of a service calling startForeground, the caller\nis the ActivityManager, so system_server goes down.\n\nNotificationManagerService#enqueueNotificationInternal is a\nnew internal-only method that accepts a UID/PID to use when\npunishing bogus notifications (such as the one in\nhttp://b/2869787).\n\nChange-Id: I84a9854bae630bc90288cebb94f174809d5dac8c\n"
    },
    {
      "commit": "389a916769aaf4b329839285d2f975fc23aadfb4",
      "tree": "ccc2ffd116bdef54f600ab18109e68c69d96b402",
      "parents": [
        "5d46ce24cc46dc57d31f809302af916999114ced"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 03 15:41:05 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 03 15:41:05 2010 -0700"
      },
      "message": "Usage Stats: don\u0027t block writing stats to disk.\n\nI was seeing lots of stack traces of people hung for noticeable\namounts of time when switching between activities.\n\ne.g. On of the common gmail stacks showing this pause was:\n\nandroid.os.StrictMode$StrictModeDiskWriteViolation: policy\u003d391 violation\u003d1\n  at android.os.StrictMode$AndroidBlockGuardPolicy.startHandlingViolationException(StrictMode.java:272)\n  at android.os.StrictMode$AndroidBlockGuardPolicy.onWriteToDisk(StrictMode.java:243)\n  at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:238)\n  at java.io.FileOutputStream.\u003cinit\u003e(FileOutputStream.java:97)\n  at java.io.FileOutputStream.\u003cinit\u003e(FileOutputStream.java:69)\n  at com.android.server.am.UsageStatsService.writeStatsFLOCK(UsageStatsService.java:424)\n  at com.android.server.am.UsageStatsService.writeStatsToFile(UsageStatsService.java:398)\n  at com.android.server.am.UsageStatsService.notePauseComponent(UsageStatsService.java:539)\n  at com.android.server.am.ActivityManagerService.updateUsageStats(ActivityManagerService.java:1856)\n  at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:667)\n  at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2925)\n  at com.android.server.am.ActivityStack.requestFinishActivityLocked(ActivityStack.java:2836)\n  at com.android.server.am.ActivityManagerService.finishActivity(ActivityManagerService.java:2276)\n  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:237)\n  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1415)\n  at android.os.Binder.execTransact(Binder.java:320)\n  at dalvik.system.NativeStart.run(Native Method)\n\n  at android.app.ActivityManagerProxy.finishActivity(ActivityManagerNative.java:1454)\n  at android.app.Activity.finish(Activity.java:3260)\n  at android.app.Activity.onBackPressed(Activity.java:1929)\n  at android.app.Activity.onKeyUp(Activity.java:1907)\n  at android.view.KeyEvent.dispatch(KeyEvent.java:1088)\n  at android.app.Activity.dispatchKeyEvent(Activity.java:2087)\n  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1661)\n  at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2543)\n  at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2516)\n  at android.view.ViewRoot.handleMessage(ViewRoot.java:1866)\n  at android.os.Handler.dispatchMessage(Handler.java:99)\n  at android.os.Looper.loop(Looper.java:123)\n  at android.app.ActivityThread.main(ActivityThread.java:3609)\n  at java.lang.reflect.Method.invokeNative(Native Method)\n  at java.lang.reflect.Method.invoke(Method.java:521)\n  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)\n  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)\n  at dalvik.system.NativeStart.main(Native Method)\n\nChange-Id: Id49157bc635017292eaefddc5e22d73f5f4ab05e\n"
    },
    {
      "commit": "321f7fad5c4a6ef27e944dc72e2ddbfb61af81de",
      "tree": "b5bf9e4ff1df05fd412899e020fca38fac896fd0",
      "parents": [
        "3d84280ccc31d12765e2efe03e2dd3ade1acfc33"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Mon Aug 02 20:01:01 2010 -0700"
      },
      "committer": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Tue Aug 03 11:21:55 2010 -0700"
      },
      "message": "Making sure that there is no notification when focus changes from something to nothing.\n\nChange-Id: Ib8b3bdd7f5dd999c933a017fe1b34263afe38e4a\n"
    },
    {
      "commit": "09e85dc0270ac9ce660c17ee8290ff2d136b395b",
      "tree": "1f7957006b9cb393315856ef00418733b8073266",
      "parents": [
        "d3579580df0cea7e37334d83ef7a9aa85ad70368"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 02 11:54:41 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 02 11:59:11 2010 -0700"
      },
      "message": "Mute a common-case progress log about input injection\n\nChange-Id: I37c9f5cb239ab93fde3a42f71f2782d8734c53ce\n"
    },
    {
      "commit": "8b61b68b648985df37197de204398f608c4ad8b1",
      "tree": "3060ed71f863619d629b9d3a95f7ca44a40de980",
      "parents": [
        "d2165cfce7911dac66d1195ed9123e79b086d22b",
        "6f89fa07b4105b2e0cfac87db7ce5e7c9b9feead"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 16:55:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 30 16:55:37 2010 -0700"
      },
      "message": "Merge \"Only install after MCS success\" into gingerbread"
    },
    {
      "commit": "6f89fa07b4105b2e0cfac87db7ce5e7c9b9feead",
      "tree": "ee8da2d3ed9867716b4f44526074b868cff3fe5d",
      "parents": [
        "7c600369c9695de73ca37db552eb81b8b89d5e76"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 16:33:47 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 16:35:04 2010 -0700"
      },
      "message": "Only install after MCS success\n\nIf MCS dies in the middle of a call during install, only proceed if the\ncall was successful. Otherwise wait for the max retries to be reached\nand run the failure handling code there.\n\nChange-Id: I00a27ea91046ea6521a3cff5e5ffe2c71b2b5bb4\n"
    },
    {
      "commit": "cb9ceb1029036363a81952d8ed5dfcbc83e6ff72",
      "tree": "20c48fd7126f64778944060ce2c2d8d4159bc36b",
      "parents": [
        "31b5d5485f7336639d252da7ba979234dbd2f1e1"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jul 29 14:29:02 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jul 30 14:28:55 2010 -0700"
      },
      "message": "StrictMode: time violations in Binder calls\n\nChange-Id: I5796993dce98be722cf679b78acaf0c9de0ba461\n"
    },
    {
      "commit": "7f9fe5fdfab8dbfffb279ae1687361ca1d939bb6",
      "tree": "f48c4878fe5c5c5019f02b8255e52474537b7f26",
      "parents": [
        "27eecb704a27c1c73ed3449eba0307d8138b9c2e",
        "d04ed08a7c894d2cf54209b408ca673d4e7669a9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 30 08:05:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 30 08:05:56 2010 -0700"
      },
      "message": "Merge \"Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\" into froyo"
    },
    {
      "commit": "392edec1162e9d00bcb66b271f43908f75d42ace",
      "tree": "5ecf0d7fb1e22166761f51b530aac6ac88b0f714",
      "parents": [
        "16263d9f8cc01392c2f3678b381ce897647c8c81",
        "3855980b4355017fa9a4988d7b150f3222075198"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 29 15:38:41 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 29 15:38:49 2010 -0700"
      },
      "message": "Merge from open-source froyo\n\nChange-Id: Ifa75fce9bd362b06ecb622219ef501e61e89fd76\n"
    },
    {
      "commit": "3855980b4355017fa9a4988d7b150f3222075198",
      "tree": "c078487e21c67006d0725783a4571c6b79f1f535",
      "parents": [
        "e8605af513e846f6cd223c9e92461189727d8c9b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 13:57:56 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 29 15:24:15 2010 -0700"
      },
      "message": "Fix a bug where we cleaned an apps external data when upgrading it. :(\n\nChange-Id: I0eee1e7062d334c66d6daa3c43e11a292263aada\n"
    },
    {
      "commit": "31b5d5485f7336639d252da7ba979234dbd2f1e1",
      "tree": "149d0d8de3a73420feac657cb8252f7ee2ce0020",
      "parents": [
        "571180c4c72e0bb4f930f8971edf000a652f10f6",
        "fb1f103191f1cf424a79aaf1cd67d2d1900138e0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 14:07:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 29 14:07:14 2010 -0700"
      },
      "message": "Merge \"Fix a bug where we cleaned an apps external data when upgrading it. :(\" into gingerbread"
    },
    {
      "commit": "fb1f103191f1cf424a79aaf1cd67d2d1900138e0",
      "tree": "764b1869ec3a254798133506c7059ac491a19bf0",
      "parents": [
        "a0ae8bc5c62b12269f20cbebdb0d8614e4e8eb1a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 13:57:56 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 13:58:32 2010 -0700"
      },
      "message": "Fix a bug where we cleaned an apps external data when upgrading it. :(\n\nChange-Id: I0eee1e7062d334c66d6daa3c43e11a292263aada\n"
    },
    {
      "commit": "6ec402b5ae33c8927694d8522b4cc6a5c8ba974e",
      "tree": "5d4b19eda9ade71d7e34635479426f1dd484e8c2",
      "parents": [
        "6dea6f4e71b53e421564d783c227cbe0a2469183"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 15:48:59 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 29 12:54:27 2010 -0700"
      },
      "message": "DO NOT MERGE: Fix input event injection ANRs on UI thread.\n\nAdded a new asynchronous injection mode and made the existing\nsynchronization mechanism more robust.\n\nChange-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6\n"
    },
    {
      "commit": "d04ed08a7c894d2cf54209b408ca673d4e7669a9",
      "tree": "ed53a7a9ed4ee634e6242fd5b82dd76d4a38ebb5",
      "parents": [
        "3bf5c4cd30f8bd598842d8ded5f1655406b5c27a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jul 27 16:49:10 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 29 09:25:10 2010 -0700"
      },
      "message": "Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\n\nChange-Id: Ib71113a3bc5aa5fdc088ab4ac3627352499ad3fa\n"
    },
    {
      "commit": "8dc16c27e23dae5bdf65fd2a2ced97c2f645a633",
      "tree": "f13d07246db7fbaaf63550c9dd570da5677c62a0",
      "parents": [
        "a54d7d3d7dd691334189aab20d23c65710092869"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 29 11:39:55 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 29 11:39:55 2010 -0400"
      },
      "message": "Fix typo in GPS mode logic.\n\nMS-Assisted support should not be required for using MS-Based mode.\n\nChange-Id: Ia6ee219674de3e9cc13190b753f8776305a4fa90\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f369a9b5f7b2ae75875753caf90ec68fd9dbc144",
      "tree": "65ddddfda965f4d2d140fcbc365317f4307be6db",
      "parents": [
        "56c02dc3d325bab8549ec34b9d6aa7c62ef742d0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:47:01 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:48:58 2010 -0700"
      },
      "message": "Remove stale temporary ASEC containers\n\nWhen a temporary container is created, its existence should be\nephemeral. However, if there is an error that causes system_server to be\nkilled during the process of creating a finalized ASEC, delete the stale\ncontainers on the next start-up of system_server.\n\nChange-Id: I7be8f94638a824295474c9a95960594848cb726b\n"
    },
    {
      "commit": "56c02dc3d325bab8549ec34b9d6aa7c62ef742d0",
      "tree": "b465b8f43821db74dc7c27afc2b214d882f82978",
      "parents": [
        "b1bb7180ec3446208ea717d96f6a507ea9955a13",
        "c78a8079740bfcad2e4439ccd74da52f6dc7fae2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:48:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 14:48:40 2010 -0700"
      },
      "message": "Merge \"Fix getTempContainerId()\" into gingerbread"
    },
    {
      "commit": "c78a8079740bfcad2e4439ccd74da52f6dc7fae2",
      "tree": "32980045a8a1e809f407a9c7c9ba51d283bfd004",
      "parents": [
        "7feab3470156c7864fe159115d575c16f0974493"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 15:18:38 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:45:14 2010 -0700"
      },
      "message": "Fix getTempContainerId()\n\ngetTempContainerId() would always return \"smdl2tmp1\" unless you had\nMAX_CONTAINERS number of SD card SDKs, because of an array sort that put\nall the zeros at the beginning.\n\nSwitch from trying to find a hole in the series of numbers to just\ngetting a number that\u0027s one larger than the previous. This reduces the\nalgorithmic complexity and the memory requirements.\n\nBug: 2832580\nChange-Id: I32dc75ef5a6645f594ea47b032d7402e8860ebcd\n"
    },
    {
      "commit": "6d0fec2de3601821f4f44eeb7d7deedebb2b7117",
      "tree": "9fdea32c5691a6d0bcb3085df47f42a8e6ecd565",
      "parents": [
        "b350bec514eb9fee473e4ef62680c53e992dc49b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 23 21:28:06 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 14:16:15 2010 -0700"
      },
      "message": "Refactor input reader to support new device types more easily.\n\nRefactored the input reader so that each raw input protocol is handled\nby a separate subclass of the new InputMapper type.  This way, behaviors\npertaining to keyboard, trackballs, touchscreens, switches and other\ndevices are clearly distinguished for improved maintainability.\n\nAdded partial support for describing capabilities of input devices\n(incomplete and untested for now, will be fleshed out in later commits).\n\nSimplified EventHub interface somewhat since InputReader is taking over\nmore of the work.\n\nCleaned up some of the interactions between InputManager and\nWindowManagerService related to reading input state.\n\nFixed swiping finger from screen edge into display area.\n\nAdded logging of device information to \u0027dumpsys window\u0027.\n\nChange-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612\n"
    },
    {
      "commit": "0c39b6c65bcb96ed6438c7d792a67708409d8f0f",
      "tree": "01bce9458ea87b0d7dbc4e55f0d72eb21f3ca56b",
      "parents": [
        "62d83a0c894b72d9abda1340d278d2aeec11e0fb",
        "84047bc295af663274ced27def33164d6e020b5d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Jul 28 09:53:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 09:53:12 2010 -0700"
      },
      "message": "Merge \"Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\" into gingerbread"
    },
    {
      "commit": "c40d714ca520257bcb5ef2e03e83ea3273d3a0ec",
      "tree": "87bc4979430b652177e084cda82f6708d33fff2b",
      "parents": [
        "b73045935cd8ec5d1a1c5e7a7ca800448b5789ea",
        "ac051ae7ac62532c78f820a0c7347ca36b119132"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 28 04:04:18 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 04:04:18 2010 -0700"
      },
      "message": "Merge \"Tethering: Use new ACTION_USB_STATE broadcast to monitor USB connected state\" into gingerbread"
    },
    {
      "commit": "b73045935cd8ec5d1a1c5e7a7ca800448b5789ea",
      "tree": "374ad5b9ff406fc285e7d60f5c1436f4a0fd9c00",
      "parents": [
        "9b8e5566f99c55222db4127719440272f63a5361",
        "e73eb531259126728e1d6e6b71ca65da28aaf0e0"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 18:34:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 27 18:34:08 2010 -0700"
      },
      "message": "Merge \"Cap the size of StrictMode buffering we do before calling DropBox.\" into gingerbread"
    },
    {
      "commit": "e73eb531259126728e1d6e6b71ca65da28aaf0e0",
      "tree": "38447cdab530cfee887e22447531641b529de7fd",
      "parents": [
        "0166c3530535355e7813f54c4e403a21db94a9d2"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 16:54:39 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 16:54:39 2010 -0700"
      },
      "message": "Cap the size of StrictMode buffering we do before calling DropBox.\n\nChange-Id: I46ea767bd0153c745e9b7eff945dacf5130f8807\n"
    },
    {
      "commit": "84047bc295af663274ced27def33164d6e020b5d",
      "tree": "2b9de925d070488c5205ddedef1b135bd51f98b2",
      "parents": [
        "499bee34c40945f898b7561ca7792ded5b974852"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jul 27 16:49:10 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jul 27 16:49:10 2010 -0700"
      },
      "message": "Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\n\nChange-Id: I6d160a1851e1f73bac3775d24cf70d46da59aa47\n"
    },
    {
      "commit": "499bee34c40945f898b7561ca7792ded5b974852",
      "tree": "64c2446094f7b298ab1c9bd353813f22786e9a38",
      "parents": [
        "76d9bf52f31b8f31f64348b736422861c90ab463",
        "c13978afe3adf26dc32766dab300cc066f372618"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Jul 27 10:22:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 27 10:22:58 2010 -0700"
      },
      "message": "Merge \"Remove a log message Jason doesn\u0027t like\" into gingerbread"
    },
    {
      "commit": "76d9bf52f31b8f31f64348b736422861c90ab463",
      "tree": "ab9bfa91f80d6366e575fe85103cdfcaf3bb119b",
      "parents": [
        "ca57d1cc89d65dfbd59c749c5736574cd08c7bd3",
        "8c65ee2d509db7dcb50ce4530d52eb5bdca3f917"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jul 27 09:14:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 09:14:42 2010 -0700"
      },
      "message": "am 8c65ee2d: Merge \"Add a method to let a properly permissioned app directly manipulate the user activity timeout.  We should come up with a better API for this, but this is for a last minute power manager hack to turn off the screen sooner after a phone call ends.\" i\n\nMerge commit \u00278c65ee2d509db7dcb50ce4530d52eb5bdca3f917\u0027 into gingerbread\n\n* commit \u00278c65ee2d509db7dcb50ce4530d52eb5bdca3f917\u0027:\n  Add a method to let a properly permissioned app directly\n"
    },
    {
      "commit": "c13978afe3adf26dc32766dab300cc066f372618",
      "tree": "6654b7b0122981f3106d7fc7f85cb73ba98a1403",
      "parents": [
        "00de721859ca291d0e212a6970f0bd8b3a2f8428"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Jul 26 15:32:00 2010 -0700"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Jul 26 15:32:00 2010 -0700"
      },
      "message": "Remove a log message Jason doesn\u0027t like\n\nBug: 2856942\nChange-Id: Ifc5cfc076bfed0918bb203ed9c82a42092ac3939\n"
    },
    {
      "commit": "14bfa398a4e8697ce5822861a684b7d1245e4a85",
      "tree": "e931d659ad7827ebf74d66a0f5c13d949dcd2b60",
      "parents": [
        "3ac8eb7278e3603d1a35fdbd2fff540a235da2ab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 24 19:58:06 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 24 20:07:17 2010 -0700"
      },
      "message": "Infrastructure to report running services to developer.\n\nChange-Id: Id1aae61323e7b8357c5fcc4bc641aaa57f3b6fde\n"
    },
    {
      "commit": "46730fc78388607fd562044cbaaa26ffc9f65337",
      "tree": "460661e109dcae2b1cae10d77cb287ac37ed6892",
      "parents": [
        "3bee5af8162c177f8c8f4199489a401058ab26a9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 24 16:32:42 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 24 16:34:00 2010 -0700"
      },
      "message": "Fix handling of application disabled state.\n\nChange-Id: I617b76e89eeb75437b384b92f1205bb00b15bb70\n"
    }
  ],
  "next": "7999bff154e96efb0bc9d2b89ec277f0f9ca0d2f"
}
