)]}'
{
  "log": [
    {
      "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": "2aaa9e9fc5ddc05cedbe530c7a41eca0e3a62b7a",
      "tree": "0c4472ad32a522ee9dcc1a66aaa28c5e398f51b3",
      "parents": [
        "e7b790f1f77a0950c163fc82d8833072ccf6f3c5",
        "54934964e7cb4d502375093b628f485ba8c4102a"
      ],
      "author": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Fri Jul 09 12:57:39 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 09 12:57:39 2010 -0700"
      },
      "message": "Merge \"Remove some (unused, non-public) phone-related status bar notification icons\" into gingerbread"
    },
    {
      "commit": "e7b790f1f77a0950c163fc82d8833072ccf6f3c5",
      "tree": "a88cd0562f5233bf77ee7b369a1d02d600487f7f",
      "parents": [
        "6bb14e08da82e72197f35548ff77a2f817c52a58",
        "4cb15cf15dfc9d9c6c8dc34911a4ed6bf53e8e4c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jul 09 12:30:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 09 12:30:28 2010 -0700"
      },
      "message": "Merge \"Fix swap of sessionId and output in audio effect API.\" into gingerbread"
    },
    {
      "commit": "4cb15cf15dfc9d9c6c8dc34911a4ed6bf53e8e4c",
      "tree": "4976259568ec126a3a446b2dd527273c2f15d732",
      "parents": [
        "dacabf97c609a040ada857a7da6c560097448ae3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jul 09 12:11:49 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jul 09 12:11:49 2010 -0700"
      },
      "message": "Fix swap of sessionId and output in audio effect API.\n\nChange-Id: Idc93415efef92087507401e50cfb235a6f1f7ed7\n"
    },
    {
      "commit": "6bb14e08da82e72197f35548ff77a2f817c52a58",
      "tree": "9c9ef4acb39edb80e941aca2872e3d1223d159d4",
      "parents": [
        "f99e27da0b2e8d9f6be205b20191581c7951dfbc",
        "a7c14078afb156cc61779de8084c7fdb35aa8f44"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 09 11:38:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 09 11:38:45 2010 -0700"
      },
      "message": "Merge \"Enable the support for decoding audio with AAC+ and eAAC+ features\" into gingerbread"
    },
    {
      "commit": "f99e27da0b2e8d9f6be205b20191581c7951dfbc",
      "tree": "b59f6a07f599dd6c632a8da1095726f764547995",
      "parents": [
        "929642ee003895b6e4e85ad7e43c7c6f01b29020",
        "841b176dc0a2424d6172484897e288c2488261db"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Jul 09 06:07:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 09 06:07:51 2010 -0700"
      },
      "message": "Merge \"Make android:immersive public.\" into gingerbread"
    },
    {
      "commit": "a7c14078afb156cc61779de8084c7fdb35aa8f44",
      "tree": "96d8e9cfd87e5f741d397dd63b9965d25a3da98e",
      "parents": [
        "929642ee003895b6e4e85ad7e43c7c6f01b29020"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 08 20:56:13 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 08 21:37:46 2010 -0700"
      },
      "message": "Enable the support for decoding audio with AAC+ and eAAC+ features\n\nbug - 282684\n\nChange-Id: I73c8377af3cc4edd3ee7cea86dc3b1c369fbd78b\n"
    },
    {
      "commit": "929642ee003895b6e4e85ad7e43c7c6f01b29020",
      "tree": "94498d866ffcb165ae3778ab0e5ae193257f71e4",
      "parents": [
        "fd84f97af4b44d54bba53bb85b31a6dbce07f6e2"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 08 11:16:11 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 08 21:25:55 2010 -0700"
      },
      "message": "Add runtime dumpsys support for media recorder client\n\nChange-Id: I4c8a81720f3be2db54678a7e84fe12849255046b\n"
    },
    {
      "commit": "54934964e7cb4d502375093b628f485ba8c4102a",
      "tree": "02b25b0fb3b8a93c46b53b3816a32637a3689296",
      "parents": [
        "fd84f97af4b44d54bba53bb85b31a6dbce07f6e2"
      ],
      "author": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Wed Jul 07 18:19:12 2010 -0700"
      },
      "committer": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Thu Jul 08 18:15:42 2010 -0700"
      },
      "message": "Remove some (unused, non-public) phone-related status bar notification icons\n\nStatus bar icons really belong to specific apps (not the framework), so the\nvarious stat_sys_phone_call* and stat_sys_vp_phone_call* icons should have\nnever been part of the framework in the first place.\n\nAs of change https://android-git.corp.google.com/g/56881 the phone app now has\nits own copies of all these icons, so it\u0027s now safe to remove the non-public\nones(*) from frameworks/base.\n\n(*) Unfortunately a few of these icons were accidentally added to public.xml\n    at some point, so we\u0027ll never be able to get rid of those ones.\n    This change only removes the private resources.\n\nChange-Id: If9ecf7b7568b5086c6ed1e5d4b69518fb41f1516\n"
    },
    {
      "commit": "fd84f97af4b44d54bba53bb85b31a6dbce07f6e2",
      "tree": "e44af27dff0ecb8b4a9a368c333687d579c0c080",
      "parents": [
        "f6120cf431804e072f34699a5d8a3fae62492cee"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 08 15:32:51 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 08 15:32:51 2010 -0700"
      },
      "message": "Added JAVA classes to control bass boost, equalizer, reverberation and virtualizer Effects.\n\nDefined the following JAVA classes on top of AudioEffect class to facilitate control\noff built-in audio effects with APIs aligned with interfaces defined in OpenSL ES\nspecification:\n- BastBoot.java\n- Equalizer.java\n- PresetReverb.java\n- EnvironmentalReverb.java\n- Virtualizer.java\n\nSplit reverb API header file in two, one for preset reverb and one for environmental reverb.\nSome changes in test reverb to support preset reverb.\n\nChange-Id: Ie0a5ba06002e63dfd6da22cace5568c1e0b76ea1\n"
    },
    {
      "commit": "f6120cf431804e072f34699a5d8a3fae62492cee",
      "tree": "dfc0e00fb75fe4d40949772df0dd5ffff275ce80",
      "parents": [
        "74bf59b450daf9e7e6bf234f01db164099edbfd5",
        "31e7ce762ccbbb747fabb4581e42a0a2fe56e780"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Thu Jul 08 14:09:21 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 08 14:09:21 2010 -0700"
      },
      "message": "Merge \"Improve InstrumentationTestRunner exception handling.\" into gingerbread"
    },
    {
      "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": "74bf59b450daf9e7e6bf234f01db164099edbfd5",
      "tree": "64289800e3a30943a32b9f81984b41c0f609344d",
      "parents": [
        "b29e3b9cd00ced686a74121d3ca9c7380754793f",
        "85448bbecd4e0909eecfab15b7c3605f114d0427"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 08 12:25:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 08 12:25:20 2010 -0700"
      },
      "message": "Merge \"Add new glue code for writing native apps.\" into gingerbread"
    },
    {
      "commit": "b29e3b9cd00ced686a74121d3ca9c7380754793f",
      "tree": "7488a4819dd2f229ed3794e7dc379b2e87229efb",
      "parents": [
        "833830e0640cd25dcf3ed29ea5a9bd835caded13",
        "bca909c0a592051e9acfc41737bc341910f0c7d1"
      ],
      "author": {
        "name": "Jason Parks",
        "email": "jparks@google.com",
        "time": "Thu Jul 08 11:50:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 08 11:50:40 2010 -0700"
      },
      "message": "Merge \"Change CursorTreeAdapter to close the cursors rather than deactivating them. Fix SimpleCursorTreeAdapter to allow a null cursor as an argument.\" into gingerbread"
    },
    {
      "commit": "833830e0640cd25dcf3ed29ea5a9bd835caded13",
      "tree": "eafa4cf3ce3711d1df3b725b09b0ca409b76c77a",
      "parents": [
        "f7d2b4a2e096ae1f8ac3a2ed8b2f0e30a237f732",
        "286cf139c3c33c99c1ec5e434ee1de5e10238e62"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jul 08 11:40:11 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 08 11:40:11 2010 -0700"
      },
      "message": "am 286cf139: docs: add redirect for download.html\n\nMerge commit \u0027286cf139c3c33c99c1ec5e434ee1de5e10238e62\u0027 into gingerbread\n\n* commit \u0027286cf139c3c33c99c1ec5e434ee1de5e10238e62\u0027:\n  docs: add redirect for download.html\n"
    },
    {
      "commit": "286cf139c3c33c99c1ec5e434ee1de5e10238e62",
      "tree": "82d0cc7e69a94c09b6f6ef39f4e1d1ad4da0e7e1",
      "parents": [
        "5183ae3b0f27dfff5ecdceabaa4950eef38b31e8"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jul 08 11:26:36 2010 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jul 08 11:26:36 2010 -0700"
      },
      "message": "docs: add redirect for download.html\n\nChange-Id: Id54f1899c1933796524d6c2b5e991a652b354287\n"
    },
    {
      "commit": "85448bbecd4e0909eecfab15b7c3605f114d0427",
      "tree": "3380a9a85e321dc7ee4397dc1b4f22564af117d8",
      "parents": [
        "f7d2b4a2e096ae1f8ac3a2ed8b2f0e30a237f732"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 07 14:27:31 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 08 11:06:59 2010 -0700"
      },
      "message": "Add new glue code for writing native apps.\n\nThis factors out the boiler-plate code from the sample\napp to a common glue code that can be used for everyone\nwriting this style of app: a dedicated app thread that\ntakes care of waiting for events and processing them.\n\nAs part of doing this, ALooper has a new facility to allow\nregistration of fds that cause ALooper_pollOnce() to return\nthe fd that has data, allowing the app to drive the loop\nwithout callbacks.  Hopefully this makes some people feel better. :)\n\nAlso do some other cleanup of the ALooper API, plus some\nactual documentation.\n\nChange-Id: Ic53bd56bdf627e3ba28a3c093faa06a92be522b8\n"
    },
    {
      "commit": "f7d2b4a2e096ae1f8ac3a2ed8b2f0e30a237f732",
      "tree": "6e782228f8e077401f8246e7d0210f64825b6cc4",
      "parents": [
        "98738272e3b680559e1e0a7b665a0ebb4038f684"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jul 08 13:07:41 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jul 08 13:07:41 2010 -0400"
      },
      "message": "Use fullScreenIntent to show the USB mass storage dialog.\n\nNote that this is not a FLAG_HIGH_PRIORITY notification. In\nimmersive mode the UMS dialog will be suppressed entirely\n(but an icon will still appear in the status bar).\n\nBug: 2821219\nChange-Id: I21f910c8830aff8d0633deda4eb59dbda13262ed\n"
    },
    {
      "commit": "bca909c0a592051e9acfc41737bc341910f0c7d1",
      "tree": "d7d7b1ce9200c2d7d85665f1277a26a9cd38cc4a",
      "parents": [
        "98738272e3b680559e1e0a7b665a0ebb4038f684"
      ],
      "author": {
        "name": "Jason Parks",
        "email": "jparks@google.com",
        "time": "Thu Jul 01 14:38:02 2010 -0500"
      },
      "committer": {
        "name": "Jason Parks",
        "email": "jparks@google.com",
        "time": "Thu Jul 08 09:02:48 2010 -0500"
      },
      "message": "Change CursorTreeAdapter to close the cursors rather than deactivating them. Fix SimpleCursorTreeAdapter to allow a null cursor as an argument.\n\nNot closing the cursors was a bit of a bug since the documenation explicitly says that it would close the cursors. This will get rid of all the warnings that are printed out in the finalizer about the cursor not being closed.\n"
    },
    {
      "commit": "98738272e3b680559e1e0a7b665a0ebb4038f684",
      "tree": "3c057c29161e273036e41db8fbdfdfc3a834a28e",
      "parents": [
        "1082ae033dbe7d278b3fef6e4fd9af149d360fc1",
        "374fe5c446143778d30da507f0660d139a1f44cd"
      ],
      "author": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Wed Jul 07 19:04:03 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 19:04:03 2010 -0700"
      },
      "message": "Merge \"Remove voice mail number verification for testing on no-sim device\" into gingerbread"
    },
    {
      "commit": "374fe5c446143778d30da507f0660d139a1f44cd",
      "tree": "8db37b13c2f868536df78fe2243a68b2ad70a590",
      "parents": [
        "f3f25bf80b7d21f12442da8f82d17c79dd371692"
      ],
      "author": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Wed Jul 07 17:34:20 2010 -0700"
      },
      "committer": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Wed Jul 07 18:43:17 2010 -0700"
      },
      "message": "Remove voice mail number verification for testing on no-sim device\n\nChange-Id: Iaf9e419b8d03e330864d64c05aee730d33994003\n"
    },
    {
      "commit": "1082ae033dbe7d278b3fef6e4fd9af149d360fc1",
      "tree": "295dcf46252e12e93e3056723c9767bcbfa66b5e",
      "parents": [
        "a5402dabec84eabcdb9008dc343dd67de325bbac",
        "5183ae3b0f27dfff5ecdceabaa4950eef38b31e8"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Jul 07 18:43:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 07 18:43:10 2010 -0700"
      },
      "message": "am 5183ae3b: Merge \"docs: add caution about adt in eclipse 3.6\" into froyo\n\nMerge commit \u00275183ae3b0f27dfff5ecdceabaa4950eef38b31e8\u0027 into gingerbread\n\n* commit \u00275183ae3b0f27dfff5ecdceabaa4950eef38b31e8\u0027:\n  docs: add caution about adt in eclipse 3.6\n"
    },
    {
      "commit": "5183ae3b0f27dfff5ecdceabaa4950eef38b31e8",
      "tree": "dbb9bac7bd72a55d402bd834a2c2ea8a881905f2",
      "parents": [
        "2651504c020f07847bafa3d539c36f1396629669",
        "1c9bada4b4a8bdec66c13f626d5821b10079c123"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Jul 07 18:37:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 18:37:48 2010 -0700"
      },
      "message": "Merge \"docs: add caution about adt in eclipse 3.6\" into froyo"
    },
    {
      "commit": "a5402dabec84eabcdb9008dc343dd67de325bbac",
      "tree": "317d86ec886b3308e3068631c01c085d91e9089a",
      "parents": [
        "c9535de8e398d766c95144f9a831f34b2cecfd91",
        "93565c4b3265c16aee4a82d7556f811776c17db8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 07 18:14:25 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 18:14:25 2010 -0700"
      },
      "message": "Merge \"OBB API for PackageManager\" into gingerbread"
    },
    {
      "commit": "c9535de8e398d766c95144f9a831f34b2cecfd91",
      "tree": "a7f8dc10f01f25edfa4a339304d6d007c24b7ea5",
      "parents": [
        "b17f4dcfb3edba25bd8c30e60449b9bbcd600a57",
        "7cee34a051eb0087322c8b965e498f88b1aa52d3"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 07 18:14:13 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 18:14:13 2010 -0700"
      },
      "message": "Merge \"Add OBB file helper class\" into gingerbread"
    },
    {
      "commit": "b17f4dcfb3edba25bd8c30e60449b9bbcd600a57",
      "tree": "0820fc428a7c001e5eb8796ff806ee78f1b1638f",
      "parents": [
        "f3f25bf80b7d21f12442da8f82d17c79dd371692",
        "00fa7bdd69f0868fd17ea7c881c771d785b2fbbd"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Wed Jul 07 17:43:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 17:43:12 2010 -0700"
      },
      "message": "Merge \"More native input dispatch work.\" into gingerbread"
    },
    {
      "commit": "31e7ce762ccbbb747fabb4581e42a0a2fe56e780",
      "tree": "f9d5ff503a6ce35c29aa2da2f9bdc6359f6640dc",
      "parents": [
        "dacabf97c609a040ada857a7da6c560097448ae3"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Wed Jul 07 17:19:08 2010 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Wed Jul 07 17:33:22 2010 -0700"
      },
      "message": "Improve InstrumentationTestRunner exception handling.\n\nThis commit fixes two somewhat related problems:\n  - Attempting to run a method which does not exist caused a runtime\nexception which stopped the test run. Change this so the runner reports\nan individual test failure instead\n  - A runtime exception during the test run would cause it to stop\ncompletely, with no information dumped to the logcat or stdout. Now\nexceptions are trapped and reported to stdout.\n\nAlso added associated unit tests to test these two conditions.\n\nRelated bug 2812262.\n\nChange-Id: I383f9b9bad99f14cb51071800fa9bdbf6a6a1119\n"
    },
    {
      "commit": "f3f25bf80b7d21f12442da8f82d17c79dd371692",
      "tree": "f9005c2f818d89c2aa168c9742109019378f8760",
      "parents": [
        "dacabf97c609a040ada857a7da6c560097448ae3"
      ],
      "author": {
        "name": "Dan Tasse",
        "email": "dantasse@google.com",
        "time": "Wed Jul 07 13:17:17 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jul 07 17:17:06 2010 -0700"
      },
      "message": "Added some javadoc to Camera.takePicture()\n\nChange-Id: I62597a1417647eeac7611eaccd0df3bda210e3e7\n"
    },
    {
      "commit": "1c9bada4b4a8bdec66c13f626d5821b10079c123",
      "tree": "cf73ff47d043b12a5fa036089264a4f2d47370be",
      "parents": [
        "1c8b6ca4d7dd7c8263d5224de6e814681a14afa5"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Jul 07 16:47:16 2010 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Jul 07 16:47:16 2010 -0700"
      },
      "message": "docs: add caution about adt in eclipse 3.6\n\nChange-Id: I37c920f6a5290d891c4a6dea5978147a50eec807\n"
    },
    {
      "commit": "dacabf97c609a040ada857a7da6c560097448ae3",
      "tree": "feb67557f7f0120296bcc341d18aed20dce2b8d7",
      "parents": [
        "4b9baa69f3b3146edbc623f0670103265c4f4fe5",
        "df9b81ced437b11f8a3fcf4ba3ea6af703d121e2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 07 16:23:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 16:23:30 2010 -0700"
      },
      "message": "Merge \"Added Visualizer effect.\" into gingerbread"
    },
    {
      "commit": "4b9baa69f3b3146edbc623f0670103265c4f4fe5",
      "tree": "20b9d7899913c47d20254c43fe12f83ebb04dc90",
      "parents": [
        "c42433427a7ed51b5577b2587bf6cb0af903ebf8",
        "2651504c020f07847bafa3d539c36f1396629669"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Wed Jul 07 15:06:35 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 07 15:06:35 2010 -0700"
      },
      "message": "am 2651504c: (-s ours) Merge \"Doc change: Add revision notes for Android 2.2_r2 development platform. Fix some umappable characters in WebView class doc.\" into froyo\n\nMerge commit \u00272651504c020f07847bafa3d539c36f1396629669\u0027 into gingerbread\n\n* commit \u00272651504c020f07847bafa3d539c36f1396629669\u0027:\n  Doc change: Add revision notes for Android 2.2_r2 development platform. Fix some umappable characters in WebView class doc.\n"
    },
    {
      "commit": "c42433427a7ed51b5577b2587bf6cb0af903ebf8",
      "tree": "20b9d7899913c47d20254c43fe12f83ebb04dc90",
      "parents": [
        "58c35573cc677b736efefa267eba8727d4411999",
        "81c929a684aefd7e18e04bcfd54407235b89a37d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 07 14:56:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 14:56:33 2010 -0700"
      },
      "message": "Merge \"Allow application to set two more encoding paramters: video profile and level\" into gingerbread"
    },
    {
      "commit": "58c35573cc677b736efefa267eba8727d4411999",
      "tree": "2c81b68a45fa8e4c26830190146017b3aebe3d22",
      "parents": [
        "c34c8c3fe7fef15b410b0544d5436fcbefccd610",
        "620a4240366f13c3359c6825c92e831563cc11b6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 07 14:56:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 14:56:20 2010 -0700"
      },
      "message": "Merge \"Fix some bugs in the MediaProfileReader Because the video and audio encoders were stored in the same map, when we retrieve the name from the map, we can get a incorrect name.\" into gingerbread"
    },
    {
      "commit": "620a4240366f13c3359c6825c92e831563cc11b6",
      "tree": "f77fc752bd78745c35b6c4aa9f5f24d4fd1b6e35",
      "parents": [
        "b59b94456b3a8fdfdf524a81274839f657fbb65b"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 07 14:37:48 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 07 14:37:48 2010 -0700"
      },
      "message": "Fix some bugs in the MediaProfileReader\nBecause the video and audio encoders were stored in the same map, when we retrieve the name from the map, we can get a incorrect name.\n\nChange-Id: I3857422bfe9173baae53e4f3d258b055f51ad9f2\n"
    },
    {
      "commit": "2651504c020f07847bafa3d539c36f1396629669",
      "tree": "ec5ccd4e0bdb6eb0a94d3706e7b1d1a83b865025",
      "parents": [
        "1c8b6ca4d7dd7c8263d5224de6e814681a14afa5",
        "0b2395c1935bf34b2671209ae817dc14331d418a"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Wed Jul 07 14:29:29 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 14:29:29 2010 -0700"
      },
      "message": "Merge \"Doc change: Add revision notes for Android 2.2_r2 development platform. Fix some umappable characters in WebView class doc.\" into froyo"
    },
    {
      "commit": "c34c8c3fe7fef15b410b0544d5436fcbefccd610",
      "tree": "624e77b57d5a9359afac1d15892ac52587d4905b",
      "parents": [
        "ef52b5682d8c6ab3a384da5151f0e4dd6e9a5506",
        "971305d4af1c4058596c5a3feac301585682d15c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 07 14:20:15 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 14:20:15 2010 -0700"
      },
      "message": "Merge \"Only send the playback complete notification if a) an error occurred on any track or b) all tracks have finished playing. The previous behaviour was to send the notification as soon as the first track finished playing.\" into gingerbread"
    },
    {
      "commit": "971305d4af1c4058596c5a3feac301585682d15c",
      "tree": "40b2af7b6efaf44088871ed8d7600bd966bacab5",
      "parents": [
        "b59b94456b3a8fdfdf524a81274839f657fbb65b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 07 13:35:27 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 07 13:36:29 2010 -0700"
      },
      "message": "Only send the playback complete notification if a) an error occurred on any track or b) all tracks have finished playing. The previous behaviour was to send the notification as soon as the first track finished playing.\n\nChange-Id: Icac8104d14f18b719aa0b8f1ab3215f24003b152\n"
    },
    {
      "commit": "ef52b5682d8c6ab3a384da5151f0e4dd6e9a5506",
      "tree": "e8a28b88797fae8df172660ded0e6653f719b196",
      "parents": [
        "b59b94456b3a8fdfdf524a81274839f657fbb65b",
        "0f791a799dc81d93935fd2597297cf7ac2c0a044"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 07 13:06:57 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 13:06:57 2010 -0700"
      },
      "message": "Merge \"More improvements to the SensorManager documentation\" into gingerbread"
    },
    {
      "commit": "81c929a684aefd7e18e04bcfd54407235b89a37d",
      "tree": "203523128c9f2cf1834901c1a1154989b2675725",
      "parents": [
        "2e6aff8e19ce8292a36fe211f8051dccf1fb9670"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 01 15:02:14 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jul 07 12:11:53 2010 -0700"
      },
      "message": "Allow application to set two more encoding paramters: video profile and level\n\nChange-Id: I673e681cefe184d5c556c612c54600a24a2143e5\n"
    },
    {
      "commit": "b59b94456b3a8fdfdf524a81274839f657fbb65b",
      "tree": "c8a90be19afe6c1e7f95b374a4f0910d1b64e7a6",
      "parents": [
        "2e6aff8e19ce8292a36fe211f8051dccf1fb9670"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 30 16:25:33 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jul 07 14:06:27 2010 -0400"
      },
      "message": "Fix icon size in intruder alerts.\n\n(Updated test app to confirm the fix.)\n\nChange-Id: Ife56cf07f282786162e2ebc5aaddbb24dac6cafd\n"
    },
    {
      "commit": "df9b81ced437b11f8a3fcf4ba3ea6af703d121e2",
      "tree": "c80b989df744ea74f62c800a8848813174792cc2",
      "parents": [
        "31e0ffe8444b70500cac319da084c4c45e62aca2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 02 08:12:41 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 07 11:00:28 2010 -0700"
      },
      "message": "Added Visualizer effect.\n\nThe visualizer enables application to retrieve part of the currently playing audio for visualization purpose.\nIt is not an audio recording interface and only returns partial and low quality audio content as a waveform or\na frequency representation (FFT).\n\nRemoved temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.\n\nThis commit also includes a change in AudioEffect class:\n - the enable()/disable() methods have been replaced bya more standard setEnabled() method.\n - some fixes in javadoc\n\nChange-Id: Id092a1340e9e38dae68646ade7be054e3a36980e\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": "7cee34a051eb0087322c8b965e498f88b1aa52d3",
      "tree": "08bb1d6c8850bb688b4eddf7e1a24888719b5e52",
      "parents": [
        "2e6aff8e19ce8292a36fe211f8051dccf1fb9670"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jun 01 10:34:29 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 07 09:57:50 2010 -0700"
      },
      "message": "Add OBB file helper class\n\nObbFile is a binary blob that will be used in packaging large files\nwith smaller APKs.\n\nChange-Id: Ib1594346cfa2f49113de6565af77c24efbd89d63\n"
    },
    {
      "commit": "2e6aff8e19ce8292a36fe211f8051dccf1fb9670",
      "tree": "f85ea3ea883a90b8bb5b8e05e6bb27577ebdc448",
      "parents": [
        "6615defd4b8ae627e7f0bbb2382c4d86481f76bd",
        "57576c1cae63bebfa7ed880ab510e06f312586ee"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 07 09:41:05 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 09:41:05 2010 -0700"
      },
      "message": "Merge \"ALooperRoster no longer holds strong references to handlers and loopers.\" into gingerbread"
    },
    {
      "commit": "57576c1cae63bebfa7ed880ab510e06f312586ee",
      "tree": "2cace8bce9a542422f2c3b8477f6e32dbecfd61e",
      "parents": [
        "9406f626b2d8f64a084d41f6ea379e539b162a55"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 07 09:17:41 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 07 09:27:31 2010 -0700"
      },
      "message": "ALooperRoster no longer holds strong references to handlers and loopers.\n\nChange-Id: I038d69b0a34eda1bfc5216d92c837a5ddf4fb802\n"
    },
    {
      "commit": "6615defd4b8ae627e7f0bbb2382c4d86481f76bd",
      "tree": "ae53db5bb3d101b209b377db7a82fd12c47c113c",
      "parents": [
        "9406f626b2d8f64a084d41f6ea379e539b162a55"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 07 08:20:49 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 07 08:20:49 2010 -0700"
      },
      "message": "Make sure the OMX callback thread is properly shutdown after the node goes away.\n\nChange-Id: Ib0b25855b0dfc191e5529193b4cb519f644a8412\n"
    },
    {
      "commit": "9406f626b2d8f64a084d41f6ea379e539b162a55",
      "tree": "fa27834c4f23051b74b633dbde5376c1b2271f7a",
      "parents": [
        "682674154e3fe88f6061245145f934f25f1a2eb8",
        "058319eb73aa1d5c3b3b4b79316198e7a49484f1"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jul 07 06:57:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 06:57:27 2010 -0700"
      },
      "message": "Merge \"An AHandler can now find its associated ALooper.\" into gingerbread"
    },
    {
      "commit": "00fa7bdd69f0868fd17ea7c881c771d785b2fbbd",
      "tree": "6fff8ad404e57af316c6ce5a20020dc209eb3cc6",
      "parents": [
        "8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 02 15:37:36 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Jul 03 19:23:01 2010 -0700"
      },
      "message": "More native input dispatch work.\n\nRemoved old input dispatch code.\nRefactored the policy callbacks.\nPushed a tiny bit of the power manager state down to native.\nFixed long press on MENU.\nMade the virtual key detection and cancelation a bit more precise.\n\nChange-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e\n"
    },
    {
      "commit": "682674154e3fe88f6061245145f934f25f1a2eb8",
      "tree": "a105ce9f0ae4d88732bfc8fb1a52d4474f17bc86",
      "parents": [
        "8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 02 18:52:01 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 02 18:57:02 2010 -0700"
      },
      "message": "Add new native Looper API.\n\nThis allows us to avoid exposing the file descriptor of\nthe event queue; instead, you attach an event queue to\na looper.  This will also should allow native apps to be\nwritten without the need for a separate thread, by attaching\nthe event queue to the main thread\u0027s looper and scheduling\ntheir own messages there.\n\nChange-Id: I38489282635895ae2cbfacb88599c1b1cad9b239\n"
    },
    {
      "commit": "0f791a799dc81d93935fd2597297cf7ac2c0a044",
      "tree": "ef914c3cf8b3c933e9f62b5b5e14a2b2dea8620c",
      "parents": [
        "7f8edbd92737bc610bf4f06ad8a516656be83188"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 22 21:55:01 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 02 17:57:10 2010 -0700"
      },
      "message": "More improvements to the SensorManager documentation\n\nChange-Id: I8ab79e8787402f0db572226029820b3cf605086f\n"
    },
    {
      "commit": "058319eb73aa1d5c3b3b4b79316198e7a49484f1",
      "tree": "f8bbf233ed74478f9da62ee7a3d7eb5e186b60ee",
      "parents": [
        "5460d126f024a8d6597ce4eb127b51c101724960"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 02 15:15:44 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 02 15:16:13 2010 -0700"
      },
      "message": "An AHandler can now find its associated ALooper.\n\nChange-Id: Ic7087b8dcbc0d9abda272df0cb01b04b006f82ad\n"
    },
    {
      "commit": "0b2395c1935bf34b2671209ae817dc14331d418a",
      "tree": "413497ae8e40d5527627522c79b40e648bd58209",
      "parents": [
        "753e56090ed5acc0d2173a8e9ab1a9b96528720b"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Wed Jun 23 15:38:39 2010 -0700"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Fri Jul 02 15:07:47 2010 -0700"
      },
      "message": "Doc change: Add revision notes for Android 2.2_r2 development platform. Fix some umappable characters in WebView class doc.\n\nChange-Id: I5522406335fbf96164a5b812ec4891c499343d1e\n"
    },
    {
      "commit": "8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d",
      "tree": "32e6e8ade82ffb5ea2b1b3975d8d693dbbbd9863",
      "parents": [
        "125204b737deaaa7719f25d680e96b694c2b8de6",
        "5149f91c8c56d2f5aa1f407b2818e25a563561c1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 02 12:32:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 02 12:32:33 2010 -0700"
      },
      "message": "Merge \"Fix a bug that prevented the creation of EGL shared contexts.\" into gingerbread"
    },
    {
      "commit": "125204b737deaaa7719f25d680e96b694c2b8de6",
      "tree": "dc3ebd36acb6633d4279e253b6dc9d16856bbae7",
      "parents": [
        "2cfd8198cc4e1dcdcae52ae8a0c86b871c87a27e",
        "1c8b6ca4d7dd7c8263d5224de6e814681a14afa5"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jul 02 12:12:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 02 12:12:56 2010 -0700"
      },
      "message": "am 1c8b6ca4: docs: fix misc broken links\n\nMerge commit \u00271c8b6ca4d7dd7c8263d5224de6e814681a14afa5\u0027 into gingerbread\n\n* commit \u00271c8b6ca4d7dd7c8263d5224de6e814681a14afa5\u0027:\n  docs: fix misc broken links\n"
    },
    {
      "commit": "5149f91c8c56d2f5aa1f407b2818e25a563561c1",
      "tree": "ee1669c77ea1c3955fbd702a774ae197d9a634d5",
      "parents": [
        "de1057c4a6aa41c3b88bcc4fd49d70f973f1d9eb"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 02 11:39:12 2010 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 02 12:05:07 2010 -0700"
      },
      "message": "Fix a bug that prevented the creation of EGL shared contexts.\n\nChange-Id: I6b0ec5ef86abdd4e9083067ba297107cfb094df3\n"
    },
    {
      "commit": "1c8b6ca4d7dd7c8263d5224de6e814681a14afa5",
      "tree": "167106d748873dbc5ed652da3995bcab9b63f632",
      "parents": [
        "7df7447112371fb5e46f6084b55ac2ccdfde139d"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jul 02 11:11:34 2010 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jul 02 11:11:34 2010 -0700"
      },
      "message": "docs: fix misc broken links\n\nChange-Id: I7294276aff0c80498215870d5d72f7a3a9b2c99a\n"
    },
    {
      "commit": "2cfd8198cc4e1dcdcae52ae8a0c86b871c87a27e",
      "tree": "a91178009f7fe7f594facd47a37eac213f84e297",
      "parents": [
        "5460d126f024a8d6597ce4eb127b51c101724960",
        "4f104d99d8657fd3fef675eb2a3e84ba9f5870e4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 02 10:02:17 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 02 10:02:17 2010 -0700"
      },
      "message": "Merge \"Add an option to ALooper::start that allows it to call back into java or not.\" into gingerbread"
    },
    {
      "commit": "4f104d99d8657fd3fef675eb2a3e84ba9f5870e4",
      "tree": "05d4404abb8b55dbd7e2af313c9ddb21c6855b73",
      "parents": [
        "a2dd4c17bbe47876b909b09f54505deda379d2b4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 02 08:00:52 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 02 08:00:52 2010 -0700"
      },
      "message": "Add an option to ALooper::start that allows it to call back into java or not.\n\nChange-Id: Iec172901a04a575d8d350bd162565f04677c3f26\n"
    },
    {
      "commit": "5460d126f024a8d6597ce4eb127b51c101724960",
      "tree": "13659bb9870ce956267d30e52d3e22fcb2c5fa41",
      "parents": [
        "3ef6ebe874022c4ec8fbb00067833a6f636c1e2f",
        "03431d2fa6ee51c122a987322cf1dbd4f89a077b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Jul 02 08:00:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 02 08:00:30 2010 -0700"
      },
      "message": "Merge \"Added AMessage::debugString() for debugging purposes.\" into gingerbread"
    },
    {
      "commit": "3ef6ebe874022c4ec8fbb00067833a6f636c1e2f",
      "tree": "b7e829606ef87bad5cc508d035645213b86e3896",
      "parents": [
        "43d9b0aeb891e10fdb2bd797d0d4c4417abf3bdb",
        "7df7447112371fb5e46f6084b55ac2ccdfde139d"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jul 02 07:48:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 02 07:48:03 2010 -0700"
      },
      "message": "am 7df74471: Merge \"Flush binder buffer after setting raw heap to avoid leaking a reference.\" into froyo\n\nMerge commit \u00277df7447112371fb5e46f6084b55ac2ccdfde139d\u0027 into gingerbread\n\n* commit \u00277df7447112371fb5e46f6084b55ac2ccdfde139d\u0027:\n  Flush binder buffer after setting raw heap to avoid leaking a reference.\n"
    },
    {
      "commit": "7df7447112371fb5e46f6084b55ac2ccdfde139d",
      "tree": "69c18f0b867bb8e219f5f5817ea629d0b46c82c1",
      "parents": [
        "f80372dbc0f4a1b80bebfe5f5124de8d31e0996b",
        "fe1bac67620bec6aa05d0b5100fc6372d98ba178"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jul 02 07:43:31 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 02 07:43:31 2010 -0700"
      },
      "message": "Merge \"Flush binder buffer after setting raw heap to avoid leaking a reference.\" into froyo"
    },
    {
      "commit": "43d9b0aeb891e10fdb2bd797d0d4c4417abf3bdb",
      "tree": "382f42ce0f6bc4a05d8f237fbc7f4595a0fa28fe",
      "parents": [
        "7f8edbd92737bc610bf4f06ad8a516656be83188",
        "f80372dbc0f4a1b80bebfe5f5124de8d31e0996b"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jul 01 23:33:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 01 23:33:20 2010 -0700"
      },
      "message": "am f80372db: Merge \"docs: update device dashboard; add historical chart\" into froyo\n\nMerge commit \u0027f80372dbc0f4a1b80bebfe5f5124de8d31e0996b\u0027 into gingerbread\n\n* commit \u0027f80372dbc0f4a1b80bebfe5f5124de8d31e0996b\u0027:\n  docs: update device dashboard; add historical chart\n"
    },
    {
      "commit": "f80372dbc0f4a1b80bebfe5f5124de8d31e0996b",
      "tree": "86f361b488b9e4d54ed0af4077ab1fc8764585c1",
      "parents": [
        "c03befe3d62eb2a3e1d56fec0ca188a6094d53dd",
        "db3b598c939993418242393d6a14919b3c1e8ee0"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jul 01 23:26:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 01 23:26:58 2010 -0700"
      },
      "message": "Merge \"docs: update device dashboard; add historical chart\" into froyo"
    },
    {
      "commit": "fe1bac67620bec6aa05d0b5100fc6372d98ba178",
      "tree": "72a60dab71dc054fc026437f2f4ccccb34f9213d",
      "parents": [
        "4fb91d9f1bede8ad49365913804532ca57206455"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jul 01 21:06:45 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Fri Jul 02 12:56:54 2010 +0800"
      },
      "message": "Flush binder buffer after setting raw heap to avoid leaking a reference.\n\nThe problem was:\n\n1. In handleShutter(), thread A in CameraService calls\n   registerBuffers(IMemoryHeap) and it\u0027s received by thread B\n   in system_server. [transaction 1]\n2. While thread A is waiting for the reply, thread B calls\n   back to thread A to get the id of the heap\n   (IMemoryHeap.getHeapID). [transaction 2]\n3. Thread A replies transaction 2 and is preemptied in kernel.\n   Thread B gets the reply and finishes registerBuffers and send\n   reply for transaction 1.\n4. When thread A runs again, it gets the reply for transaction 1\n   and returns to handleShutter().\n5. At this point the transaction buffer for transaction 2 (which\n   holds a reference to IMemoryHeap) is not freed because the\n   BC_FREE_BUFFER command is kept in thread A\u0027s local command\n   queue and not sent to the kernel.\n6. Normally when thread A makes next transaction, the\n   BC_FREE_BUFFER command will be sent together (piggyback) with\n   the commands for that transaction. But in this case thread A\n   is a callback thread from camera driver, so it does not make\n   any binder calls afterwards, and the IMemoryHeap is never freed\n   (until the next time handleShutter is called).\n\nChange-Id: I435a258187509bdbbaf353339eb9ea577610cbd2\n"
    },
    {
      "commit": "7f8edbd92737bc610bf4f06ad8a516656be83188",
      "tree": "613ec4266a1d8879e1139c8e4737549a91997d91",
      "parents": [
        "6ffd9ff07733a855daeda75416cea88e7456e9d6",
        "61c55c49073d4b10ca4dfdbb4e86684d11ac9c1c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 01 21:28:24 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 01 21:28:24 2010 -0700"
      },
      "message": "Merge \"remove unused YUV formats\" into gingerbread"
    },
    {
      "commit": "61c55c49073d4b10ca4dfdbb4e86684d11ac9c1c",
      "tree": "db54ecb0cc3ba4558e591818f9c74e9fe05bba4d",
      "parents": [
        "c6e1d88022db800773401c16803e1ab27fd01a7e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 01 21:17:56 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 01 21:17:56 2010 -0700"
      },
      "message": "remove unused YUV formats\n\nChange-Id: Ie84616f842c7e0329d68e67e65a65d510558004b\n"
    },
    {
      "commit": "6ffd9ff07733a855daeda75416cea88e7456e9d6",
      "tree": "dba21be2b48562f05ae0dcc19277882d0768ea2d",
      "parents": [
        "8ae5a8e7c04c7b204b739dfcd5da9e2e0f83e1eb",
        "ce9458409699a303879115905ac9e5363af0381e"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Jul 01 19:38:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 01 19:38:48 2010 -0700"
      },
      "message": "Merge \"Log full exception when failing to inflate notification view\" into gingerbread"
    },
    {
      "commit": "8ae5a8e7c04c7b204b739dfcd5da9e2e0f83e1eb",
      "tree": "3967411cd4a849e239a6c79425e90de101c0caf4",
      "parents": [
        "f520411a35db5248934a4b50859ca72e3f865593"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 01 18:44:46 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 01 18:44:46 2010 -0700"
      },
      "message": "Get to the point of being able to do native drawing.\n\nA little cleanup.\n\nChange-Id: I37ef0557abf330d91d6fe47e81d062206b3bc346\n"
    },
    {
      "commit": "ce9458409699a303879115905ac9e5363af0381e",
      "tree": "b8594a1b9ba0aba2578d080259ae8caa93ee45b4",
      "parents": [
        "54a181b1a2b1517a9479b21fbf7705a688232faf"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Jul 01 17:54:16 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Jul 01 17:54:16 2010 -0700"
      },
      "message": "Log full exception when failing to inflate notification view\n\nWhen inflating a notification\u0027s view fails, include the exception in\nthe log message.  Without this exception all we get is \"couldn\u0027t\ninflate view for notification \u003cpackage\u003e/\u003cid\u003e\", which isn\u0027t very\nhelpful for tracking down the particular error in the view.\n\nThis exception used to be included in the log message, but it was\nremoved in 005847b03b2 -- any particular reason why?\n\nChange-Id: I623b9e4c8291e4c035f26380e5f22ad6b65176a7\n"
    },
    {
      "commit": "03431d2fa6ee51c122a987322cf1dbd4f89a077b",
      "tree": "44488bf8d7a89250d1b391d22d9ca8d5d90ad63d",
      "parents": [
        "a2dd4c17bbe47876b909b09f54505deda379d2b4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 01 14:11:31 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 01 16:36:55 2010 -0700"
      },
      "message": "Added AMessage::debugString() for debugging purposes.\n\nChange-Id: Id43ffd2c56d659dc29f37e277f8c7b38f11c1591\n"
    },
    {
      "commit": "f520411a35db5248934a4b50859ca72e3f865593",
      "tree": "90bf20d8f5f818d357c677cb713e964b920dea67",
      "parents": [
        "54a181b1a2b1517a9479b21fbf7705a688232faf",
        "c03befe3d62eb2a3e1d56fec0ca188a6094d53dd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 01 16:36:02 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 01 16:36:02 2010 -0700"
      },
      "message": "am c03befe3: Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.\n\nMerge commit \u0027c03befe3d62eb2a3e1d56fec0ca188a6094d53dd\u0027 into gingerbread\n\n* commit \u0027c03befe3d62eb2a3e1d56fec0ca188a6094d53dd\u0027:\n  Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.\n"
    },
    {
      "commit": "c03befe3d62eb2a3e1d56fec0ca188a6094d53dd",
      "tree": "8786b553e993ef0b2e091b9b024e770256f6a4ef",
      "parents": [
        "d581484ef8fac80c15ebf652e66f918374df5109"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 30 19:41:56 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 01 16:23:34 2010 -0700"
      },
      "message": "Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.\n\nProblem:\nWhen the bluetooth device is removed, the AudioService clears all active SCO connections\nand unlinks from the client application\u0027s binder interface death.\nThe problem is that the unlinking is done even if no more connections are active for a given client,\nwhich throws a runtime exception that is not catched causing the system server to crash.\n\nThe fix consists in calling unlinkToDeath() in ScoClient.clearCount() only if the number of\nactive SCO connections for this client is not 0. The NoSuchElementException exception is also\ncatched when calling unlinkToDeath()\n\nChange-Id: I7086424301fc63a5666da61c38169349d3e078f4\n"
    },
    {
      "commit": "db3b598c939993418242393d6a14919b3c1e8ee0",
      "tree": "a2406d975e8280bdabbbcad0d4c6c7d2e9249a10",
      "parents": [
        "d581484ef8fac80c15ebf652e66f918374df5109"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jul 01 11:39:08 2010 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jul 01 14:57:41 2010 -0700"
      },
      "message": "docs: update device dashboard; add historical chart\n\nChange-Id: Iafed4ed927141d34dcdb728918320be2fa2cf151\n"
    },
    {
      "commit": "54a181b1a2b1517a9479b21fbf7705a688232faf",
      "tree": "90bf20d8f5f818d357c677cb713e964b920dea67",
      "parents": [
        "65c83b906d01c3c1493d0547757dbb16d4c3722a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 18:35:14 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 01 14:43:23 2010 -0700"
      },
      "message": "Make real API for native code to get its window.\n\nAdded implementation to use ANativeWindow and provide\nit to a NativeActivity.\n\nChange-Id: I890d71b6e15d4af71e6cf81b327961d7061ec1c2\n"
    },
    {
      "commit": "65c83b906d01c3c1493d0547757dbb16d4c3722a",
      "tree": "3d23f348cad6c1a73eff4fcbc69477adc9b0d254",
      "parents": [
        "c7dacb7374e04c003b0764e7c348765b629c18cb",
        "7b06de6d5a3128cc58e85b705e877d236cd32450"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 01 14:11:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 01 14:11:01 2010 -0700"
      },
      "message": "Merge \"Refactor Stagefright::StartMPEG4Recording()\" into gingerbread"
    },
    {
      "commit": "c7dacb7374e04c003b0764e7c348765b629c18cb",
      "tree": "31ef7ae0fb8db3aa4a2caa95ff4281f2dd70adfc",
      "parents": [
        "a0c2b53966238125143dec01d3f2598a8b9e33a2",
        "169741b70880607701d704262dd9b386fcfd083d"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jul 01 13:51:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 01 13:51:27 2010 -0700"
      },
      "message": "Merge \"DO NOT MERGE: Add a battery capacity value to the power profile.\" into gingerbread"
    },
    {
      "commit": "169741b70880607701d704262dd9b386fcfd083d",
      "tree": "050fff61fb93fba0416e7c3a4551e6e14f269112",
      "parents": [
        "294c9fb8990ded73be52a3c1bfddbe1cebcd8b8e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu May 27 10:37:54 2010 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jul 01 13:42:59 2010 -0700"
      },
      "message": "DO NOT MERGE: Add a battery capacity value to the power profile.\n\nCan be accessed through PowerProfile.getBatteryCapacity()\n\nIndividual device profiles need to be updated with their capacities.\n\n(merged from master)\n\nChange-Id: Ie76ab6de47c44807a46934331665e077a7226566\n"
    },
    {
      "commit": "a0c2b53966238125143dec01d3f2598a8b9e33a2",
      "tree": "49fd440f2e2dc667c6aa76d7549c034f5944e67e",
      "parents": [
        "45bac57aa00281e6b45756c691c588bdaf762521",
        "e2dd8c4592762414c2c27e4589be7edc91a5ecae"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 01 11:54:00 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 01 11:54:00 2010 -0700"
      },
      "message": "Merge \"Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.\" into gingerbread"
    },
    {
      "commit": "7b06de6d5a3128cc58e85b705e877d236cd32450",
      "tree": "532d1a90b9bdf18c65c29fe1ac385cf719ff5e39",
      "parents": [
        "c6e1d88022db800773401c16803e1ab27fd01a7e"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Jun 30 12:41:16 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 01 10:28:38 2010 -0700"
      },
      "message": "Refactor Stagefright::StartMPEG4Recording()\n\n- Also, better error handling\n\nChange-Id: Ic18d08dc6489adf92c6a588efa4baca66429b175\n"
    },
    {
      "commit": "45bac57aa00281e6b45756c691c588bdaf762521",
      "tree": "d8640827fb6576adc593b875bfb490fe5eef849d",
      "parents": [
        "a2dd4c17bbe47876b909b09f54505deda379d2b4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 01 08:19:52 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 01 09:08:38 2010 -0700"
      },
      "message": "Support for writing the extracted data to an .mp4 file in the stagefright commandline tool.\n\nChange-Id: I972324a8fc9757e6e8116b0270ec0882106f8733\n"
    },
    {
      "commit": "a2dd4c17bbe47876b909b09f54505deda379d2b4",
      "tree": "f5749edd50c2edf0fe3d556e6841e7fe0496df8a",
      "parents": [
        "6be4739e1b302eb447dee195eaecbfcf82317310"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 30 17:02:37 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jul 01 07:51:04 2010 -0400"
      },
      "message": "put the status bar back in the system process\n\nChange-Id: I401b0ac8e3c96b61e787eb18341d18be75b3761d\n"
    },
    {
      "commit": "6be4739e1b302eb447dee195eaecbfcf82317310",
      "tree": "b9072f846a6484753e37b8e694f47b6896e481b1",
      "parents": [
        "09b9005769f2b717f637131578ce6cfa6bd62bd9"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 30 14:48:54 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jul 01 07:47:08 2010 -0400"
      },
      "message": "quiet noisy debug spew\n\nChange-Id: I55c3b16f58bbe0ec4c6547c525863a7d16f8263d\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": "e2dd8c4592762414c2c27e4589be7edc91a5ecae",
      "tree": "99939552fb10d7f72f007efa3349f6146aaae95e",
      "parents": [
        "c6e1d88022db800773401c16803e1ab27fd01a7e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 30 19:41:56 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 30 19:41:56 2010 -0700"
      },
      "message": "Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.\n\nProblem:\nWhen the bluetooth device is removed, the AudioService clears all active SCO connections\nand unlinks from the client application\u0027s binder interface death.\nThe problem is that the unlinking is done even if no more connections are active for a given client,\nwhich throws a runtime exception that is not catched causing the system server to crash.\n\nThe fix consists in calling unlinkToDeath() in ScoClient.clearCount() only if the number of\nactive SCO connections for this client is not 0. The NoSuchElementException exception is also\ncatched when calling unlinkToDeath()\n\nChange-Id: I29a28fcce1a579217cea271956a55778e05d3e37\n"
    },
    {
      "commit": "160edb3645f8b7012bab70ae6e6e8c4a5733082b",
      "tree": "ea193da79f99a54b59d3a937c5160a8cdf3f8666",
      "parents": [
        "c6e1d88022db800773401c16803e1ab27fd01a7e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 30 17:46:30 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 30 18:25:01 2010 -0700"
      },
      "message": "Add ability to guard a thread against setting its own prio to bg\n\nThe guard is compiled out by default because it adds overhead to\nandroid.os.Process.setPriority().\n\nChange-Id: Ibb2a648c6349b381abb7ae62a358888b04fba871\n"
    },
    {
      "commit": "c6e1d88022db800773401c16803e1ab27fd01a7e",
      "tree": "cca803afe826f86faab92bdbb70e35f6d672a052",
      "parents": [
        "30fe6fa07a9b9c6e7498198608125add8eb40744",
        "8b49bd1a2f8117e1c22884f0150e72cbcf838f32"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 16:05:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 16:05:30 2010 -0700"
      },
      "message": "Merge \"Introduce official public NativeWindow type.\" into gingerbread"
    },
    {
      "commit": "30fe6fa07a9b9c6e7498198608125add8eb40744",
      "tree": "ea9863284f7fdb5aa3c88292ca22d8aff3210a59",
      "parents": [
        "d8ae28854e1ed9bd90d7407f94c2e5ed9028b712",
        "4cfb3a69d2906fc2539dd30508aa6ba8d39065a9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 30 15:59:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 15:59:02 2010 -0700"
      },
      "message": "Merge \"fix live wallpapers on Droid\" into gingerbread"
    },
    {
      "commit": "4cfb3a69d2906fc2539dd30508aa6ba8d39065a9",
      "tree": "e54fd25fcd98e57a44a51c7b1b18cad05b2c2270",
      "parents": [
        "c19ffcba19f0d94552945105a7e29530b4806dd4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 30 15:43:47 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 30 15:43:47 2010 -0700"
      },
      "message": "fix live wallpapers on Droid\n\nOn omap3 h/w we force opaque formats to RGB_565 instead of RGBX_8888\nbecause the GL driver doesn\u0027t support it. RGBX_8888 is always remapped\nto RGBA_8888.\n\nChange-Id: I0bfabeb98c8d3a399079e6797cf2a0ee95915324\n"
    },
    {
      "commit": "8b49bd1a2f8117e1c22884f0150e72cbcf838f32",
      "tree": "ec6e43ed118268b09cbb61c8eed02c757e9602ed",
      "parents": [
        "3c80a4a044865bdf1289c7896baffa1c082d835c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 13:56:17 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 15:32:04 2010 -0700"
      },
      "message": "Introduce official public NativeWindow type.\n\nNot yet hooked up to anything in the NDK, but requires renaming\nthe existing android_native_window_t type everywhere.\n\nChange-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e\n"
    },
    {
      "commit": "d8ae28854e1ed9bd90d7407f94c2e5ed9028b712",
      "tree": "ce8ec6daf613409effb51b9528a35b92c26980b5",
      "parents": [
        "c8525edcba58cba7ce17ef72bc64fc3439943c08",
        "d0097871828bb7d5d6eec06cadd92c2e3358849b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 30 15:03:04 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 15:03:04 2010 -0700"
      },
      "message": "Merge \"Fix injection of specially intercepted keys like HOME.\" into gingerbread"
    },
    {
      "commit": "c8525edcba58cba7ce17ef72bc64fc3439943c08",
      "tree": "2d87a6feb6a5e02665103a0953fb571f370b5105",
      "parents": [
        "294c9fb8990ded73be52a3c1bfddbe1cebcd8b8e",
        "c27181c7f3e11170ec82807cfa416f0a906ff574"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 30 14:55:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 14:55:44 2010 -0700"
      },
      "message": "Merge \"Remove memory monitoring from the system watchdog\" into gingerbread"
    },
    {
      "commit": "c27181c7f3e11170ec82807cfa416f0a906ff574",
      "tree": "089629b0589d33c89dfd8289a892b11107d849e5",
      "parents": [
        "5d7f6e614e7ead1fbe40a6886f78c31809bcbd40"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 30 14:41:09 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 30 14:53:39 2010 -0700"
      },
      "message": "Remove memory monitoring from the system watchdog\n\nThis was originally written as an in-case-we-need-it facility, but was\nnever actually used in production.  It also soaked up a surprising amount\nof cpu on occasion, as well as doing sketchy things like demoting the\nsystem_server\u0027s primary looper thread to the background cgroup at times.\n\nChange-Id: I9a81a8d1e9caea9e0a1277d97785fe96add438d7\n"
    },
    {
      "commit": "d0097871828bb7d5d6eec06cadd92c2e3358849b",
      "tree": "c570862df0f2c38da96d8b88bb6ba10315810fc7",
      "parents": [
        "294c9fb8990ded73be52a3c1bfddbe1cebcd8b8e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 30 14:41:59 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 30 14:41:59 2010 -0700"
      },
      "message": "Fix injection of specially intercepted keys like HOME.\n\nThis change mainly unwinds a premature optimization in the\ndispatch pipeline.\nTo test HOME injection, run \u0027adb shell input keyevent 3\u0027.\n\nChange-Id: I1c4b7377c205da7c898014b8b07fc6dc1d46e4dd\n"
    },
    {
      "commit": "294c9fb8990ded73be52a3c1bfddbe1cebcd8b8e",
      "tree": "cac20d7a41c251e57c0ff47b1f362b40d4bc8afe",
      "parents": [
        "caad0a5c6318678902402362df1791d286636344"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 30 14:18:32 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 30 15:32:26 2010 -0400"
      },
      "message": "Improved graphics for the intruder alert.\n\nChange-Id: I9aa6c8995da39f332b724fabe67ed5efe584552f\n"
    },
    {
      "commit": "caad0a5c6318678902402362df1791d286636344",
      "tree": "211955c08aaa80b07583ff273a5fd86d1ccd5c97",
      "parents": [
        "24c737ccdd64475178d53677f90a300fcfbab79f",
        "c543a21a4021bf0e2f3817852d75184d01b76d62"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 30 11:32:31 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 11:32:31 2010 -0700"
      },
      "message": "Merge \"Support for vanilla YUV420sp \u003d\u003e RGB565 color conversion.\" into gingerbread"
    },
    {
      "commit": "24c737ccdd64475178d53677f90a300fcfbab79f",
      "tree": "50626833fb4d2688b5c443b0eb65508daa537bdf",
      "parents": [
        "3c80a4a044865bdf1289c7896baffa1c082d835c",
        "d581484ef8fac80c15ebf652e66f918374df5109"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jun 30 11:17:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 30 11:17:00 2010 -0700"
      },
      "message": "am d581484e: Merge \"Verify hostname where possible, and clarify where not.\" into froyo\n\nMerge commit \u0027d581484ef8fac80c15ebf652e66f918374df5109\u0027 into gingerbread\n\n* commit \u0027d581484ef8fac80c15ebf652e66f918374df5109\u0027:\n  Verify hostname where possible, and clarify where not.\n"
    },
    {
      "commit": "d581484ef8fac80c15ebf652e66f918374df5109",
      "tree": "92471fb37e53d2df18e538beb443544e7eac1bea",
      "parents": [
        "b4d2e42a8508a09f944b13f27c043952eef6c1cc",
        "7fc93c36ae235115727296780dbc35101622bbd4"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Jun 30 11:12:19 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 11:12:19 2010 -0700"
      },
      "message": "Merge \"Verify hostname where possible, and clarify where not.\" into froyo"
    },
    {
      "commit": "3c80a4a044865bdf1289c7896baffa1c082d835c",
      "tree": "557c89a685e672e44f90f55660da1f989d00a113",
      "parents": [
        "92dbad8ab0c8e242c4c3e52c339ed3296ae7901c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 29 19:20:40 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 10:49:40 2010 -0700"
      },
      "message": "Implement default key handling for native code.\n\nThe native code now maintains a list of all keys that may use\ndefault handling.  If the app finishes one of these keys\nwithout handling it, the key will be passed back off to Java\nfor default treatment.\n\nChange-Id: I6a842a0d728eeafa4de7142fae573f8c11099e18\n"
    },
    {
      "commit": "c543a21a4021bf0e2f3817852d75184d01b76d62",
      "tree": "950bb162fcb11ef5b8fe9b39e76915ef3e646703",
      "parents": [
        "92dbad8ab0c8e242c4c3e52c339ed3296ae7901c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 30 10:32:20 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 30 10:32:39 2010 -0700"
      },
      "message": "Support for vanilla YUV420sp \u003d\u003e RGB565 color conversion.\n\nChange-Id: I22e5b554909e169eaf153d1f25b636f6f04a1871\n"
    },
    {
      "commit": "92dbad8ab0c8e242c4c3e52c339ed3296ae7901c",
      "tree": "568c2db5b1de6c2d8b06c41728cdfd4f7b2f926b",
      "parents": [
        "5b8364a929e26b30d55de9d330e1cb9a11df6208",
        "b4d2e42a8508a09f944b13f27c043952eef6c1cc"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Jun 30 09:01:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 30 09:01:01 2010 -0700"
      },
      "message": "am b4d2e42a: docs: revise menu guide to focus more on using menu resources instead of defining menus in code. And revise some style.\n\nMerge commit \u0027b4d2e42a8508a09f944b13f27c043952eef6c1cc\u0027 into gingerbread\n\n* commit \u0027b4d2e42a8508a09f944b13f27c043952eef6c1cc\u0027:\n  docs: revise menu guide to focus more on using menu resources\n"
    }
  ],
  "next": "5b8364a929e26b30d55de9d330e1cb9a11df6208"
}
