)]}'
{
  "log": [
    {
      "commit": "a842d143d2dcad07906830a30deaf0ffce86f5d9",
      "tree": "70e2919359a49ed4926ed1330fa0f897e94cc191",
      "parents": [
        "bb8d314b6c5ff9b51af29daa687d66dfd996914f",
        "d018a0ce72124f668d859b19fe3e73f5637d3c7c"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Aug 19 18:01:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 19 18:01:20 2010 -0700"
      },
      "message": "am d018a0ce: Merge \"Text selection without trackball.\" into gingerbread\n\nMerge commit \u0027d018a0ce72124f668d859b19fe3e73f5637d3c7c\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d018a0ce72124f668d859b19fe3e73f5637d3c7c\u0027:\n  Text selection without trackball.\n"
    },
    {
      "commit": "b0d6ba1ec4f71b96cab7d1ff62b846d5cf162c4f",
      "tree": "1c21c8af559a1a7206a56996aa7ae10fd0ba29ef",
      "parents": [
        "c4554b9a0885ac3713575e91d8d33c5670b52322"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Tue Aug 17 20:01:42 2010 -0700"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Aug 19 15:55:02 2010 -0700"
      },
      "message": "Text selection without trackball.\n\nBackported from HC.\n\nSquashed commit of the following:\n\ncommit af214a595c7a9fdd11a2dc384f7d4665abf751c0\n    Fixes in TextView\u0027s selection.\n\ncommit eb9fd59ebe6500a66c2003d46b5802299970ae8d\n    TextView with Selection Contextual Mode\n\ncommit 4c4c338ef355b369ce4b57d6c6fba7ee8f9dddf4\n    Cosmetic changes around TextView.\n\ncommit d4b4b054e87480d984ad18766f5e76553e3080d8\n    Double and one and a half tap removed from TextView.\n\ncommit 897c2847ba1fca8ef01eadadd1bc3de007af3ee5\n    Selection handlers in TextView\n\ncommit 832be74a5394649e28927484d9a86c6d53b430e7\n    New cursor controller in TextViews.\n\nChange-Id: I01cc64736e2abea605317ee53907a1713617fc17\n"
    },
    {
      "commit": "03805f729cacead5d0797c840430ea99b26036d6",
      "tree": "144052dd035ca793f287e6acbf4df0ef7e5cd7cf",
      "parents": [
        "a2527055f8e3106fe70feeee10ae0c4ddc6596e9",
        "d313cab46e07c40f4cd1a94304a553e7eb809190"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 18 13:39:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 18 13:39:15 2010 -0700"
      },
      "message": "am d313cab4: Merge \"tracking merge of external/apache-http from dalvik-dev\" into gingerbread\n\nMerge commit \u0027d313cab46e07c40f4cd1a94304a553e7eb809190\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d313cab46e07c40f4cd1a94304a553e7eb809190\u0027:\n  tracking merge of external/apache-http from dalvik-dev\n"
    },
    {
      "commit": "232a0331c0b35df2333ac482fcf0e59a562e6fa0",
      "tree": "35d4e5db8efe10aa73a5d1c661053eca934ecfe3",
      "parents": [
        "6ab94608750776bcaaee56696cfcfb16ce29db8a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 18 00:47:08 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 18 00:47:08 2010 -0700"
      },
      "message": "tracking merge of external/apache-http from dalvik-dev\n\nChange-Id: I25d7659b25f86f88cb36b4f80589b8c3e3a8c6b2\n"
    },
    {
      "commit": "ab59914de7ac714d04a5013c53aa9c7edb5421a2",
      "tree": "d66fdd49bdce173390d823a98cf152a7147b500b",
      "parents": [
        "5085848ddbadaafa088ed85753156adc2e54554d",
        "b3e957bb9d3a3811412e5d94233c7f7e2e777c28"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Aug 17 08:27:17 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 17 08:27:17 2010 -0700"
      },
      "message": "am b3e957bb: Merge \"New download manager error code when we can\\\u0027t resume.\" into gingerbread\n\nMerge commit \u0027b3e957bb9d3a3811412e5d94233c7f7e2e777c28\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b3e957bb9d3a3811412e5d94233c7f7e2e777c28\u0027:\n  New download manager error code when we can\u0027t resume.\n"
    },
    {
      "commit": "33bbd12a05005ac92a0ecf82695893148227bb22",
      "tree": "4e78a5bd369a773bb5463ed33a3dfd47144dd57b",
      "parents": [
        "80810f86e93866674f3a4ca61f84887e7717aa63"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Aug 02 17:51:29 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Aug 16 14:28:17 2010 -0700"
      },
      "message": "New download manager error code when we can\u0027t resume.\n\nAdding DownloadManager.ERROR_CANNOT_RESUME for when we can\u0027t resume an\ninterrupted download (because the server didn\u0027t provide an ETag or\ndoesn\u0027t support range requests), as well as the necessary private\nstatus code in Downloads.Impl.\n\nChange-Id: I5a66f1e1964198552ab2216aa6d3cc0db2254e21\n"
    },
    {
      "commit": "bb33d6fd987727c24372d7b7109ec5d1db82efe2",
      "tree": "c0d5ef72ed1833aa5fcb158c280ae76d4855f180",
      "parents": [
        "4a054c1a5d7ee2db6c738ede002a35145b226588",
        "997dc32b6bef1c9cc8ac6d4d598698507b2c4934"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Aug 16 13:20:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 16 13:20:05 2010 -0700"
      },
      "message": "am 997dc32b: Merge \"add an api for getting a device serial number\" into gingerbread\n\nMerge commit \u0027997dc32b6bef1c9cc8ac6d4d598698507b2c4934\u0027 into gingerbread-plus-aosp\n\n* commit \u0027997dc32b6bef1c9cc8ac6d4d598698507b2c4934\u0027:\n  add an api for getting a device serial number\n"
    },
    {
      "commit": "7d2e3df60d33a73f5ef62ea462a9c6da5e3efc9a",
      "tree": "618eb0275f1dd2cc8ae1ab66316d10f0bd1e4617",
      "parents": [
        "8ea71511c64e61fe23004889ff7032f991a751c8"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Aug 11 16:58:04 2010 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Aug 16 09:18:50 2010 -0700"
      },
      "message": "add an api for getting a device serial number\n\nAdd a constant to android.os.Build that returns a device-specific\nalphanumeric serial number.  It\u0027s optional -- it may be blank --\nthough CTS will require it to be present for non-telephony devices.\n\nChange-Id: I338ae5f43ba679a5e98f2f437dc4efdaef0c835d\n"
    },
    {
      "commit": "f5ee5358c187107b2e5a1e1fbcb5a648d793c798",
      "tree": "12dcb02cd32609d830b7541723ac8d18dd679fa3",
      "parents": [
        "136d8336b6cb18067cd783185dacef34ae785519",
        "ac9717ab73afe0123b6dbb63c4dd2fc88143e53e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 11 14:10:18 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 14:10:18 2010 -0700"
      },
      "message": "am ac9717ab: Merge \"Move OBB file reading to DefaultContainerService\" into gingerbread\n\nMerge commit \u0027ac9717ab73afe0123b6dbb63c4dd2fc88143e53e\u0027 into gingerbread-plus-aosp\n\n* commit \u0027ac9717ab73afe0123b6dbb63c4dd2fc88143e53e\u0027:\n  Move OBB file reading to DefaultContainerService\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": "679ac09a5c22175354f3a04b28456b323839530e",
      "tree": "34b8b48aa74ab56a9dbbb75a6acd792c8bbdfda0",
      "parents": [
        "0a6db9bebbd58c6a7e2ad2070d2649a2be57a09a",
        "a5ae50cd838b5725c63ed485292aae4edd1a98cb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 00:47:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 11 00:47:51 2010 -0700"
      },
      "message": "am a5ae50cd: Merge \"More native work.\" into gingerbread\n\nMerge commit \u0027a5ae50cd838b5725c63ed485292aae4edd1a98cb\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a5ae50cd838b5725c63ed485292aae4edd1a98cb\u0027:\n  More native work.\n"
    },
    {
      "commit": "08d5b8fad8d46ccb64db2fdcb4d66972ec87bf48",
      "tree": "7e2e67603ec8a2ca164548301b65a2b733df76a0",
      "parents": [
        "091c5238a00ca51dc69b8b09459e6ac88e1eb077"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 04 11:12:40 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 00:29:59 2010 -0700"
      },
      "message": "More native work.\n\nImplement save/restore of state, and add native APIs for\nconfiguration information.\n\nChange-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5\n"
    },
    {
      "commit": "1ece7d6873027068a3e7b055597045e9387b217c",
      "tree": "1e14a07d1666f7a04cd676340b4f3faeb3e414b7",
      "parents": [
        "8b8b4536314d1354c244af2c9e665c4db4e27522",
        "2a6b80bc65c4782b5a7168b300e1dc5ec9f617ee"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 09 19:52:43 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 09 19:52:43 2010 -0700"
      },
      "message": "am 2a6b80bc: Fixed several audio effects problems.\n\nMerge commit \u00272a6b80bc65c4782b5a7168b300e1dc5ec9f617ee\u0027 into gingerbread-plus-aosp\n\n* commit \u00272a6b80bc65c4782b5a7168b300e1dc5ec9f617ee\u0027:\n  Fixed several audio effects problems.\n"
    },
    {
      "commit": "2a6b80bc65c4782b5a7168b300e1dc5ec9f617ee",
      "tree": "fc777c3694d8739aba7a44caedc867c7b87b88a9",
      "parents": [
        "8fb2e6e4720385961083a150a3e848ccaef544ae"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 29 23:43:43 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 09 05:48:20 2010 -0700"
      },
      "message": "Fixed several audio effects problems.\n\n- Fixed constant inversions in AudioEffect.java\n- Do not return error when enabling an already enabled effect\n- Update cached effect state in native AudioEffect class when effect is enabled/disabled by command() method\n- Remove click when restarting effect during disable sequence\n- Fixed problem in master mute management when volume control is delegated to effect.\n\nChange-Id: I6df4ce9fcc54fdc7345df858f639d20d802d6712\n"
    },
    {
      "commit": "974c993fc3771169efa73e40981d18ac0969fac8",
      "tree": "c20482d913c9919690fd3e01fbee812ff75de276",
      "parents": [
        "d7ce227bcb854f048124bbc487eba844c6599142",
        "8e15afe799bbe8d332640c1f2b57b5e0458a9625"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Fri Aug 06 18:54:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 06 18:54:03 2010 -0700"
      },
      "message": "am 8e15afe7: Make downloads visible by default.\n\nMerge commit \u00278e15afe799bbe8d332640c1f2b57b5e0458a9625\u0027 into gingerbread-plus-aosp\n\n* commit \u00278e15afe799bbe8d332640c1f2b57b5e0458a9625\u0027:\n  Make downloads visible by default.\n"
    },
    {
      "commit": "8e15afe799bbe8d332640c1f2b57b5e0458a9625",
      "tree": "59243a3ecfa55cf71873629747b28d739a480c77",
      "parents": [
        "818490ab2abe36dfc6c13d01fea5220bd64cca8c"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Wed Jul 28 17:12:40 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Fri Aug 06 11:06:49 2010 -0700"
      },
      "message": "Make downloads visible by default.\n\nChange-Id: I8f8b325658d8afc964bddd3f1c03ed20e6bd10aa\n"
    },
    {
      "commit": "1b7e4d5adcc2737bc11bfbf42a88a02d6df984e0",
      "tree": "4fbf043592b84b3c1bd917276c525b080cb9260e",
      "parents": [
        "870678a954e1e2a96caf76453c20de808253ffd1",
        "4ae1e382f4b6c5bb9e757f35f82ad48dc02c32af"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 05 10:40:45 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 05 10:40:45 2010 -0700"
      },
      "message": "am 4ae1e382: Merge \"Tracking merge of dalvik-dev to gingerbread\" into gingerbread\n\nMerge commit \u00274ae1e382f4b6c5bb9e757f35f82ad48dc02c32af\u0027 into gingerbread-plus-aosp\n\n* commit \u00274ae1e382f4b6c5bb9e757f35f82ad48dc02c32af\u0027:\n  Tracking merge of dalvik-dev to gingerbread\n"
    },
    {
      "commit": "3c7c351a6217ac48b741740167c201a679a0ca65",
      "tree": "f539d70e0a46249f01dd6fb45563f1ebc4bed706",
      "parents": [
        "cde66df44240cfe5a7bec12ac52464c3bf26c14f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 04 15:44:39 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 04 23:47:38 2010 -0700"
      },
      "message": "Tracking merge of dalvik-dev to gingerbread\n\ngit cherry-pick --no-commit f77cf7f0\ngit cherry-pick --no-commit c8f503b5285e30c1a881d0ba860ba9021f57d113\ngit cherry-pick --no-commit 570bb561\ngit cherry-pick --no-commit e2417541\ngit cherry-pick --no-commit e4d81f25bd4dc1a5c909b56ab56a56406290da30\ngit cherry-pick --no-commit 5e8a587d\n\nChange-Id: I101a385d43f3e0f4ce5352217f92ef67a3908c88\n"
    },
    {
      "commit": "3ce6563320bc8b07777b8cf84ad96c4c9c1a893b",
      "tree": "1428edc39010840ccc0c93b1a87f7fab6f5ac513",
      "parents": [
        "c5183acae55e08f4bfcb58aa122a200863748a63",
        "c6ecccb284401b6312108f927ffcfc303872f380"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 04 09:24:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 04 09:24:52 2010 -0700"
      },
      "message": "am c6ecccb2: Merge \"Fix the build.\" into gingerbread\n\nMerge commit \u0027c6ecccb284401b6312108f927ffcfc303872f380\u0027 into gingerbread-plus-aosp\n\n* commit \u0027c6ecccb284401b6312108f927ffcfc303872f380\u0027:\n  Fix the build.\n"
    },
    {
      "commit": "f383a9a1153d36242ad7e0c0ed9f7895a110488f",
      "tree": "a735aac6323b3493af2f57a19e17b1f0e24096de",
      "parents": [
        "1340ee8a273a9b25a779f3b18d6f832ce496c68e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 09:18:46 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 09:18:46 2010 -0700"
      },
      "message": "Fix the build.\n\nForgot to update current.xml in last patch set for change\nI541ee4ad0232312ec720545737cbcdb8c9a82597\n\nChange-Id: I528a43fd01ca2478145fe54d90747f489ab7a2b3\n"
    },
    {
      "commit": "acc4e6838d1d4030cb65acf0f9adb800a81fb22f",
      "tree": "6d63d86afc4d8c6fb93084b668f368925ee93226",
      "parents": [
        "9ee17b7dec7c76830b5add29f3b97039e178629a",
        "1340ee8a273a9b25a779f3b18d6f832ce496c68e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 08:52:27 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 04 08:52:27 2010 -0700"
      },
      "message": "am 1340ee8a: Merge \"NEW_API: Unhide audio effect APIs.\" into gingerbread\n\nMerge commit \u00271340ee8a273a9b25a779f3b18d6f832ce496c68e\u0027 into gingerbread-plus-aosp\n\n* commit \u00271340ee8a273a9b25a779f3b18d6f832ce496c68e\u0027:\n  NEW_API: Unhide audio effect APIs.\n"
    },
    {
      "commit": "17cb280e7f1ac3556eac90ab08263712e0348cb9",
      "tree": "324ae1f315fddc25a0b5ad82863f68a74bc2ed0b",
      "parents": [
        "23796e3b622c6be4feb15d4d57e58645acfa431b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 03 03:50:02 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 08:31:01 2010 -0700"
      },
      "message": "NEW_API: Unhide audio effect APIs.\n\nThis change unhides all public APIs for controling audio effects exposed\nby the following classes:\n- AudioEffect\n- BassBoost\n- EnvironmentalReverb\n- Equalizer\n- PresetReverb\n- Virtualizer\n- Visualizer\n\nAlso fixes several problems in javadoc.\n\nChange-Id: I541ee4ad0232312ec720545737cbcdb8c9a82597\n"
    },
    {
      "commit": "dfce290b803dbd986463eb37f178a86cf285bf29",
      "tree": "c48cbd880d3990b28d8f7de5599a0500e826b04f",
      "parents": [
        "02513855530b80dd554b13852db75f3adde2c9f4",
        "04d7e83e65e246e154b5b346e3eb0081b741ae88"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 29 18:21:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 18:21:03 2010 -0700"
      },
      "message": "am 04d7e83e: Added SensorManager.getAltitude()\n\nMerge commit \u002704d7e83e65e246e154b5b346e3eb0081b741ae88\u0027 into gingerbread-plus-aosp\n\n* commit \u002704d7e83e65e246e154b5b346e3eb0081b741ae88\u0027:\n  Added SensorManager.getAltitude()\n"
    },
    {
      "commit": "02513855530b80dd554b13852db75f3adde2c9f4",
      "tree": "3a971706986f6b5e1ad59fbd9ebfd09ca0b9e053",
      "parents": [
        "0c51c98fd9edf0bdc8f2c567470fc332b5ae3adf",
        "050b56244ff46d43e4886018d7cd20f0b1dc02b9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 29 18:20:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 18:20:51 2010 -0700"
      },
      "message": "am 050b5624: Added SensorManager.getMinDelay()\n\nMerge commit \u0027050b56244ff46d43e4886018d7cd20f0b1dc02b9\u0027 into gingerbread-plus-aosp\n\n* commit \u0027050b56244ff46d43e4886018d7cd20f0b1dc02b9\u0027:\n  Added SensorManager.getMinDelay()\n"
    },
    {
      "commit": "04d7e83e65e246e154b5b346e3eb0081b741ae88",
      "tree": "010c86fa7361f8e09dee2e496a4ed04b2f077d38",
      "parents": [
        "050b56244ff46d43e4886018d7cd20f0b1dc02b9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 29 17:59:58 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 29 18:18:01 2010 -0700"
      },
      "message": "Added SensorManager.getAltitude()\n\nthis is a helper function to calculate the altitude from the\npressure and pressure at sea level.\n\nChange-Id: I3f6f14fee6190388f95afa36a66287e3d59eef9b\n"
    },
    {
      "commit": "050b56244ff46d43e4886018d7cd20f0b1dc02b9",
      "tree": "1c0cfcd08dbd18b386bebe5dd2cbeb1c945ccbda",
      "parents": [
        "3fb627525e077fa5452a99ac1e2a7e9c41995044"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 29 16:51:38 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 29 18:18:00 2010 -0700"
      },
      "message": "Added SensorManager.getMinDelay()\n\nExposed the new \"min delay\" sensor property through native and\njava sensor apis. This allows the caller to know what is the\nmaximum rate at which a sensor can return events, or, if a sensor\nworks in \"update\" mode (events returned only when the value changes).\n\nAlso augmented SensorManager.regusterSensorEvent() so that it can\naccept a value in microsecond in addition to the 4 constants already\ndefined.\n\nChange-Id: If425e9979892666df8c989d7de3c362230fa19e0\n"
    },
    {
      "commit": "b0a57502c6f17edd1a63bee1463bc2f9fd78e4a4",
      "tree": "e00ad298572b11438fb7e8535d0a4f8d586c9ec6",
      "parents": [
        "425560259c6d41e7f413fdd0f517dc47f350c533",
        "6ec402b5ae33c8927694d8522b4cc6a5c8ba974e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 29 13:09:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 13:09:07 2010 -0700"
      },
      "message": "am 6ec402b5: DO NOT MERGE: Fix input event injection ANRs on UI thread.\n\nMerge commit \u00276ec402b5ae33c8927694d8522b4cc6a5c8ba974e\u0027 into gingerbread-plus-aosp\n\n* commit \u00276ec402b5ae33c8927694d8522b4cc6a5c8ba974e\u0027:\n  DO NOT MERGE: Fix input event injection ANRs on UI thread.\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": "9795a25da060f9a7df87da8ab43fb1086d4322a5",
      "tree": "98aec7df18a3721c94524d551b79e6d5420a20b8",
      "parents": [
        "8190f485539c36803489dcf5f198d03ed87ae8f9",
        "6d0fec2de3601821f4f44eeb7d7deedebb2b7117"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 14:25:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 14:25:05 2010 -0700"
      },
      "message": "am 6d0fec2d: Refactor input reader to support new device types more easily.\n\nMerge commit \u00276d0fec2de3601821f4f44eeb7d7deedebb2b7117\u0027 into gingerbread-plus-aosp\n\n* commit \u00276d0fec2de3601821f4f44eeb7d7deedebb2b7117\u0027:\n  Refactor input reader to support new device types more easily.\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": "cb61d132bc8ff26b7c81fb2fa7439808014f50b3",
      "tree": "8ec5e97144f9c22b056de5f835a7989a3b68bd78",
      "parents": [
        "a4ab26513426bf86c51c3c9419efb148be3aca8e",
        "9b8e5566f99c55222db4127719440272f63a5361"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Jul 27 16:56:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 16:56:52 2010 -0700"
      },
      "message": "am 9b8e5566: Merge \"One last change to current.xml for new download manager API\" into gingerbread\n\nMerge commit \u00279b8e5566f99c55222db4127719440272f63a5361\u0027 into gingerbread-plus-aosp\n\n* commit \u00279b8e5566f99c55222db4127719440272f63a5361\u0027:\n  One last change to current.xml for new download manager API\n"
    },
    {
      "commit": "f547d722f9591629b293ba9132d6b74d345e9aa5",
      "tree": "29ac16576f9f72d30144846b3a719cf82df26653",
      "parents": [
        "7feab3470156c7864fe159115d575c16f0974493"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Jul 27 16:50:07 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Jul 27 16:50:07 2010 -0700"
      },
      "message": "One last change to current.xml for new download manager API\n\nChange-Id: If88984ad64880a81e4dbb4ef9f8118cc52bb891f\n"
    },
    {
      "commit": "550206226b59ff116cc677121c82aa61eac966bc",
      "tree": "2ef873c9a0ea26ae6ce69bce0979be7b55aadca4",
      "parents": [
        "f7ad0aa005d18f4d934d9b085e969841e4fbf5c1",
        "7feab3470156c7864fe159115d575c16f0974493"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Jul 27 16:37:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 16:37:39 2010 -0700"
      },
      "message": "am 7feab347: Merge \"Un-@hide new download manager public API.\" into gingerbread\n\nMerge commit \u00277feab3470156c7864fe159115d575c16f0974493\u0027 into gingerbread-plus-aosp\n\n* commit \u00277feab3470156c7864fe159115d575c16f0974493\u0027:\n  Un-@hide new download manager public API.\n"
    },
    {
      "commit": "46be2a5bb647a2429c16ce7d613dd9cce8c3c43b",
      "tree": "44f191698337beecfad4f4a50fe6c243c90536aa",
      "parents": [
        "00de721859ca291d0e212a6970f0bd8b3a2f8428"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Jul 26 20:44:35 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Jul 26 20:44:35 2010 -0700"
      },
      "message": "Un-@hide new download manager public API.\n\nChange-Id: Ia8433160ef40e25fb9408f05f97c7bbfa10a807e\n"
    },
    {
      "commit": "d773bbd785aee50c84fe780031c5c796d4ddec9f",
      "tree": "30f4cdd3fb3a512b307ce2cde2052a2cb69f9484",
      "parents": [
        "bbc2b4e69a1788987a8fe959cc0105290b431283",
        "94dab9b13590b714a7400d513f1e4655c62ddfaf"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Sat Jul 17 18:35:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jul 17 18:35:21 2010 -0700"
      },
      "message": "am 94dab9b1: fix broken api/current.xml\n\nMerge commit \u002794dab9b13590b714a7400d513f1e4655c62ddfaf\u0027 into gingerbread-plus-aosp\n\n* commit \u002794dab9b13590b714a7400d513f1e4655c62ddfaf\u0027:\n  fix broken api/current.xml\n"
    },
    {
      "commit": "94dab9b13590b714a7400d513f1e4655c62ddfaf",
      "tree": "0b986d5ec6316451a4e32d3a7375024e7f925210",
      "parents": [
        "5b31498ba1f9874f395d80152304512fa4c0144d"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Sat Jul 17 18:29:22 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Sat Jul 17 18:29:22 2010 -0700"
      },
      "message": "fix broken api/current.xml\n\nChange-Id: I6cc03dddf20228625f18f7a59aed22628f9661fa\n"
    },
    {
      "commit": "bbc2b4e69a1788987a8fe959cc0105290b431283",
      "tree": "551f02e26f285905f191c65a65aa1b4cf83fff51",
      "parents": [
        "2b381affda94c5b17e023768f9f2271c69152838",
        "5b31498ba1f9874f395d80152304512fa4c0144d"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Sat Jul 17 18:25:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jul 17 18:25:20 2010 -0700"
      },
      "message": "am 5b31498b: add video/audio chat-compatibility modes to ContactsContract\n\nMerge commit \u00275b31498ba1f9874f395d80152304512fa4c0144d\u0027 into gingerbread-plus-aosp\n\n* commit \u00275b31498ba1f9874f395d80152304512fa4c0144d\u0027:\n  add video/audio chat-compatibility modes to ContactsContract\n"
    },
    {
      "commit": "5b31498ba1f9874f395d80152304512fa4c0144d",
      "tree": "00a17d4ebc43a0f74e99807e75cf0b683425294d",
      "parents": [
        "2c87e9c923b0362fabf8c97ff63997542394c428"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Jul 12 15:13:37 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Sat Jul 17 18:16:31 2010 -0700"
      },
      "message": "add video/audio chat-compatibility modes to ContactsContract\n\nChange-Id: Ic0b04017ad4216f1a1c5f07fa9d27e6970ded931\n"
    },
    {
      "commit": "f7adbe10c23ca86e70a6e3a8b1a90ebe23142d29",
      "tree": "6b8c37c970397f60ad99d551cb69b1788516ba25",
      "parents": [
        "f16b3f104f60738447db60bcf2c44c7610e17199",
        "eec69d2923636b2aaa51df93bacc2b3bbb742736"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 16 00:16:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 16 00:16:09 2010 -0700"
      },
      "message": "am eec69d29: Merge \"Fix bug with phantom input windows.\" into gingerbread\n\nMerge commit \u0027eec69d2923636b2aaa51df93bacc2b3bbb742736\u0027 into gingerbread-plus-aosp\n\n* commit \u0027eec69d2923636b2aaa51df93bacc2b3bbb742736\u0027:\n  Fix bug with phantom input windows.\n"
    },
    {
      "commit": "e33348ba54cd68d6936cffd4507037c14d4b10c2",
      "tree": "1429dd836a48b3f49ee2a27623ff47b5c272c827",
      "parents": [
        "bd623daff1f261a0e794f059d90ba5907eb5a89a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 15 23:54:05 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 16 00:02:48 2010 -0700"
      },
      "message": "Fix bug with phantom input windows.\n\nAdd dumpsys integration for the native input dispatcher.\nAdd some InputDevice API stubs.\nAdd an appendFormat helper method to String8 for printf style\nstring formatting mainly for debugging purposes.\nUse generic ArrayList\u003cWindowState\u003e everywhere in WindowManagerService\nto eliminate unnecessary casts all over.\n\nChange-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44\n"
    },
    {
      "commit": "181bb0ab461b1c8a6bf608f19c136fc0bbee7a3d",
      "tree": "4f3d702e1c2290b99fd3a55289c91fbc9cf243aa",
      "parents": [
        "aca672ba2eea19420df16906851d56077a3fd3b2",
        "02c8730c1bf19daf48bec8c6995df676a00a73b1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 15 21:35:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 15 21:35:53 2010 -0700"
      },
      "message": "am 02c8730c: Add API to call to vold for mounting OBBs\n\nMerge commit \u002702c8730c1bf19daf48bec8c6995df676a00a73b1\u0027 into gingerbread-plus-aosp\n\n* commit \u002702c8730c1bf19daf48bec8c6995df676a00a73b1\u0027:\n  Add API to call to vold for mounting OBBs\n"
    },
    {
      "commit": "02c8730c1bf19daf48bec8c6995df676a00a73b1",
      "tree": "f4d832a5308a18272cc6be0464a9824ad1e776ec",
      "parents": [
        "c5ed5910c9ef066cec6a13bbb404ec57b1e92637"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 01 08:10:18 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 15 21:31:58 2010 -0700"
      },
      "message": "Add API to call to vold for mounting OBBs\n\n* Unhide StorageService class; hide all the USB-related items\n\n* Add application-visible API to StorageManager for OBB files\n\n* Add class for parceling OBB info across binders (ObbInfo)\n\n* Add a JNI glue class to libutils/ObbFile (ObbScanner)\n\n* Add API to MountService to deal with calling into vold and checking\n  permissions\n\nChange-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd\n"
    },
    {
      "commit": "aca672ba2eea19420df16906851d56077a3fd3b2",
      "tree": "e1bb8a8c761aafd867c41331f0dbcc2175180b61",
      "parents": [
        "2c43b6cee14cde6721689239e47d32319dbbf6ee",
        "c5ed5910c9ef066cec6a13bbb404ec57b1e92637"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 15 18:47:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 15 18:47:24 2010 -0700"
      },
      "message": "am c5ed5910: Add support for new input sources.\n\nMerge commit \u0027c5ed5910c9ef066cec6a13bbb404ec57b1e92637\u0027 into gingerbread-plus-aosp\n\n* commit \u0027c5ed5910c9ef066cec6a13bbb404ec57b1e92637\u0027:\n  Add support for new input sources.\n"
    },
    {
      "commit": "c5ed5910c9ef066cec6a13bbb404ec57b1e92637",
      "tree": "b06dfdac2d807dae78a2634007b6e627eefd0804",
      "parents": [
        "d9452ecd0ce6c8e0518055929ba1fd0712146405"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 14 18:48:53 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 15 18:32:33 2010 -0700"
      },
      "message": "Add support for new input sources.\n\nAdded several new coordinate values to MotionEvents to capture\ntouch major/minor area, tool major/minor area and orientation.\n\nRenamed NDK input constants per convention.\n\nAdded InputDevice class in Java which will eventually provide\nuseful information about available input devices.\n\nAdded APIs for manufacturing new MotionEvent objects with multiple\npointers and all necessary coordinate data.\n\nFixed a bug in the input dispatcher where it could get stuck with\na pointer down forever.\n\nFixed a bug in the WindowManager where the input window list could\nend up containing stale removed windows.\n\nFixed a bug in the WindowManager where the input channel was being\nremoved only after the final animation transition had taken place\nwhich caused spurious WINDOW DIED log messages to be printed.\n\nChange-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68\n"
    },
    {
      "commit": "98704f14eaeef6c9bcb73fea162f4941dd9bbd87",
      "tree": "72bcea6d022ed0f607becdb9ae69c68946cb9363",
      "parents": [
        "50576fa8152557a25e1a231c66d694fffbab34d6",
        "38eea8bf990540360b45b963195a7766c30b55d2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 16:35:55 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 14 16:35:55 2010 -0700"
      },
      "message": "am 38eea8bf: Merge \"Remove the YV16 format for simplicity\\\u0027s sake.\" into gingerbread\n\nMerge commit \u002738eea8bf990540360b45b963195a7766c30b55d2\u0027 into gingerbread-plus-aosp\n\n* commit \u002738eea8bf990540360b45b963195a7766c30b55d2\u0027:\n  Remove the YV16 format for simplicity\u0027s sake.\n"
    },
    {
      "commit": "058d0390a44f68b67788021bae9ca1775812997b",
      "tree": "23b97aa83da730d4057a68647f8fd09a37fe636f",
      "parents": [
        "36ff93aa1f489e6af6c2acce38beb0bffd6b8f8a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 07 14:53:13 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 15:12:05 2010 -0700"
      },
      "message": "Remove the YV16 format for simplicity\u0027s sake.\n\nChange-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf\n"
    },
    {
      "commit": "f8d9379bd834573feca085284970cf686993c330",
      "tree": "d603a4c197ba91ab2103a04d244e3f1004bef9e3",
      "parents": [
        "89ee578b7053d27a50922f82feb94bf6054b330c",
        "d76b67c340d1564abf8d14d976fdaf83bf2b3320"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 13 18:55:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 13 18:55:52 2010 -0700"
      },
      "message": "am d76b67c3: IME events are now dispatched to native applications.\n\nMerge commit \u0027d76b67c340d1564abf8d14d976fdaf83bf2b3320\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d76b67c340d1564abf8d14d976fdaf83bf2b3320\u0027:\n  IME events are now dispatched to native applications.\n"
    },
    {
      "commit": "d76b67c340d1564abf8d14d976fdaf83bf2b3320",
      "tree": "59c0fff396681a622480a84f4f9c74d188970a11",
      "parents": [
        "fd03582995e0fce963dd0fa0669e3211b74c0dd7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 13 17:48:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 13 18:36:46 2010 -0700"
      },
      "message": "IME events are now dispatched to native applications.\n\nAnd also:\n\n- APIs to show and hide the IME, and control its interaction with the app.\n- APIs to tell the app when its window resizes and needs to be redrawn.\n- API to tell the app the content rectangle of its window (to layout\n  around the IME or status bar).\n\nThere is still a problem with IME interaction -- we need a way for the\napp to deliver events to the IME before it handles them, so that for\nexample the back key will close the IME instead of finishing the app.\n\nChange-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd\n"
    },
    {
      "commit": "89ee578b7053d27a50922f82feb94bf6054b330c",
      "tree": "3f2c9fc609c55f5ab037d7ffaf7ec31f261904a2",
      "parents": [
        "706623ddb8314850c0551f0b66e24b5f0bd28620",
        "fd03582995e0fce963dd0fa0669e3211b74c0dd7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jul 13 17:46:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 13 17:46:19 2010 -0700"
      },
      "message": "am fd035829: Add initial gamepad support.\n\nMerge commit \u0027fd03582995e0fce963dd0fa0669e3211b74c0dd7\u0027 into gingerbread-plus-aosp\n\n* commit \u0027fd03582995e0fce963dd0fa0669e3211b74c0dd7\u0027:\n  Add initial gamepad support.\n"
    },
    {
      "commit": "fd03582995e0fce963dd0fa0669e3211b74c0dd7",
      "tree": "8f7fe0e2a437620a7cbe4e494f71fe8ccfdbe2eb",
      "parents": [
        "c0a7e690bfd32dd897ceccd04dd0fa6bf6e9cee6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 30 16:10:35 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jul 13 17:04:57 2010 -0700"
      },
      "message": "Add initial gamepad support.\n\nChange-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9\n"
    },
    {
      "commit": "523959f50e56d8c888f39e19855ffdc8d0c2b6fc",
      "tree": "b88995f73ca65b118dcdc0c6d3d90bc25363e5b0",
      "parents": [
        "ceb8465e974ba5fa971ffe1b5b74e94a1bd53f97",
        "d1af902c21b4911b964c82ced3d80fcf9ab41540"
      ],
      "author": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Mon Jul 12 13:32:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 12 13:32:54 2010 -0700"
      },
      "message": "am d1af902c: Merge \"Deprecate some status bar icons that now come from the phone app (and shouldn\\\u0027t have been public in the first place.)\" into gingerbread\n\nMerge commit \u0027d1af902c21b4911b964c82ced3d80fcf9ab41540\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d1af902c21b4911b964c82ced3d80fcf9ab41540\u0027:\n  Deprecate some status bar icons that now come from the phone app (and\n"
    },
    {
      "commit": "26c679751d80e7f1f3de35324666c8eda7db5da2",
      "tree": "b4ed9a596ce970c9a99c6735bd61acdd63d5d0f8",
      "parents": [
        "2aaa9e9fc5ddc05cedbe530c7a41eca0e3a62b7a"
      ],
      "author": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Fri Jul 09 15:06:11 2010 -0700"
      },
      "committer": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Fri Jul 09 16:01:25 2010 -0700"
      },
      "message": "Deprecate some status bar icons that now come from the phone app (and\nshouldn\u0027t have been public in the first place.)\n\n(And since the changed deprecation state is a public API change, I needed\nto do \"make update-api\" as well.)\n\nChange-Id: I803d5a81ad2363561137be5af4f2b8258df758cd\n"
    },
    {
      "commit": "339716e03c293c1ab29492e38936643f08d797fa",
      "tree": "69ea95f2e18a496d22e1a2e9aaa9fb2dc4cadd5d",
      "parents": [
        "4f4406322dafd6e128b437edbc541327f0b38d04",
        "f99e27da0b2e8d9f6be205b20191581c7951dfbc"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Jul 09 06:10:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 09 06:10:26 2010 -0700"
      },
      "message": "am f99e27da: Merge \"Make android:immersive public.\" into gingerbread\n\nMerge commit \u0027f99e27da0b2e8d9f6be205b20191581c7951dfbc\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f99e27da0b2e8d9f6be205b20191581c7951dfbc\u0027:\n  Make android:immersive public.\n"
    },
    {
      "commit": "841b176dc0a2424d6172484897e288c2488261db",
      "tree": "4691328bec471e37710efed028aa7e42d587d890",
      "parents": [
        "98738272e3b680559e1e0a7b665a0ebb4038f684"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jul 08 15:39:22 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jul 08 15:39:22 2010 -0400"
      },
      "message": "Make android:immersive public.\n\nThis exposes the AndroidManifest attribute\nandroid:immersive, introduced in Change I967bb10b, to the\nSDK.\n\nChange-Id: Iccbc99590cd0fd4c570b9b9670ef93036f9d849e\n"
    },
    {
      "commit": "0a21801f5fae22cd5e1b3e9f1c1405c744e24c9b",
      "tree": "2dce2c0f719d62054b9f733894ba85370a1ca64d",
      "parents": [
        "d481cdd4c0305f8afd857fe3ec3fbf189b744370",
        "a5402dabec84eabcdb9008dc343dd67de325bbac"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 07 18:16:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 07 18:16:05 2010 -0700"
      },
      "message": "am a5402dab: Merge \"OBB API for PackageManager\" into gingerbread\n\nMerge commit \u0027a5402dabec84eabcdb9008dc343dd67de325bbac\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a5402dabec84eabcdb9008dc343dd67de325bbac\u0027:\n  OBB API for PackageManager\n"
    },
    {
      "commit": "93565c4b3265c16aee4a82d7556f811776c17db8",
      "tree": "1b6802fea6d067d97410d67d6665721ea23fb327",
      "parents": [
        "7cee34a051eb0087322c8b965e498f88b1aa52d3"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jun 18 15:46:06 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 07 09:57:51 2010 -0700"
      },
      "message": "OBB API for PackageManager\n\nSimple API for tracking .obb files associated with packages. Stores the\npath in the PackageSettings. No verification of file content is done\nnow since the PackageManagerService can\u0027t read the SD card where these\nfiles will likely live.\n\nChange-Id: Ibeaf26ba0526b6d60f401137e58f46ee9faff39e\n"
    },
    {
      "commit": "bda93c4cb94b47c86251d22df16e46a514c191ef",
      "tree": "08ba3e6f84f7f037d7ab623cb36c0d880c74ad15",
      "parents": [
        "d3233ae9027cd0459bdcb6f574ee1ffe02736109",
        "09b9005769f2b717f637131578ce6cfa6bd62bd9"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Wed Jun 30 20:22:40 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 30 20:22:40 2010 -0700"
      },
      "message": "am 09b90057: Add multiple camera support for in MediaProfiles.\n\nMerge commit \u002709b9005769f2b717f637131578ce6cfa6bd62bd9\u0027 into gingerbread-plus-aosp\n\n* commit \u002709b9005769f2b717f637131578ce6cfa6bd62bd9\u0027:\n  Add multiple camera support for in MediaProfiles.\n"
    },
    {
      "commit": "09b9005769f2b717f637131578ce6cfa6bd62bd9",
      "tree": "9f079a79030d894e6c81f919799a379e4fda3a9f",
      "parents": [
        "160edb3645f8b7012bab70ae6e6e8c4a5733082b"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Jun 22 20:50:55 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jul 01 10:57:15 2010 +0800"
      },
      "message": "Add multiple camera support for in MediaProfiles.\n\nChange-Id: Ie89568a0f5f5fd08ede77e33f9a559215d6bed9a\n"
    },
    {
      "commit": "cbbc035b640790650d0e377a2d6291cc523a2a35",
      "tree": "946bbebf9bd027ebe04c60d4d24e486784b2a798",
      "parents": [
        "53dca61f26f4ff348418add60599213297acc899",
        "de1057c4a6aa41c3b88bcc4fd49d70f973f1d9eb"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Sun Jun 27 20:49:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 27 20:49:42 2010 -0700"
      },
      "message": "am de1057c4: Unhide new API for supporting multiple cameras.\n\nMerge commit \u0027de1057c4a6aa41c3b88bcc4fd49d70f973f1d9eb\u0027 into gingerbread-plus-aosp\n\n* commit \u0027de1057c4a6aa41c3b88bcc4fd49d70f973f1d9eb\u0027:\n  Unhide new API for supporting multiple cameras.\n"
    },
    {
      "commit": "de1057c4a6aa41c3b88bcc4fd49d70f973f1d9eb",
      "tree": "d790c64dacf493c1557163754573cba9303b6b9d",
      "parents": [
        "9005e7f4297a3f04263e81cb61ba2703d5667b0a"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Jun 14 19:15:00 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Jun 28 11:12:45 2010 +0800"
      },
      "message": "Unhide new API for supporting multiple cameras.\n\nChange-Id: I916a536c80330444a15986ba380205a6deed2390\n"
    },
    {
      "commit": "d3844bcfb05719ab69d4aae6f4767ad3ef6d23fc",
      "tree": "aa7a28745b25f50e17aa4578a720772726871d0a",
      "parents": [
        "7e343b8d39309d2c9d73cc5d1ec2434e666ae48b",
        "766d1b7458e5dae1cca36b01cf13e4d16536a091"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 25 11:21:37 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 25 11:21:37 2010 -0700"
      },
      "message": "merge from froyo-plus-aosp\n\nChange-Id: I9bd45d66c9586b99635d7d05d1f351126bfc9840\n"
    },
    {
      "commit": "82677b9585968806800abff65c5b1529f509a313",
      "tree": "5c5b6307a975533cf85829c1984cf5ee8705e2a5",
      "parents": [
        "db1bae9a966150d7f6cc7d3e325cc8a4bf64b978",
        "e57c3a88b99856d1e69fdf115e7c7954594b7385"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 24 12:42:55 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 24 12:42:55 2010 -0700"
      },
      "message": "am e57c3a88: Merge \"Add APIs for finding heavy-weight apps.\" into gingerbread\n\nMerge commit \u0027e57c3a88b99856d1e69fdf115e7c7954594b7385\u0027 into gingerbread-plus-aosp\n\n* commit \u0027e57c3a88b99856d1e69fdf115e7c7954594b7385\u0027:\n  Add APIs for finding heavy-weight apps.\n"
    },
    {
      "commit": "baf42c625c3ef4cb7b732956a97953efd93b23bc",
      "tree": "42065f9b14d2bc9a5c123625b7248c5ee27387f3",
      "parents": [
        "7fd22aab4506f65b7929ed1030bdd71c56f7db77"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 24 11:23:39 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 24 11:38:47 2010 -0700"
      },
      "message": "Add APIs for finding heavy-weight apps.\n\nChange-Id: I6c865cce404cac1a08eee056f963de5d276d5898\n"
    },
    {
      "commit": "98f7aed66b54c365f816fe990de978f61155cde1",
      "tree": "8cb434ef7e04bceeee78667d2a04a231140d6bec",
      "parents": [
        "c82b4e80b8211851963929b33592bbc50358525b",
        "1e4b9f3936d6f357e89360293e05a0e16d5fa440"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 23 14:40:36 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 23 14:40:36 2010 -0700"
      },
      "message": "am 1e4b9f39: Remove InputConsumer, replacing with InputQueue.\n\nMerge commit \u00271e4b9f3936d6f357e89360293e05a0e16d5fa440\u0027 into gingerbread-plus-aosp\n\n* commit \u00271e4b9f3936d6f357e89360293e05a0e16d5fa440\u0027:\n  Remove InputConsumer, replacing with InputQueue.\n"
    },
    {
      "commit": "1e4b9f3936d6f357e89360293e05a0e16d5fa440",
      "tree": "4fc65451804b3d2741969ecb7bfd3d415f54ec51",
      "parents": [
        "69a4817e3e1e368e758ff8c238deb5ee26963c04"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 23 14:10:57 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 23 14:37:30 2010 -0700"
      },
      "message": "Remove InputConsumer, replacing with InputQueue.\n\nChange-Id: Ib06907278457aaee842b123adc072840ca3602d8\n"
    },
    {
      "commit": "c82b4e80b8211851963929b33592bbc50358525b",
      "tree": "0be83668658a3299bad2937798522e2b876f5f81",
      "parents": [
        "e496326083450e8623268ed794176d980f99eb0c",
        "69a4817e3e1e368e758ff8c238deb5ee26963c04"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 23 13:36:25 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 23 13:36:25 2010 -0700"
      },
      "message": "am 69a4817e: Immersive activity API.\n\nMerge commit \u002769a4817e3e1e368e758ff8c238deb5ee26963c04\u0027 into gingerbread-plus-aosp\n\n* commit \u002769a4817e3e1e368e758ff8c238deb5ee26963c04\u0027:\n  Immersive activity API.\n"
    },
    {
      "commit": "69a4817e3e1e368e758ff8c238deb5ee26963c04",
      "tree": "3eaed1f053b09daabf84854acb3155216543a102",
      "parents": [
        "efbe2d78ee5e26b6606c8552a5c1ac70749a5013"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 23 16:29:36 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 23 16:29:36 2010 -0400"
      },
      "message": "Immersive activity API.\n\nAn Activity can declare itself to be \"immersive\" either by\nsetting android:immersive\u003d\"true\" in AndroidManifest or by\ncalling setImmersive(true).\n\nImmersive activities \"should\" not be interrupted, for\nexample by Notifications with an associated\nfullScreenIntent. (In the future we may even prevent any\nnon-system application from successfully calling\nstartActivity() if the foreground activity is immersive.)\nNotifications with FLAG_HIGH_PRIORITY set will be shown to\nthe user in some less-obtrusive way if the frontmost\nactivity is immersive.\n\nChange-Id: I8d0c25cc4e22371c27cbf2bb6372d2c95d57b2d7\n"
    },
    {
      "commit": "e496326083450e8623268ed794176d980f99eb0c",
      "tree": "9e50fba1dfd54aa0d80578fb3c930116cceafb7d",
      "parents": [
        "03e90f7eeb032c981fc2952aa33f6ba1fae20d97",
        "efbe2d78ee5e26b6606c8552a5c1ac70749a5013"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 23 13:20:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 23 13:20:20 2010 -0700"
      },
      "message": "am efbe2d78: Merge \"andriod.location.Criteria: Simplify new location criteria APIs a bit.\" into gingerbread\n\nMerge commit \u0027efbe2d78ee5e26b6606c8552a5c1ac70749a5013\u0027 into gingerbread-plus-aosp\n\n* commit \u0027efbe2d78ee5e26b6606c8552a5c1ac70749a5013\u0027:\n  andriod.location.Criteria: Simplify new location criteria APIs a bit.\n"
    },
    {
      "commit": "8900c32986eb9b06f30ecbe6709857fd2cc7b576",
      "tree": "a932086c9d2da198796151306358444d0c34adca",
      "parents": [
        "2c2ce8e53f5eb94916a5d0f40b2877cc7551870d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 23 14:34:03 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 23 14:34:03 2010 -0400"
      },
      "message": "andriod.location.Criteria: Simplify new location criteria APIs a bit.\n\nRemove ACCURACY_BEST and only use ACCURACY_MEDIUM for horizontal accuracy.\nRemove accuracy priority support, since it be difficult to implement in some cases.\n\nChange-Id: I785a781f8d8f3bf3be6693ad71d077b6eb280c31\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e3e2883f2232007174ead562610eb01201890d9b",
      "tree": "4ecdd4b5e3b4929489e8421700921f213b0e920a",
      "parents": [
        "ca36e9eebe252e04dbadeb07282c1eba8d9f080b",
        "e24a60aa4670fb835772b23ff665bb368fa65e30"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 22 11:26:02 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 22 11:26:02 2010 -0700"
      },
      "message": "am e24a60aa: Merge \"First stab at attaching native event dispatching.\" into gingerbread\n\nMerge commit \u0027e24a60aa4670fb835772b23ff665bb368fa65e30\u0027 into gingerbread-plus-aosp\n\n* commit \u0027e24a60aa4670fb835772b23ff665bb368fa65e30\u0027:\n  First stab at attaching native event dispatching.\n"
    },
    {
      "commit": "a95e4cb62f3642cb190d032dbf7dc40d9ecc6973",
      "tree": "ae4437444a3d3ebeff48dabfd1e9c11fc14620ac",
      "parents": [
        "ef730e6ececa96a3e0576140eea707f7c48cd66c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 18 18:09:33 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 22 11:21:50 2010 -0700"
      },
      "message": "First stab at attaching native event dispatching.\n\nProvides the basic infrastructure for a\nNativeActivity\u0027s native code to get an object representing\nits event stream that can be used to read input events.\n\nStill work to do, probably some API changes, and reasonable\ndefault key handling (so that for example back will still\nwork).\n\nChange-Id: I6db891bc35dc9683181d7708eaed552b955a077e\n"
    },
    {
      "commit": "71764c4ce5b248a79542238b171a783e82e0fe37",
      "tree": "8e9b48c1154d943d270759ed2335f4ad3d8d8774",
      "parents": [
        "dae19d7c00455e500cc9731071557ea91f162a7d",
        "613dde4aa651e11dac3db859723cc6faf8fc0a82"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Jun 22 09:36:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 22 09:36:07 2010 -0700"
      },
      "message": "am 613dde4a: Revised \"immersive mode\" API.\n\nMerge commit \u0027613dde4aa651e11dac3db859723cc6faf8fc0a82\u0027 into gingerbread-plus-aosp\n\n* commit \u0027613dde4aa651e11dac3db859723cc6faf8fc0a82\u0027:\n  Revised \"immersive mode\" API.\n"
    },
    {
      "commit": "613dde4aa651e11dac3db859723cc6faf8fc0a82",
      "tree": "8a2d010ff13c104c675ea157c4f677bfa55da231",
      "parents": [
        "aaf39f84063b8fee51bcdb0731d68c328b6a3c3d"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Jun 21 13:46:39 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Jun 22 12:30:12 2010 -0400"
      },
      "message": "Revised \"immersive mode\" API.\n\nNo longer a window bit, FLAG_IMMERSIVE is now set on\nActivityInfo.flags and in the Activity\u0027s manifest as\nandroid:immersive\u003d\"true\" (ActivityInfo).\n\n[An \"immersive\" activity is one that wishes to avoid being\npaused by full-screen notifications (like an incoming call).\nAn activity that sets FLAG_IMMERSIVE/android:immersive is\nsending a signal to the notification manager, status bar,\netc. that they should try to find some other way to get the\nuser\u0027s attention in high-priority situations.]\n\n[Originally: change Ie290c2e.]\n\nChange-Id: I967bb10b930b8f0772b10f81f2957a03fa3f1736\n"
    },
    {
      "commit": "1e08cc1dfda9a0264fcf62898af0bdd6ed5a205c",
      "tree": "e15b11132cd0e05836cd289eb53691717613639c",
      "parents": [
        "a4f980948e112cfdcc7051e12e29c71b78383a6f",
        "224107a421e2611b15d1ec736df54bca9ee3e78d"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Jun 22 05:16:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 22 05:16:24 2010 -0700"
      },
      "message": "am 224107a4: Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.\n\nMerge commit \u0027224107a421e2611b15d1ec736df54bca9ee3e78d\u0027 into gingerbread-plus-aosp\n\n* commit \u0027224107a421e2611b15d1ec736df54bca9ee3e78d\u0027:\n  Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.\n"
    },
    {
      "commit": "224107a421e2611b15d1ec736df54bca9ee3e78d",
      "tree": "7947fa03cc7f65a001a6b899d20f9a848a80e6a6",
      "parents": [
        "07ccf5ad7edfeeebb79208ad3e8a52917fe038a8"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Jun 22 20:08:40 2010 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Jun 22 20:08:40 2010 +0800"
      },
      "message": "Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.\n\nChange-Id: Id0069535e97fe96eef74e4d0c1d19b010061fe3b\n"
    },
    {
      "commit": "766d1b7458e5dae1cca36b01cf13e4d16536a091",
      "tree": "d7ba82c118862c3de281c4aa4fa421d971d2c04b",
      "parents": [
        "e5a023bfbbed6343f895652b51c0d4aa9ac0b8eb",
        "e429c5ec9d52a5e9af9133f5de9f1002f04aede1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 18 12:44:20 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 18 12:44:20 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I05e4c26c902f3cfe0dd99107f518768b246562f7\n"
    },
    {
      "commit": "29f28cfe2188179519094e35d7fad09588170e88",
      "tree": "1cae39337e16487faf17612c9eb7553d5dce509d",
      "parents": [
        "42bb545a54d89f0ddbb230d7a01ea4210c0f6c00",
        "e899caf8cce1d1a20121f19a99899553ae2b327e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 17 13:53:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 17 13:53:48 2010 -0700"
      },
      "message": "am e899caf8: Fixed api/current.xml after a bad merge.\n\nMerge commit \u0027e899caf8cce1d1a20121f19a99899553ae2b327e\u0027 into gingerbread-plus-aosp\n\n* commit \u0027e899caf8cce1d1a20121f19a99899553ae2b327e\u0027:\n  Fixed api/current.xml after a bad merge.\n"
    },
    {
      "commit": "e899caf8cce1d1a20121f19a99899553ae2b327e",
      "tree": "fb67ed204c6d9567957875aad9c0934f42673f02",
      "parents": [
        "5c225b1680e696ae8bbf505a1997d6f720672f74"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 17 13:49:02 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 17 13:49:02 2010 -0700"
      },
      "message": "Fixed api/current.xml after a bad merge.\n\nChange-Id: I033f417e928eb541f0528521326b66776a3c9096\n"
    },
    {
      "commit": "42bb545a54d89f0ddbb230d7a01ea4210c0f6c00",
      "tree": "081cfa7e6ae56ae6cdc67f4c95cfb6f0171bb434",
      "parents": [
        "747f75dc0882138828ac2b2752c2872ccae49747",
        "5c225b1680e696ae8bbf505a1997d6f720672f74"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 17 13:31:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 17 13:31:07 2010 -0700"
      },
      "message": "am 5c225b16: Even more native input dispatch work in progress.\n\nMerge commit \u00275c225b1680e696ae8bbf505a1997d6f720672f74\u0027 into gingerbread-plus-aosp\n\n* commit \u00275c225b1680e696ae8bbf505a1997d6f720672f74\u0027:\n  Even more native input dispatch work in progress.\n"
    },
    {
      "commit": "5c225b1680e696ae8bbf505a1997d6f720672f74",
      "tree": "932326fd02ee91d8a64adfcc9415027646c56563",
      "parents": [
        "3a0146cd29fae3c5bc29d8d535d67826284f8cc9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 16 01:53:36 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 17 13:27:16 2010 -0700"
      },
      "message": "Even more native input dispatch work in progress.\n\nAdded more tests.\nFixed a regression in Vector.\nFixed bugs in pointer tracking.\nFixed a starvation issue in PollLoop when setting or removing callbacks.\nFixed a couple of policy nits.\n\nModified the internal representation of MotionEvent to be more\nefficient and more consistent.\n\nAdded code to skip/cancel virtual key processing when there are multiple\npointers down.  This helps to better disambiguate virtual key presses\nfrom stray touches (such as cheek presses).\n\nChange-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c\n"
    },
    {
      "commit": "747f75dc0882138828ac2b2752c2872ccae49747",
      "tree": "4186120826ab75c14b271ef1b5e3df3c798c5aca",
      "parents": [
        "04b4f781b118fa9c815910bf5d2a772cdfef07c2",
        "3a0146cd29fae3c5bc29d8d535d67826284f8cc9"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 17 13:26:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 17 13:26:03 2010 -0700"
      },
      "message": "am 3a0146cd: Merge \"New API for \"immersive\" activity windows.\" into gingerbread\n\nMerge commit \u00273a0146cd29fae3c5bc29d8d535d67826284f8cc9\u0027 into gingerbread-plus-aosp\n\n* commit \u00273a0146cd29fae3c5bc29d8d535d67826284f8cc9\u0027:\n  New API for \"immersive\" activity windows.\n"
    },
    {
      "commit": "04b4f781b118fa9c815910bf5d2a772cdfef07c2",
      "tree": "2a3b29767458761c0c411fddbc2cbb6381c2facf",
      "parents": [
        "c05c83e272f8806d46a4e2470d000f2112e6efb2",
        "cc86c933f69e4c1d55e0f4f49936d04fb60d6bcf"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 17 13:25:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 17 13:25:56 2010 -0700"
      },
      "message": "am cc86c933: Merge \"New API for high-priority Notifications and full-screen alerts.\" into gingerbread\n\nMerge commit \u0027cc86c933f69e4c1d55e0f4f49936d04fb60d6bcf\u0027 into gingerbread-plus-aosp\n\n* commit \u0027cc86c933f69e4c1d55e0f4f49936d04fb60d6bcf\u0027:\n  New API for high-priority Notifications and full-screen alerts.\n"
    },
    {
      "commit": "611fae4c39edbeb23b53f789a0219c539cf32fa6",
      "tree": "7c291d737d47e4a2dfd115738bfb1ef0f978f2f0",
      "parents": [
        "e46cbd379a3c19708c7f7e5d3f35e2c596de0c46"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 17 10:45:00 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 17 11:43:35 2010 -0400"
      },
      "message": "New API for \"immersive\" activity windows.\n\nAn \"immersive\" activity (as indicated by the new\nFLAG_IMMERSIVE) is one that wishes to avoid being paused by\nfull-screen notifications (like an incoming call).\nAn activity that sets FLAG_IMMERSIVE on its window is\nsending a signal to the notification manager, status bar,\netc. that they should try to find some other way to get the\nuser\u0027s attention in high-priority situations.\n\nFLAG_IMMERSIVE should be used exclusively in conjunction\nwith FLAG_FULL_SCREEN (that is, only activities that hide\nthe status bar should consider themselves immersive).\n\nChange-Id: Ie290c2e92fc391bcf55edfdb1fbd626cd284e3e2\n"
    },
    {
      "commit": "e46cbd379a3c19708c7f7e5d3f35e2c596de0c46",
      "tree": "1e24b31ae5e2398c1ffb2debf72cb818affd3265",
      "parents": [
        "6b7b4845212b3a439c527f2e1eca205b6b45fceb"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 17 10:35:26 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 17 11:34:13 2010 -0400"
      },
      "message": "New API for high-priority Notifications and full-screen alerts.\n\n* fullScreenIntent: a PendingIntent pointing to a\n  full-screen activity or other modal alert experience to be\n  shown to the user instead of (or in addition to) a\n  traditional status bar notification icon. Example: An\n  incoming call should pop up a full-screen activity\n  allowing the user to accept or decline the call.\n\n  The old way to accomplish this is to simply fire off the\n  full-screen intent directly from the Phone app. By routing\n  through the Notification system, we make way for the\n  FLAG_IMMERSIVE bit (forthcoming API) which would allow the\n  frontmost opaque window to suppress full-screen alerts.\n\n* FLAG_HIGH_PRIORITY: This bit allows a notification to be\n  shown in windows that have the FLAG_IMMERSIVE bit set. For\n  example, a Notification corresponding to an incoming call\n  would be marked HIGH_PRIORITY so that even in an immersive\n  activity (i.e. a networked game) the Notification could be\n  shown to the user.\n\nChange-Id: I4943e53f425800a6e152bc4992dd41586b43aff8\n"
    },
    {
      "commit": "5907ffa453cf92f2f0de760354e4013df4ea6b69",
      "tree": "ffcd68b3f5ec06a340c33f85e7a33fa74036a7f2",
      "parents": [
        "2f6f6240fdd57bb894e5585e60b23e5c62d0f2be",
        "a6c52938b144c2bbd8c1e22d24629b12e35c99a3"
      ],
      "author": {
        "name": "Wei Huang",
        "email": "weih@google.com",
        "time": "Tue Jun 15 15:36:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 15 15:36:41 2010 -0700"
      },
      "message": "am a6c52938: Merge \"add new video/audio presence icons in the framework resource dirs, and make them public.\" into gingerbread\n\nMerge commit \u0027a6c52938b144c2bbd8c1e22d24629b12e35c99a3\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a6c52938b144c2bbd8c1e22d24629b12e35c99a3\u0027:\n  add new video/audio presence icons in the framework resource dirs, and make them public.\n"
    },
    {
      "commit": "2b24ecfbb282276410a53bb35a15f91cb6c433d9",
      "tree": "b9eef5ce5a172b00cadc55f0f29b5e11ab51b3fa",
      "parents": [
        "2d468c5d73cc1cefbcfa8d98e30622c54756918c"
      ],
      "author": {
        "name": "Wei Huang",
        "email": "weih@google.com",
        "time": "Tue Jun 15 14:26:21 2010 -0700"
      },
      "committer": {
        "name": "Wei Huang",
        "email": "weih@google.com",
        "time": "Tue Jun 15 15:19:40 2010 -0700"
      },
      "message": "add new video/audio presence icons in the framework resource dirs, and make them public.\n\n- add definitions for\n\npresence_video_away\npresence_video_busy\npresence_video_online\npresence_audio_away\npresence_audio_busy\npresence_audio_online\n\nin the public.xml, and update current.xml\n\n- the actual icons for the audio versions are not yet done, so I used the video versions as placeholders.\n\nChange-Id: I9e2be5dd05619cbdbbb61dc231e9da1984ddbb36\n"
    },
    {
      "commit": "e429c5ec9d52a5e9af9133f5de9f1002f04aede1",
      "tree": "2d4c26ad8f1b59754d9714e3a5634dadb1d96a76",
      "parents": [
        "e82ff9ed14811755810b3d72a1acb528dc6e6795"
      ],
      "author": {
        "name": "Martin Nordholts",
        "email": "martin.nordholts@sonyericsson.com",
        "time": "Tue Jun 15 16:17:24 2010 +0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jun 15 12:05:17 2010 -0700"
      },
      "message": "Support custom themes with AlertDialog.Builder\n\nAdd a constructor to AlertDialog.Builder with a \u0027theme\u0027 parameter so\nthat e.g. the buttons in a dialog built with AlertDialog.Builder can\nbe themed.\n\nChange-Id: Ie1b1c9706ad2146c8b64dd91fe249c6855c6ac65\n"
    },
    {
      "commit": "13792057e4fef30c9b6fe2b8249b246841508164",
      "tree": "91faf9c6e4ca35f90ec5698d5fb957a867ef84d9",
      "parents": [
        "814f430cb5e313316600fd6694ed338edd5fff7d",
        "7e900cbf1d600a8895e63a0247f45c116ff05172"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 14 14:13:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 14 14:13:07 2010 -0700"
      },
      "message": "am 7e900cbf: Merge \"Update build version information.\" into gingerbread\n\nMerge commit \u00277e900cbf1d600a8895e63a0247f45c116ff05172\u0027 into gingerbread-plus-aosp\n\n* commit \u00277e900cbf1d600a8895e63a0247f45c116ff05172\u0027:\n  Update build version information.\n"
    },
    {
      "commit": "3e03cfa3af8acf3aad0abc464d2bcab1225a971d",
      "tree": "44c017ea0b0a25f375e9c8275b7b0bf584f5da60",
      "parents": [
        "94f14aeca9e6c6d07b39a7f708eacadcfeb6fbd2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jun 13 12:07:00 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 14 14:08:20 2010 -0700"
      },
      "message": "Update build version information.\n\nChange-Id: If53f16d494255230859a30f561e9a78ec49c6c10\n"
    },
    {
      "commit": "864c68ea452baa0f4f298faf2155af45a9b6d60c",
      "tree": "04cc67b82596528b296fcb6fec71dc484ceb5b6c",
      "parents": [
        "6b9b8806afb06e393203450bda8a53af08952590",
        "d7b814188df4765e42a34ce94182ef5021ef8f16"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 14 11:35:51 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 14 11:35:51 2010 -0700"
      },
      "message": "merge from froyo-plus-aosp\n\nChange-Id: I9cede57e10df9d6ba411b2960a77d7b9b60a1489\n"
    },
    {
      "commit": "51a9839ec69aab2800718c069bb76b480ac3c133",
      "tree": "dd17e25460275607f7d1ae1ee08d89abb9317f4d",
      "parents": [
        "0d4dc714f9cb1b7f4df21e16892276b10d862635",
        "5978bcc32b1c3e05bd44600d1c5b0a18122487ea"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 14 11:06:33 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 14 11:06:33 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I7a9f23192372fc6973d9f3eb399f895f4765f6b2\n"
    },
    {
      "commit": "8c582ef859fcbbb97623d22024c3ecb32b65c5ef",
      "tree": "b831c1b38f35b29bfbf45f5741740bd670dc898f",
      "parents": [
        "fdedc522993ccbde6ba95b519ac81e32449959c8"
      ],
      "author": {
        "name": "Christian Mehlmauer",
        "email": "FireFart@gmail.com",
        "time": "Fri Jun 11 22:28:38 2010 +0200"
      },
      "committer": {
        "name": "Christian Mehlmauer",
        "email": "FireFart@gmail.com",
        "time": "Sat Jun 12 10:51:06 2010 +0200"
      },
      "message": "Added an addAll to the ArrayAdapter\n\nIt behaves the same as ArrayList.addAll, since\nthe Object containing the Objects in the Adapter\nis a List. Now you can add multiple Objects\nat once, instead of looping over a Collection\nand add all items one by one.\nUnittests will be submitted to the cts project\n\nChange-Id: I16f3286a8ca4cda7eb9f1a99c2aab1cc45b2550f\n"
    },
    {
      "commit": "32907cfb38bda2d3c052cf5139c5b592678fedbb",
      "tree": "78b2cb1f1ec2897628531bad2be0c90ecc53468f",
      "parents": [
        "e577e87a2d80890190f14edc4a5caf70d7c566bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 10 17:50:20 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 11 10:39:11 2010 -0700"
      },
      "message": "Adjust activity manager process OOM adj.\n\nModify OOM adj classes a bit, to take into account the new\nheavy weight app type, and give \"foreground services\" their\nown category to have a bettery chance to manager them when\nthings go wrong.\n\nAlso add some new code to battery stats to keep a history\nof changes to the battery level.\n\nChange-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a\n"
    },
    {
      "commit": "2fd73a452268d2acb6e72a1d23a422085ed3c510",
      "tree": "6b91573ce88e6d3851e522ac542b650ed2695fa3",
      "parents": [
        "f4f614f5edeeceddf1145df73b30f7066d00d7fa"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jun 11 11:45:12 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jun 11 15:29:49 2010 +0800"
      },
      "message": "Unhide camera metering mode API.\n\nChange-Id: Ia3ca83e2a0b5b322e5dbf9ae3d5c1d3b89e0fd31\n"
    },
    {
      "commit": "4d61f602bf67fe61256c23f090d6119992ad5160",
      "tree": "18eaea2ed99dea39f19ea3fe9836be3fc4503ba3",
      "parents": [
        "a6ef19a8f462ee1346a6c5ec21d047fdd5162b7e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 10 11:17:50 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 10 15:16:57 2010 -0700"
      },
      "message": "Switch stagefright\u0027s approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages.\n\nChange-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2\n"
    },
    {
      "commit": "438d0595121a7a2cdf19741e76e3c0e21a5c173d",
      "tree": "d4a76171b2eb52c472c2900eb6947ff073bed81a",
      "parents": [
        "8f1bfb001b522a370a65c8e4545183b7611f672b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jun 10 12:19:19 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jun 10 14:38:58 2010 -0700"
      },
      "message": "Introduce \"StrictMode\"\n\nThis is a new public API for developers to opt-in to strict rules\nabout what they\u0027re allowed to do on certain threads.  (this is the\npublic face of the @hide dalvik.system.BlockGuard, added recently...)\n\nIn practice this will be used for developers to opt-in to declaring\nthat they don\u0027t want to be allowed to do various operations (such as\ndisk I/O or network operations) on their main UI threads.  (these\noperations are often accidental, or even when they are fast come with\na good chance of being slow or very slow in some cases....)\n\nImplementation wise, this is just a thread-local integer that has a\nbitmask of the things that aren\u0027t allowed, and more bits for saying\nwhat the violation penalty is.  The penalties, of which multiple can\nbe chosen, include:\n\n  * logging\n  * dropbox uploading for analysis/reporting\n  * annoying dialog\n  * full-on crashing\n\nThese are all only very roughly implemented at this point, but all\nparts now minimally work end-to-end now, so this is a good checkpoint\ncommit before this gets too large.\n\nFuture CLs will polish all the above 4 penalties, including\nchecksumming of stacktraces and minimizing penalties for duplicate\nviolations.\n\nChange-Id: Icbe61a2e950119519e7364030b10c3c28d243abe\n"
    },
    {
      "commit": "b7bb3b3df6cb3743ee43b71455d9525762e55b45",
      "tree": "948830404473ff0ac41bcf525f52c76f81912429",
      "parents": [
        "7a68d3686aace4781ee6c25d8ab8704bebee34af"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jun 06 22:47:50 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 11:01:29 2010 -0700"
      },
      "message": "Fix bug in reporting a processes\u0027s dependent component.\n\nAlso add new action to show an app\u0027s details.\n\nChange-Id: I6ad3b3ac8462f5acf726ce76130882a262adff92\n"
    },
    {
      "commit": "860755faa6bdd3c2aeae49c05b87b5bc080ae60c",
      "tree": "49cb794a0de5b8f505048533ac5daf02e95c94b1",
      "parents": [
        "f8acea6ccbdd7e7283b1dc439f49c72a937f746d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 03 18:47:52 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 10:09:13 2010 -0700"
      },
      "message": "Add support for heavy-weight applications.\n\nOnly one can be running at a time, their process can not be killed,\nand a notification is posted while it is running.\n\nChange-Id: I843015723947e0c934ae63a1aeee139327c0bc01\n"
    },
    {
      "commit": "c109190b6984da6cba4cea44a0304b6da12d77e6",
      "tree": "2ef51852fa763a8df8a9e980e4fef127c190546f",
      "parents": [
        "df0364de6f7be68e003729c262fe2731b82ae10e"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu May 20 17:38:21 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu May 27 15:59:05 2010 +0800"
      },
      "message": "Add support for gps altitude EXIF tags.\n\nAlso improve the precision of getLatLong().\n\nChange-Id: Id2c60f0d1d19e9da173b5ec1228f03c2195e189f\n"
    },
    {
      "commit": "01ac80b715881db22bde8b31633dd8a4dc375389",
      "tree": "2a49fc9e6ff824f729f64bdacb3b48835d99e367",
      "parents": [
        "11c6847d5960edeb0f15d0fd34045c89bd302d41"
      ],
      "author": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Fri May 21 15:43:26 2010 -0700"
      },
      "committer": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Fri May 21 15:43:26 2010 -0700"
      },
      "message": "Add Geocorder.isImplemented()\n\nThe Geocorder interface is not part of the Android core.  It\nrequires a backend service which may or may not be available\non a device.  The new isImplemented static method allows\napps to discover whether the Geocorder is in fact available\non the device.\n\nChange-Id: I2b5cf7bcc9cce4766bcbb156e91edf34b01f9296\n"
    }
  ],
  "next": "71677f84e7705aa48b04829538b954a13cd11dec"
}
