)]}'
{
  "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": "32ec1ad17ff3c5034f84a5be77ee2e2434b50c56",
      "tree": "288c6fdb8b94bff5fb98ec4361313aea51d933a7",
      "parents": [
        "97e58ef444da53165caab2a7be4fe44c154d5a0e",
        "e65280c5528d38a88fee6366328cf57dbe5a047f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 02 12:46:24 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 02 12:46:24 2010 -0700"
      },
      "message": "Merge \"Fix problem in AudioEffect::command() status.\" into gingerbread"
    },
    {
      "commit": "e65280c5528d38a88fee6366328cf57dbe5a047f",
      "tree": "c4c97e12aa3de27e79c846fda1c5041331cd1a8d",
      "parents": [
        "73ef5d4e2bcbf28ccb84580439f2f79d5cea1ec7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 02 11:56:55 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 02 11:56:55 2010 -0700"
      },
      "message": "Fix problem in AudioEffect::command() status.\n\nThe *pReplyData argument of the command() function was left unitialized by EffectHandle::command()\nwhen command was EFFECT_CMD_ENABLE, EFFECT_CMD_DISABLE and EFFECT_CMD_SET_PARAM_COMMIT.\n\nChange-Id: I91a19817ead2a8cfbdd8e2d77ca270c7ce9d5bd4\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": "a92ebfa1cd96dc91174f68baab820dbed8239e4b",
      "tree": "0279d11049f5bd1ff971b41c528dd05de9395839",
      "parents": [
        "63070856d034a2819a26560bc7f2881e501c78b7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 31 13:50:07 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 31 15:26:23 2010 -0700"
      },
      "message": "Audio Effects: fix problems in volume control.\n\n- Fixed click when re-enabling effect during the turn off phase:\nmake sure the effect states where effect is processed are the same\nwhere volume control is delegated to effect.\n- Fixed click when effect is deleted while still active: do not apply\nvolume ramp if an effect having volume control was just removed from the\neffect chain.\n\nAlso fixed a crash when PCM dump is enabled in effect bundle wrapper.\n\nChange-Id: Ib562f5cf75c69af75df0e862536262e2514493e4\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": "2e86809b6c79375d23c0975914efc3b66e89ac90",
      "tree": "3a6580b0457fb9c5b2eae354782aab65665ebdc6",
      "parents": [
        "ae6bdc23bd3fc74416985b93c995c54ea588d349",
        "0ac83f5a7c05ff5b7e213e5953590bfbeb4efb43"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 30 15:16:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 30 15:16:10 2010 -0700"
      },
      "message": "Merge \"Native libraries on SD\" into gingerbread"
    },
    {
      "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": "ae6bdc23bd3fc74416985b93c995c54ea588d349",
      "tree": "418a6b232112e621a6ff1ad01da52c784208a968",
      "parents": [
        "7ec7b9970cc3a6311bf043e228991adf24c43523",
        "b8453f4e0e32d11926f4c5badf656cf1062fbe08"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 30 15:02:06 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 30 15:02:06 2010 -0700"
      },
      "message": "Merge \"Fix issue 2952766.\" into gingerbread"
    },
    {
      "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": "b8453f4e0e32d11926f4c5badf656cf1062fbe08",
      "tree": "86f05f1037354854436cc120bcf7aa63da2c60c4",
      "parents": [
        "445ab76c49779998543bb78881f5d9f8ae81e598"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 27 17:10:36 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 27 17:10:36 2010 -0700"
      },
      "message": "Fix issue 2952766.\n\nThe problem is that the audio policy manager does not handle the input devices\nwhen forced use for telephony is changed.\nThe problem does not appear in a call over PSTN becasue only teh output devices drives the\nrouting of in call audio to/from the base band.\n\nThe fix consists in modifying AudioPolicyManagerBase::setForceUse() to check for active inputs\nand update the input device if needed.\n\nChange-Id: I0d36d1f5eef1cce527929180c29b025439902f10\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": "50395e80718e77d27ec5e2d474b255e05de68d82",
      "tree": "5ad33b4e3cdef4dba369205ac3f1d7637ec5da88",
      "parents": [
        "94e939e8794727f4f74839de23c5ac5f0d9f84b3",
        "43d9ac81f7722bb539ee67023f10b9f43abbf202"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 25 16:31:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 25 16:31:34 2010 -0700"
      },
      "message": "Merge \"Fix a fun bug with multiple service bindings from an activity.\" into gingerbread"
    },
    {
      "commit": "c51114fe044769d078dd9776f790b881c2a20cae",
      "tree": "381a461487257e0fecbd90066d5a6ba3c0343ad0",
      "parents": [
        "c14f9ca6e5e795b641e7809786b4e51e13493907"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 25 14:59:15 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 25 15:09:52 2010 -0700"
      },
      "message": "fix [2946787] Screen flicker on low resolution setting in camcorder.\n\nChange-Id: I7e86f2b6d85dcae8dd212890b978fa6ac7de6893\n"
    },
    {
      "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": "c817b22055f094e5fd640952e05821f288107eb3",
      "tree": "3f0b0c79b89b8eaeb74639da6ed2cf90fda6c81d",
      "parents": [
        "8395b4625b96f2133e2e4f595fdc69fbe222e4fc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 20 15:59:53 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 25 12:14:27 2010 -0700"
      },
      "message": "don\u0027t try to lock a buffer that wasn\u0027t allocated with SW usage bits\n\nChange-Id: Iabbcec1bfa30dc47d45ece699dd178653f1b675b\n"
    },
    {
      "commit": "8395b4625b96f2133e2e4f595fdc69fbe222e4fc",
      "tree": "6b237941de4da8b1cb45be7f31ac2d695ee0f9ae",
      "parents": [
        "6b6ae996b2e84af030397cff3a7f0087de93e01c",
        "e96aa3e859cb747e241dfa2999fcd142a688ed57"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 24 16:23:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 24 16:23:12 2010 -0700"
      },
      "message": "Merge \"fix [2931513] Add support for setting the orientation of an ANativeWindow\" into gingerbread"
    },
    {
      "commit": "e96aa3e859cb747e241dfa2999fcd142a688ed57",
      "tree": "8b725f12dd84b37345eebaa40951bc401b2e0a3f",
      "parents": [
        "0c76c7c5eedf90b5fa1a95b6a9944b4e58747007"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 19 17:01:19 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 24 15:40:50 2010 -0700"
      },
      "message": "fix [2931513] Add support for setting the orientation of an ANativeWindow\n\nAlso implement support for cropping.\n\nChange-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280\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": "271c1bfd60eaa20c3f37e685864d992e0770ac00",
      "tree": "1b6ca1cfce57d3af44fd1dc21a72127aeefb210b",
      "parents": [
        "2f6d975b93bbc5b55c35a00d913ee38ad9b76401",
        "e7044384b24051c9ac1ceef951beb97bbf8cf0f3"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 19 21:45:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 21:45:46 2010 -0700"
      },
      "message": "Merge \"Handle the camera open failure better.\" into gingerbread"
    },
    {
      "commit": "e7044384b24051c9ac1ceef951beb97bbf8cf0f3",
      "tree": "b91aefc34bc41e167480c6f9cb2c1de3743fafd0",
      "parents": [
        "eba1274978911ea188eead128645299669d02f60"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 17 15:45:37 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 19 21:44:06 2010 -0700"
      },
      "message": "Handle the camera open failure better.\n\nCheck if camera hardware is NULL to avoid mediaserver crash.\n\nChange-Id: Ibde0251f30bdb6b36a5d5380222d7be25ec9449c\n"
    },
    {
      "commit": "545eab8ae80b070177cc442931eadc8cd980de26",
      "tree": "50a767dd9641eca11fe85290993654495247fb6e",
      "parents": [
        "0014474569b8bb237f00fa692ab173678bff619e",
        "e509328efcbb05856e5e9c0310394911ee3243dc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 19 13:37:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 13:37:35 2010 -0700"
      },
      "message": "Merge \"remove unused pixel format\" into gingerbread"
    },
    {
      "commit": "e509328efcbb05856e5e9c0310394911ee3243dc",
      "tree": "1a5111fe0ccdc2a108ed7fc0bc7c6d0abbfc59d2",
      "parents": [
        "3d8c9bdbed0c31143227697bd0d94fd234fe08ad"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 19 13:11:42 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 19 13:11:42 2010 -0700"
      },
      "message": "remove unused pixel format\n\nChange-Id: I55bc3cc41385743c07f7e4de06335c922f746f73\n"
    },
    {
      "commit": "0b9a12bf8101830fa9bde4015d0043df14cab6db",
      "tree": "7714d9f2fa379adc7fbbe078d8ecb3aced796610",
      "parents": [
        "e0c8582e8a9f2b6eb5ebde667ddd1fddf4652bd4",
        "8448a79767b7dfc53a12502661cba89774733c10"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 19 08:49:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 19 08:49:20 2010 -0700"
      },
      "message": "Merge \"Fix issue 2929440\" into gingerbread"
    },
    {
      "commit": "8448a79767b7dfc53a12502661cba89774733c10",
      "tree": "fbc668ee87f76eb38446d4efbbeb974780431bd9",
      "parents": [
        "f6354aca3a4d0571a66747d9cdc247a1d411d660"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 18 18:13:17 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Aug 19 08:15:08 2010 -0700"
      },
      "message": "Fix issue 2929440\n\nFixed regression introduced by change a54d7d3d7dd691334189aab20d23c65710092869 in audioflinger mixer thread:\nWhen the output stream is suspended, the sleep time between two writes must match the actual duration\nof one output stream buffer otherwise the playback rate is not respected.\n\nChange-Id: Ic5bebe890290d1f44aeff9dd3c142d18e26fff2a\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": "cfa275908a220c5e1cf496f7fdde1c04e24e95da",
      "tree": "d2e9038d4ca2c988e7aebf193760c360785fa869",
      "parents": [
        "6ab94608750776bcaaee56696cfcfb16ce29db8a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 17 20:19:23 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 17 20:22:04 2010 -0700"
      },
      "message": "revert hwcomposer HAL changes. DO NOT MERGE.\n\nThis reverts commit:\n94364b91a2894bf037b8beb027132fbb812e1434\nf8e705dea48f77f1c2532fdbadd4997dd1851af0\nb59beb5ca68d0228f60dda60d85e2d0226b33215\ne0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20\n"
    },
    {
      "commit": "72ce42352c1c229e05d910b4176f3cddb608e814",
      "tree": "95407408da3e93ca27be17c5e7667ab089c14e2a",
      "parents": [
        "a1af0d7c80a0119630926810644e6cdee481ba80",
        "2cbecea4c9627d95377fc3e3b8a319116cee7feb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 17 17:05:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 17 17:05:38 2010 -0700"
      },
      "message": "Merge \"Fix possible race conditions during channel unregistration.\" into gingerbread"
    },
    {
      "commit": "2cbecea4c9627d95377fc3e3b8a319116cee7feb",
      "tree": "da379443f3e609953e9e1aa1f8d8325ad42d2a68",
      "parents": [
        "90291577a08f582e0978651f55dd950f40eb111d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 17 15:59:26 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 17 17:03:42 2010 -0700"
      },
      "message": "Fix possible race conditions during channel unregistration.\n\nPreviously, the input dispatcher assumed that the input channel\u0027s\nreceive pipe file descriptor was a sufficiently unique identifier for\nlooking up input channels in its various tables.  However, it can happen\nthat an input channel is disposed and then a new input channel is\nimmediately created that reuses the same file descriptor.  Ordinarily\nthis is not a problem, however there is a small opportunity for a race\nto arise in InputQueue.\n\nWhen InputQueue receives an input event from the dispatcher, it\ngenerates a finishedToken that encodes the channel\u0027s receive pipe fd,\nand a sequence number.  The finishedToken is used by the ViewRoot\nas a handle for the event so that it can tell the InputQueue when\nthe event has finished being processed.\n\nHere is the race:\n\n1. InputQueue receives an input event, assigns a new finishedToken.\n2. ViewRoot begins processing the input event.\n3. During processing, ViewRoot unregisters the InputChannel.\n4. A new InputChannel is created and is registered with the Input Queue.\n   This InputChannel happens to have the same receive pipe fd as\n   the one previously registered.\n5. ViewRoot tells the InputQueue that it has finished processing the\n   input event, passing along the original finishedToken.\n6. InputQueue throws an exception because the finishedToken\u0027s receive\n   pipe fd is registered but the sequence number is incorrect so it\n   assumes that the client has called finish spuriously.\n\nThe fix is to include a unique connection id within the finishedToken so\nthat the InputQueue can accurately confirm that the token belongs to\nthe currently registered InputChannel rather than to an old one that\nhappened to have the same receive pipe fd.  When it notices this, it\nignores the spurious finish.\n\nI\u0027ve also made a couple of other small changes to avoid similar races\nelsewhere.\n\nThis patch set also includes a fix to synthesize a finished signal\nwhen the input channel is unregistered on the client side to\nhelp keep the server and client in sync.\n\nBug: 2834068\nChange-Id: I1de34a36249ab74c359c2c67a57e333543400f7b\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": "b6ef8bad8a48fdc28770cf34d0c9efefc7fdd815",
      "tree": "38db8ab7ed4e5a211556158ca7250f67fd400306",
      "parents": [
        "f1f48bc7f200f54c76b22d845d8ba8419879b375",
        "1a1cd3a878b6389c097e34d114b60cf953edaeaa"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Aug 17 04:46:29 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 17 04:46:29 2010 -0700"
      },
      "message": "Merge \"GPS: Initialize XTRA support when GPS is enabled\" into gingerbread"
    },
    {
      "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": "90291577a08f582e0978651f55dd950f40eb111d",
      "tree": "145c005c421e6bae376d7193b8819709192d10a5",
      "parents": [
        "80810f86e93866674f3a4ca61f84887e7717aa63"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 16 14:19:45 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Aug 16 18:33:50 2010 -0700"
      },
      "message": "Throttle userActivity calls from input dispatcher.\n\nResults in an approximately 60% reduction in InputDispatcher thread CPU time.\n(Went from 3% to 1% when measured with CPU frequency scaling disabled.)\n\nChange-Id: Ia6e6087a719ee518fe37b428a871c7240bd4143f\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": "6a73368be44f45a80cc4b65dc57b9ff529cb2d89",
      "tree": "368c4feadfd7295b112dd2592386d8dc9e8228d4",
      "parents": [
        "e300b8c10c306b575bbbec29d5572ba92a97785e",
        "10f5c99223663ec0de21c52c1206c3d35cc2fb15"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 13 16:29:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 13 16:29:48 2010 -0700"
      },
      "message": "Merge \"fix a typo that prevented glTexImage2D codepath to work\" into gingerbread"
    },
    {
      "commit": "10f5c99223663ec0de21c52c1206c3d35cc2fb15",
      "tree": "708c53d9c02b244ae5156bc18ae541f913d3f245",
      "parents": [
        "ab5750115df3143de46cee934422ffea65765480"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 13 16:25:13 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 13 16:25:13 2010 -0700"
      },
      "message": "fix a typo that prevented glTexImage2D codepath to work\n\nChange-Id: I36a3bf9d1d2eacd9b14e00b0a6c53bf88bba381c\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": "94364b91a2894bf037b8beb027132fbb812e1434",
      "tree": "921da7245e7faab6feb77527d658b1e896867e4b",
      "parents": [
        "c8d0d6307fc5cdd24083113456ac33790a5fb94a"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Thu Aug 12 23:21:40 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Aug 13 10:10:48 2010 -0700"
      },
      "message": "surfaceflinger: don\u0027t check HWComposer numLayers unless one exists\n\nChange-Id: I4b83f7bf7ba1318c70054117f14e759fe0ad105c\n"
    },
    {
      "commit": "c8d0d6307fc5cdd24083113456ac33790a5fb94a",
      "tree": "e4d9377fecbf0e8b9f90e476f2f7b6892c137b7a",
      "parents": [
        "686a95055896c221c62fe7f4c3dda137809df91e",
        "8cc93b9b21310bd49d293152e4d68cedce8a72ef"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 13 08:00:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 13 08:00:14 2010 -0700"
      },
      "message": "Merge \"Fix issue 2909189: System property ro.audio.silent no longer mutes system.\" into gingerbread"
    },
    {
      "commit": "b7d1be01ae44428b947823fc48c1c126dcaa9732",
      "tree": "ab55969a9463aea5f5299a4d84b51856617f7d3d",
      "parents": [
        "404bffbeabbfa8c3f95cd92856d015a4d36e8a60",
        "f8e705dea48f77f1c2532fdbadd4997dd1851af0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 12 15:07:29 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 12 15:07:29 2010 -0700"
      },
      "message": "Merge \"Fix a couple issues with the new hwcomposer HAL\" into gingerbread"
    },
    {
      "commit": "f8e705dea48f77f1c2532fdbadd4997dd1851af0",
      "tree": "0c63e3e5b0d2035b57386db4a9b54f52f751c333",
      "parents": [
        "b59beb5ca68d0228f60dda60d85e2d0226b33215"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 12 15:03:26 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Aug 12 15:03:26 2010 -0700"
      },
      "message": "Fix a couple issues with the new hwcomposer HAL\n\n- we now clear the framebuffer upon request from the HAL\n- the HAL list size could get out of sync with reality\n- there was also an issue where sometime we could run past the list\n\nChange-Id: Ic3a34314aed24181f2d8cc787096af83c046ef27\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": "65f2490e1baa6eac5905cbc638e69581ebcd8dee",
      "tree": "bb452743751bd25305e736701838a16ddc89be3e",
      "parents": [
        "bb65ae020f802bae3e80dd8e05845fee5d6bc2cb",
        "b59beb5ca68d0228f60dda60d85e2d0226b33215"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 17:32:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 17:32:25 2010 -0700"
      },
      "message": "Merge \"should fix sim build, hopefully\" into gingerbread"
    },
    {
      "commit": "b59beb5ca68d0228f60dda60d85e2d0226b33215",
      "tree": "ae2ddeb41adbf4a17262eb3b6859effe4970616c",
      "parents": [
        "e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 17:31:33 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 17:31:33 2010 -0700"
      },
      "message": "should fix sim build, hopefully\n\nChange-Id: I5390bd34dcca36fef43b5169386fff1b04cc842b\n"
    },
    {
      "commit": "90dc48b17f673b7e334e3254ea633450f994226c",
      "tree": "862edc239bc21f1ddc4f15d57768bf6ffd39325c",
      "parents": [
        "24d7050ca605804efd5fde03f0d0d8d1d052c247",
        "e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:24:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 16:24:46 2010 -0700"
      },
      "message": "Merge \"call into hwcomposer HAL when present\" into gingerbread"
    },
    {
      "commit": "24d7050ca605804efd5fde03f0d0d8d1d052c247",
      "tree": "82e2e1563a5a36dda808f6c7c201df3e7f4eda2b",
      "parents": [
        "8e7515d9c938f5addd08d97bccfccfa976e76c11",
        "8514b92bc4dfab58aa762d75322e4c285b6ada17"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:21:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 16:21:01 2010 -0700"
      },
      "message": "Merge \"don\u0027t handle the transparent region of a layer in draw()\" into gingerbread"
    },
    {
      "commit": "8e7515d9c938f5addd08d97bccfccfa976e76c11",
      "tree": "b38fccc0b445bc09278b123aeea61a701fb1d669",
      "parents": [
        "025822a03a09337ec382e708c5a798fe805109ed",
        "1efba9a61716356014f4c452fd9e099c5ebe9bd0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:20:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 16:20:38 2010 -0700"
      },
      "message": "Merge \"get rid of our LayerVector implementation\" into gingerbread"
    },
    {
      "commit": "025822a03a09337ec382e708c5a798fe805109ed",
      "tree": "69a32098e0550ae31999100a59782a6c4c691fa6",
      "parents": [
        "95af0c14a64ef264d2b362ded4ca2b5a169d1066",
        "ff1d4102882ae9641a61fc4a3937866521bb72dc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:19:16 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 11 16:19:16 2010 -0700"
      },
      "message": "Merge \"keep a list of visible sorted surfaces\" into gingerbread"
    },
    {
      "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": "e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20",
      "tree": "85ed9093e65551a73553d19d5e6122d051ef574b",
      "parents": [
        "8514b92bc4dfab58aa762d75322e4c285b6ada17"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 17:14:02 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:08:45 2010 -0700"
      },
      "message": "call into hwcomposer HAL when present\n\nChange-Id: I70f31c69a9436a43860e78977442863ecba6d27b\n"
    },
    {
      "commit": "8514b92bc4dfab58aa762d75322e4c285b6ada17",
      "tree": "3a76202641f0c159baf59bb77eeb708e09be62b8",
      "parents": [
        "1efba9a61716356014f4c452fd9e099c5ebe9bd0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 20:42:20 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:05:06 2010 -0700"
      },
      "message": "don\u0027t handle the transparent region of a layer in draw()\n\nthis is already taken into consideration in computeVisibleRegion\nand therefore not needed at draw time.\n\nChange-Id: I3fc7336d22f1147dfcd3a20fd71bf79b946d971f\n"
    },
    {
      "commit": "1efba9a61716356014f4c452fd9e099c5ebe9bd0",
      "tree": "92f59d2d9146a58da50cbfe1f1e76221ef44d5c3",
      "parents": [
        "ff1d4102882ae9641a61fc4a3937866521bb72dc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 18:09:09 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:05:05 2010 -0700"
      },
      "message": "get rid of our LayerVector implementation\n\nwe now use SortedVector\u003c\u003e with a special compare implementation.\n\nChange-Id: I910459cf3b3c8993b55ad0786a8c348369262de5\n"
    },
    {
      "commit": "ff1d4102882ae9641a61fc4a3937866521bb72dc",
      "tree": "63fd377016ac4465aab9a12afcf75ed07706b273",
      "parents": [
        "91a7f5fef8a9fc496acef23f513cb48139e8dff5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 10 17:19:56 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 11 16:04:51 2010 -0700"
      },
      "message": "keep a list of visible sorted surfaces\n\nChange-Id: Ib815eeff894f8a3b1e79fbbf8186d5d91bb60285\n"
    },
    {
      "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"
    }
  ],
  "next": "a02b8b05dd1e8b8cf169e1f89542ef835b11fc13"
}
